summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoland Senn <rsx@bluewin.ch>2019-10-07 18:01:19 +0200
committerRoland Senn <rsx@bluewin.ch>2019-11-30 20:33:49 +0100
commitf8cfe81aed556d00eac58e3ad0f5e27c503b636a (patch)
tree56d39877cc3dd063e116ec5ea3702b9c797d822e
parent3a96a0b6db6a32457ae2f91bb711c2481c767656 (diff)
downloadhaskell-f8cfe81aed556d00eac58e3ad0f5e27c503b636a.tar.gz
Improve tests for #17171
While backporting MR !1806 to 8.8.2 (!1885) I learnt the following: * Tests with `expect_fail` do not compare `*.stderr` output files. So a test using `expect_fail` will not detect future regressions on the `stderr` output. * To compare the `*.stderr` output files, I have to use the `exit_code(n)` function. * When a release is made, tests with `makefile_test` are converted to use `run_command`. * For the test `T17171a` the return code is `1` when running `makefile_test`, however it's `2` when running `run_command`. Therefore I decided: * To improve my tests for #17171 * To change test T17171a from `expect_fail` to `exit_code(2)` * To change both tests from `makefile_test` to `run_command`
-rw-r--r--testsuite/tests/runghc/T17171a.stderr4
-rw-r--r--testsuite/tests/runghc/all.T7
2 files changed, 5 insertions, 6 deletions
diff --git a/testsuite/tests/runghc/T17171a.stderr b/testsuite/tests/runghc/T17171a.stderr
index 5079cf4075..bf11f1e1f4 100644
--- a/testsuite/tests/runghc/T17171a.stderr
+++ b/testsuite/tests/runghc/T17171a.stderr
@@ -1,5 +1 @@
-Main.hs:1:1: error:
The IO action ‘main’ is not exported by module ‘Main’
- |
-1 | module Main () where
- | ^
diff --git a/testsuite/tests/runghc/all.T b/testsuite/tests/runghc/all.T
index 33174d04dc..4503e8c996 100644
--- a/testsuite/tests/runghc/all.T
+++ b/testsuite/tests/runghc/all.T
@@ -6,8 +6,11 @@ test('T11247', [req_interp, expect_broken(11247)], makefile_test, [])
test('T6132', [when(opsys('darwin'), expect_broken(6132))], compile, [''])
-test('T17171a', [req_interp, expect_fail], makefile_test, [])
-test('T17171b', req_interp, makefile_test, [])
+test('T17171a',
+ [req_interp, exit_code(2), ignore_stdout, grep_errmsg(r'main')],
+ run_command, ['$MAKE -s --no-print-directory T17171a'])
+test('T17171b', req_interp, run_command,
+ ['$MAKE -s --no-print-directory T17171b'])
test('T-signals-child',
[ when(opsys('mingw32'), skip), req_interp