summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHécate <hecate+gitlab@glitchbra.in>2021-01-15 06:30:10 +0100
committerMarge Bot <ben+marge-bot@smart-cactus.org>2021-01-17 05:59:26 -0500
commitb1cafb82872784c224d297c748f9c78f47a39fd2 (patch)
tree6eb832949fbcc61a1507cd2982dd34296588eb54
parent98e0d08f12e88a3aa7de914732b80ca35dbde131 (diff)
downloadhaskell-b1cafb82872784c224d297c748f9c78f47a39fd2.tar.gz
Add some additional information to the fail message based on exit code
-rw-r--r--testsuite/driver/testlib.py18
1 files changed, 16 insertions, 2 deletions
diff --git a/testsuite/driver/testlib.py b/testsuite/driver/testlib.py
index 7ea68435df..87a0bbb23d 100644
--- a/testsuite/driver/testlib.py
+++ b/testsuite/driver/testlib.py
@@ -1698,7 +1698,8 @@ def simple_run(name: TestName, way: WayName, prog: str, extra_run_opts: str) ->
print('Wrong exit code for ' + name + '(' + way + ')' + '(expected', opts.exit_code, ', actual', exit_code, ')')
dump_stdout(name)
dump_stderr(name)
- return failBecause('bad exit code (%d)' % exit_code)
+ message = format_bad_exit_code_message(exit_code)
+ return failBecause(message)
if not (opts.ignore_stderr or stderr_ok(name, way) or opts.combined_output):
return failBecause('bad stderr',
@@ -1797,7 +1798,8 @@ def interpreter_run(name: TestName,
print('Wrong exit code for ' + name + '(' + way + ') (expected', getTestOpts().exit_code, ', actual', exit_code, ')')
dump_stdout(name)
dump_stderr(name)
- return failBecause('bad exit code (%d)' % exit_code,
+ message = format_bad_exit_code_message(exit_code)
+ return failBecause(message,
stderr=read_stderr(name),
stdout=read_stdout(name))
@@ -2394,6 +2396,18 @@ def runCmd(cmd: str,
if_verbose(1, 'Timeout happened...killed process "{0}"...\n'.format(cmd))
return r.returncode
+# Each message should be kept lowercase
+def exit_code_specific_message(exit_code: int) -> str:
+ messages = {99: "test timeout"}
+ return messages.get(exit_code, "")
+
+def format_bad_exit_code_message(exit_code: int) -> str:
+ ex_msg = exit_code_specific_message(exit_code)
+ if ex_msg == "":
+ return 'bad exit code (%d)' % exit_code
+ else:
+ return ': '.join(['bad exit code (%d)' % exit_code, ex_msg])
+
# -----------------------------------------------------------------------------
# checking if ghostscript is available for checking the output of hp2ps
def genGSCmd(psfile: Path) -> str: