Repository : ssh://darcs.haskell.org//srv/darcs/testsuite

On branch  : master

http://hackage.haskell.org/trac/ghc/changeset/a9d02b3508c2dba11cfac773ee649bacef327494

>---------------------------------------------------------------

commit a9d02b3508c2dba11cfac773ee649bacef327494
Author: Simon Marlow <[email protected]>
Date:   Fri Nov 18 12:40:47 2011 +0000

    test for #3589

>---------------------------------------------------------------

 tests/driver/recomp011/Main.hs          |    5 +++++
 tests/driver/recomp011/Makefile         |   28 ++++++++++++++++++++++++++++
 tests/driver/recomp011/all.T            |    7 +++++++
 tests/driver/recomp011/recomp011.stdout |   10 ++++++++++
 4 files changed, 50 insertions(+), 0 deletions(-)

diff --git a/tests/driver/recomp011/Main.hs b/tests/driver/recomp011/Main.hs
new file mode 100644
index 0000000..5cdb621
--- /dev/null
+++ b/tests/driver/recomp011/Main.hs
@@ -0,0 +1,5 @@
+{-# LANGUAGE CPP #-}
+module Main where
+
+#include "A.hsinc"
+#include "B.hsinc"
diff --git a/tests/driver/recomp011/Makefile b/tests/driver/recomp011/Makefile
new file mode 100644
index 0000000..0024625
--- /dev/null
+++ b/tests/driver/recomp011/Makefile
@@ -0,0 +1,28 @@
+TOP=../../..
+include $(TOP)/mk/boilerplate.mk
+include $(TOP)/mk/test.mk
+
+# Recompilation tests
+
+clean:
+       rm -f *.o *.hi
+       rm -f A.hsinc B.hsinc
+       rm -f Main$(exeext)
+
+recomp011: clean
+       echo "main = putStrLn x" >A.hsinc
+       echo "x = show 42" >B.hsinc
+       '$(TEST_HC)' $(filter-out -fforce-recomp,$(TEST_HC_OPTS)) --make -O 
Main.hs
+       ./Main
+       sleep 1
+       echo "x = show 43" >B.hsinc
+       '$(TEST_HC)' $(filter-out -fforce-recomp,$(TEST_HC_OPTS)) --make -O 
Main.hs
+       ./Main
+       sleep 1
+       echo "main = putStrLn (x ++ x)" >A.hsinc
+       '$(TEST_HC)' $(filter-out -fforce-recomp,$(TEST_HC_OPTS)) --make -O 
Main.hs
+       sleep 1
+       ./Main
+       '$(TEST_HC)' $(filter-out -fforce-recomp,$(TEST_HC_OPTS)) --make -O 
Main.hs
+       # don't change anything; check that no compilation happened
+       ./Main
diff --git a/tests/driver/recomp011/all.T b/tests/driver/recomp011/all.T
new file mode 100644
index 0000000..b7643f0
--- /dev/null
+++ b/tests/driver/recomp011/all.T
@@ -0,0 +1,7 @@
+# Test for #3589, recompiling when #included files change
+
+test('recomp011',
+     [ clean_cmd('$MAKE -s clean') ],
+     run_command,
+     ['$MAKE -s --no-print-directory recomp011'])
+
diff --git a/tests/driver/recomp011/recomp011.stdout 
b/tests/driver/recomp011/recomp011.stdout
new file mode 100644
index 0000000..e0bfcde
--- /dev/null
+++ b/tests/driver/recomp011/recomp011.stdout
@@ -0,0 +1,10 @@
+[1 of 1] Compiling Main             ( Main.hs, Main.o )
+Linking Main ...
+42
+[1 of 1] Compiling Main             ( Main.hs, Main.o )
+Linking Main ...
+43
+[1 of 1] Compiling Main             ( Main.hs, Main.o )
+Linking Main ...
+4343
+4343



_______________________________________________
Cvs-ghc mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to