diff --git a/testsuite/tests/driver/Makefile b/testsuite/tests/driver/Makefile index 8d47dba2d58b5c7c65a03ea5db282bb9c862d48d..b30c8a77cb8e96592c43fd3e8f4eb66c3723de65 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 0000000000000000000000000000000000000000..903c5b3000bf61c11c35e6f48a4ac0a5f5da6b9e --- /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 0000000000000000000000000000000000000000..94954abda49de8615a048f8d2e64b5de848e27a1 --- /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 0000000000000000000000000000000000000000..903c5b3000bf61c11c35e6f48a4ac0a5f5da6b9e --- /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 0000000000000000000000000000000000000000..94954abda49de8615a048f8d2e64b5de848e27a1 --- /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 92fa6edcebf2702c0fb8b57cf39a83bae4f4fea9..35ee56dc52897f4141099ba42cc13657366b90de 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, [])