summaryrefslogtreecommitdiff
path: root/testsuite/tests/th/TH_recompile
diff options
context:
space:
mode:
authorDavid Terei <davidterei@gmail.com>2011-07-20 11:09:03 -0700
committerDavid Terei <davidterei@gmail.com>2011-07-20 11:26:35 -0700
commit16514f272fb42af6e9c7674a9bd6c9dce369231f (patch)
treee4f332b45fe65e2a7a2451be5674f887b42bf199 /testsuite/tests/th/TH_recompile
parentebd422aed41048476aa61dd4c520d43becd78682 (diff)
downloadhaskell-16514f272fb42af6e9c7674a9bd6c9dce369231f.tar.gz
Move tests from tests/ghc-regress/* to just tests/*
Diffstat (limited to 'testsuite/tests/th/TH_recompile')
-rw-r--r--testsuite/tests/th/TH_recompile/Main.hs7
-rw-r--r--testsuite/tests/th/TH_recompile/Makefile22
-rw-r--r--testsuite/tests/th/TH_recompile/Sub1.hs5
-rw-r--r--testsuite/tests/th/TH_recompile/Sub2.hs5
-rw-r--r--testsuite/tests/th/TH_recompile/TH_recompile.stdout2
-rw-r--r--testsuite/tests/th/TH_recompile/all.T16
6 files changed, 57 insertions, 0 deletions
diff --git a/testsuite/tests/th/TH_recompile/Main.hs b/testsuite/tests/th/TH_recompile/Main.hs
new file mode 100644
index 0000000000..c4ce4a680f
--- /dev/null
+++ b/testsuite/tests/th/TH_recompile/Main.hs
@@ -0,0 +1,7 @@
+
+module Main where
+
+import Sub
+
+main = print $x
+
diff --git a/testsuite/tests/th/TH_recompile/Makefile b/testsuite/tests/th/TH_recompile/Makefile
new file mode 100644
index 0000000000..87fab6348a
--- /dev/null
+++ b/testsuite/tests/th/TH_recompile/Makefile
@@ -0,0 +1,22 @@
+TOP=../../..
+include $(TOP)/mk/boilerplate.mk
+include $(TOP)/mk/test.mk
+
+# Test for trac #481. GHC should notice that the code that generates
+# the splice has changed, and thus re-run it.
+
+clean:
+ rm -f *.o
+ rm -f hi
+ rm -f test test2
+ rm -f Sub.hs
+
+TH_recompile:
+ $(MAKE) clean
+ cp Sub1.hs Sub.hs
+ '$(TEST_HC)' $(TEST_HC_OPTS) -v0 --make -XTemplateHaskell Main.hs -o test
+ cp Sub2.hs Sub.hs
+ '$(TEST_HC)' $(TEST_HC_OPTS) -v0 --make -XTemplateHaskell Main.hs -o test2
+ ./test
+ ./test2
+
diff --git a/testsuite/tests/th/TH_recompile/Sub1.hs b/testsuite/tests/th/TH_recompile/Sub1.hs
new file mode 100644
index 0000000000..f52a654e44
--- /dev/null
+++ b/testsuite/tests/th/TH_recompile/Sub1.hs
@@ -0,0 +1,5 @@
+
+module Sub where
+
+x = [| 1 |]
+
diff --git a/testsuite/tests/th/TH_recompile/Sub2.hs b/testsuite/tests/th/TH_recompile/Sub2.hs
new file mode 100644
index 0000000000..3698ec5064
--- /dev/null
+++ b/testsuite/tests/th/TH_recompile/Sub2.hs
@@ -0,0 +1,5 @@
+
+module Sub where
+
+x = [| 2 |]
+
diff --git a/testsuite/tests/th/TH_recompile/TH_recompile.stdout b/testsuite/tests/th/TH_recompile/TH_recompile.stdout
new file mode 100644
index 0000000000..1191247b6d
--- /dev/null
+++ b/testsuite/tests/th/TH_recompile/TH_recompile.stdout
@@ -0,0 +1,2 @@
+1
+2
diff --git a/testsuite/tests/th/TH_recompile/all.T b/testsuite/tests/th/TH_recompile/all.T
new file mode 100644
index 0000000000..ecdba11c05
--- /dev/null
+++ b/testsuite/tests/th/TH_recompile/all.T
@@ -0,0 +1,16 @@
+def f(opts):
+ opts.extra_hc_opts = '-XTemplateHaskell -package template-haskell'
+ if (ghc_with_interpreter == 0):
+ opts.skip = 1
+
+setTestOpts(f)
+setTestOpts(only_compiler_types(['ghc']))
+setTestOpts(only_ways(['normal']));
+setTestOpts(if_compiler_profiled(skip))
+
+test('TH_recompile',
+ [expect_broken(481),
+ clean_cmd('$MAKE -s clean')],
+ run_command,
+ ['$MAKE -s TH_recompile'])
+