summaryrefslogtreecommitdiff
path: root/testsuite/tests/driver/recomp009
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite/tests/driver/recomp009')
-rw-r--r--testsuite/tests/driver/recomp009/Main.hs4
-rw-r--r--testsuite/tests/driver/recomp009/Makefile20
-rw-r--r--testsuite/tests/driver/recomp009/Sub1.hs3
-rw-r--r--testsuite/tests/driver/recomp009/Sub2.hs3
-rw-r--r--testsuite/tests/driver/recomp009/all.T7
-rw-r--r--testsuite/tests/driver/recomp009/recomp009.stdout2
6 files changed, 39 insertions, 0 deletions
diff --git a/testsuite/tests/driver/recomp009/Main.hs b/testsuite/tests/driver/recomp009/Main.hs
new file mode 100644
index 0000000000..b5e5424f9b
--- /dev/null
+++ b/testsuite/tests/driver/recomp009/Main.hs
@@ -0,0 +1,4 @@
+{-# LANGUAGE TemplateHaskell #-}
+module Main where
+import Sub
+main = print $x
diff --git a/testsuite/tests/driver/recomp009/Makefile b/testsuite/tests/driver/recomp009/Makefile
new file mode 100644
index 0000000000..f343534bb3
--- /dev/null
+++ b/testsuite/tests/driver/recomp009/Makefile
@@ -0,0 +1,20 @@
+TOP=../../..
+include $(TOP)/mk/boilerplate.mk
+include $(TOP)/mk/test.mk
+
+# Recompilation tests
+
+clean:
+ rm -f *.o *.hi
+ rm -f B.hs C
+
+# bug #481
+
+recomp009: clean
+ cp Sub1.hs Sub.hs
+ '$(TEST_HC)' $(TEST_HC_OPTS) -v0 --make Main.hs
+ ./Main
+ sleep 1
+ cp Sub2.hs Sub.hs
+ -'$(TEST_HC)' $(TEST_HC_OPTS) -v0 --make Main.hs
+ ./Main
diff --git a/testsuite/tests/driver/recomp009/Sub1.hs b/testsuite/tests/driver/recomp009/Sub1.hs
new file mode 100644
index 0000000000..25ea7552e4
--- /dev/null
+++ b/testsuite/tests/driver/recomp009/Sub1.hs
@@ -0,0 +1,3 @@
+{-# LANGUAGE TemplateHaskell #-}
+module Sub where
+x = [| 1 |]
diff --git a/testsuite/tests/driver/recomp009/Sub2.hs b/testsuite/tests/driver/recomp009/Sub2.hs
new file mode 100644
index 0000000000..7ca8b12c33
--- /dev/null
+++ b/testsuite/tests/driver/recomp009/Sub2.hs
@@ -0,0 +1,3 @@
+{-# LANGUAGE TemplateHaskell #-}
+module Sub where
+x = [| 2 |]
diff --git a/testsuite/tests/driver/recomp009/all.T b/testsuite/tests/driver/recomp009/all.T
new file mode 100644
index 0000000000..368f6cf2f8
--- /dev/null
+++ b/testsuite/tests/driver/recomp009/all.T
@@ -0,0 +1,7 @@
+# Test for #481, a recompilation bug with Template Haskell
+
+test('recomp009',
+ [ clean_cmd('$MAKE -s clean') ],
+ run_command,
+ ['$MAKE -s --no-print-directory recomp009'])
+
diff --git a/testsuite/tests/driver/recomp009/recomp009.stdout b/testsuite/tests/driver/recomp009/recomp009.stdout
new file mode 100644
index 0000000000..1191247b6d
--- /dev/null
+++ b/testsuite/tests/driver/recomp009/recomp009.stdout
@@ -0,0 +1,2 @@
+1
+2