diff options
author | Hécate <hecate+gitlab@glitchbra.in> | 2021-01-15 06:30:10 +0100 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2021-01-17 05:59:26 -0500 |
commit | b1cafb82872784c224d297c748f9c78f47a39fd2 (patch) | |
tree | 6eb832949fbcc61a1507cd2982dd34296588eb54 | |
parent | 98e0d08f12e88a3aa7de914732b80ca35dbde131 (diff) | |
download | haskell-b1cafb82872784c224d297c748f9c78f47a39fd2.tar.gz |
Add some additional information to the fail message based on exit code
-rw-r--r-- | testsuite/driver/testlib.py | 18 |
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: |