diff options
author | Phil Ruffwind <rf@rufflewind.com> | 2017-01-30 11:49:58 -0500 |
---|---|---|
committer | Ben Gamari <ben@smart-cactus.org> | 2017-01-30 14:00:23 -0500 |
commit | 2ec1c834ca1129b69f4dd3e2586d9f318cbb3fa6 (patch) | |
tree | 7f6f091b7a5a0c061f42f8f89115cafe35c98123 | |
parent | d2cf5dea70acbffb6039dc5eda31c8ff03b8f43e (diff) | |
download | haskell-2ec1c834ca1129b69f4dd3e2586d9f318cbb3fa6.tar.gz |
Fix broken tests
1. DoParamM requires the FlexibleContexts pragma now.
2. topHandler02 and topHandler03 were broken as timeout.py failed to
translate signals to exit codes.
3. topHandler03 does not produce a consistent stderr, as it depends on
what the user has /bin/sh set to. dash writes "Terminated" whereas
bash and zsh produce nothing in non-interactive mode.
4. The remaining tests are broken due to changes in the error message
formatting.
Test Plan: validate
Reviewers: thomie, dfeuer, austin, hvr, bgamari
Reviewed By: bgamari
Subscribers: Phyx, dfeuer
Differential Revision: https://phabricator.haskell.org/D2807
-rw-r--r-- | libraries/base/tests/all.T | 5 | ||||
-rw-r--r-- | libraries/base/tests/topHandler03.stderr | 1 | ||||
-rw-r--r-- | testsuite/tests/deriving/should_fail/drvfail006.stderr | 8 | ||||
-rw-r--r-- | testsuite/tests/rebindable/DoParamM.stderr | 20 | ||||
-rw-r--r-- | testsuite/tests/typecheck/should_compile/tc232.hs | 1 | ||||
-rw-r--r-- | testsuite/timeout/timeout.py | 8 |
6 files changed, 21 insertions, 22 deletions
diff --git a/libraries/base/tests/all.T b/libraries/base/tests/all.T index 3211054f0a..3be05afa8b 100644 --- a/libraries/base/tests/all.T +++ b/libraries/base/tests/all.T @@ -138,9 +138,6 @@ test('CatEntail', normal, compile, ['']) test('T7653', high_memory_usage, compile_and_run, ['']) test('T7787', normal, compile_and_run, ['']) -def stderr_contains(pattern): - return normalise_errmsg_fun(lambda s: pattern if pattern in s else s) - test('topHandler01', when(opsys('mingw32'), skip), compile_and_run, ['']) test('topHandler02', [when(opsys('mingw32'), skip), @@ -148,7 +145,7 @@ test('topHandler02', signal_exit_code(2) ], compile_and_run, ['']) test('topHandler03', - [when(opsys('mingw32'), skip), stderr_contains('Terminated'), + [when(opsys('mingw32'), skip), ignore_stderr, signal_exit_code(15) ], compile_and_run, ['']) test('topHandler04', diff --git a/libraries/base/tests/topHandler03.stderr b/libraries/base/tests/topHandler03.stderr deleted file mode 100644 index e45928c44e..0000000000 --- a/libraries/base/tests/topHandler03.stderr +++ /dev/null @@ -1 +0,0 @@ -Terminated diff --git a/testsuite/tests/deriving/should_fail/drvfail006.stderr b/testsuite/tests/deriving/should_fail/drvfail006.stderr index 3968d97d40..61900e83ee 100644 --- a/testsuite/tests/deriving/should_fail/drvfail006.stderr +++ b/testsuite/tests/deriving/should_fail/drvfail006.stderr @@ -1,6 +1,4 @@ -drvfail006.hs:9:45: - Can't make a derived instance of `MonadState T' - (even with cunning newtype deriving): - `MonadState' does not have arity 1 - In the newtype declaration for `T' +drvfail006.hs:9:45: error: + • ‘MonadState’ is not a unary constraint, as expected by a deriving clause + • In the newtype declaration for ‘T’ diff --git a/testsuite/tests/rebindable/DoParamM.stderr b/testsuite/tests/rebindable/DoParamM.stderr index 6328d086b6..8d3764067e 100644 --- a/testsuite/tests/rebindable/DoParamM.stderr +++ b/testsuite/tests/rebindable/DoParamM.stderr @@ -11,12 +11,12 @@ DoParamM.hs:286:28: error: Actual type: LIO Unlocked Locked () • In a stmt of a 'do' block: tlock2_do In the expression: - do { tlock2_do; - tlock2_do } + do tlock2_do + tlock2_do In an equation for ‘tlock4_do’: tlock4_do - = do { tlock2_do; - tlock2_do } + = do tlock2_do + tlock2_do DoParamM.hs:302:37: error: • Couldn't match type ‘Locked’ with ‘Unlocked’ @@ -24,11 +24,11 @@ DoParamM.hs:302:37: error: Actual type: LIO Locked Unlocked () • In a stmt of a 'do' block: unlock In the expression: - do { tlock2_do; - unlock; - unlock } + do tlock2_do + unlock + unlock In an equation for ‘tlock4'_do’: tlock4'_do - = do { tlock2_do; - unlock; - unlock } + = do tlock2_do + unlock + unlock diff --git a/testsuite/tests/typecheck/should_compile/tc232.hs b/testsuite/tests/typecheck/should_compile/tc232.hs index 9d5ede32c8..2fc8544ab3 100644 --- a/testsuite/tests/typecheck/should_compile/tc232.hs +++ b/testsuite/tests/typecheck/should_compile/tc232.hs @@ -1,3 +1,4 @@ +{-# LANGUAGE FlexibleContexts #-} {-# OPTIONS_GHC -fno-warn-redundant-constraints #-} -- This one fixed the constraint solver (Lint error) diff --git a/testsuite/timeout/timeout.py b/testsuite/timeout/timeout.py index 51fb63c179..f3468ad9fb 100644 --- a/testsuite/timeout/timeout.py +++ b/testsuite/timeout/timeout.py @@ -42,8 +42,12 @@ try: (pid2, res) = os.waitpid(pid, 0) if (os.WIFEXITED(res)): sys.exit(os.WEXITSTATUS(res)) - else: - sys.exit(res) + elif os.WIFSIGNALED(res): + # represent signals using the Bourne shell convention + sys.exit(128 + os.WTERMSIG(res)) + else: # WIFCONTINUED or WIFSTOPPED + killProcess(pid) + sys.exit(99) # unexpected except KeyboardInterrupt: sys.exit(98) |