#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: