mirror of
https://github.com/python/cpython.git
synced 2025-08-04 08:59:19 +00:00
Issue #14585: test_import now runs all tests under
importlib.test.import_ using builtins.__import__() instead of just the relative import tests.
This commit is contained in:
parent
3dfc22cc04
commit
1032af95ff
2 changed files with 35 additions and 15 deletions
|
@ -0,0 +1,25 @@
|
|||
import os
|
||||
import sys
|
||||
import unittest
|
||||
|
||||
def test_suite(package=__package__, directory=os.path.dirname(__file__)):
|
||||
suite = unittest.TestSuite()
|
||||
for name in os.listdir(directory):
|
||||
if name.startswith(('.', '__')):
|
||||
continue
|
||||
path = os.path.join(directory, name)
|
||||
if (os.path.isfile(path) and name.startswith('test_') and
|
||||
name.endswith('.py')):
|
||||
submodule_name = os.path.splitext(name)[0]
|
||||
module_name = "{0}.{1}".format(package, submodule_name)
|
||||
__import__(module_name, level=0)
|
||||
module_tests = unittest.findTestCases(sys.modules[module_name])
|
||||
suite.addTest(module_tests)
|
||||
elif os.path.isdir(path):
|
||||
package_name = "{0}.{1}".format(package, name)
|
||||
__import__(package_name, level=0)
|
||||
package_tests = getattr(sys.modules[package_name], 'test_suite')()
|
||||
suite.addTest(package_tests)
|
||||
else:
|
||||
continue
|
||||
return suite
|
Loading…
Add table
Add a link
Reference in a new issue