diff --git a/Lib/test/test_lib2to3.py b/Lib/test/test_lib2to3.py
deleted file mode 100644
index 6ea8aa4a56e52e..00000000000000
--- a/Lib/test/test_lib2to3.py
+++ /dev/null
@@ -1,9 +0,0 @@
-import unittest
-from test.support.import_helper import import_fresh_module
-from test.support.warnings_helper import check_warnings
-
-with check_warnings(("", DeprecationWarning)):
- load_tests = import_fresh_module('lib2to3.tests', fresh=['lib2to3']).load_tests
-
-if __name__ == '__main__':
- unittest.main()
diff --git a/Lib/lib2to3/tests/__init__.py b/Lib/test/test_lib2to3/__init__.py
similarity index 100%
rename from Lib/lib2to3/tests/__init__.py
rename to Lib/test/test_lib2to3/__init__.py
diff --git a/Lib/lib2to3/tests/__main__.py b/Lib/test/test_lib2to3/__main__.py
similarity index 100%
rename from Lib/lib2to3/tests/__main__.py
rename to Lib/test/test_lib2to3/__main__.py
diff --git a/Lib/lib2to3/tests/data/README b/Lib/test/test_lib2to3/data/README
similarity index 100%
rename from Lib/lib2to3/tests/data/README
rename to Lib/test/test_lib2to3/data/README
diff --git a/Lib/lib2to3/tests/data/bom.py b/Lib/test/test_lib2to3/data/bom.py
similarity index 100%
rename from Lib/lib2to3/tests/data/bom.py
rename to Lib/test/test_lib2to3/data/bom.py
diff --git a/Lib/lib2to3/tests/data/crlf.py b/Lib/test/test_lib2to3/data/crlf.py
similarity index 100%
rename from Lib/lib2to3/tests/data/crlf.py
rename to Lib/test/test_lib2to3/data/crlf.py
diff --git a/Lib/lib2to3/tests/data/different_encoding.py b/Lib/test/test_lib2to3/data/different_encoding.py
similarity index 100%
rename from Lib/lib2to3/tests/data/different_encoding.py
rename to Lib/test/test_lib2to3/data/different_encoding.py
diff --git a/Lib/lib2to3/tests/data/false_encoding.py b/Lib/test/test_lib2to3/data/false_encoding.py
similarity index 100%
rename from Lib/lib2to3/tests/data/false_encoding.py
rename to Lib/test/test_lib2to3/data/false_encoding.py
diff --git a/Lib/lib2to3/tests/data/fixers/bad_order.py b/Lib/test/test_lib2to3/data/fixers/bad_order.py
similarity index 100%
rename from Lib/lib2to3/tests/data/fixers/bad_order.py
rename to Lib/test/test_lib2to3/data/fixers/bad_order.py
diff --git a/Lib/lib2to3/tests/data/fixers/myfixes/__init__.py b/Lib/test/test_lib2to3/data/fixers/myfixes/__init__.py
similarity index 100%
rename from Lib/lib2to3/tests/data/fixers/myfixes/__init__.py
rename to Lib/test/test_lib2to3/data/fixers/myfixes/__init__.py
diff --git a/Lib/lib2to3/tests/data/fixers/myfixes/fix_explicit.py b/Lib/test/test_lib2to3/data/fixers/myfixes/fix_explicit.py
similarity index 100%
rename from Lib/lib2to3/tests/data/fixers/myfixes/fix_explicit.py
rename to Lib/test/test_lib2to3/data/fixers/myfixes/fix_explicit.py
diff --git a/Lib/lib2to3/tests/data/fixers/myfixes/fix_first.py b/Lib/test/test_lib2to3/data/fixers/myfixes/fix_first.py
similarity index 100%
rename from Lib/lib2to3/tests/data/fixers/myfixes/fix_first.py
rename to Lib/test/test_lib2to3/data/fixers/myfixes/fix_first.py
diff --git a/Lib/lib2to3/tests/data/fixers/myfixes/fix_last.py b/Lib/test/test_lib2to3/data/fixers/myfixes/fix_last.py
similarity index 100%
rename from Lib/lib2to3/tests/data/fixers/myfixes/fix_last.py
rename to Lib/test/test_lib2to3/data/fixers/myfixes/fix_last.py
diff --git a/Lib/lib2to3/tests/data/fixers/myfixes/fix_parrot.py b/Lib/test/test_lib2to3/data/fixers/myfixes/fix_parrot.py
similarity index 100%
rename from Lib/lib2to3/tests/data/fixers/myfixes/fix_parrot.py
rename to Lib/test/test_lib2to3/data/fixers/myfixes/fix_parrot.py
diff --git a/Lib/lib2to3/tests/data/fixers/myfixes/fix_preorder.py b/Lib/test/test_lib2to3/data/fixers/myfixes/fix_preorder.py
similarity index 100%
rename from Lib/lib2to3/tests/data/fixers/myfixes/fix_preorder.py
rename to Lib/test/test_lib2to3/data/fixers/myfixes/fix_preorder.py
diff --git a/Lib/lib2to3/tests/data/fixers/no_fixer_cls.py b/Lib/test/test_lib2to3/data/fixers/no_fixer_cls.py
similarity index 100%
rename from Lib/lib2to3/tests/data/fixers/no_fixer_cls.py
rename to Lib/test/test_lib2to3/data/fixers/no_fixer_cls.py
diff --git a/Lib/lib2to3/tests/data/fixers/parrot_example.py b/Lib/test/test_lib2to3/data/fixers/parrot_example.py
similarity index 100%
rename from Lib/lib2to3/tests/data/fixers/parrot_example.py
rename to Lib/test/test_lib2to3/data/fixers/parrot_example.py
diff --git a/Lib/lib2to3/tests/data/infinite_recursion.py b/Lib/test/test_lib2to3/data/infinite_recursion.py
similarity index 100%
rename from Lib/lib2to3/tests/data/infinite_recursion.py
rename to Lib/test/test_lib2to3/data/infinite_recursion.py
diff --git a/Lib/lib2to3/tests/data/py2_test_grammar.py b/Lib/test/test_lib2to3/data/py2_test_grammar.py
similarity index 100%
rename from Lib/lib2to3/tests/data/py2_test_grammar.py
rename to Lib/test/test_lib2to3/data/py2_test_grammar.py
diff --git a/Lib/lib2to3/tests/data/py3_test_grammar.py b/Lib/test/test_lib2to3/data/py3_test_grammar.py
similarity index 100%
rename from Lib/lib2to3/tests/data/py3_test_grammar.py
rename to Lib/test/test_lib2to3/data/py3_test_grammar.py
diff --git a/Lib/lib2to3/tests/pytree_idempotency.py b/Lib/test/test_lib2to3/pytree_idempotency.py
similarity index 96%
rename from Lib/lib2to3/tests/pytree_idempotency.py
rename to Lib/test/test_lib2to3/pytree_idempotency.py
index 2e7e9781d42995..eb2e2aa02ae0ed 100755
--- a/Lib/lib2to3/tests/pytree_idempotency.py
+++ b/Lib/test/test_lib2to3/pytree_idempotency.py
@@ -17,9 +17,9 @@
import logging
# Local imports
-from .. import pytree
-from .. import pgen2
-from ..pgen2 import driver
+from lib2to3 import pytree
+from lib2to3 import pgen2
+from lib2to3.pgen2 import driver
logging.basicConfig()
diff --git a/Lib/lib2to3/tests/support.py b/Lib/test/test_lib2to3/support.py
similarity index 77%
rename from Lib/lib2to3/tests/support.py
rename to Lib/test/test_lib2to3/support.py
index fe084e8903fc86..9e56273e95992b 100644
--- a/Lib/lib2to3/tests/support.py
+++ b/Lib/test/test_lib2to3/support.py
@@ -8,12 +8,14 @@
from textwrap import dedent
# Local imports
+import lib2to3
from lib2to3 import pytree, refactor
from lib2to3.pgen2 import driver as pgen2_driver
+lib2to3_dir = os.path.dirname(lib2to3.__file__)
test_dir = os.path.dirname(__file__)
proj_dir = os.path.normpath(os.path.join(test_dir, ".."))
-grammar_path = os.path.join(test_dir, "..", "Grammar.txt")
+grammar_path = os.path.join(lib2to3_dir, "Grammar.txt")
grammar = pgen2_driver.load_grammar(grammar_path)
grammar_no_print_statement = pgen2_driver.load_grammar(grammar_path)
del grammar_no_print_statement.keywords["print"]
@@ -49,10 +51,19 @@ def get_refactorer(fixer_pkg="lib2to3", fixers=None, options=None):
options = options or {}
return refactor.RefactoringTool(fixers, options, explicit=True)
-def all_project_files():
- for dirpath, dirnames, filenames in os.walk(proj_dir):
+def _all_project_files(root, files):
+ for dirpath, dirnames, filenames in os.walk(root):
for filename in filenames:
- if filename.endswith(".py"):
- yield os.path.join(dirpath, filename)
+ if not filename.endswith(".py"):
+ continue
+ files.append(os.path.join(dirpath, filename))
+
+def all_project_files():
+ files = []
+ _all_project_files(lib2to3_dir, files)
+ _all_project_files(test_dir, files)
+ # Sort to get more reproducible tests
+ files.sort()
+ return files
TestCase = unittest.TestCase
diff --git a/Lib/lib2to3/tests/test_all_fixers.py b/Lib/test/test_lib2to3/test_all_fixers.py
similarity index 100%
rename from Lib/lib2to3/tests/test_all_fixers.py
rename to Lib/test/test_lib2to3/test_all_fixers.py
diff --git a/Lib/lib2to3/tests/test_fixers.py b/Lib/test/test_lib2to3/test_fixers.py
similarity index 99%
rename from Lib/lib2to3/tests/test_fixers.py
rename to Lib/test/test_lib2to3/test_fixers.py
index 121ebe68e5402b..68efeee7abb4d5 100644
--- a/Lib/lib2to3/tests/test_fixers.py
+++ b/Lib/test/test_lib2to3/test_fixers.py
@@ -7,7 +7,7 @@
# Local imports
from lib2to3 import pygram, fixer_util
-from lib2to3.tests import support
+from test.test_lib2to3 import support
class FixerTestCase(support.TestCase):
@@ -1791,7 +1791,7 @@ def f():
class Test_imports(FixerTestCase, ImportsFixerTests):
fixer = "imports"
- from ..fixes.fix_imports import MAPPING as modules
+ from lib2to3.fixes.fix_imports import MAPPING as modules
def test_multiple_imports(self):
b = """import urlparse, cStringIO"""
@@ -1812,16 +1812,16 @@ def test_multiple_imports_as(self):
class Test_imports2(FixerTestCase, ImportsFixerTests):
fixer = "imports2"
- from ..fixes.fix_imports2 import MAPPING as modules
+ from lib2to3.fixes.fix_imports2 import MAPPING as modules
class Test_imports_fixer_order(FixerTestCase, ImportsFixerTests):
def setUp(self):
super(Test_imports_fixer_order, self).setUp(['imports', 'imports2'])
- from ..fixes.fix_imports2 import MAPPING as mapping2
+ from lib2to3.fixes.fix_imports2 import MAPPING as mapping2
self.modules = mapping2.copy()
- from ..fixes.fix_imports import MAPPING as mapping1
+ from lib2to3.fixes.fix_imports import MAPPING as mapping1
for key in ('dbhash', 'dumbdbm', 'dbm', 'gdbm'):
self.modules[key] = mapping1[key]
@@ -1833,7 +1833,7 @@ def test_after_local_imports_refactoring(self):
class Test_urllib(FixerTestCase):
fixer = "urllib"
- from ..fixes.fix_urllib import MAPPING as modules
+ from lib2to3.fixes.fix_urllib import MAPPING as modules
def test_import_module(self):
for old, changes in self.modules.items():
diff --git a/Lib/lib2to3/tests/test_main.py b/Lib/test/test_lib2to3/test_main.py
similarity index 100%
rename from Lib/lib2to3/tests/test_main.py
rename to Lib/test/test_lib2to3/test_main.py
diff --git a/Lib/lib2to3/tests/test_parser.py b/Lib/test/test_lib2to3/test_parser.py
similarity index 99%
rename from Lib/lib2to3/tests/test_parser.py
rename to Lib/test/test_lib2to3/test_parser.py
index 8e7773bcae13ed..2c798b181fdbda 100644
--- a/Lib/lib2to3/tests/test_parser.py
+++ b/Lib/test/test_lib2to3/test_parser.py
@@ -26,7 +26,7 @@
# Local imports
from lib2to3.pgen2 import driver as pgen2_driver
from lib2to3.pgen2 import tokenize
-from ..pgen2.parse import ParseError
+from lib2to3.pgen2.parse import ParseError
from lib2to3.pygram import python_symbols as syms
diff --git a/Lib/lib2to3/tests/test_pytree.py b/Lib/test/test_lib2to3/test_pytree.py
similarity index 100%
rename from Lib/lib2to3/tests/test_pytree.py
rename to Lib/test/test_lib2to3/test_pytree.py
diff --git a/Lib/lib2to3/tests/test_refactor.py b/Lib/test/test_lib2to3/test_refactor.py
similarity index 100%
rename from Lib/lib2to3/tests/test_refactor.py
rename to Lib/test/test_lib2to3/test_refactor.py
diff --git a/Lib/lib2to3/tests/test_util.py b/Lib/test/test_lib2to3/test_util.py
similarity index 100%
rename from Lib/lib2to3/tests/test_util.py
rename to Lib/test/test_lib2to3/test_util.py
diff --git a/Mac/BuildScript/scripts/postflight.framework b/Mac/BuildScript/scripts/postflight.framework
index 0f2e52c4ca1926..a63909358f1719 100755
--- a/Mac/BuildScript/scripts/postflight.framework
+++ b/Mac/BuildScript/scripts/postflight.framework
@@ -8,12 +8,12 @@ FWK="/Library/Frameworks/Python.framework/Versions/@PYVER@"
"${FWK}/bin/python@PYVER@" -E -s -Wi \
"${FWK}/lib/python${PYVER}/compileall.py" -q -j0 \
- -f -x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \
+ -f -x 'bad_coding|badsyntax|site-packages|test/test_lib2to3/data' \
"${FWK}/lib/python${PYVER}"
"${FWK}/bin/python@PYVER@" -E -s -Wi -O \
"${FWK}/lib/python${PYVER}/compileall.py" -q -j0 \
- -f -x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \
+ -f -x 'bad_coding|badsyntax|site-packages|test/test_lib2to3/data' \
"${FWK}/lib/python${PYVER}"
"${FWK}/bin/python@PYVER@" -E -s -Wi \
diff --git a/Makefile.pre.in b/Makefile.pre.in
index f61cc075860dad..9d1cca3df54ae2 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
@@ -1920,10 +1920,6 @@ LIBSUBDIRS= asyncio \
__phello__
TESTSUBDIRS= distutils/tests \
idlelib/idle_test \
- lib2to3/tests \
- lib2to3/tests/data \
- lib2to3/tests/data/fixers \
- lib2to3/tests/data/fixers/myfixes \
test test/audiodata \
test/capath test/cjkencodings \
test/data test/decimaltestdata \
@@ -1985,6 +1981,10 @@ TESTSUBDIRS= distutils/tests \
test/test_importlib/zipdata01 \
test/test_importlib/zipdata02 \
test/test_json \
+ test/test_lib2to3 \
+ test/test_lib2to3/data \
+ test/test_lib2to3/data/fixers \
+ test/test_lib2to3/data/fixers/myfixes \
test/test_peg_generator \
test/test_tools \
test/test_warnings test/test_warnings/data \
@@ -2072,17 +2072,17 @@ libinstall: all $(srcdir)/Modules/xxmodule.c
-PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
$(PYTHON_FOR_BUILD) -Wi $(DESTDIR)$(LIBDEST)/compileall.py \
-j0 -d $(LIBDEST) -f \
- -x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \
+ -x 'bad_coding|badsyntax|site-packages|test/test_lib2to3/data' \
$(DESTDIR)$(LIBDEST)
-PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
$(PYTHON_FOR_BUILD) -Wi -O $(DESTDIR)$(LIBDEST)/compileall.py \
-j0 -d $(LIBDEST) -f \
- -x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \
+ -x 'bad_coding|badsyntax|site-packages|test/test_lib2to3/data' \
$(DESTDIR)$(LIBDEST)
-PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
$(PYTHON_FOR_BUILD) -Wi -OO $(DESTDIR)$(LIBDEST)/compileall.py \
-j0 -d $(LIBDEST) -f \
- -x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \
+ -x 'bad_coding|badsyntax|site-packages|test/test_lib2to3/data' \
$(DESTDIR)$(LIBDEST)
-PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
$(PYTHON_FOR_BUILD) -Wi $(DESTDIR)$(LIBDEST)/compileall.py \
diff --git a/PCbuild/lib.pyproj b/PCbuild/lib.pyproj
index f3f44d1d8ff3d4..2355eb5486fd7e 100644
--- a/PCbuild/lib.pyproj
+++ b/PCbuild/lib.pyproj
@@ -561,33 +561,6 @@
Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.
Alternative Proxies: