diff options
-rw-r--r-- | testsuite/tests/lib/libposix/all.T | 18 | ||||
-rw-r--r-- | testsuite/tests/lib/libposix/posix006.hs | 6 |
2 files changed, 18 insertions, 6 deletions
diff --git a/testsuite/tests/lib/libposix/all.T b/testsuite/tests/lib/libposix/all.T index b925a9dabd..0e95e56b90 100644 --- a/testsuite/tests/lib/libposix/all.T +++ b/testsuite/tests/lib/libposix/all.T @@ -1,8 +1,18 @@ -test('posix002', reqlib('unix'), compile_and_run, ['']) -test('posix003', normal, compile_and_run, ['']) -test('posix004', reqlib('unix'), compile_and_run, ['']) +test('posix002', [ reqlib('unix'), omit_ways(prof_ways) ], + compile_and_run, ['']) + +test('posix003', normal, compile_and_run, ['']) + +# Uses forkProcess; doesn't work with threaded2 +test('posix004', [ reqlib('unix'), expect_fail_for(['threaded2']) ], + compile_and_run, ['']) + test('posix005', [reqlib('unix'), expect_broken(5648)], compile_and_run, ['']) + test('posix006', reqlib('unix'), compile_and_run, ['']) test('posix009', reqlib('unix'), compile_and_run, ['']) test('posix010', reqlib('unix'), compile_and_run, ['']) -test('posix014', reqlib('unix'), compile_and_run, ['']) + +# Uses forkProcess; doesn't work with threaded2 +test('posix014', [ reqlib('unix'), expect_fail_for(['threaded2']) ], + compile_and_run, ['']) diff --git a/testsuite/tests/lib/libposix/posix006.hs b/testsuite/tests/lib/libposix/posix006.hs index dfe3f1d48b..697e4e6e20 100644 --- a/testsuite/tests/lib/libposix/posix006.hs +++ b/testsuite/tests/lib/libposix/posix006.hs @@ -1,12 +1,14 @@ import System.Posix.Time import System.Posix.Unistd +import System.Posix.Signals main = do start <- epochTime - sleep 5 + blockSignals reservedSignals -- see #4504 + sleep 1 finish <- epochTime let slept = finish - start - if slept >= 5 && slept <= 6 + if slept >= 1 && slept <= 2 then putStrLn "OK" else do putStr "Started: " print start |