summaryrefslogtreecommitdiff
path: root/testsuite/timeout
diff options
context:
space:
mode:
authorPhil Ruffwind <rf@rufflewind.com>2017-01-30 11:49:58 -0500
committerBen Gamari <ben@smart-cactus.org>2017-01-30 14:00:23 -0500
commit2ec1c834ca1129b69f4dd3e2586d9f318cbb3fa6 (patch)
tree7f6f091b7a5a0c061f42f8f89115cafe35c98123 /testsuite/timeout
parentd2cf5dea70acbffb6039dc5eda31c8ff03b8f43e (diff)
downloadhaskell-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
Diffstat (limited to 'testsuite/timeout')
-rw-r--r--testsuite/timeout/timeout.py8
1 files changed, 6 insertions, 2 deletions
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)