[Python-checkins] cpython (3.4): Issue #22173: Update lib2to3 tests to use unittest test discovery.

zach.ware python-checkins at python.org
Wed Oct 29 18:28:38 CET 2014


https://hg.python.org/cpython/rev/9d36bf887be3
changeset: 93254:9d36bf887be3
branch: 3.4
parent: 93249:d989abe6a2ad
user: Zachary Ware <zachary.ware at gmail.com>
date: Wed Oct 29 12:24:59 2014 -0500
summary:
 Issue #22173: Update lib2to3 tests to use unittest test discovery.
files:
 Lib/lib2to3/main.py | 2 +-
 Lib/lib2to3/tests/__init__.py | 21 +-----------
 Lib/lib2to3/tests/__main__.py | 4 ++
 Lib/lib2to3/tests/pytree_idempotency.py | 2 +
 Lib/lib2to3/tests/test_all_fixers.py | 5 +++
 Lib/test/test_lib2to3.py | 21 +-----------
 Misc/NEWS | 2 +
 7 files changed, 19 insertions(+), 38 deletions(-)
diff --git a/Lib/lib2to3/main.py b/Lib/lib2to3/main.py
--- 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
--- 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
--- /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
--- 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 <guido at python.org>"
 
 # 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
--- a/Lib/lib2to3/tests/test_all_fixers.py
+++ b/Lib/lib2to3/tests/test_all_fixers.py
@@ -7,12 +7,14 @@
 
 # Python imports
 import unittest
+import test.support
 
 # Local imports
 from lib2to3 import refactor
 from . import support
 
 
+ at test.support.requires_resource('cpu')
 class Test_all(support.TestCase):
 
 def setUp(self):
@@ -21,3 +23,6 @@
 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
--- 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
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -87,6 +87,8 @@
 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
-- 
Repository URL: https://hg.python.org/cpython


More information about the Python-checkins mailing list

AltStyle によって変換されたページ (->オリジナル) /