Kaydet (Commit) b49c70c7 authored tarafından Brett Cannon's avatar Brett Cannon

Importlib was using custom code to discover all test modules in importlib.test.

This has now been removed in favor of using unittest's test discovery code in
TestLoader.discover().
üst d8840860
import os.path
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
if __name__ == '__main__':
from test.support import run_unittest
run_unittest(test_suite('importlib.test'))
import os.path
from test.support import run_unittest
import unittest
def test_main():
start_dir = os.path.dirname(__file__)
top_dir = os.path.dirname(os.path.dirname(start_dir))
test_loader = unittest.TestLoader()
run_unittest(test_loader.discover(start_dir, top_level_dir=top_dir))
if __name__ == '__main__':
test_main()
from test.support import run_unittest
import importlib.test
def test_main():
run_unittest(importlib.test.test_suite('importlib.test'))
from importlib.test.__main__ import test_main
if __name__ == '__main__':
......
......@@ -74,6 +74,12 @@ Build
- Issue 5390: Add uninstall icon independent of whether file
extensions are installed.
Tests
-----
- Removed importlib's custom test discovery code and switched to
unittest.TestLoader.discover().
What's New in Python 3.1?
=========================
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment