summaryrefslogtreecommitdiff
path: root/testsuite/tests/driver/recomp012
diff options
context:
space:
mode:
authorSimon Marlow <marlowsd@gmail.com>2012-09-05 16:18:01 +0100
committerSimon Marlow <marlowsd@gmail.com>2012-09-05 16:18:01 +0100
commit018db07b8e0685756cd5af869e41b032e4372252 (patch)
tree86559c490e76fe194d0e7ed5bdda74f9ae132a6a /testsuite/tests/driver/recomp012
parent6bceb071011cbd6f3046f47dd35f310cdfbb5b3d (diff)
downloadhaskell-018db07b8e0685756cd5af869e41b032e4372252.tar.gz
add a test for #7215
Diffstat (limited to 'testsuite/tests/driver/recomp012')
-rw-r--r--testsuite/tests/driver/recomp012/Makefile30
-rw-r--r--testsuite/tests/driver/recomp012/all.T7
-rw-r--r--testsuite/tests/driver/recomp012/recomp012.stdout2
3 files changed, 39 insertions, 0 deletions
diff --git a/testsuite/tests/driver/recomp012/Makefile b/testsuite/tests/driver/recomp012/Makefile
new file mode 100644
index 0000000000..180f08ddd8
--- /dev/null
+++ b/testsuite/tests/driver/recomp012/Makefile
@@ -0,0 +1,30 @@
+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
+ rm -f MyBool.hs Foo.hs Main.hs
+ rm -f Main$(exeext)
+
+# bug #7215
+
+recomp012: clean
+ echo 'module MyBool where data MyBool = MyFalse | MyTrue deriving Show' >MyBool.hs
+ echo 'module Foo where import MyBool; foo = MyFalse' > Foo.hs
+ echo 'import Foo; main = print foo' > Main.hs
+ '$(TEST_HC)' $(TEST_HC_OPTS_NO_RECOMP) -v0 -c -O2 MyBool.hs
+ '$(TEST_HC)' $(TEST_HC_OPTS_NO_RECOMP) -v0 -c -O2 Foo.hs
+ '$(TEST_HC)' $(TEST_HC_OPTS_NO_RECOMP) -v0 -O2 Main.hs
+ ./Main
+ sleep 1
+ echo 'module Foo where import MyBool; foo = MyTrue' > Foo.hs
+ '$(TEST_HC)' $(TEST_HC_OPTS_NO_RECOMP) -v0 -c -O2 Foo.hs
+ '$(TEST_HC)' $(TEST_HC_OPTS_NO_RECOMP) -v0 -O2 Main.hs
+ ./Main
diff --git a/testsuite/tests/driver/recomp012/all.T b/testsuite/tests/driver/recomp012/all.T
new file mode 100644
index 0000000000..869fae7501
--- /dev/null
+++ b/testsuite/tests/driver/recomp012/all.T
@@ -0,0 +1,7 @@
+# Test for #7215, a recompilation bug
+
+test('recomp012',
+ [ clean_cmd('$MAKE -s clean') ],
+ run_command,
+ ['$MAKE -s --no-print-directory recomp012'])
+
diff --git a/testsuite/tests/driver/recomp012/recomp012.stdout b/testsuite/tests/driver/recomp012/recomp012.stdout
new file mode 100644
index 0000000000..568a17ccee
--- /dev/null
+++ b/testsuite/tests/driver/recomp012/recomp012.stdout
@@ -0,0 +1,2 @@
+MyFalse
+MyTrue