summaryrefslogtreecommitdiff
path: root/test/runtest/simple/fail.py
diff options
context:
space:
mode:
authorMats Wichmann <mats@linux.com>2021-11-11 15:12:01 -0700
committerMats Wichmann <mats@linux.com>2023-05-08 08:06:21 -0600
commitaed512b9626a44e19b0368f241ca504cffa01a22 (patch)
tree37d356c89e334185d00617d0d9cb083db21844b5 /test/runtest/simple/fail.py
parentfcb92c4ff1503ac0cf920d26f771b8f47386f4dc (diff)
downloadscons-git-aed512b9626a44e19b0368f241ca504cffa01a22.tar.gz
Use pathlib in runtest
In the past, there have been some mismatches between how tests are specified and how they are found. testlist files, excludelist files and command-line specifications should be agnostic to operating system conventions. For example, typing "runtest.py foo/bar" on windows will produce paths like foo/bar\test.py, which is hard to match and painful to read, it should obviously match discovered foo\bar\test.py. Test information should be output using the native path separator for consistency. Using pathlib lets these be normalized - stored in a common format and output in the expected format. Adding this normalization of course broke some tests, which either intentionally or through omission expected some portion of a path to be UNIX-style. Specifically these five: test\runtest\baseline\fail.py test\runtest\baseline\no_result.py test\runtest\simple\fail.py test\runtest\simple\no_result.py test\runtest\simple\pass.py test\runtest\testargv.py This was fixed and a general cleanup/reformat performed on the runtest tests. Signed-off-by: Mats Wichmann <mats@linux.com>
Diffstat (limited to 'test/runtest/simple/fail.py')
-rw-r--r--test/runtest/simple/fail.py25
1 files changed, 12 insertions, 13 deletions
diff --git a/test/runtest/simple/fail.py b/test/runtest/simple/fail.py
index f26f00e9a..5e1979a1b 100644
--- a/test/runtest/simple/fail.py
+++ b/test/runtest/simple/fail.py
@@ -1,6 +1,8 @@
#!/usr/bin/env python
#
-# __COPYRIGHT__
+# MIT License
+#
+# Copyright The SCons Foundation
#
# Permission is hereby granted, free of charge, to any person obtaining
# a copy of this software and associated documentation files (the
@@ -20,38 +22,35 @@
# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-#
-
-__revision__ = "__FILE__ __REVISION__ __DATE__ __DEVELOPER__"
"""
Test how we handle a failing test specified on the command line.
"""
+import os
+
import TestRuntest
pythonstring = TestRuntest.pythonstring
pythonflags = TestRuntest.pythonflags
+test_fail_py = os.path.join('test', 'fail.py')
test = TestRuntest.TestRuntest()
-
test.subdir('test')
-
test.write_failing_test(['test', 'fail.py'])
-expect_stdout = """\
-%(pythonstring)s%(pythonflags)s test/fail.py
+expect_stdout = f"""\
+{pythonstring}{pythonflags} {test_fail_py}
FAILING TEST STDOUT
-""" % locals()
+"""
expect_stderr = """\
FAILING TEST STDERR
"""
-test.run(arguments='-k test/fail.py',
- status=1,
- stdout=expect_stdout,
- stderr=expect_stderr)
+test.run(
+ arguments='-k test/fail.py', status=1, stdout=expect_stdout, stderr=expect_stderr
+)
test.pass_test()