#17082: test_dbm* now work with unittest test discovery. Patch by Zachary Ware.
diff --git a/Lib/test/test_dbm.py b/Lib/test/test_dbm.py
index 02df7e3..752e0b7 100644
--- a/Lib/test/test_dbm.py
+++ b/Lib/test/test_dbm.py
@@ -34,7 +34,7 @@
test.support.unlink(f)
-class AnyDBMTestCase(unittest.TestCase):
+class AnyDBMTestCase:
_dict = {'0': b'',
'a': b'Python:',
'b': b'Programming',
@@ -119,10 +119,6 @@
class WhichDBTestCase(unittest.TestCase):
- # Actual test methods are added to namespace after class definition.
- def __init__(self, *args):
- unittest.TestCase.__init__(self, *args)
-
def test_whichdb(self):
for module in dbm_iterator():
# Check whether whichdb correctly guesses module name
@@ -169,12 +165,16 @@
self.d.close()
-def test_main():
- classes = [WhichDBTestCase]
+def load_tests(loader, tests, pattern):
+ classes = []
for mod in dbm_iterator():
- classes.append(type("TestCase-" + mod.__name__, (AnyDBMTestCase,),
+ classes.append(type("TestCase-" + mod.__name__,
+ (AnyDBMTestCase, unittest.TestCase),
{'module': mod}))
- test.support.run_unittest(*classes)
+ suites = [unittest.makeSuite(c) for c in classes]
+
+ tests.addTests(suites)
+ return tests
if __name__ == "__main__":
- test_main()
+ unittest.main()