diff --git a/Lib/test/test_json.py b/Lib/test/test_json.py deleted file mode 100644 index 41ff8974fc79..000000000000 --- a/Lib/test/test_json.py +++ /dev/null @@ -1,17 +0,0 @@ -"""Tests for json. - -The tests for json are defined in the json.tests package; -the test_suite() function there returns a test suite that's ready to -be run. -""" - -from test import json_tests -import test.support - - -def test_main(): - test.support.run_unittest(json_tests.test_suite()) - - -if __name__ == "__main__": - test_main() diff --git a/Lib/test/json_tests/__init__.py b/Lib/test/test_json/__init__.py similarity index 87% rename from Lib/test/json_tests/__init__.py rename to Lib/test/test_json/__init__.py index 779c7a46b3de..f994f9b5896b 100644 --- a/Lib/test/json_tests/__init__.py +++ b/Lib/test/test_json/__init__.py @@ -44,12 +44,12 @@ def test_cjson(self): here = os.path.dirname(__file__) -def test_suite(): +def load_tests(*args): suite = additional_tests() loader = unittest.TestLoader() for fn in os.listdir(here): if fn.startswith("test") and fn.endswith(".py"): - modname = "test.json_tests." + fn[:-3] + modname = "test.test_json." + fn[:-3] __import__(modname) module = sys.modules[modname] suite.addTests(loader.loadTestsFromModule(module)) @@ -62,12 +62,3 @@ def additional_tests(): suite.addTest(TestPyTest('test_pyjson')) suite.addTest(TestCTest('test_cjson')) return suite - -def main(): - suite = test_suite() - runner = unittest.TextTestRunner() - runner.run(suite) - -if __name__ == '__main__': - sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))) - main() diff --git a/Lib/test/test_json/__main__.py b/Lib/test/test_json/__main__.py new file mode 100644 index 000000000000..e756afbc7acc --- /dev/null +++ b/Lib/test/test_json/__main__.py @@ -0,0 +1,4 @@ +import unittest +from test.test_json import load_tests + +unittest.main() diff --git a/Lib/test/json_tests/test_decode.py b/Lib/test/test_json/test_decode.py similarity index 98% rename from Lib/test/json_tests/test_decode.py rename to Lib/test/test_json/test_decode.py index 15a427f719b2..d23e28590996 100644 --- a/Lib/test/json_tests/test_decode.py +++ b/Lib/test/test_json/test_decode.py @@ -1,7 +1,7 @@ import decimal from io import StringIO from collections import OrderedDict -from test.json_tests import PyTest, CTest +from test.test_json import PyTest, CTest class TestDecode: diff --git a/Lib/test/json_tests/test_default.py b/Lib/test/test_json/test_default.py similarity index 85% rename from Lib/test/json_tests/test_default.py rename to Lib/test/test_json/test_default.py index 672c753fbf75..9b8325e9c381 100644 --- a/Lib/test/json_tests/test_default.py +++ b/Lib/test/test_json/test_default.py @@ -1,4 +1,4 @@ -from test.json_tests import PyTest, CTest +from test.test_json import PyTest, CTest class TestDefault: diff --git a/Lib/test/json_tests/test_dump.py b/Lib/test/test_json/test_dump.py similarity index 97% rename from Lib/test/json_tests/test_dump.py rename to Lib/test/test_json/test_dump.py index 237ee35b264e..af1925888db4 100644 --- a/Lib/test/json_tests/test_dump.py +++ b/Lib/test/test_json/test_dump.py @@ -1,5 +1,5 @@ from io import StringIO -from test.json_tests import PyTest, CTest +from test.test_json import PyTest, CTest from test.support import bigmemtest, _1G diff --git a/Lib/test/json_tests/test_encode_basestring_ascii.py b/Lib/test/test_json/test_encode_basestring_ascii.py similarity index 98% rename from Lib/test/json_tests/test_encode_basestring_ascii.py rename to Lib/test/test_json/test_encode_basestring_ascii.py index bfca69d18db8..480afd686e45 100644 --- a/Lib/test/json_tests/test_encode_basestring_ascii.py +++ b/Lib/test/test_json/test_encode_basestring_ascii.py @@ -1,5 +1,5 @@ from collections import OrderedDict -from test.json_tests import PyTest, CTest +from test.test_json import PyTest, CTest CASES = [ diff --git a/Lib/test/json_tests/test_fail.py b/Lib/test/test_json/test_fail.py similarity index 98% rename from Lib/test/json_tests/test_fail.py rename to Lib/test/test_json/test_fail.py index 7809056a731e..3dd877afdbc0 100644 --- a/Lib/test/json_tests/test_fail.py +++ b/Lib/test/test_json/test_fail.py @@ -1,4 +1,4 @@ -from test.json_tests import PyTest, CTest +from test.test_json import PyTest, CTest # 2007-10-05 JSONDOCS = [ diff --git a/Lib/test/json_tests/test_float.py b/Lib/test/test_json/test_float.py similarity index 96% rename from Lib/test/json_tests/test_float.py rename to Lib/test/test_json/test_float.py index 38ef7e94b387..d0c7214334d6 100644 --- a/Lib/test/json_tests/test_float.py +++ b/Lib/test/test_json/test_float.py @@ -1,5 +1,5 @@ import math -from test.json_tests import PyTest, CTest +from test.test_json import PyTest, CTest class TestFloat: diff --git a/Lib/test/json_tests/test_indent.py b/Lib/test/test_json/test_indent.py similarity index 97% rename from Lib/test/json_tests/test_indent.py rename to Lib/test/test_json/test_indent.py index 4c706463396d..a4d4d201422d 100644 --- a/Lib/test/json_tests/test_indent.py +++ b/Lib/test/test_json/test_indent.py @@ -1,6 +1,6 @@ import textwrap from io import StringIO -from test.json_tests import PyTest, CTest +from test.test_json import PyTest, CTest class TestIndent: diff --git a/Lib/test/json_tests/test_pass1.py b/Lib/test/test_json/test_pass1.py similarity index 97% rename from Lib/test/json_tests/test_pass1.py rename to Lib/test/test_json/test_pass1.py index 52445f396e07..15e64b0aeae7 100644 --- a/Lib/test/json_tests/test_pass1.py +++ b/Lib/test/test_json/test_pass1.py @@ -1,4 +1,4 @@ -from test.json_tests import PyTest, CTest +from test.test_json import PyTest, CTest # from http://json.org/JSON_checker/test/pass1.json diff --git a/Lib/test/json_tests/test_pass2.py b/Lib/test/test_json/test_pass2.py similarity index 90% rename from Lib/test/json_tests/test_pass2.py rename to Lib/test/test_json/test_pass2.py index eee6383382c8..35075249e3bc 100644 --- a/Lib/test/json_tests/test_pass2.py +++ b/Lib/test/test_json/test_pass2.py @@ -1,4 +1,4 @@ -from test.json_tests import PyTest, CTest +from test.test_json import PyTest, CTest # from http://json.org/JSON_checker/test/pass2.json diff --git a/Lib/test/json_tests/test_pass3.py b/Lib/test/test_json/test_pass3.py similarity index 92% rename from Lib/test/json_tests/test_pass3.py rename to Lib/test/test_json/test_pass3.py index 228eee8adb96..cd0cf170d275 100644 --- a/Lib/test/json_tests/test_pass3.py +++ b/Lib/test/test_json/test_pass3.py @@ -1,4 +1,4 @@ -from test.json_tests import PyTest, CTest +from test.test_json import PyTest, CTest # from http://json.org/JSON_checker/test/pass3.json diff --git a/Lib/test/json_tests/test_recursion.py b/Lib/test/test_json/test_recursion.py similarity index 98% rename from Lib/test/json_tests/test_recursion.py rename to Lib/test/test_json/test_recursion.py index 192ed9cf40c1..1a76254d01b6 100644 --- a/Lib/test/json_tests/test_recursion.py +++ b/Lib/test/test_json/test_recursion.py @@ -1,4 +1,4 @@ -from test.json_tests import PyTest, CTest +from test.test_json import PyTest, CTest class JSONTestObject: diff --git a/Lib/test/json_tests/test_scanstring.py b/Lib/test/test_json/test_scanstring.py similarity index 98% rename from Lib/test/json_tests/test_scanstring.py rename to Lib/test/test_json/test_scanstring.py index 426c8dd3bbff..2e3a291358c1 100644 --- a/Lib/test/json_tests/test_scanstring.py +++ b/Lib/test/test_json/test_scanstring.py @@ -1,5 +1,5 @@ import sys -from test.json_tests import PyTest, CTest +from test.test_json import PyTest, CTest class TestScanstring: diff --git a/Lib/test/json_tests/test_separators.py b/Lib/test/test_json/test_separators.py similarity index 95% rename from Lib/test/json_tests/test_separators.py rename to Lib/test/test_json/test_separators.py index a01b38c0807d..84a2be9ae020 100644 --- a/Lib/test/json_tests/test_separators.py +++ b/Lib/test/test_json/test_separators.py @@ -1,5 +1,5 @@ import textwrap -from test.json_tests import PyTest, CTest +from test.test_json import PyTest, CTest class TestSeparators: diff --git a/Lib/test/json_tests/test_speedups.py b/Lib/test/test_json/test_speedups.py similarity index 96% rename from Lib/test/json_tests/test_speedups.py rename to Lib/test/test_json/test_speedups.py index 5c24c0580b0b..109a2466c21b 100644 --- a/Lib/test/json_tests/test_speedups.py +++ b/Lib/test/test_json/test_speedups.py @@ -1,4 +1,4 @@ -from test.json_tests import CTest +from test.test_json import CTest class TestSpeedups(CTest): diff --git a/Lib/test/json_tests/test_tool.py b/Lib/test/test_json/test_tool.py similarity index 100% rename from Lib/test/json_tests/test_tool.py rename to Lib/test/test_json/test_tool.py diff --git a/Lib/test/json_tests/test_unicode.py b/Lib/test/test_json/test_unicode.py similarity index 98% rename from Lib/test/json_tests/test_unicode.py rename to Lib/test/test_json/test_unicode.py index f226aa6f03df..c7cc8a7e9228 100644 --- a/Lib/test/json_tests/test_unicode.py +++ b/Lib/test/test_json/test_unicode.py @@ -1,5 +1,5 @@ from collections import OrderedDict -from test.json_tests import PyTest, CTest +from test.test_json import PyTest, CTest class TestUnicode: diff --git a/Makefile.pre.in b/Makefile.pre.in index 73988b2ba2a7..dc895c0070c2 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in @@ -1036,7 +1036,7 @@ LIBSUBDIRS= tkinter tkinter/test tkinter/test/test_tkinter \ test/namespace_pkgs/module_and_namespace_package/a_test \ collections concurrent concurrent/futures encodings \ email email/mime test/test_email test/test_email/data \ - html json test/json_tests http dbm xmlrpc \ + html json test/test_json http dbm xmlrpc \ sqlite3 sqlite3/test \ logging csv wsgiref urllib \ lib2to3 lib2to3/fixes lib2to3/pgen2 lib2to3/tests \ diff --git a/Misc/NEWS b/Misc/NEWS index 35e1ae528953..2550dc48450a 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -237,6 +237,9 @@ IDLE Tests ----- +- Issue #18273: move the tests in Lib/test/json_tests to Lib/test/test_json + and make them discoverable by unittest. Patch by Zachary Ware. + - Fix a fcntl test case on KFreeBSD, Debian #708653 (Petr Salinger). - Issue #18396: Fix spurious test failure in test_signal on Windows when