summaryrefslogtreecommitdiffstats
path: root/QMTest/TestSCons.py
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix test/update-release-info/update-release-info.py to work in the year 2011William Deegan2011-01-261-1/+1
|
* Updates the timing infrastructure to:Steven Knight2010-08-181-10/+32
| | | | | | | | | | 1) allow the calibration script to only use some of the variables that are settable in the configuration; 2) refactor the way the --debug= options are added to the SCons invocations so that an individual timing configuration can add SCons options without having to account for those by hand; 3) give the timing configuration script easier access to the test directory in which it lives.
* Windows fix: use shell=True on subprocess.Popen(), don't use communicate().Steven Knight2010-06-281-2/+3
|
* Generalize searching for the Fortran startup libraries (-lfrtbeginSteven Knight2010-06-271-16/+14
| | | | vs. -lgfortranbegin) for gcc version 4.4 (and later).
* This changeset increments the trunk to the next minor level, 2.1.0, andGreg Noel2010-06-151-1/+1
| | | | | | | | updates the dates and other information in the files to have the right base values. With this changeset, 2.0.0 is history and a new era has begun. It's time to celebrate; anybody want a beer?
* Increase the default timeout of TestSCons.wait_for() to 20.0 seconds.Steven Knight2010-06-101-1/+10
| | | | | | | | | | | | (--interactive mode on our Solaris buildbot slave takes longer than 10 seconds to create the necessary marker files.) Set the stdin attribute on our popen object to None after we close it, so some versions of subprocess.py don't try to write it after it's closed. If we time out waiting for a marker file to be created, then print any stdout or stderr that's already accumulated, since that may give clues about why the test failed.
* Oops, backslash must be done first, or backslashes from previous substitutionsGreg Noel2010-06-051-1/+1
| | | | will be quoted.
* The re_escape() function escapes too little. Blind fix for a Windows problem.Greg Noel2010-06-051-1/+1
|
* Prepare for checkpoint release. Everything should be set up and readyGreg Noel2010-05-301-3/+6
| | | | | | | | | | | | | | to go. Update various files to have the correct date, time, version, and floor. Rework Script/Main.py and QMTest/TestSCons.py to make automated updating possible in the future. Remove a duplicate MANIFEST-xml.in entry. Fix TeX tests, which ran 'kpsewitch' before determining if the TeX tools were installed.
* http://scons.tigris.org/issues/show_bug.cgi?id=2365Greg Noel2010-05-281-16/+77
| | | | | | Start the deprecation cycle for SourceCode() and its related factory functions. Deprecation messages are added to the functions. Regression tests are modified to deal with the messages being generated. Documentation is updated.
* Start the deprecation cycle for the BuildDir() method and the build_dirGreg Noel2010-05-261-57/+82
| | | | | | | | | | | | | | | | | | | | | | keyword parameter. Several existing tests were still using BuildDir() or build_dir; they were converted to use VariantDir() and variant_dir. New tests were added to validate that the --warn=deprecated-build-dir option and the SetOption method did the right thing. This led to the discovery that a commonly-used test pattern provided by the infrastructure gobbled up too much, causing tests to succeed when they should have failed. Fixing the pattern led to other tests needing to be fixed. In the process, it was discovered that the SCONSFLAG environment variable was not getting correctly reset to its original value. Fixing this also caused additional tests to misbehave, requiring them to be updated. And test/Sig.py, which tests the deprecated SCons.Sig module, was moved to the test/Deprecated directory. All in all, quite a lot of action for what was supposed to be a simple change.
* Update deprecated features to the next life-cycle stageGreg Noel2010-05-211-0/+20
|
* Convert to Python 3.x division rules.Greg Noel2010-04-241-3/+4
|
* http://scons.tigris.org/issues/show_bug.cgi?id=2345Greg Noel2010-04-241-34/+1
| | | | | | | Comb out all code that supported earlier versions of Python. Most such code is in snippets of only a few lines and can be identified by having a Python version string in it. Such snippets add up; this combing pass probably got rid of over 500 lines of code.
* http://scons.tigris.org/issues/show_bug.cgi?id=2345Greg Noel2010-04-211-2/+0
| | | | | | Pass the python executable from the -P option to runtest to TestCmd.py. Create the escaped executable name in TestCmd.py as well. Pass those two values into derived test modules. Fix cascade problems in test scripts due to incorrect assumptions about the name of the executable.
* http://scons.tigris.org/issues/show_bug.cgi?id=2345Greg Noel2010-04-201-1/+1
| | | | | | | One-line changes: Wrap pickle.dump with staticmethod(). Keep softspace in Unbuffered wrapper class for backward compatibility with 3.x. Use ModuleType as a factory function rather than a base class. Derive exception class from something derived from BaseException (required for 3.x).
* Index: test/Variables/help.pyGreg Noel2010-04-191-6/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | =================================================================== --- test/Variables/help.py (revision 4792) +++ test/Variables/help.py (working copy) @@ -28,23 +28,15 @@ Test the Variables help messages. """ -import os.path +import os -try: - True, False -except NameError: - exec('True = (0 == 0)') - exec('False = (0 != 0)') +import TestSCons str_True = str(True) str_False = str(False) -import TestSCons - test = TestSCons.TestSCons() - - workpath = test.workpath() qtpath = os.path.join(workpath, 'qt') libpath = os.path.join(qtpath, 'lib') Index: test/Variables/PackageVariable.py =================================================================== --- test/Variables/PackageVariable.py (revision 4792) +++ test/Variables/PackageVariable.py (working copy) @@ -28,14 +28,8 @@ Test the PackageVariable canned Variable type. """ -import os.path +import os -try: - True, False -except NameError: - exec('True = (0 == 0)') - exec('False = (0 != 0)') - import TestSCons test = TestSCons.TestSCons() Index: test/Variables/BoolVariable.py =================================================================== --- test/Variables/BoolVariable.py (revision 4792) +++ test/Variables/BoolVariable.py (working copy) @@ -28,14 +28,8 @@ Test the BoolVariable canned Variable type. """ -import os.path +import os -try: - True, False -except NameError: - exec('True = (0 == 0)') - exec('False = (0 != 0)') - import TestSCons test = TestSCons.TestSCons() Index: test/Deprecated/Options/help.py =================================================================== --- test/Deprecated/Options/help.py (revision 4792) +++ test/Deprecated/Options/help.py (working copy) @@ -28,24 +28,16 @@ Test the Options help messages. """ -import os.path +import os import re -try: - True, False -except NameError: - exec('True = (0 == 0)') - exec('False = (0 != 0)') +import TestSCons str_True = str(True) str_False = str(False) -import TestSCons - test = TestSCons.TestSCons(match = TestSCons.match_re_dotall) - - workpath = test.workpath() qtpath = os.path.join(workpath, 'qt') libpath = os.path.join(qtpath, 'lib') Index: test/Deprecated/Options/PackageOption.py =================================================================== --- test/Deprecated/Options/PackageOption.py (revision 4792) +++ test/Deprecated/Options/PackageOption.py (working copy) @@ -28,14 +28,8 @@ Test the PackageOption canned Option type. """ -import os.path +import os -try: - True, False -except NameError: - exec('True = (0 == 0)') - exec('False = (0 != 0)') - import TestSCons test = TestSCons.TestSCons(match = TestSCons.match_re_dotall) Index: test/Deprecated/Options/BoolOption.py =================================================================== --- test/Deprecated/Options/BoolOption.py (revision 4792) +++ test/Deprecated/Options/BoolOption.py (working copy) @@ -28,12 +28,6 @@ Test the BoolOption canned Option type. """ -try: - True, False -except NameError: - exec('True = (0 == 0)') - exec('False = (0 != 0)') - import TestSCons test = TestSCons.TestSCons(match = TestSCons.match_re_dotall) Index: src/script/scons-time.py =================================================================== --- src/script/scons-time.py (revision 4792) +++ src/script/scons-time.py (working copy) @@ -45,13 +45,6 @@ import time try: - True, False -except NameError: - # Pre-2.2 Python has no True or False keyword. - exec('True = not 0') - exec('False = not 1') - -try: sorted except NameError: # Pre-2.4 Python has no sorted() function. Index: src/engine/SCons/compat/_scons_builtins.py =================================================================== --- src/engine/SCons/compat/_scons_builtins.py (revision 4792) +++ src/engine/SCons/compat/_scons_builtins.py (working copy) @@ -37,13 +37,8 @@ all() any() - bool() - dict() sorted() memoryview() - True - False - zip() Implementations of functions are *NOT* guaranteed to be fully compliant with these functions in later versions of Python. We are only concerned @@ -62,22 +57,6 @@ import builtins try: - False -except NameError: - # Pre-2.2 Python has no False keyword. - exec('builtins.False = not 1') - # Assign to False in this module namespace so it shows up in pydoc output. - #False = False - -try: - True -except NameError: - # Pre-2.2 Python has no True keyword. - exec('builtins.True = not 0') - # Assign to True in this module namespace so it shows up in pydoc output. - #True = True - -try: all except NameError: # Pre-2.5 Python has no all() function. @@ -108,42 +87,6 @@ any = any try: - bool -except NameError: - # Pre-2.2 Python has no bool() function. - def bool(value): - """Demote a value to 0 or 1, depending on its truth value. - - This is not to be confused with types.BooleanType, which is - way too hard to duplicate in early Python versions to be - worth the trouble. - """ - return not not value - builtins.bool = bool - bool = bool - -try: - dict -except NameError: - # Pre-2.2 Python has no dict() keyword. - def dict(seq=[], **kwargs): - """ - New dictionary initialization. - """ - d = {} - for k, v in seq: - d[k] = v - d.update(kwargs) - return d - builtins.dict = dict - -try: - file -except NameError: - # Pre-2.2 Python has no file() function. - builtins.file = open - -try: memoryview except NameError: # Pre-2.7 doesn't have the memoryview() built-in. @@ -185,27 +128,6 @@ return result builtins.sorted = sorted -# -try: - zip -except NameError: - # Pre-2.2 Python has no zip() function. - def zip(*lists): - """ - Emulates the behavior we need from the built-in zip() function - added in Python 2.2. - - Returns a list of tuples, where each tuple contains the i-th - element rom each of the argument sequences. The returned - list is truncated in length to the length of the shortest - argument sequence. - """ - result = [] - for i in range(min(list(map(len, lists)))): - result.append(tuple([l[i] for l in lists])) - return result - builtins.zip = zip - #if sys.version_info[:3] in ((2, 2, 0), (2, 2, 1)): # def lstrip(s, c=string.whitespace): # while s and s[0] in c: Index: runtest.py =================================================================== --- runtest.py (revision 4792) +++ runtest.py (working copy) @@ -97,17 +97,6 @@ import time try: - x = True -except NameError: - True = not 0 - False = not 1 -else: - del x - -if not hasattr(os, 'WEXITSTATUS'): - os.WEXITSTATUS = lambda x: x - -try: sorted except NameError: # Pre-2.4 Python has no sorted() function. Index: QMTest/TestSCons.py =================================================================== --- QMTest/TestSCons.py (revision 4792) +++ QMTest/TestSCons.py (working copy) @@ -23,12 +23,6 @@ import sys import time -try: - True -except NameError: - exec('True = not 0') - exec('False = not 1') - from TestCommon import * from TestCommon import __all__
* Replace remaining os.path.walk() calls with os.walk().Steven Knight2010-04-181-0/+9
|
* http://scons.tigris.org/issues/show_bug.cgi?id=2345Greg Noel2010-04-171-5/+3
| | | | | Fix the 'assignment to True or False' and the '__getitem__ not supported for exception classes' deprecation warnings.
* http://scons.tigris.org/issues/show_bug.cgi?id=2345Greg Noel2010-04-151-6/+2
| | | | | | | | | Fixes due to running the regression tests with the '-3' option to Python2.6, which causes the run-time to look for potential compatibility problems with Python 3.x. In some cases, all we can do is quiet the warning since we still support Python versions that can't use the newer idiom. In other cases, we fix the problem. This patch contains a mix of quieting and fixing, plus a little lint.
* http://scons.tigris.org/issues/show_bug.cgi?id=2345Greg Noel2010-04-151-2/+2
| | | | | | Apply the first part of the 'raise' fixer (the three-argument cases are not converted and will need to wait until native support of with_traceback() is available).
* http://scons.tigris.org/issues/show_bug.cgi?id=2345Greg Noel2010-03-291-11/+0
| | | | | | | Accumulated small fixers: renames, next, zip, and intern. Files that were modified or added while developing on branches/pending didn't have the fixers previously applied. This patchset picks up those.
* http://scons.tigris.org/issues/show_bug.cgi?id=2329Greg Noel2010-03-271-4/+2
| | | | | | | | | | | | | | | Applied a number of idiomatic changes. Uses of the 'sort()' method were converted into calls of 'sorted()' when possible and the sorted() expression was inserted into a subsequent statement whenever that made sense. The statement 'while 1:' was changed to 'while True:'. Names from the 'types' module (e.g., 'types.FooType') were converted to the equivalent build-in type (e.g., 'foo'). Comparisons between types were changed to use 'isinstance()'.
* Move 2.0 changes collected in branches/pending back to trunk for furtherGreg Noel2010-03-251-63/+61
| | | | | development. Note that this set of changes is NOT backward-compatible; the trunk no longer works with Python 1.5.2, 2.0, or 2.1.
* Merged r4724 (1.3.0 release changes) back into trunk.Gary Oberbrunner2010-03-241-1/+1
|
* Change the name of the 'help' statistic in the timings configurationsSteven Knight2010-01-191-6/+6
| | | | to 'startup'.
* Merge back from checkpoint.William Deegan2010-01-191-1/+1
| | | | Need to regenerate the .xml files.
* Update Test{Cmd,Common}.py from upstream, with a newSteven Knight2010-01-121-0/+12
| | | | | | TestCommon.must_not_contain() method, new-style classes (inherit from object), and a fix for a Windows race by only opening up a pipe to stdin if we have something to write to it.
* Avoid GCC 4.4 warnings from the code generated by our dummy QTSteven Knight2009-12-311-2/+8
| | | | moc and uic utilities by using fputs() instead of printf().
* Speed up the time-scons.py "build" of SCons with compiled *.pyc files,Steven Knight2009-12-191-0/+2
| | | | | | | | | | | | | by just invoking setup.py directly instead of packing and unpacking the distributable .tar.gz file. Refactor to be able to capture historical statistics (of previous revisions) by preparing the "built" revision once and then running all of the requested timing scripts, with output going to a separate log file for each revision + script. Fix TestSCons.py so that it interprets the scons script name to be tested relative to the invoking directory, not always relative to src/script.
* Trace the system load average (Linux-only code) before starting theSteven Knight2009-12-181-0/+13
| | | | help / full / null builds in a timing run.
* Ignore the exit status from the --help run on timing builds, since someSteven Knight2009-12-171-0/+4
| | | | | early revisions have bugs and we can still go on and get useful stats from the full and null builds.
* Better fix for #2530: dont exit at all on unimplemented options, just print ↵Gary Oberbrunner2009-12-161-1/+0
| | | | a warning and keep going.
* Add a TestSCons.option_not_yet_implemented() method and use it soSteven Knight2009-12-151-0/+19
| | | | the tests of those options expect an exit status of 1.
* Provide an environment variable that can be used to overrideSteven Knight2009-12-101-1/+7
| | | | | | setting --warn=no-visual-c-missing when trying to run the new timing-script infrastructure against older versions of SCons that don't have that warning.
* Add separate memory graphs for the stats in the full and null runs.Steven Knight2009-12-101-36/+67
| | | | | Refactor stats-gathering so we collect them from the output in one step and can then trace them in multiple different ways.
* Record memory in kbytest, not bytes.Steven Knight2009-12-101-8/+17
|
* Add a script for calibrating settings for timing configurations.Steven Knight2009-12-101-7/+8
| | | | | Update the timings scripts with calibrated settings that run a full build between 9.5 and 10.0 seconds on the buildbot slave.
* Infrastructure to support calibration runs of TimeSCons tests, whichSteven Knight2009-12-101-7/+47
| | | | | only run a full build and report back the values of any variables affecting the configuration, and the elapsed time of the full build.
* Update the TimeSCons class for use of the sort= keyword instead ofSteven Knight2009-12-091-7/+23
| | | | | important=. Fix an old-version Python problem (use of True in keyword arg initialization).
* Have the TimeSCons class examine the run output for the reported memorySteven Knight2009-12-091-3/+45
| | | | | | use and timings, and translate these into TRACE: lines with keyword=value pairs that will be processed by the now more generic buildbot-side log processor to populate the timings graph data.
* Update the TimeSCons "elapsed time" message to match the log processor.Steven Knight2009-12-081-3/+3
|
* Fix tests to ignore missing MSVC warnings.Gary Oberbrunner2009-11-251-5/+7
|
* Rename the TimeSCons.run_build() method to just TimeSCons.run() soSteven Knight2009-11-241-6/+8
| | | | | | | the parent class TestSCons.up_to_date() method will use it to print the --debug=memory and --debug=times stats during up-to-date runs. Fix the TestSCons.up_to_date() regular expression so the memory and timing output won't cause the check to fail.
* Fix incorrectly inverted condition in test for non-TimeSCons entries.Steven Knight2009-11-241-3/+3
|
* Python 1.5 fixes in the TimeSCons class.Steven Knight2009-11-221-10/+30
|
* Capture initial infrastructure for working performance tests.Steven Knight2009-11-191-0/+124
|
* Fix test failure in Repository/Java.py on OS XGreg Noel2009-09-181-5/+12
|
* Steven checked in some changes yesterday which fixed a great number ofWilliam Deegan2009-09-151-1/+14
| | | | | | | | | | | | | | failing tests by setting SCONSFLAGS='-warn=no-python-version' in def run() in TestSCons.py yesterday, where previously it was done in def __init__(...). This fixed most of the broken tests, but broke some of the working tests. I readded the logic to def __init__ In addition I've added an extra arg to the __init__ for TestSCons.py ignore_python_version (which defaults to true). For those tests which need to be able to see the deprecation and/or test the functionality of the deprecation.
* Have TestSCons.py add --warn=no-python-version every invocation, notSteven Knight2009-09-131-9/+20
| | | | just at TestSCons intialization.