]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
test case for bsddb185 module
authorSkip Montanaro <skip@pobox.com>
Tue, 6 May 2003 20:36:57 +0000 (20:36 +0000)
committerSkip Montanaro <skip@pobox.com>
Tue, 6 May 2003 20:36:57 +0000 (20:36 +0000)
Lib/test/test_bsddb185.py [new file with mode: 0644]

diff --git a/Lib/test/test_bsddb185.py b/Lib/test/test_bsddb185.py
new file mode 100644 (file)
index 0000000..48a0764
--- /dev/null
@@ -0,0 +1,40 @@
+
+from test.test_support import verbose, run_unittest, findfile
+import unittest
+import bsddb185
+import anydbm
+import whichdb
+import os
+import tempfile
+
+class Bsddb185Tests(unittest.TestCase):
+    def test_open_existing_hash(self):
+        "verify we can open a file known to be a hash v2 file"
+        # do we need to worry about big vs little endian?
+        db = bsddb185.hashopen(findfile("185test.db"))
+        self.assertEqual(db["1"], "1")
+        db.close()
+
+    def test_whichdb(self):
+        "verify that whichdb correctly sniffs the known hash v2 file"
+        self.assertEqual(whichdb.whichdb(findfile("185test.db")), "bsddb185")
+
+    def test_anydbm_create(self):
+        "verify that anydbm.open does *not* create a bsddb185 file"
+        tmpdir = tempfile.mkdtemp()
+        try:
+            try:
+                dbfile = os.path.join(tmpdir, "foo.db")
+                anydbm.open(dbfile, "c").close()
+                ftype = whichdb.whichdb(findfile("foo.db"))
+                self.assertNotEqual(ftype, "bsddb185")
+            finally:
+                os.unlink(dbfile)
+        finally:
+            os.rmdir(tmpdir)
+
+def test_main():
+    run_unittest(Bsddb185Tests)
+
+if __name__ == "__main__":
+    test_main()