summaryrefslogtreecommitdiffstats
path: root/testing
Commit message (Collapse)AuthorAgeFilesLines
* [PY 3.8] test fixes for file closings, rawstringsMats Wichmann2019-04-253-36/+37
| | | | | | | On a linux host (missing some things that may be on the Travis CI setup), Py3.8a3 now shows 19 fails, 1048 pass, with 84 Warning: messages. Signed-off-by: Mats Wichmann <mats@linux.com>
* Merge branch 'master' into java-versWilliam Deegan2019-04-221-3/+3
|\
| * Issue #3350 - Refactor EnvironmentError to SConsEnvironmentError to avoid ↵William Deegan2019-04-181-3/+3
| | | | | | | | overriding python's native EnvironmentError
* | Fix problems with jdk detectionMats Wichmann2019-04-141-9/+53
|/ | | | | | | | | | | | | | | | | | | | | | | | | | The java tool common routine finds a jdk by doing a filesystem glob. This had a problem on windows in the case a specific version is requested, because the format of name of the jdk directory has changed with JDK 9 - there is a dash between jdk and the version string. The glob which does not attempt to match a version was general enough not to trip on this, but with a version to match it would never match jdk-9 or higher. The test harness then asks the found javac what version it is, and the parsing of that did not work as expected once version numbers became double-digit, as the regex was for a single digit followed by a dot. The outcome is for 11.0.2 we get back '11' instead of '11.0'. Change the regex to match any number of digits followed by dot. The Repository/RMIC.py change is to align with an earlier change to Java/RMIC.py, but the may not be needed after the change to regex just described. Clean up some of the Java tool routines for consistency (there was no functional change outside of JavaCommon.py) Docstrings added or updated in several places. Signed-off-by: Mats Wichmann <mats@linux.com>
* [PY 3.8] Fix more errors in #3331Mats Wichmann2019-03-301-17/+17
| | | | Signed-off-by: Mats Wichmann <mats@linux.com>
* [PY 3.8] fix some sider complaints in #3331Mats Wichmann2019-03-301-1/+1
| | | | | | One was "real": had failed to indent a with: block Signed-off-by: Mats Wichmann <mats@linux.com>
* [WIP] [PY 3.8] fix more warningsMats Wichmann2019-03-305-58/+77
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Several locations with simple usage of deprecated "imp" module changed to use "importlib". These match with work in #3159, but this is not a complete implementation of #3159. More regex patterns are changed to be raw strings. Some strings which did not seem appropriate to change to raw strings (e.g. contain embedded tabs, which Python should honor) had backslashes escaped to avoid accidental Python interpretation. Example: '\t<Import Project="$(VCTargetsPath)\\Microsoft.Cpp.targets" />\n' Python 3.8 was Warning \M was an unknown escape. More open().write(), open().read() style usage changed to use context managers so the file is closed. WIP part: even with Python 3.7, the tests which call sconsign.py fail; oddly they do not fail without the patch to compat.py. sconsign.py does an import using imp module (which is what generates the errors) so needs to be updated anyway. It does not quite fit the "simple usage" pattern - can't do a simple relative import since sconsign is normally located elsewhere in the tree than the main scons code body. With this version of the patch, 700 tests now pass with 3.8, and Warning messages reduced to 2800 (current master has 200 pass, 9000 warns) Signed-off-by: Mats Wichmann <mats@linux.com>
* [PR #333] close files to avoid scons-time racesMats Wichmann2019-03-291-7/+6
| | | | | | | | | | | | | | With runtest now honoring the -j 2 option given to it in CI setup on Windows, there were some problems where scons-time tests could try to remove a test directory while some files in it were still open (these locations were complained about by Python 3.8 also). Switch test framework to using mkdtemp also, and to not use tempfile.template (usage of that and mktemp are long deprecated) Signed-off-by: Mats Wichmann <mats@linux.com>
* Release file updates for Release 3.0.53.0.5William Deegan2019-03-261-1/+1
|
* Merge branch 'master' into scons-time-fixesWilliam Deegan2019-03-101-1/+1
|\
| * [skip ci] reset to develop mode3.0.5a2William Deegan2019-03-051-1/+1
| |
* | scons-time needed to revert some changesMats Wichmann2019-03-071-4/+4
| | | | | | | | | | | | were breaking Windows tests. Signed-off-by: Mats Wichmann <mats@linux.com>
* | [PYPY] [PY 3.8] add context mgr use in scons-timeMats Wichmann2019-03-051-13/+16
|/ | | | | | | | | | | | | | | | To fix some test problems for pypy, which seem more prone to problems of lost data if files are written and not explicitly closed, add context managers on file opens in scons-time. Also quiets warnings which are emitted by the much noisier Python 3.8. Changes are to the scons-time script and to the framework. After visual inspection of outputs while debugging, switched the framework's created tools in the scons-time area to use os.linesep instead of explicit '\\n' strings, tools should operate in a native way. Signed-off-by: Mats Wichmann <mats@linux.com>
* [WIP] for #3304: drop use of -tt if py3Mats Wichmann2019-03-013-4/+14
| | | | | | | | | | As noted in issue #3304, the Python flag to error on inconsistent tabs/spaces has been dropped for Python 3 interpreters; while CPython still accepts it, silently ignoring it, PyPy3 errors out. This change adds the flag throughout the testsuite run only if using a Python2 interpreter. Signed-off-by: Mats Wichmann <mats@linux.com>
* Clean up some tests: use context managersMats Wichmann2019-02-142-7/+32
| | | | | | | | | Plenty of complaints coming from Python 3.8alpha on unclosed files. Targeted those areas which intersect with PyPy failures - this changeset reduces the PyPy fails by 17 on the local test environment. So this affects both Issue #3299 and the PyPy support project. Signed-off-by: Mats Wichmann <mats@linux.com>
* Fix is/is not syntaxMats Wichmann2019-02-111-1/+1
| | | | | | | | In a few places, "is" and "is not" are used to compare with a string or integer literal. Python 3.8 flags these with a SyntaxWarning. Changed to == and != Signed-off-by: Mats Wichmann <mats@linux.com>
* Updated files per ReleaseConfig for 3.0.4 releaseWilliam Deegan2019-01-201-1/+1
|
* added test for vs 14.1 and checking arm targetsDaniel2019-01-121-0/+108
|
* reverted tests so they can use a default host == target platform for find msvcDaniel Moody2019-01-091-1/+1
| | | | fixed some other tests
* use the vcvars batch script to find installed vc'sDaniel2019-01-091-1/+1
|
* updates from update-release-info for 3.0.3 releaseWilliam Deegan2019-01-061-1/+1
|
* Updates for 3.0.2 releaseWilliam Deegan2019-01-011-1/+1
|
* Allow TestCmd.diff() to accept lists as well as stringsWilliam Deegan2018-12-061-1/+7
|
* Merge pull request #3236 from ptomulik/whereisWilliam Deegan2018-11-091-17/+5
|\ | | | | attempt fixing TestSCons.where_is() for win32
| * attempt fixing TestSCons.where_is() for win32Paweł Tomulik2018-11-061-17/+5
| |
* | For PR #3231, update some docstrings per reviewMats Wichmann2018-11-052-12/+28
| | | | | | | | Signed-off-by: Mats Wichmann <mats@linux.com>
* | Fix some problems found if no MS compiler at allMats Wichmann2018-10-302-2/+5
|/ | | | | | | | A few tests blew up with exceptions (AttributeError, IndexError) if no compiler is installed on Windows - from where they are it could possibly happen on other platforms as well. Signed-off-by: Mats Wichmann <mats@linux.com>
* Additional fixes for SWIG testsMats Wichmann2018-10-161-7/+16
| | | | | | | | | | | | Two tests were missing the raw-string marker when defining the Python include path. TestSCons:get_platform_python_info needed some rework for Windows, it was failing to find the python library if running in a virtual environment. Also removed a try-block; sys.version_info is standard since Python 2.0 and so does not need wrapping. Signed-off-by: Mats Wichmann <mats@linux.com>
* Merge remote-tracking branch 'upstream/master' into ↵William Deegan2018-10-152-65/+96
|\ | | | | | | fix_java_tests_path_with_spaces
| * remove editor junkPaweł Tomulik2018-10-101-0/+0
| |
| * fixed minor typosPaweł Tomulik2018-10-052-5/+5
| |
| * fixed some docs in TestCommon.py and refactored a littlePaweł Tomulik2018-10-051-59/+39
| |
| * make the must[_not]_contain_...() functions compatible with str.findPaweł Tomulik2018-10-051-9/+9
| |
| * fixed bugs in must_[not_]_contain()Paweł Tomulik2018-10-051-6/+5
| |
| * add test cases to exhibit bugs in must_[not_]contain()Paweł Tomulik2018-10-051-2/+54
| |
* | Fixes for Java tests on win32William Deegan2018-10-022-3/+8
| |
* | Add test for 1.8. Modularize java tests and move files to a fixture. Change ↵William Deegan2018-10-012-3/+12
|/ | | | TestCommon's options_arguments to keep passed lists and not join them into a string.
* Update testing docsMats Wichmann2018-09-081-214/+310
| | | | | | | | A little formatting cleanup and some wording changes. Debugging end to end tests got its own section, could use more content probably. Signed-off-by: Mats Wichmann <mats@linux.com>
* add missed TestCmd.py changesMats Wichmann2018-08-171-10/+14
| | | | Signed-off-by: Mats Wichmann <mats@linux.com>
* Move checking for python header to common locationMats Wichmann2018-08-151-18/+37
| | | | | | | | | | | A previous change added a check for Python.h in one SWIG test which did not have it which turns that test into a skip instead of a fail if the header is not installed. It was pointed out that having 12 tests check for the same thing might be optimised by putting the check in the routine which returns info about the python development environment, so this change makes that modification. Signed-off-by: Mats Wichmann <mats@linux.com>
* Try a more scons-y file conversion for Py3 file readsMats Wichmann2018-07-311-8/+16
| | | | | | | | | | Instead of custom conversion as in the previous iteration, use the to_bytes function. The two known tests which incorrectly let the text-mode xml file be opened in binary mode are adjusted to supply mode='r' Signed-off-by: Mats Wichmann <mats@linux.com>
* Testing: python 3 fix for must_containMats Wichmann2018-07-251-0/+9
| | | | | | | | | | | | | | TestCommon defines a method must_contain which checks for a file including a given string. With Python 3, the test runs into some typing problems. This could be fixed either by changing all the tests which call the routine either omitting the mode argument (which then defaults to 'rb'), or specifying a mode which includes 'b'; or by modifying must_contain to align the types of the file data and the data to check for. This patch uses the latter approach. This is a test-only change, no run-time scons code is modified. Signed-off-by: Mats Wichmann <mats@linux.com>
* Fix py3 ResourceWarning in TestCmdMats Wichmann2018-07-241-2/+4
| | | | | | | | | | class TestCmd method read() uses a shortcut to return data from a file, "return open(...).read()". Python 3 warns this is a resource leak because the file has no chance to be closed with the open being in the return statement. Split into two lines and use a context manager (with statement). Signed-off-by: Mats Wichmann <mats@linux.com>
* fix TestSCons.get_platform_python_info() to work on win32, had omitted some ↵William Deegan2018-07-101-4/+1
| | | | needed imports
* Fix for py2.7 + 3.5+William Deegan2018-07-081-5/+8
|
* stop using obsolete distutils.sysconfig to find python include, link ↵William Deegan2018-07-081-2/+12
| | | | paths,and library names. Use sysconfig.get_config_var() calls instead
* Change TestSCons's get_platform_python_info() to use the python which ↵William Deegan2018-07-061-1/+1
| | | | runtest.py was run with instead of blindly searching for python vis test.where_is(). This fixes an issue where the swig tests work fine with py3.6 but not with py2.7 on a win64 box with both installed, runtest launched via py -2 runtest.py ...
* pr-3052: moved some 64 bit logic to TestCmd and used TestCmd system checksDaniel Moody2018-05-251-1/+1
|
* Add wildcards so we'll catch both 32 and 64 bit versions of java on windows.William Deegan2018-05-111-2/+2
|
* Add some reasonable default windows paths to find java.William Deegan2018-05-111-11/+20
|