#17082: merge with 3.3.

This commit is contained in:
Ezio Melotti 2013-03-01 11:24:42 +02:00
commit c0b64663d9
5 changed files with 17 additions and 28 deletions

View File

@ -34,7 +34,7 @@ def delete_files():
test.support.unlink(f) test.support.unlink(f)
class AnyDBMTestCase(unittest.TestCase): class AnyDBMTestCase:
_dict = {'0': b'', _dict = {'0': b'',
'a': b'Python:', 'a': b'Python:',
'b': b'Programming', 'b': b'Programming',
@ -119,10 +119,6 @@ class AnyDBMTestCase(unittest.TestCase):
class WhichDBTestCase(unittest.TestCase): 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): def test_whichdb(self):
for module in dbm_iterator(): for module in dbm_iterator():
# Check whether whichdb correctly guesses module name # Check whether whichdb correctly guesses module name
@ -169,12 +165,16 @@ class WhichDBTestCase(unittest.TestCase):
self.d.close() self.d.close()
def test_main(): def load_tests(loader, tests, pattern):
classes = [WhichDBTestCase] classes = []
for mod in dbm_iterator(): for mod in dbm_iterator():
classes.append(type("TestCase-" + mod.__name__, (AnyDBMTestCase,), classes.append(type("TestCase-" + mod.__name__,
(AnyDBMTestCase, unittest.TestCase),
{'module': mod})) {'module': mod}))
test.support.run_unittest(*classes) suites = [unittest.makeSuite(c) for c in classes]
tests.addTests(suites)
return tests
if __name__ == "__main__": if __name__ == "__main__":
test_main() unittest.main()

View File

@ -29,9 +29,6 @@ class DumbDBMTestCase(unittest.TestCase):
'\u00fc'.encode('utf-8') : b'!', '\u00fc'.encode('utf-8') : b'!',
} }
def __init__(self, *args):
unittest.TestCase.__init__(self, *args)
def test_dumbdbm_creation(self): def test_dumbdbm_creation(self):
f = dumbdbm.open(_fname, 'c') f = dumbdbm.open(_fname, 'c')
self.assertEqual(list(f.keys()), []) self.assertEqual(list(f.keys()), [])
@ -195,11 +192,6 @@ class DumbDBMTestCase(unittest.TestCase):
def setUp(self): def setUp(self):
_delete_files() _delete_files()
def test_main():
try:
support.run_unittest(DumbDBMTestCase)
finally:
_delete_files()
if __name__ == "__main__": if __name__ == "__main__":
test_main() unittest.main()

View File

@ -2,7 +2,7 @@ from test import support
gdbm = support.import_module("dbm.gnu") #skip if not supported gdbm = support.import_module("dbm.gnu") #skip if not supported
import unittest import unittest
import os import os
from test.support import verbose, TESTFN, run_unittest, unlink from test.support import verbose, TESTFN, unlink
filename = TESTFN filename = TESTFN
@ -81,8 +81,5 @@ class TestGdbm(unittest.TestCase):
self.assertTrue(size1 > size2 >= size0) self.assertTrue(size1 > size2 >= size0)
def test_main():
run_unittest(TestGdbm)
if __name__ == '__main__': if __name__ == '__main__':
test_main() unittest.main()

View File

@ -36,8 +36,5 @@ class DbmTestCase(unittest.TestCase):
except error: except error:
self.fail() self.fail()
def test_main():
support.run_unittest(DbmTestCase)
if __name__ == '__main__': if __name__ == '__main__':
test_main() unittest.main()

View File

@ -896,6 +896,9 @@ Tests
- Issue #16836: Enable IPv6 support even if IPv6 is disabled on the build host. - Issue #16836: Enable IPv6 support even if IPv6 is disabled on the build host.
- Issue #17082: test_dbm* now work with unittest test discovery.
Patch by Zachary Ware.
- Issue #17079: test_ctypes now works with unittest test discovery. - Issue #17079: test_ctypes now works with unittest test discovery.
Patch by Zachary Ware. Patch by Zachary Ware.