summaryrefslogtreecommitdiff
path: root/testsuite/tests/driver/recomp002
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite/tests/driver/recomp002')
-rw-r--r--testsuite/tests/driver/recomp002/Makefile16
-rw-r--r--testsuite/tests/driver/recomp002/Q.hs5
-rw-r--r--testsuite/tests/driver/recomp002/W.hs5
-rw-r--r--testsuite/tests/driver/recomp002/W.hs-boot3
-rw-r--r--testsuite/tests/driver/recomp002/all.T6
-rw-r--r--testsuite/tests/driver/recomp002/recomp002.stderr1
-rw-r--r--testsuite/tests/driver/recomp002/recomp002.stdout3
7 files changed, 39 insertions, 0 deletions
diff --git a/testsuite/tests/driver/recomp002/Makefile b/testsuite/tests/driver/recomp002/Makefile
new file mode 100644
index 0000000000..0dd8f47ca4
--- /dev/null
+++ b/testsuite/tests/driver/recomp002/Makefile
@@ -0,0 +1,16 @@
+TOP=../../..
+include $(TOP)/mk/boilerplate.mk
+include $(TOP)/mk/test.mk
+
+# Recompilation tests
+
+clean:
+ rm -f *.o*
+ rm -f *.hi*
+
+# Only the first invocation should print any "Compiling" messages
+
+recomp002: clean
+ '$(TEST_HC)' $(TEST_HC_OPTS) --make Q.hs
+ echo Middle >&2
+ '$(TEST_HC)' $(TEST_HC_OPTS) --make Q.hs
diff --git a/testsuite/tests/driver/recomp002/Q.hs b/testsuite/tests/driver/recomp002/Q.hs
new file mode 100644
index 0000000000..bdca9402bd
--- /dev/null
+++ b/testsuite/tests/driver/recomp002/Q.hs
@@ -0,0 +1,5 @@
+
+module Q where
+
+import {-# SOURCE #-} W
+
diff --git a/testsuite/tests/driver/recomp002/W.hs b/testsuite/tests/driver/recomp002/W.hs
new file mode 100644
index 0000000000..0e2392d6c9
--- /dev/null
+++ b/testsuite/tests/driver/recomp002/W.hs
@@ -0,0 +1,5 @@
+
+module W where
+
+import Q
+
diff --git a/testsuite/tests/driver/recomp002/W.hs-boot b/testsuite/tests/driver/recomp002/W.hs-boot
new file mode 100644
index 0000000000..62be698970
--- /dev/null
+++ b/testsuite/tests/driver/recomp002/W.hs-boot
@@ -0,0 +1,3 @@
+
+module W where
+
diff --git a/testsuite/tests/driver/recomp002/all.T b/testsuite/tests/driver/recomp002/all.T
new file mode 100644
index 0000000000..5f8ddf5f1b
--- /dev/null
+++ b/testsuite/tests/driver/recomp002/all.T
@@ -0,0 +1,6 @@
+test('recomp002',
+ [skip_if_fast,
+ clean_cmd('$MAKE -s clean')],
+ run_command,
+ ['$MAKE -s --no-print-directory recomp002'])
+
diff --git a/testsuite/tests/driver/recomp002/recomp002.stderr b/testsuite/tests/driver/recomp002/recomp002.stderr
new file mode 100644
index 0000000000..56cdd85e1d
--- /dev/null
+++ b/testsuite/tests/driver/recomp002/recomp002.stderr
@@ -0,0 +1 @@
+Middle
diff --git a/testsuite/tests/driver/recomp002/recomp002.stdout b/testsuite/tests/driver/recomp002/recomp002.stdout
new file mode 100644
index 0000000000..d9ddb2523a
--- /dev/null
+++ b/testsuite/tests/driver/recomp002/recomp002.stdout
@@ -0,0 +1,3 @@
+[1 of 3] Compiling W[boot] ( W.hs-boot, W.o-boot )
+[2 of 3] Compiling Q ( Q.hs, Q.o )
+[3 of 3] Compiling W ( W.hs, W.o )