From 66f2ea042acf792bf6ff432f409628e1cec99e43 Mon Sep 17 00:00:00 2001 From: Ezio Melotti Date: Thu, 8 Aug 2013 15:03:45 +0300 Subject: [PATCH] #18273: move the tests in Lib/test/json_tests to Lib/test/test_json and make them discoverable by unittest. Patch by Zachary Ware. --- Lib/test/test_json.py | 17 ----------------- Lib/test/{json_tests => test_json}/__init__.py | 13 ++----------- Lib/test/test_json/__main__.py | 4 ++++ .../{json_tests => test_json}/test_decode.py | 2 +- .../{json_tests => test_json}/test_default.py | 2 +- Lib/test/{json_tests => test_json}/test_dump.py | 2 +- .../test_encode_basestring_ascii.py | 2 +- Lib/test/{json_tests => test_json}/test_fail.py | 2 +- .../{json_tests => test_json}/test_float.py | 2 +- .../{json_tests => test_json}/test_indent.py | 2 +- .../{json_tests => test_json}/test_pass1.py | 2 +- .../{json_tests => test_json}/test_pass2.py | 2 +- .../{json_tests => test_json}/test_pass3.py | 2 +- .../{json_tests => test_json}/test_recursion.py | 2 +- .../test_scanstring.py | 2 +- .../test_separators.py | 2 +- .../{json_tests => test_json}/test_speedups.py | 2 +- Lib/test/{json_tests => test_json}/test_tool.py | 0 .../{json_tests => test_json}/test_unicode.py | 2 +- Makefile.pre.in | 2 +- Misc/NEWS | 3 +++ 21 files changed, 25 insertions(+), 44 deletions(-) delete mode 100644 Lib/test/test_json.py rename Lib/test/{json_tests => test_json}/__init__.py (87%) create mode 100644 Lib/test/test_json/__main__.py rename Lib/test/{json_tests => test_json}/test_decode.py (98%) rename Lib/test/{json_tests => test_json}/test_default.py (85%) rename Lib/test/{json_tests => test_json}/test_dump.py (97%) rename Lib/test/{json_tests => test_json}/test_encode_basestring_ascii.py (98%) rename Lib/test/{json_tests => test_json}/test_fail.py (98%) rename Lib/test/{json_tests => test_json}/test_float.py (96%) rename Lib/test/{json_tests => test_json}/test_indent.py (97%) rename Lib/test/{json_tests => test_json}/test_pass1.py (97%) rename Lib/test/{json_tests => test_json}/test_pass2.py (90%) rename Lib/test/{json_tests => test_json}/test_pass3.py (92%) rename Lib/test/{json_tests => test_json}/test_recursion.py (98%) rename Lib/test/{json_tests => test_json}/test_scanstring.py (98%) rename Lib/test/{json_tests => test_json}/test_separators.py (95%) rename Lib/test/{json_tests => test_json}/test_speedups.py (96%) rename Lib/test/{json_tests => test_json}/test_tool.py (100%) rename Lib/test/{json_tests => test_json}/test_unicode.py (98%) diff --git a/Lib/test/test_json.py b/Lib/test/test_json.py deleted file mode 100644 index 41ff8974fc7..00000000000 --- 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 779c7a46b3d..f994f9b5896 100644 --- a/Lib/test/json_tests/__init__.py +++ b/Lib/test/test_json/__init__.py @@ -44,12 +44,12 @@ class TestCTest(CTest): 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 00000000000..e756afbc7ac --- /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 15a427f719b..d23e2859099 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 672c753fbf7..9b8325e9c38 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 237ee35b264..af1925888db 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 bfca69d18db..480afd686e4 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 7809056a731..3dd877afdbc 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 38ef7e94b38..d0c7214334d 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 4c706463396..a4d4d201422 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 52445f396e0..15e64b0aeae 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 eee6383382c..35075249e3b 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 228eee8adb9..cd0cf170d27 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 192ed9cf40c..1a76254d01b 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 426c8dd3bbf..2e3a291358c 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 a01b38c0807..84a2be9ae02 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 5c24c0580b0..109a2466c21 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 f226aa6f03d..c7cc8a7e922 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 73988b2ba2a..dc895c0070c 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 35e1ae52895..2550dc48450 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