diff options
author | Ben Gamari <ben@smart-cactus.org> | 2022-05-03 19:02:49 -0400 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2022-05-19 04:57:51 -0400 |
commit | 3dd2f944428596227590f5f15d3a47c0de1cc5c3 (patch) | |
tree | 2accdbd69f4c88bbdd0c76bafe48edd44371150a | |
parent | 372cf7305157df7bbe41d2d1f45211d9b999ff52 (diff) | |
download | haskell-3dd2f944428596227590f5f15d3a47c0de1cc5c3.tar.gz |
testsuite: Add tests for #21336
-rw-r--r-- | libraries/base/tests/IO/T21336/Makefile | 11 | ||||
-rw-r--r-- | libraries/base/tests/IO/T21336/T21336a.hs | 11 | ||||
-rw-r--r-- | libraries/base/tests/IO/T21336/T21336a.stderr | 1 | ||||
-rw-r--r-- | libraries/base/tests/IO/T21336/T21336b.hs | 6 | ||||
-rw-r--r-- | libraries/base/tests/IO/T21336/T21336b.stderr | 1 | ||||
-rw-r--r-- | libraries/base/tests/IO/T21336/T21336c.hs | 6 | ||||
-rw-r--r-- | libraries/base/tests/IO/T21336/all.T | 11 |
7 files changed, 47 insertions, 0 deletions
diff --git a/libraries/base/tests/IO/T21336/Makefile b/libraries/base/tests/IO/T21336/Makefile new file mode 100644 index 0000000000..44dd5d5fc3 --- /dev/null +++ b/libraries/base/tests/IO/T21336/Makefile @@ -0,0 +1,11 @@ +TOP=../../../testsuite +include $(TOP)/mk/boilerplate.mk +include $(TOP)/mk/test.mk + +T21336b : + $(TEST_HC) $(TEST_HC_OPTS) -v0 T21336b.hs + ./T21336b >/dev/full + +T21336c : + $(TEST_HC) $(TEST_HC_OPTS) -v0 T21336c.hs + ./T21336c 2>/dev/full >/dev/full diff --git a/libraries/base/tests/IO/T21336/T21336a.hs b/libraries/base/tests/IO/T21336/T21336a.hs new file mode 100644 index 0000000000..91c852ce92 --- /dev/null +++ b/libraries/base/tests/IO/T21336/T21336a.hs @@ -0,0 +1,11 @@ +import GHC.Weak +import System.IO +import System.Mem + +main :: IO () +main = do + f <- openFile "/dev/full" WriteMode + hPutStr f "hello" + -- Ensure that the Handle's finalizer is run + performMajorGC + diff --git a/libraries/base/tests/IO/T21336/T21336a.stderr b/libraries/base/tests/IO/T21336/T21336a.stderr new file mode 100644 index 0000000000..059b0e2473 --- /dev/null +++ b/libraries/base/tests/IO/T21336/T21336a.stderr @@ -0,0 +1 @@ +Exception during Weak# finalization (ignored): GHC.IO.FD.fdWrite: resource exhausted (No space left on device) diff --git a/libraries/base/tests/IO/T21336/T21336b.hs b/libraries/base/tests/IO/T21336/T21336b.hs new file mode 100644 index 0000000000..a8f0329dd0 --- /dev/null +++ b/libraries/base/tests/IO/T21336/T21336b.hs @@ -0,0 +1,6 @@ +import GHC.Weak +import System.IO + +main :: IO () +main = hPutStr stdout "hello" + diff --git a/libraries/base/tests/IO/T21336/T21336b.stderr b/libraries/base/tests/IO/T21336/T21336b.stderr new file mode 100644 index 0000000000..66a347472a --- /dev/null +++ b/libraries/base/tests/IO/T21336/T21336b.stderr @@ -0,0 +1 @@ +Exception during Weak# finalization (ignored): <stdout>: hFlush: resource exhausted (No space left on device) diff --git a/libraries/base/tests/IO/T21336/T21336c.hs b/libraries/base/tests/IO/T21336/T21336c.hs new file mode 100644 index 0000000000..a8f0329dd0 --- /dev/null +++ b/libraries/base/tests/IO/T21336/T21336c.hs @@ -0,0 +1,6 @@ +import GHC.Weak +import System.IO + +main :: IO () +main = hPutStr stdout "hello" + diff --git a/libraries/base/tests/IO/T21336/all.T b/libraries/base/tests/IO/T21336/all.T new file mode 100644 index 0000000000..39ccb04d6a --- /dev/null +++ b/libraries/base/tests/IO/T21336/all.T @@ -0,0 +1,11 @@ +# N.B. /dev/full exists on Darwin but cannot be opened, failing with -EPERM +test('T21336a', + [unless(opsys('linux') or opsys('freebsd'), skip)], + compile_and_run, ['']) +test('T21336b', + [unless(opsys('linux') or opsys('freebsd'), skip)], + makefile_test, []) +test('T21336c', + [unless(opsys('linux') or opsys('freebsd'), skip)], + makefile_test, []) + |