From 225162f792c7561b66ed9f05f2491915ac333b88 Mon Sep 17 00:00:00 2001
From: Ben Gamari <ben@smart-cactus.org>
Date: Wed, 28 Feb 2024 18:21:13 -0500
Subject: [PATCH] testsuite: Reduce sensitivity to exception context

---
 tests/all.T         | 3 +--
 tests/stm056.hs     | 6 ++++--
 tests/stm056.stderr | 1 -
 tests/stm056.stdout | 1 +
 4 files changed, 6 insertions(+), 5 deletions(-)
 delete mode 100644 tests/stm056.stderr
 create mode 100644 tests/stm056.stdout

diff --git a/tests/all.T b/tests/all.T
index 8f50fb5..c704f5e 100644
--- a/tests/all.T
+++ b/tests/all.T
@@ -6,8 +6,7 @@ test('stm050', [extra_run_opts('10000')], compile_and_run, ['-package stm'])
 
 test('stm054', normal, compile_and_run, ['-package stm'])
 test('stm055', [exit_code(1), js_broken(22576)], compile_and_run, ['-package stm'])
-test('stm056', only_ways(['threaded1','threaded2']),
-                compile_and_run, ['-package stm'])
+test('stm056', only_ways(['threaded1','threaded2']), compile_and_run, ['-package stm'])
 
 test('stm061', normal, compile_and_run, ['-package stm'])
 test('T2411', ignore_stdout, compile_and_run, ['-package stm'])
diff --git a/tests/stm056.hs b/tests/stm056.hs
index de854f6..acee49f 100644
--- a/tests/stm056.hs
+++ b/tests/stm056.hs
@@ -11,8 +11,9 @@ inc tv = do
   writeTVar tv (v + 1)
 
 bad :: MVar () -> IO ()
-bad m = do { evaluate (1 `quot` 0); return () }
-         `finally` putMVar m ()
+bad m = handle (\(_ :: SomeException) -> putStrLn "bad" >> putMVar m ()) $ do
+  evaluate (1 `quot` 0)
+  return ()
 
 main :: IO ()
 main = do
@@ -22,3 +23,4 @@ main = do
   forkOS (bad m)
   takeMVar m
   threadDelay 100000 -- allow time for the exception to be printed
+
diff --git a/tests/stm056.stderr b/tests/stm056.stderr
deleted file mode 100644
index 1af622f..0000000
--- a/tests/stm056.stderr
+++ /dev/null
@@ -1 +0,0 @@
-stm056: divide by zero
diff --git a/tests/stm056.stdout b/tests/stm056.stdout
new file mode 100644
index 0000000..67be85f
--- /dev/null
+++ b/tests/stm056.stdout
@@ -0,0 +1 @@
+bad
-- 
GitLab