[Python-checkins] python/dist/src/Lib/test test_whichdb.py,NONE,1.1

montanaro@users.sourceforge.net montanaro@users.sourceforge.net
2002年8月02日 10:10:14 -0700


Update of /cvsroot/python/python/dist/src/Lib/test
In directory usw-pr-cvs1:/tmp/cvs-serv12271
Added Files:
	test_whichdb.py 
Log Message:
regression test for the whichdb module
--- NEW FILE: test_whichdb.py ---
#! /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 tempfile
import glob
_fname = tempfile.mktemp()
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.
 """
 f = mod.open(_fname, 'c')
 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()

AltStyle によって変換されたページ (->オリジナル) /