summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Gamari <ben@smart-cactus.org>2022-03-30 12:57:17 -0400
committerBen Gamari <ben@smart-cactus.org>2022-04-25 11:00:08 -0400
commita9cbe039bb45b68b8ef93fa3d737c6ff51ff846d (patch)
treea5ed4e96adeae51b776e896923a10d05854ffabe
parentc6530ec0d8a5137837d6c02b47b0d329ef118898 (diff)
downloadhaskell-wip/response-file.tar.gz
testsuite: Add test for #16476wip/response-file
-rw-r--r--testsuite/tests/driver/Makefile23
-rw-r--r--testsuite/tests/driver/T16476a.hs8
-rw-r--r--testsuite/tests/driver/T16476a.stdout2
-rw-r--r--testsuite/tests/driver/T16476b.hs8
-rw-r--r--testsuite/tests/driver/T16476b.stdout2
-rw-r--r--testsuite/tests/driver/all.T2
6 files changed, 45 insertions, 0 deletions
diff --git a/testsuite/tests/driver/Makefile b/testsuite/tests/driver/Makefile
index 8d47dba2d5..b30c8a77cb 100644
--- a/testsuite/tests/driver/Makefile
+++ b/testsuite/tests/driver/Makefile
@@ -740,6 +740,29 @@ T20316:
echo "*** non-module.dump-timings ***"
cat non-module.dump-timings | grep alloc | sed 's/alloc.*//'
+.PHONY: T16476a
+T16476a:
+ echo '--make' > resp
+ echo '-XCPP' >> resp
+ echo '-DTEST' >> resp
+ echo 'T16476a.hs' >> resp
+ "$(TEST_HC)" $(TEST_HC_OPTS) -v0 @resp
+ ./T16476a
+
+# Tests that response files and -unit @file arguments work as expected.
+.PHONY: T16476b
+T16476b:
+ echo '-XCPP' >> unit-a
+ echo '-DTEST' >> unit-a
+ echo 'T16476b.hs' >> unit-a
+
+ echo '--make' > resp
+ echo '-unit' > resp
+ echo '@unit-a' > resp
+
+ "$(TEST_HC)" $(TEST_HC_OPTS) -v0 @resp
+ ./T16476b
+
.PHONY: T20569
T20569:
"$(TEST_HC)" $(TEST_HC_OPTS) -c T20569/A.hs -i -iT20569 -hidir=interface
diff --git a/testsuite/tests/driver/T16476a.hs b/testsuite/tests/driver/T16476a.hs
new file mode 100644
index 0000000000..903c5b3000
--- /dev/null
+++ b/testsuite/tests/driver/T16476a.hs
@@ -0,0 +1,8 @@
+module Main where
+
+main :: IO ()
+main = do
+#if defined(TEST)
+ putStrLn "hello"
+#endif
+ putStrLn "world"
diff --git a/testsuite/tests/driver/T16476a.stdout b/testsuite/tests/driver/T16476a.stdout
new file mode 100644
index 0000000000..94954abda4
--- /dev/null
+++ b/testsuite/tests/driver/T16476a.stdout
@@ -0,0 +1,2 @@
+hello
+world
diff --git a/testsuite/tests/driver/T16476b.hs b/testsuite/tests/driver/T16476b.hs
new file mode 100644
index 0000000000..903c5b3000
--- /dev/null
+++ b/testsuite/tests/driver/T16476b.hs
@@ -0,0 +1,8 @@
+module Main where
+
+main :: IO ()
+main = do
+#if defined(TEST)
+ putStrLn "hello"
+#endif
+ putStrLn "world"
diff --git a/testsuite/tests/driver/T16476b.stdout b/testsuite/tests/driver/T16476b.stdout
new file mode 100644
index 0000000000..94954abda4
--- /dev/null
+++ b/testsuite/tests/driver/T16476b.stdout
@@ -0,0 +1,2 @@
+hello
+world
diff --git a/testsuite/tests/driver/all.T b/testsuite/tests/driver/all.T
index 92fa6edceb..35ee56dc52 100644
--- a/testsuite/tests/driver/all.T
+++ b/testsuite/tests/driver/all.T
@@ -304,4 +304,6 @@ test('T20200loop', extra_files(['T20200loop']), multimod_compile,
test('T20316', normal, makefile_test, [])
test('MultiRootsErr', normal, multimod_compile_fail, ['MultiRootsErr', 'MultiRootsErr'])
test('patch-level2', normal, compile, ['-Wcpp-undef'])
+test('T16476a', normal, makefile_test, [])
+test('T16476b', normal, makefile_test, [])
test('T20569', extra_files(["T20569/"]), makefile_test, [])