ยปCore Development>Code coverage>Lib/test/test_whichdb.py

Python code coverage for Lib/test/test_whichdb.py

#countcontent
1n/a#! /usr/bin/env python
2n/a"""Test script for the whichdb module
3n/a based on test_anydbm.py
41"""
5n/a
61import os
71import test.test_support
81import unittest
91import whichdb
101import glob
11n/a
121_fname = test.test_support.TESTFN
13n/a
14n/a# Silence Py3k warning
151anydbm = test.test_support.import_module('anydbm', deprecated=True)
16n/a
171def _delete_files():
18n/a # we don't know the precise name the underlying database uses
19n/a # so we use glob to locate all names
2016 for f in glob.glob(_fname + "*"):
217 try:
227 os.unlink(f)
230 except OSError:
240 pass
25n/a
262class WhichDBTestCase(unittest.TestCase):
27n/a # Actual test methods are added to namespace
28n/a # after class definition.
291 def __init__(self, *args):
304 unittest.TestCase.__init__(self, *args)
31n/a
321 def tearDown(self):
334 _delete_files()
34n/a
351 def setUp(self):
364 _delete_files()
37n/a
385for name in anydbm._names:
39n/a # we define a new test method for each
40n/a # candidate database module.
414 try:
42n/a # Silence Py3k warning
434 mod = test.test_support.import_module(name, deprecated=True)
440 except unittest.SkipTest:
450 continue
46n/a
474 def test_whichdb_name(self, name=name, mod=mod):
48n/a # Check whether whichdb correctly guesses module name
49n/a # for databases opened with module mod.
50n/a # Try with empty files first
514 f = mod.open(_fname, 'c')
524 f.close()
534 self.assertEqual(name, whichdb.whichdb(_fname))
54n/a # Now add a key
554 f = mod.open(_fname, 'w')
564 f["1"] = "1"
574 f.close()
584 self.assertEqual(name, whichdb.whichdb(_fname))
594 setattr(WhichDBTestCase,"test_whichdb_%s" % name, test_whichdb_name)
60n/a
611def test_main():
621 try:
631 test.test_support.run_unittest(WhichDBTestCase)
64n/a finally:
651 _delete_files()
66n/a
671if __name__ == "__main__":
680 test_main()