diff options
-rw-r--r-- | SConstruct | 14 | ||||
-rw-r--r-- | bin/SConsExamples.py | 4 | ||||
-rw-r--r-- | bin/time-scons.py | 2 | ||||
-rw-r--r-- | bin/update-release-info.py | 10 | ||||
-rwxr-xr-x | runtest.py | 8 | ||||
-rw-r--r-- | src/CHANGES.txt | 2 | ||||
-rw-r--r-- | src/test_strings.py | 10 | ||||
-rwxr-xr-x | test/D/Support/executablesSearch.py | 2 | ||||
-rw-r--r-- | test/README | 4 | ||||
-rw-r--r-- | test/update-release-info/update-release-info.py | 2 | ||||
-rw-r--r-- | testing/framework/README.txt (renamed from QMTest/README.txt) | 0 | ||||
-rw-r--r-- | testing/framework/SConscript (renamed from QMTest/SConscript) | 4 | ||||
-rw-r--r-- | testing/framework/TestCmd.py (renamed from QMTest/TestCmd.py) | 0 | ||||
-rw-r--r-- | testing/framework/TestCmdTests.py (renamed from QMTest/TestCmdTests.py) | 0 | ||||
-rw-r--r-- | testing/framework/TestCommon.py (renamed from QMTest/TestCommon.py) | 0 | ||||
-rw-r--r-- | testing/framework/TestCommonTests.py (renamed from QMTest/TestCommonTests.py) | 0 | ||||
-rw-r--r-- | testing/framework/TestRuntest.py (renamed from QMTest/TestRuntest.py) | 4 | ||||
-rw-r--r-- | testing/framework/TestSCons.py (renamed from QMTest/TestSCons.py) | 2 | ||||
-rw-r--r-- | testing/framework/TestSConsMSVS.py (renamed from QMTest/TestSConsMSVS.py) | 0 | ||||
-rw-r--r-- | testing/framework/TestSCons_time.py (renamed from QMTest/TestSCons_time.py) | 0 | ||||
-rw-r--r-- | testing/framework/TestSConsign.py (renamed from QMTest/TestSConsign.py) | 0 | ||||
-rw-r--r-- | testing/framework/test-framework.rst (renamed from QMTest/test-framework.rst) | 11 | ||||
-rw-r--r-- | timings/README.txt | 4 |
23 files changed, 39 insertions, 44 deletions
@@ -132,7 +132,7 @@ python_ver = sys.version[0:3] # for the doc toolchain. # addpaths = [os.path.abspath(os.path.join(os.getcwd(), 'bin')), - os.path.abspath(os.path.join(os.getcwd(), 'QMTest'))] + os.path.abspath(os.path.join(os.getcwd(), 'testing/framework'))] for a in addpaths: if a not in sys.path: sys.path.append(a) @@ -634,7 +634,7 @@ for p in [ scons ]: # Run setup.py in the unpacked subdirectory to "install" everything # into our build/test subdirectory. The runtest.py script will set # PYTHONPATH so that the tests only look under build/test-{package}, - # and under QMTest (for the testing modules TestCmd.py, TestSCons.py, + # and under testing/framework (for the testing modules TestCmd.py, TestSCons.py, # etc.). This makes sure that our tests pass with what # we really packaged, not because of something hanging around in # the development directory. @@ -704,7 +704,7 @@ for p in [ scons ]: # Run setup.py in the unpacked subdirectory to "install" everything # into our build/test subdirectory. The runtest.py script will set # PYTHONPATH so that the tests only look under build/test-{package}, - # and under QMTest (for the testing modules TestCmd.py, TestSCons.py, + # and under testing/framework (for the testing modules TestCmd.py, TestSCons.py, # etc.). This makes sure that our tests pass with what # we really packaged, not because of something hanging around in # the development directory. @@ -825,7 +825,7 @@ for p in [ scons ]: # Export('build_dir', 'env') -SConscript('QMTest/SConscript') +SConscript('testing/SConscript') # # @@ -926,7 +926,7 @@ if sfiles: # Run setup.py in the unpacked subdirectory to "install" everything # into our build/test subdirectory. The runtest.py script will set # PYTHONPATH so that the tests only look under build/test-{package}, - # and under QMTest (for the testing modules TestCmd.py, + # and under testing/framework (for the testing modules TestCmd.py, # TestSCons.py, etc.). This makes sure that our tests pass with # what we really packaged, not because of something hanging around # in the development directory. @@ -980,7 +980,7 @@ if sfiles: # Run setup.py in the unpacked subdirectory to "install" everything # into our build/test subdirectory. The runtest.py script will set # PYTHONPATH so that the tests only look under build/test-{package}, - # and under QMTest (for the testing modules TestCmd.py, + # and under testing/framework (for the testing modules TestCmd.py, # TestSCons.py, etc.). This makes sure that our tests pass with # what we really packaged, not because of something hanging # around in the development directory. @@ -1018,7 +1018,7 @@ if sfiles: for pf, help_text in packaging_flavors: Alias(pf, [ os.path.join(build_dir, 'test-'+pf), - os.path.join(build_dir, 'QMTest'), + os.path.join(build_dir, 'testing/framework'), os.path.join(build_dir, 'runtest.py'), ]) diff --git a/bin/SConsExamples.py b/bin/SConsExamples.py index a2ed570..7491c58 100644 --- a/bin/SConsExamples.py +++ b/bin/SConsExamples.py @@ -416,8 +416,8 @@ def exampleNamesAreUnique(dpath): # # ############################################################### -sys.path.append(os.path.join(os.getcwd(), 'QMTest')) -sys.path.append(os.path.join(os.getcwd(), 'build', 'QMTest')) +sys.path.append(os.path.join(os.getcwd(), 'testing/framework')) +sys.path.append(os.path.join(os.getcwd(), 'build', 'testing/framework')) scons_py = os.path.join('bootstrap', 'src', 'script', 'scons.py') if not os.path.exists(scons_py): diff --git a/bin/time-scons.py b/bin/time-scons.py index b7d8ef1..c5cd0cc 100644 --- a/bin/time-scons.py +++ b/bin/time-scons.py @@ -43,7 +43,7 @@ TimeSCons_revision = 4569 # The pieces of the TimeSCons infrastructure that are necessary to # produce consistent timings, even when the rest of the tree is from # an earlier revision that doesn't have these pieces. -TimeSCons_pieces = ['QMTest', 'timings', 'runtest.py'] +TimeSCons_pieces = ['testing/framework', 'timings', 'runtest.py'] class CommandRunner(object): diff --git a/bin/update-release-info.py b/bin/update-release-info.py index 81e0df5..5b871cb 100644 --- a/bin/update-release-info.py +++ b/bin/update-release-info.py @@ -20,10 +20,10 @@ in various files: - The RELEASE header line in src/CHANGES.txt and src/Announce.txt. - The version string at the top of src/RELEASE.txt. - The version string in the 'default_version' variable in SConstruct - and QMTest/TestSCons.py. - - The copyright years in SConstruct and QMTest/TestSCons.py. + and testing/framework/TestSCons.py. + - The copyright years in SConstruct and testing/framework/TestSCons.py. - The month and year (used for documentation) in SConstruct. - - The unsupported and deprecated Python floors in QMTest/TestSCons.py + - The unsupported and deprecated Python floors in testing/framework/TestSCons.py and src/engine/SCons/Script/Main.py - The version string in the filenames in README. @@ -315,9 +315,9 @@ for suf in ['tar', 'win32', 'zip', 'rpm', 'exe', 'deb']: '-%s.%s' % (version_string, suf), count = 0) -# Update QMTest/TestSCons.py +# Update testing/framework/TestSCons.py -t = UpdateFile(os.path.join('QMTest', 'TestSCons.py')) +t = UpdateFile(os.path.join('testing','framework', 'TestSCons.py')) if DEBUG: t.file = '/tmp/TestSCons.py' t.replace_assign('copyright_years', repr(copyright_years)) t.replace_assign('default_version', repr(version_string)) @@ -8,9 +8,9 @@ # # - unit tests - included in *Tests.py files from src/ dir # - end-to-end tests - these are *.py files in test/ directory that -# require custom SCons framework from QMTest/ +# require custom SCons framework from testing/ # -# This script adds src/ and QMTest/ directories to PYTHONPATH, +# This script adds src/ and testing/ directories to PYTHONPATH, # performs test discovery and processes them according to options. # # With -p (--package) option, script tests specified package from @@ -625,10 +625,8 @@ old_pythonpath = os.environ.get('PYTHONPATH') # should be able to go away. pythonpaths = [ pythonpath_dir ] -# Add path of the QMTest folder to PYTHONPATH -# [ ] move used parts from QMTest to testing/framework/ scriptpath = os.path.dirname(os.path.realpath(__file__)) -pythonpaths.append(os.path.join(scriptpath, 'QMTest')) + # Add path for testing framework to PYTHONPATH pythonpaths.append(os.path.join(scriptpath, 'testing', 'framework')) diff --git a/src/CHANGES.txt b/src/CHANGES.txt index ee4d7bb..a4590d0 100644 --- a/src/CHANGES.txt +++ b/src/CHANGES.txt @@ -35,6 +35,8 @@ RELEASE 3.1.0.alpha.yyyymmdd - NEW DATE WILL BE INSERTED HERE - Fix issue # 3106 MSVC if using MSVC_BATCH and target dir had a space would fail due to quirk in MSVC's handling of escaped targetdirs when batch compiling. - Re-Enable parallel SCons (-j) when running via Pypy + - Move SCons test framework files to testing/framework and remove all references to QMtest. + QMTest has not been used by SCons for some time now. From Andrew Featherstone - Removed unused --warn options from the man page and source code. diff --git a/src/test_strings.py b/src/test_strings.py index 297d59d..e9f0abf 100644 --- a/src/test_strings.py +++ b/src/test_strings.py @@ -208,12 +208,10 @@ check_list = [ 'doc/user/SCons-win32-install-4.jpg', 'examples', 'gentoo', - 'QMTest/classes.qmc', - 'QMTest/configuration', - 'QMTest/TestCmd.py', - 'QMTest/TestCmdTests.py', - 'QMTest/TestCommon.py', - 'QMTest/TestCommonTests.py', + 'testing/framework/TestCmd.py', + 'testing/framework/TestCmdTests.py', + 'testing/framework/TestCommon.py', + 'testing/framework/TestCommonTests.py', 'src/MANIFEST.in', 'src/setup.cfg', 'src/engine/MANIFEST.in', diff --git a/test/D/Support/executablesSearch.py b/test/D/Support/executablesSearch.py index 17d9990..c572f56 100755 --- a/test/D/Support/executablesSearch.py +++ b/test/D/Support/executablesSearch.py @@ -51,7 +51,7 @@ def isExecutableOfToolAvailable(test, tool): if __name__ == '__main__': import unittest - sys.path.append(os.path.abspath('../../../QMTest')) + sys.path.append(os.path.abspath('../../../testing/framework')) import TestSCons diff --git a/test/README b/test/README index 2c8423f..be75398 100644 --- a/test/README +++ b/test/README @@ -4,7 +4,7 @@ This directory contains our end-to-end SCons tests. They are all meant to be run essentially standalone, with the exception of the TestSCons.py module and the other modules imported by the various -tests. These modules are in the QMTest/ subdirectory, and PYTHONPATH +tests. These modules are in the testing/framework/ subdirectory, and PYTHONPATH needs to be set up correctly so that the test scripts can find them, and so that the SCons script itself can find the build engine modules. @@ -56,4 +56,4 @@ semblance of uniformity, here are the naming conventions for tests: For some more information about running the tests and writing them, please refer to the documentation for the testing framework. It can be found in -the 'QMTest' folder, as file 'test-framework.rst'. +the 'testing/framework' folder, as file 'test-framework.rst'. diff --git a/test/update-release-info/update-release-info.py b/test/update-release-info/update-release-info.py index 970bcce..d0242a8 100644 --- a/test/update-release-info/update-release-info.py +++ b/test/update-release-info/update-release-info.py @@ -34,7 +34,7 @@ import TestRuntest # Needed to ensure we're using the correct year this_year=time.localtime()[0] -TestSCons = 'QMTest/TestSCons.py' .split('/') +TestSCons = 'testing/framework/TestSCons.py' .split('/') README = 'README.rst' .split('/') ReleaseConfig = 'ReleaseConfig' .split('/') SConstruct = 'SConstruct' .split('/') diff --git a/QMTest/README.txt b/testing/framework/README.txt index 7750bc7..7750bc7 100644 --- a/QMTest/README.txt +++ b/testing/framework/README.txt diff --git a/QMTest/SConscript b/testing/framework/SConscript index 1db7301..0d3832e 100644 --- a/QMTest/SConscript +++ b/testing/framework/SConscript @@ -50,9 +50,9 @@ def copy(target, source, env): for file in files: # Guarantee that real copies of these files always exist in - # build/QMTest. If there's a symlink there, then this is an Aegis + # build/testing/framework. If there's a symlink there, then this is an Aegis # build and we blow them away now so that they'll get "built" later. - p = os.path.join(build_dir, 'QMTest', file) + p = os.path.join(build_dir, 'testing','framework', file) if os.path.islink(p): os.unlink(p) if not os.path.isabs(p): diff --git a/QMTest/TestCmd.py b/testing/framework/TestCmd.py index 0aab9a8..0aab9a8 100644 --- a/QMTest/TestCmd.py +++ b/testing/framework/TestCmd.py diff --git a/QMTest/TestCmdTests.py b/testing/framework/TestCmdTests.py index b9226fd..b9226fd 100644 --- a/QMTest/TestCmdTests.py +++ b/testing/framework/TestCmdTests.py diff --git a/QMTest/TestCommon.py b/testing/framework/TestCommon.py index 47a149b..47a149b 100644 --- a/QMTest/TestCommon.py +++ b/testing/framework/TestCommon.py diff --git a/QMTest/TestCommonTests.py b/testing/framework/TestCommonTests.py index 7949cb8..7949cb8 100644 --- a/QMTest/TestCommonTests.py +++ b/testing/framework/TestCommonTests.py diff --git a/QMTest/TestRuntest.py b/testing/framework/TestRuntest.py index 68563da..7b3bb52 100644 --- a/QMTest/TestRuntest.py +++ b/testing/framework/TestRuntest.py @@ -97,7 +97,7 @@ class TestRuntest(TestCommon): The superclass TestCommon.__init__() will change directory (chdir) to the workspace directory, so an explicit "chdir = '.'" on all of the run() method calls is not necessary. This initialization - also copies the runtest.py and QMTest/ subdirectory tree to the + also copies the runtest.py and testing/framework/ subdirectory tree to the temporary directory, duplicating how this test infrastructure appears in a normal workspace. """ @@ -115,7 +115,7 @@ class TestRuntest(TestCommon): except KeyError: things_to_copy = [ 'runtest.py', - 'QMTest', + 'testing/framework', ] else: del kw['things_to_copy'] diff --git a/QMTest/TestSCons.py b/testing/framework/TestSCons.py index ef907d8..ba4e06b 100644 --- a/QMTest/TestSCons.py +++ b/testing/framework/TestSCons.py @@ -42,7 +42,7 @@ python_version_deprecated = (2, 7, 0) # In the checked-in source, the value of SConsVersion in the following # line must remain "__ VERSION __" (without the spaces) so the built -# version in build/QMTest/TestSCons.py contains the actual version +# version in build/testing/framework/TestSCons.py contains the actual version # string of the packages that have been built. SConsVersion = '__VERSION__' if SConsVersion == '__' + 'VERSION' + '__': diff --git a/QMTest/TestSConsMSVS.py b/testing/framework/TestSConsMSVS.py index 1e879d9..1e879d9 100644 --- a/QMTest/TestSConsMSVS.py +++ b/testing/framework/TestSConsMSVS.py diff --git a/QMTest/TestSCons_time.py b/testing/framework/TestSCons_time.py index bc116ec..bc116ec 100644 --- a/QMTest/TestSCons_time.py +++ b/testing/framework/TestSCons_time.py diff --git a/QMTest/TestSConsign.py b/testing/framework/TestSConsign.py index a48b648..a48b648 100644 --- a/QMTest/TestSConsign.py +++ b/testing/framework/TestSConsign.py diff --git a/QMTest/test-framework.rst b/testing/framework/test-framework.rst index d51e5f0..7082eb9 100644 --- a/QMTest/test-framework.rst +++ b/testing/framework/test-framework.rst @@ -19,7 +19,7 @@ There are three types of SCons tests: *End-to-End Tests* End-to-end tests of SCons are all Python scripts (``*.py``) underneath the ``test/`` subdirectory. They use the test infrastructure modules in the - ``QMTest`` subdirectory. + ``testing/framework`` subdirectory. *Unit Tests* Unit tests for individual SCons modules live underneath the @@ -98,9 +98,6 @@ Running Tests The standard set of SCons tests are run from the top-level source directory by the ``runtest.py`` script. -There is a ``--qmtest`` option that checks whether the ``QMTest`` package -is installed on your system. If it can be found, then the ``runtest.py`` script -will use it to carry out the tests. Help is available through the ``-h`` option: @@ -385,9 +382,9 @@ Finally, you shouldn't forget to clean up and remove the temporary test director Test Infrastructure =================== -The test API is in ``QMTest/TestSCons.py``. ``TestSCons`` is a subclass of +The test API is in ``testing/framework/TestSCons.py``. ``TestSCons`` is a subclass of ``TestCommon``, which is a subclass of ``TestCmd``; all those python files are -in ``QMTest``. Start in ``QMTest/TestCmd.py`` for the base API definitions, +in ``testing/framework``. Start in ``testing/framework/TestCmd.py`` for the base API definitions, like how to create files (``test.write()``) and run commands (``test.run()``). You want to use ``TestSCons`` for the end-to-end tests in ``test``, but ``TestCmd`` @@ -423,7 +420,7 @@ Here's an easy sample:: if not intelc: test.skip_test("Could not load 'intelc' Tool; skipping test(s).\n") -See ``QMTest/TestSCons.py`` for the ``detect_tool`` method. It calls the tool's +See ``testing/framework/TestSCons.py`` for the ``detect_tool`` method. It calls the tool's ``generate()`` method, and then looks for the given prog (tool name by default) in ``env['ENV']['PATH']``. diff --git a/timings/README.txt b/timings/README.txt index 3c0baff..9921208 100644 --- a/timings/README.txt +++ b/timings/README.txt @@ -5,8 +5,8 @@ This directory contains timing configurations for SCons. Each configuration exists in a subdirectory. The controlling script is named TimeSCons-run.py for the configuration. The TimeSCons-run.py scripts use TestSCons.TimeSCons, a subclass of TestSCons.TestSCons (both -defined in ../QMTest/TestSCons.py), to manage execution of the timing -runs. +defined in ../testing/framework/TestSCons.py), to manage execution of the +timing runs. Unlike the TestSCons.TestSCons base class, the TestSCons.TimeSCons subclass copies the contents of its containing directory to the temporary |