| Line | |
|---|
| 1 | """Tests for the bsddb185 module.
|
|---|
| 2 |
|
|---|
| 3 | The file 185test.db found in Lib/test/ is for testing purposes with this
|
|---|
| 4 | testing suite.
|
|---|
| 5 |
|
|---|
| 6 | """
|
|---|
| 7 | from test.test_support import verbose, run_unittest, findfile
|
|---|
| 8 | import unittest
|
|---|
| 9 | import bsddb185
|
|---|
| 10 | import anydbm
|
|---|
| 11 | import whichdb
|
|---|
| 12 | import os
|
|---|
| 13 | import tempfile
|
|---|
| 14 | import shutil
|
|---|
| 15 |
|
|---|
| 16 | class Bsddb185Tests(unittest.TestCase):
|
|---|
| 17 |
|
|---|
| 18 | def test_open_existing_hash(self):
|
|---|
| 19 | # Verify we can open a file known to be a hash v2 file
|
|---|
| 20 | db = bsddb185.hashopen(findfile("185test.db"))
|
|---|
| 21 | self.assertEqual(db["1"], "1")
|
|---|
| 22 | db.close()
|
|---|
| 23 |
|
|---|
| 24 | def test_whichdb(self):
|
|---|
| 25 | # Verify that whichdb correctly sniffs the known hash v2 file
|
|---|
| 26 | self.assertEqual(whichdb.whichdb(findfile("185test.db")), "bsddb185")
|
|---|
| 27 |
|
|---|
| 28 | def test_anydbm_create(self):
|
|---|
| 29 | # Verify that anydbm.open does *not* create a bsddb185 file
|
|---|
| 30 | tmpdir = tempfile.mkdtemp()
|
|---|
| 31 | try:
|
|---|
| 32 | dbfile = os.path.join(tmpdir, "foo.db")
|
|---|
| 33 | anydbm.open(dbfile, "c").close()
|
|---|
| 34 | ftype = whichdb.whichdb(dbfile)
|
|---|
| 35 | self.assertNotEqual(ftype, "bsddb185")
|
|---|
| 36 | finally:
|
|---|
| 37 | shutil.rmtree(tmpdir)
|
|---|
| 38 |
|
|---|
| 39 | def test_main():
|
|---|
| 40 | run_unittest(Bsddb185Tests)
|
|---|
| 41 |
|
|---|
| 42 | if __name__ == "__main__":
|
|---|
| 43 | test_main()
|
|---|
Note:
See
TracBrowser
for help on using the repository browser.