Mercurial > cpython-lru_cache-weakref
view Lib/test/test_whichdb.py @ 58925:eecf1bef052d 2.6
Merged revisions 78207 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r78207 | ezio.melotti | 2010-02-17 01:26:09 +0200 (Wed, 17 Feb 2010) | 1 line
#7930: fix stripid
........
| author | Ezio Melotti <ezio.melotti@gmail.com> |
|---|---|
| date | Tue, 16 Feb 2010 23:29:44 +0000 |
| parents | 1d84bf5f9478 |
| children | 30086aa33123 7caf54ce529e |
line wrap: on
line source
#! /usr/bin/env python """Test script for the whichdb module based on test_anydbm.py """ import os import test.test_support import unittest import whichdb import anydbm import glob _fname = test.test_support.TESTFN def _delete_files(): # we don't know the precise name the underlying database uses # so we use glob to locate all names for f in glob.glob(_fname + "*"): try: os.unlink(f) except OSError: pass class WhichDBTestCase(unittest.TestCase): # Actual test methods are added to namespace # after class definition. def __init__(self, *args): unittest.TestCase.__init__(self, *args) def tearDown(self): _delete_files() def setUp(self): _delete_files() for name in anydbm._names: # we define a new test method for each # candidate database module. try: mod = __import__(name) except ImportError: continue def test_whichdb_name(self, name=name, mod=mod): # Check whether whichdb correctly guesses module name # for databases opened with module mod. # Try with empty files first f = mod.open(_fname, 'c') f.close() self.assertEqual(name, whichdb.whichdb(_fname)) # Now add a key f = mod.open(_fname, 'w') f["1"] = "1" f.close() self.assertEqual(name, whichdb.whichdb(_fname)) setattr(WhichDBTestCase,"test_whichdb_%s" % name, test_whichdb_name) def test_main(): try: test.test_support.run_unittest(WhichDBTestCase) finally: _delete_files() if __name__ == "__main__": test_main()
