diff options
author | Roland Senn <rsx@bluewin.ch> | 2019-10-07 18:01:19 +0200 |
---|---|---|
committer | Roland Senn <rsx@bluewin.ch> | 2019-11-30 20:33:49 +0100 |
commit | f8cfe81aed556d00eac58e3ad0f5e27c503b636a (patch) | |
tree | 56d39877cc3dd063e116ec5ea3702b9c797d822e /testsuite/tests/runghc | |
parent | 3a96a0b6db6a32457ae2f91bb711c2481c767656 (diff) | |
download | haskell-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`
Diffstat (limited to 'testsuite/tests/runghc')
-rw-r--r-- | testsuite/tests/runghc/T17171a.stderr | 4 | ||||
-rw-r--r-- | testsuite/tests/runghc/all.T | 7 |
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 |