diff options
author | Joachim Breitner <mail@joachim-breitner.de> | 2013-09-17 22:37:51 +0200 |
---|---|---|
committer | Joachim Breitner <mail@joachim-breitner.de> | 2013-09-17 22:37:51 +0200 |
commit | 9a4c4e2d539e2dfa08b76201f21a59c3b7a96472 (patch) | |
tree | d605b44e2b76ccded19b2712d1fabe8350663335 /testsuite/tests/driver/recomp013 | |
parent | 3505891c94f50aeadd6eef0cdce963593963fa60 (diff) | |
download | haskell-9a4c4e2d539e2dfa08b76201f21a59c3b7a96472.tar.gz |
Recompilation test case for #8247
But seems to be fixed in head already.
Diffstat (limited to 'testsuite/tests/driver/recomp013')
-rw-r--r-- | testsuite/tests/driver/recomp013/A.hs | 1 | ||||
-rw-r--r-- | testsuite/tests/driver/recomp013/B.hs | 1 | ||||
-rw-r--r-- | testsuite/tests/driver/recomp013/C.hs | 1 | ||||
-rw-r--r-- | testsuite/tests/driver/recomp013/Makefile | 24 | ||||
-rw-r--r-- | testsuite/tests/driver/recomp013/all.T | 7 | ||||
-rw-r--r-- | testsuite/tests/driver/recomp013/recomp013.stdout | 7 |
6 files changed, 41 insertions, 0 deletions
diff --git a/testsuite/tests/driver/recomp013/A.hs b/testsuite/tests/driver/recomp013/A.hs new file mode 100644 index 0000000000..01599b3430 --- /dev/null +++ b/testsuite/tests/driver/recomp013/A.hs @@ -0,0 +1 @@ +module A where a1 = 5; a2 = 42; a3 = 113 diff --git a/testsuite/tests/driver/recomp013/B.hs b/testsuite/tests/driver/recomp013/B.hs new file mode 100644 index 0000000000..573729980f --- /dev/null +++ b/testsuite/tests/driver/recomp013/B.hs @@ -0,0 +1 @@ +module B (module A) where import A hiding (a1, a2) diff --git a/testsuite/tests/driver/recomp013/C.hs b/testsuite/tests/driver/recomp013/C.hs new file mode 100644 index 0000000000..da2c02f751 --- /dev/null +++ b/testsuite/tests/driver/recomp013/C.hs @@ -0,0 +1 @@ +module C where import B; a2 = 142 diff --git a/testsuite/tests/driver/recomp013/Makefile b/testsuite/tests/driver/recomp013/Makefile new file mode 100644 index 0000000000..1b213c4dbc --- /dev/null +++ b/testsuite/tests/driver/recomp013/Makefile @@ -0,0 +1,24 @@ +TOP=../../.. +include $(TOP)/mk/boilerplate.mk +include $(TOP)/mk/test.mk + +# -fforce-recomp makes lots of driver tests trivially pass, so we +# filter it out from $(TEST_HC_OPTS). +TEST_HC_OPTS_NO_RECOMP = $(filter-out -fforce-recomp,$(TEST_HC_OPTS)) + +# Recompilation tests + +clean: + rm -f *.o *.hi + +# bug #8247 + +recomp013: clean + echo 'module A where a1 = 5; a2 = 42; a3 = 113' > A.hs + echo 'module B (module A) where import A hiding (a1)' > B.hs + echo 'module C where import B; a2 = 142' > C.hs + echo 'first run' + '$(TEST_HC)' $(TEST_HC_OPTS_NO_RECOMP) --make C.hs + echo 'module B (module A) where import A hiding (a1, a2)' > B.hs + echo 'second run' + '$(TEST_HC)' $(TEST_HC_OPTS_NO_RECOMP) --make C.hs diff --git a/testsuite/tests/driver/recomp013/all.T b/testsuite/tests/driver/recomp013/all.T new file mode 100644 index 0000000000..a40255a53c --- /dev/null +++ b/testsuite/tests/driver/recomp013/all.T @@ -0,0 +1,7 @@ +# Test for #8247, a recompilation bug + +test('recomp013', + [ clean_cmd('$MAKE -s clean') ], + run_command, + ['$MAKE -s --no-print-directory recomp013']) + diff --git a/testsuite/tests/driver/recomp013/recomp013.stdout b/testsuite/tests/driver/recomp013/recomp013.stdout new file mode 100644 index 0000000000..0a5aef7356 --- /dev/null +++ b/testsuite/tests/driver/recomp013/recomp013.stdout @@ -0,0 +1,7 @@ +first run +[1 of 3] Compiling A ( A.hs, A.o ) +[2 of 3] Compiling B ( B.hs, B.o ) +[3 of 3] Compiling C ( C.hs, C.o ) +second run +[2 of 3] Compiling B ( B.hs, B.o ) +[3 of 3] Compiling C ( C.hs, C.o ) [B changed] |