summaryrefslogtreecommitdiffstats
path: root/test/runtest
diff options
context:
space:
mode:
authorSteven Knight <knight@baldmt.com>2010-06-06 00:48:58 (GMT)
committerSteven Knight <knight@baldmt.com>2010-06-06 00:48:58 (GMT)
commit5bf482c69d08f5ef89e9cb120ae89872b033b287 (patch)
treeac058390368dd11f3cdf8fb8b716eb2803b8dd6b /test/runtest
parent2fc4d8d28cfba093f9d14c4215cee301aa6602c7 (diff)
downloadSCons-5bf482c69d08f5ef89e9cb120ae89872b033b287.zip
SCons-5bf482c69d08f5ef89e9cb120ae89872b033b287.tar.gz
SCons-5bf482c69d08f5ef89e9cb120ae89872b033b287.tar.bz2
Windows portability fixes in various tests. Fix runtest.py detection
of non-zero exit status on systems that don't have os.WEXITSTATUS().
Diffstat (limited to 'test/runtest')
-rw-r--r--test/runtest/qmtest.py26
-rw-r--r--test/runtest/xml/output.py8
2 files changed, 23 insertions, 11 deletions
diff --git a/test/runtest/qmtest.py b/test/runtest/qmtest.py
index de04c3f..6b9c5a2 100644
--- a/test/runtest/qmtest.py
+++ b/test/runtest/qmtest.py
@@ -30,6 +30,12 @@ not directly via Python.
"""
import os.path
+import sys
+
+if sys.platform == 'win32':
+ qmtest_py = 'qmtest.py'
+else:
+ qmtest_py = 'qmtest'
import TestRuntest
@@ -52,38 +58,38 @@ test.write_passing_test(test_pass_py)
# NOTE: the FAIL and PASS lines below have trailing spaces.
expect_stdout = """\
-qmtest run --output results.qmr --format none --result-stream="scons_tdb.AegisChangeStream" test/fail.py test/no_result.py test/pass.py
+%(qmtest_py)s run --output results.qmr --format none --result-stream="scons_tdb.AegisChangeStream" %(test_fail_py)s %(test_no_result_py)s %(test_pass_py)s
--- TEST RESULTS -------------------------------------------------------------
- test/fail.py : FAIL
+ %(test_fail_py)s : FAIL
FAILING TEST STDOUT
FAILING TEST STDERR
- test/no_result.py : NO_RESULT
+ %(test_no_result_py)s : NO_RESULT
NO RESULT TEST STDOUT
NO RESULT TEST STDERR
- test/pass.py : PASS
+ %(test_pass_py)s : PASS
--- TESTS THAT DID NOT PASS --------------------------------------------------
- test/fail.py : FAIL
+ %(test_fail_py)s : FAIL
- test/no_result.py : NO_RESULT
+ %(test_no_result_py)s : NO_RESULT
--- STATISTICS ---------------------------------------------------------------
3 tests total
- 1 ( 33%) tests PASS
- 1 ( 33%) tests FAIL
- 1 ( 33%) tests NO_RESULT
-"""
+ 1 ( 33%%) tests PASS
+ 1 ( 33%%) tests FAIL
+ 1 ( 33%%) tests NO_RESULT
+""" % locals()
testlist = [
test_fail_py,
diff --git a/test/runtest/xml/output.py b/test/runtest/xml/output.py
index 7bf6b2d..4702b7e 100644
--- a/test/runtest/xml/output.py
+++ b/test/runtest/xml/output.py
@@ -34,7 +34,8 @@ import re
import TestCmd
import TestRuntest
-test = TestRuntest.TestRuntest(match = TestCmd.match_re)
+test = TestRuntest.TestRuntest(match = TestCmd.match_re,
+ diff = TestCmd.diff_re)
pythonstring = re.escape(TestRuntest.pythonstring)
test_fail_py = re.escape(os.path.join('test', 'fail.py'))
@@ -89,6 +90,11 @@ expect = """\
</results>
""" % locals()
+# Just strip carriage returns so the regular expression matching works.
+contents = test.read('xml.out')
+contents = contents.replace('\r', '')
+test.write('xml.out', contents)
+
test.must_match('xml.out', expect)
test.pass_test()