diff --git a/Lib/lib2to3/main.py b/Lib/lib2to3/main.py index 93bae9021a4..1a1df013ade 100644 --- a/Lib/lib2to3/main.py +++ b/Lib/lib2to3/main.py @@ -2,7 +2,7 @@ Main program for 2to3. """ -from __future__ import with_statement +from __future__ import with_statement, print_function import sys import os diff --git a/Lib/lib2to3/tests/__init__.py b/Lib/lib2to3/tests/__init__.py index cfaea0de747..c5166fc94c4 100644 --- a/Lib/lib2to3/tests/__init__.py +++ b/Lib/lib2to3/tests/__init__.py @@ -1,24 +1,9 @@ -"""Make tests/ into a package. This allows us to "import tests" and -have tests.all_tests be a TestSuite representing all test cases -from all test_*.py files in tests/.""" # Author: Collin Winter import os -import os.path import unittest -import types -from . import support +from test.support import load_package_tests -all_tests = unittest.TestSuite() - -tests_dir = os.path.join(os.path.dirname(__file__), '..', 'tests') -tests = [t[0:-3] for t in os.listdir(tests_dir) - if t.startswith('test_') and t.endswith('.py')] - -loader = unittest.TestLoader() - -for t in tests: - __import__("",globals(),locals(),[t],level=1) - mod = globals()[t] - all_tests.addTests(loader.loadTestsFromModule(mod)) +def load_tests(*args): + return load_package_tests(os.path.dirname(__file__), *args) diff --git a/Lib/lib2to3/tests/__main__.py b/Lib/lib2to3/tests/__main__.py new file mode 100644 index 00000000000..40a23a297ec --- /dev/null +++ b/Lib/lib2to3/tests/__main__.py @@ -0,0 +1,4 @@ +from . import load_tests +import unittest + +unittest.main() diff --git a/Lib/lib2to3/tests/pytree_idempotency.py b/Lib/lib2to3/tests/pytree_idempotency.py index 731c4031208..c6359bf18a1 100755 --- a/Lib/lib2to3/tests/pytree_idempotency.py +++ b/Lib/lib2to3/tests/pytree_idempotency.py @@ -4,6 +4,8 @@ """Main program for testing the infrastructure.""" +from __future__ import print_function + __author__ = "Guido van Rossum " # Support imports (need to be imported first) diff --git a/Lib/lib2to3/tests/test_all_fixers.py b/Lib/lib2to3/tests/test_all_fixers.py index f64b3d942af..15079fe0285 100644 --- a/Lib/lib2to3/tests/test_all_fixers.py +++ b/Lib/lib2to3/tests/test_all_fixers.py @@ -7,12 +7,14 @@ running time. # Python imports import unittest +import test.support # Local imports from lib2to3 import refactor from . import support +@test.support.requires_resource('cpu') class Test_all(support.TestCase): def setUp(self): @@ -21,3 +23,6 @@ class Test_all(support.TestCase): def test_all_project_files(self): for filepath in support.all_project_files(): self.refactor.refactor_file(filepath) + +if __name__ == '__main__': + unittest.main() diff --git a/Lib/test/test_lib2to3.py b/Lib/test/test_lib2to3.py index df4c37b2418..5eaa5164d49 100644 --- a/Lib/test/test_lib2to3.py +++ b/Lib/test/test_lib2to3.py @@ -1,22 +1,5 @@ -# Skipping test_parser and test_all_fixers -# because of running -from lib2to3.tests import (test_fixers, test_pytree, test_util, test_refactor, - test_parser, - test_main as test_main_) +from lib2to3.tests import load_tests import unittest -from test.support import run_unittest - -def suite(): - tests = unittest.TestSuite() - loader = unittest.TestLoader() - for m in (test_fixers, test_pytree, test_util, test_refactor, test_parser, - test_main_): - tests.addTests(loader.loadTestsFromModule(m)) - return tests - -def test_main(): - run_unittest(suite()) - if __name__ == '__main__': - test_main() + unittest.main() diff --git a/Misc/NEWS b/Misc/NEWS index 2738699484a..20938600da8 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -87,6 +87,8 @@ Library Tests ----- +- Issue #22173: Update lib2to3 tests to use unittest test discovery. + - Issue #16000: Convert test_curses to use unittest. - Issue #21456: Skip two tests in test_urllib2net.py if _ssl module not