summaryrefslogtreecommitdiffstats
path: root/QMTest
Commit message (Collapse)AuthorAgeFilesLines
* 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.
* Added generation of solution and projects for MSVS 2008 (Evgeny Podjachev)Gary Oberbrunner2010-08-121-0/+131
|
* Integrated patch for issue 2571, various fixes for MSVS project generation. ↵Gary Oberbrunner2010-07-221-22/+27
| | | | From Jean-Franois Colson.
* 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).
* Add __COPYRIGHT__ and __FILE__ template strings.Steven Knight2010-06-161-0/+3
|
* Revert in-directory changes inadvertently swept up in the last checkin.Steven Knight2010-06-151-1/+1
|
* Issue 2390: Support appending to $*FLAGS values (CLVar instances) in aSteven Knight2010-06-151-1/+1
| | | | | copied construction environment without also affecting the value in the original construction environment. (Matt Hughes)
* Merged revisions 4727-4729,4731-4938,4940-5028 via svnmerge fromSteven Knight2010-06-155-101/+5876
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | http://scons.tigris.org/svn/scons/branches/pending ........ r4942 | stevenknight | 2010-06-03 12:41:20 -0700 (Thu, 03 Jun 2010) | 13 lines Isseu 2641: Latest drop of the TestCmd infrastructure, v. 1.3, including: * Support for test timeouts. * Ability to set separate match_stdout and match_stderr functions. * Ability to set separate diff_stdout and diff_stderr functions. * Static methods for the various underlying match* and diff* functionality. * Ability to get at the various match* and diff* functions by attribute name. * Got rid of checks for difflib now that Python 2.3 is the floor (for this infrastructure, anyway). Ripple effects in two test scripts. Added upstream unit test modules (QMTest/Test{Cmd,Common}Tests.py). Added a README.txt file. ........ r4943 | stevenknight | 2010-06-03 13:00:31 -0700 (Thu, 03 Jun 2010) | 2 lines Grab the correct TestCmd files with the updated version number. ........ r4946 | managan | 2010-06-04 09:39:20 -0700 (Fri, 04 Jun 2010) | 4 lines On Windows add a '/D' to the command line so it recognizes drive letters in the source or target file paths ........ r4947 | managan | 2010-06-04 09:51:48 -0700 (Fri, 04 Jun 2010) | 5 lines The scanner was not parsing the dependencies in \includegraphics commands when there was whitespace (including carriage returns) in the command. While we need a better long term fix this covers this concern. ........ r4948 | managan | 2010-06-04 11:13:12 -0700 (Fri, 04 Jun 2010) | 3 lines Dropped an import line that is needed by the last commit of mine for Windows depenedant option on latex command lines ........ r4949 | managan | 2010-06-04 12:27:48 -0700 (Fri, 04 Jun 2010) | 7 lines Some latex packages break up commands where you normally could not by using a comment character at the end of the first line. Our current scanner broke on this and lost some dependecies. While we need general fix, this patch solves this problem ........ r4950 | managan | 2010-06-04 15:51:36 -0700 (Fri, 04 Jun 2010) | 5 lines Tweak how we handle comments within Latex source files when scanning and looking for dependencies. We were adding a space when a comment broke a line and we should not have. ........ r4984 | managan | 2010-06-07 09:37:40 -0700 (Mon, 07 Jun 2010) | 6 lines The multi-line_include-options test failed to check for the existence of latex. Added that so this test is skipped on systems without latex. ........
* 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.
* More Solaris test fixes:Steven Knight2010-06-081-2/+2
| | | | | | | | | * Different messages and exit codes for errors. * Fix Solaris shared suffixes. * Add a function declaration to some in-line C code to avoid a warning from Sun's compiler. * Make test/Parallel/multiple-parents.py chatty to avoid hangs, and reduce how many times it calls SCons just to make it go a little quicker.
* Remove the rest of the logic for the noqmtest keywordGreg Noel2010-06-081-7/+0
|
* Don't skip runtest.py tests on systems that don't have QMTest installed.Steven Knight2010-06-071-5/+0
|
* Initial drop of bin/update-release-info.py.Greg Noel2010-06-071-9/+11
| | | | | | | | | | | | This program automates the process of inserting the release configuration information that is currently done by hand. The configuration data now all lives in a file, 'ReleaseConfig'. Change the configuration file, run the program, and, hey presto, the files are updated. More work needs to be done; the documentation doesn't quite match with the program and the regression tests only cover the release flows, but it's important to get this stuff out before the next release is published so people can start using it.
* 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
|
* Re-enable tests on non win32 platforms.William Deegan2010-06-051-4/+41
| | | | This should alter the HOST_ARCH for these tests on non-x86 platforms to x86 and therefore run.
* 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.
* Update QMTEst/Test{Cmd,Common}.py to version 1.1 from upstream:Steven Knight2010-05-272-212/+166
| | | | | | | * incorporate and update the Python 3.0 fixer work by Greg: * full conversion to using subprocess for execution; * rename exactly_contain_all_lines() to must_contain_exactly_lines(); * other minor fixes and stylistic cleanups.
* Start the deprecation cycle for the BuildDir() method and the build_dirGreg Noel2010-05-263-85/+116
| | | | | | | | | | | | | | | | | | | | | | 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.
* Delete references to QMTest/unittest.py, which has been removed.Steven Knight2010-05-251-1/+0
|
* Remove QMTest/unittest.py, which we had captured to support pre-2.1 Pythons.Steven Knight2010-05-211-700/+0
|
* Update deprecated features to the next life-cycle stageGreg Noel2010-05-211-0/+20
|
* Use slice built-in instead of types.SliceTypeGreg Noel2010-05-011-2/+1
|
* Add test routine to exactly match a set of lines no matter the orderGreg Noel2010-05-011-0/+52
|
* http://scons.tigris.org/issues/show_bug.cgi?id=2345Greg Noel2010-04-262-18/+16
| | | | Apply all the remaining changes from the fixers.
* Convert to Python 3.x division rules.Greg Noel2010-04-243-4/+6
|
* http://scons.tigris.org/issues/show_bug.cgi?id=2345Greg Noel2010-04-245-54/+3
| | | | | | | 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=2317Greg Noel2010-04-231-2/+2
| | | | | | Apply the refactorings from the 'dict' fixer, less occurrences that were manually audited to be safe. Also pick up changes in bin/sfsum, a Python file that was not being scanned before.
* http://scons.tigris.org/issues/show_bug.cgi?id=2345Greg Noel2010-04-215-50/+29
| | | | | | 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-202-2/+2
| | | | | | | 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-182-48/+34
|
* http://scons.tigris.org/issues/show_bug.cgi?id=2345Greg Noel2010-04-172-6/+4
| | | | | 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-153-10/+8
| | | | | | | | | 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-153-19/+18
| | | | | | 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-2/+16
| | | | | | | | | | | | | The 'buffer' fixer simply replaces 'buffer( ... )' with 'memoryview( ... )', which is incorrect for our cases, so these changes had to be done by hand and a forward-compatibility class added. The 'xrange' fixer was applied. Manual changes were minimal: a few case in test strings and one use of 'range' as an identifer in the same scope as where 'xrange' was converted to 'range'. The "sets15" compat function, which provided backward compatibility for Python versions prior to 2.2, was removed as no longer needed.
* http://scons.tigris.org/issues/show_bug.cgi?id=2345Greg Noel2010-03-292-20/+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-275-23/+18
| | | | | | | | | | | | | | | 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-2510-199/+192
| | | | | 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
|
* Win32 portability in runtest.py tests after disabling QMTest by default.Steven Knight2010-01-261-0/+8
|
* 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.
* Minor code cleanup, including restoring saved SCONSFLAGS correctly.Steven Knight2010-01-141-2/+1
|
* Update Test{Cmd,Common}.py from upstream, with a newSteven Knight2010-01-123-13/+60
| | | | | | 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.