diff options
author | Simon Marlow <marlowsd@gmail.com> | 2013-02-07 09:52:20 +0000 |
---|---|---|
committer | Simon Marlow <marlowsd@gmail.com> | 2013-02-07 09:56:50 +0000 |
commit | 164f705faecd02a78a93970699a99bc00d94e8b2 (patch) | |
tree | d8b712740bd379197fe855aeffddb50500c51d6c /testsuite/tests/rts | |
parent | 25af5c05fc9a972fb4ef1af470c9575312985053 (diff) | |
download | haskell-164f705faecd02a78a93970699a99bc00d94e8b2.tar.gz |
add test for #7636
Diffstat (limited to 'testsuite/tests/rts')
-rw-r--r-- | testsuite/tests/rts/T7636.hs | 13 | ||||
-rw-r--r-- | testsuite/tests/rts/T7636.stderr | 1 | ||||
-rw-r--r-- | testsuite/tests/rts/all.T | 2 |
3 files changed, 16 insertions, 0 deletions
diff --git a/testsuite/tests/rts/T7636.hs b/testsuite/tests/rts/T7636.hs new file mode 100644 index 0000000000..9e3dbd69d2 --- /dev/null +++ b/testsuite/tests/rts/T7636.hs @@ -0,0 +1,13 @@ +import GHC.Conc.Sync +import System.Environment + +test n = atomically $ f [1..n] + where + f [] = retry + f (x:xs) = do + ys <- f xs + return (x:ys) + +main = do + [n] <- getArgs + test (read n) diff --git a/testsuite/tests/rts/T7636.stderr b/testsuite/tests/rts/T7636.stderr new file mode 100644 index 0000000000..76984e3b7a --- /dev/null +++ b/testsuite/tests/rts/T7636.stderr @@ -0,0 +1 @@ +T7636: thread blocked indefinitely in an STM transaction diff --git a/testsuite/tests/rts/all.T b/testsuite/tests/rts/all.T index 00f9475f23..2c0ae61800 100644 --- a/testsuite/tests/rts/all.T +++ b/testsuite/tests/rts/all.T @@ -162,3 +162,5 @@ test('T7040_ghci', [ only_ways(['ghci']), test('T7227', [ extra_run_opts('+RTS -tT7227.stat --machine-readable -RTS'), extra_clean(['T7227.stat']) ] , compile_and_run, [''] ) + +test('T7636', [ exit_code(1), extra_run_opts('100000') ], compile_and_run, [''] ) |