#18273: move the tests in Lib/test/json_tests to Lib/test/test_json and make them discoverable by unittest. Patch by Zachary Ware.
diff --git a/Lib/test/test_json.py b/Lib/test/test_json.py
deleted file mode 100644
index 41ff897..0000000
--- 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 779c7a4..f994f9b 100644
--- a/Lib/test/json_tests/__init__.py
+++ b/Lib/test/test_json/__init__.py
@@ -44,12 +44,12 @@
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 @@
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 0000000..e756afb
--- /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 15a427f..d23e285 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 672c753..9b8325e 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 237ee35..af19258 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 97%
rename from Lib/test/json_tests/test_encode_basestring_ascii.py
rename to Lib/test/test_json/test_encode_basestring_ascii.py
index bfca69d..480afd6 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 7809056..3dd877a 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 38ef7e9..d0c7214 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 4c70646..a4d4d20 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 52445f3..15e64b0 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 eee6383..3507524 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 91%
rename from Lib/test/json_tests/test_pass3.py
rename to Lib/test/test_json/test_pass3.py
index 228eee8..cd0cf17 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 192ed9c..1a76254 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 426c8dd..2e3a291 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 a01b38c..84a2be9 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 95%
rename from Lib/test/json_tests/test_speedups.py
rename to Lib/test/test_json/test_speedups.py
index 5c24c05..109a246 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 f226aa6..c7cc8a7 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: