diff options
-rw-r--r-- | testsuite/tests/th/TH_addCStub2.stderr | 6 | ||||
-rw-r--r-- | testsuite/tests/th/all.T | 12 |
2 files changed, 11 insertions, 7 deletions
diff --git a/testsuite/tests/th/TH_addCStub2.stderr b/testsuite/tests/th/TH_addCStub2.stderr deleted file mode 100644 index ba3277b277..0000000000 --- a/testsuite/tests/th/TH_addCStub2.stderr +++ /dev/null @@ -1,6 +0,0 @@ - -TH_addCStub2.hs:13:13: - expected ‘;’, ‘,’ or ‘)’ before ‘{’ token - [ "#include <stdio.h>" - ^ -`gcc' failed in phase `C Compiler'. (Exit code: 1) diff --git a/testsuite/tests/th/all.T b/testsuite/tests/th/all.T index 9a08b6542c..7eb104c3e4 100644 --- a/testsuite/tests/th/all.T +++ b/testsuite/tests/th/all.T @@ -63,8 +63,18 @@ test('TH_reifyDecl2', normal, compile, ['-v0']) test('TH_reifyLocalDefs', normal, compile, ['-v0']) test('TH_reifyLocalDefs2', normal, compile, ['-v0']) + +# Checks if the error output of an appended command has the given pattern. +def error_has(pattern): + swap12 = '3>&1 1>&2 2>&3 3>&-' # Swap file descriptors 1 and 2. + # pipefail: make a pipe fail if any of the commands fails + # the following fails only if both the command fails and the pattern is found + return('bash -o pipefail -c \'! (! "$@" {swap12}) | grep {pattern} {swap12} &> /dev/null\' --'.format(**locals())) + test('TH_addCStub1', normal, compile_and_run, ['-v0']) -test('TH_addCStub2', normal, compile_fail, ['-v0']) +test('TH_addCStub2' + , [compile_cmd_prefix(error_has('TH_addCStub2.hs:13:13:'))] + , compile_fail, ['-v0']) test('TH_reifyMkName', normal, compile, ['-v0']) |