[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