mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2025-07-22 18:55:29 +03:00
- Add `MAKEFLAGS= ` hack to work around failing `+PYTHON` - Add "stat too good" results for Alpine x64 - Increase tolerancy for two "stat not good enough" tests - Add a few more patches from mainline - Require gnu grep to fix T13340 & T7014 - Skip T2615 and T10458 (unresolved linking issues) Some tests should be investigated, particularly - T9630 (+22% memory allocation) - T10458: linking issue - T2615: linker script issue - T12600: broken pipe with grep .. | head -n 1 (replaced by grep -m 1) Hopefully we can get rid of the MAKEFLAGS hack once Hadrian is used.
72 lines
2.4 KiB
Diff
72 lines
2.4 KiB
Diff
From a0f683795a72f7b82962d24098b1dc7c2b04ab29 Mon Sep 17 00:00:00 2001
|
|
From: Ben Gamari <ben@smart-cactus.org>
|
|
Date: Tue, 11 Jun 2019 12:48:32 -0400
|
|
Subject: testsuite: Ensure T5423 flushes C output buffer
|
|
|
|
Previously T5423 would fail to flush the printf output buffer.
|
|
Consequently it was platform-dependent whether the C or Haskell print
|
|
output would be emitted first.
|
|
---
|
|
testsuite/tests/rts/Makefile | 3 ++-
|
|
testsuite/tests/rts/T5423.hs | 7 ++++++-
|
|
testsuite/tests/rts/T5423.stdout | 2 +-
|
|
testsuite/tests/rts/T5423_c.c | 6 ++++++
|
|
4 files changed, 15 insertions(+), 3 deletions(-)
|
|
create mode 100644 testsuite/tests/rts/T5423_c.c
|
|
|
|
diff --git a/testsuite/tests/rts/Makefile b/testsuite/tests/rts/Makefile
|
|
index 32c2b17e27..51f2746c1f 100644
|
|
--- a/testsuite/tests/rts/Makefile
|
|
+++ b/testsuite/tests/rts/Makefile
|
|
@@ -37,7 +37,8 @@ T5423:
|
|
$(RM) T5423_cmm.o T5423.o T5423.hi T5423$(exeext)
|
|
"$(TEST_HC)" $(TEST_HC_OPTS) -v0 -c T5423_cmm.cmm
|
|
"$(TEST_HC)" $(TEST_HC_OPTS) -v0 -c T5423.hs
|
|
- "$(TEST_HC)" $(TEST_HC_OPTS) -v0 T5423.o T5423_cmm.o -o T5423$(exeext)
|
|
+ "$(TEST_HC)" $(TEST_HC_OPTS) -v0 -c T5423_c.c
|
|
+ "$(TEST_HC)" $(TEST_HC_OPTS) -v0 T5423.o T5423_cmm.o T5423_c.o -o T5423$(exeext)
|
|
./T5423
|
|
|
|
.PHONY: T9405
|
|
diff --git a/testsuite/tests/rts/T5423.hs b/testsuite/tests/rts/T5423.hs
|
|
index 2565c3f002..cda87048d7 100644
|
|
--- a/testsuite/tests/rts/T5423.hs
|
|
+++ b/testsuite/tests/rts/T5423.hs
|
|
@@ -7,8 +7,13 @@ foreign import prim "test" test :: Int# -> Int# -> Int# -> Int# -> Int#
|
|
-> Int# -> Int# -> Int# -> Int# -> Int#
|
|
-> Int#
|
|
|
|
+foreign import ccall "flush_stdout" flush_stdout :: IO ()
|
|
+
|
|
v :: Int
|
|
v = I# (test 111# 112# 113# 114# 115# 116# 117# 118# 119# 120#)
|
|
|
|
main :: IO ()
|
|
-main = print v
|
|
+main = do
|
|
+ n <- return $! v
|
|
+ flush_stdout -- Ensure that libc output buffer is flushed
|
|
+ print n
|
|
diff --git a/testsuite/tests/rts/T5423.stdout b/testsuite/tests/rts/T5423.stdout
|
|
index 478bb27b19..fc92992860 100644
|
|
--- a/testsuite/tests/rts/T5423.stdout
|
|
+++ b/testsuite/tests/rts/T5423.stdout
|
|
@@ -1,2 +1,2 @@
|
|
-120
|
|
111 112 113 114 115 116 117 118 119 120
|
|
+120
|
|
diff --git a/testsuite/tests/rts/T5423_c.c b/testsuite/tests/rts/T5423_c.c
|
|
new file mode 100644
|
|
index 0000000000..efc9c845f5
|
|
--- /dev/null
|
|
+++ b/testsuite/tests/rts/T5423_c.c
|
|
@@ -0,0 +1,6 @@
|
|
+#include <stdio.h>
|
|
+
|
|
+void flush_stdout(void)
|
|
+{
|
|
+ fflush(stdout);
|
|
+}
|
|
--
|
|
2.17.1
|
|
|