diff options
Diffstat (limited to 'testsuite/tests/driver/T1372')
-rw-r--r-- | testsuite/tests/driver/T1372/Makefile | 41 | ||||
-rw-r--r-- | testsuite/tests/driver/T1372/T1372.stderr | 2 | ||||
-rw-r--r-- | testsuite/tests/driver/T1372/all.T | 5 | ||||
-rw-r--r-- | testsuite/tests/driver/T1372/p1/A1.hs | 2 | ||||
-rw-r--r-- | testsuite/tests/driver/T1372/p1/A2.hs | 2 | ||||
-rw-r--r-- | testsuite/tests/driver/T1372/p1/Setup.hs | 6 | ||||
-rw-r--r-- | testsuite/tests/driver/T1372/p1/p1.cabal | 4 | ||||
-rw-r--r-- | testsuite/tests/driver/T1372/p2/Main.hs | 7 | ||||
-rw-r--r-- | testsuite/tests/driver/T1372/p2/Setup.hs | 6 | ||||
-rw-r--r-- | testsuite/tests/driver/T1372/p2/p2.cabal | 5 |
10 files changed, 80 insertions, 0 deletions
diff --git a/testsuite/tests/driver/T1372/Makefile b/testsuite/tests/driver/T1372/Makefile new file mode 100644 index 0000000000..91ef6d50c7 --- /dev/null +++ b/testsuite/tests/driver/T1372/Makefile @@ -0,0 +1,41 @@ +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)) + +LOCAL_PKGCONF=local.package.conf + +clean: + rm -f p1/setup p1/Setup.o p1/Setup.hi + rm -f p2/setup p2/Setup.o p2/Setup.hi + rm -rf p1/dist p2/dist + rm -f *.o *.hi + rm -f clean.out prep.out + rm -f p1/A.hs + rm -f $(LOCAL_PKGCONF) + +T1372: + $(MAKE) clean + $(MAKE) prep +# This should recompile Main.hs, because A in package p1 has changed +# and recompiling Main.hs will now fail. + -cd p2 && ./setup build -v0 + $(MAKE) clean + +prep: + echo "[]" >$(LOCAL_PKGCONF) + cp p1/A1.hs p1/A.hs + $(MAKE) prep.p1 + $(MAKE) prep.p2 + cp p1/A2.hs p1/A.hs + cd p1 && ./setup build -v0 + +prep.%: + cd $* && "$(TEST_HC)" $(TEST_HC_OPTS_NO_RECOMP) -v0 --make -o setup Setup.hs + cd $* && ./setup configure $(CABAL_MINIMAL_BUILD) -v0 --with-compiler="$(TEST_HC)" --with-hc-pkg="$(GHC_PKG)" --package-db=../$(LOCAL_PKGCONF) + cd $* && ./setup build -v0 + cd $* && ./setup register -v0 --inplace + diff --git a/testsuite/tests/driver/T1372/T1372.stderr b/testsuite/tests/driver/T1372/T1372.stderr new file mode 100644 index 0000000000..f06f294dae --- /dev/null +++ b/testsuite/tests/driver/T1372/T1372.stderr @@ -0,0 +1,2 @@ + +Main.hs:5:5: Not in scope: data constructor `T' diff --git a/testsuite/tests/driver/T1372/all.T b/testsuite/tests/driver/T1372/all.T new file mode 100644 index 0000000000..352d66b5d8 --- /dev/null +++ b/testsuite/tests/driver/T1372/all.T @@ -0,0 +1,5 @@ +test('T1372', + clean_cmd('$MAKE -s clean'), + run_command, + ['$MAKE -s --no-print-directory T1372']) + diff --git a/testsuite/tests/driver/T1372/p1/A1.hs b/testsuite/tests/driver/T1372/p1/A1.hs new file mode 100644 index 0000000000..6656b4bdfc --- /dev/null +++ b/testsuite/tests/driver/T1372/p1/A1.hs @@ -0,0 +1,2 @@ +module A where +data T = T diff --git a/testsuite/tests/driver/T1372/p1/A2.hs b/testsuite/tests/driver/T1372/p1/A2.hs new file mode 100644 index 0000000000..aa0767c452 --- /dev/null +++ b/testsuite/tests/driver/T1372/p1/A2.hs @@ -0,0 +1,2 @@ +module A where +data T' = T' diff --git a/testsuite/tests/driver/T1372/p1/Setup.hs b/testsuite/tests/driver/T1372/p1/Setup.hs new file mode 100644 index 0000000000..6fa548caf7 --- /dev/null +++ b/testsuite/tests/driver/T1372/p1/Setup.hs @@ -0,0 +1,6 @@ +module Main (main) where + +import Distribution.Simple + +main :: IO () +main = defaultMain diff --git a/testsuite/tests/driver/T1372/p1/p1.cabal b/testsuite/tests/driver/T1372/p1/p1.cabal new file mode 100644 index 0000000000..66d4f0ec4c --- /dev/null +++ b/testsuite/tests/driver/T1372/p1/p1.cabal @@ -0,0 +1,4 @@ +name: p1 +version: 1.0 +exposed-modules: A +build-depends: base diff --git a/testsuite/tests/driver/T1372/p2/Main.hs b/testsuite/tests/driver/T1372/p2/Main.hs new file mode 100644 index 0000000000..b423120e43 --- /dev/null +++ b/testsuite/tests/driver/T1372/p2/Main.hs @@ -0,0 +1,7 @@ +module Main where + +import A + +x = T + +main = print "ok" diff --git a/testsuite/tests/driver/T1372/p2/Setup.hs b/testsuite/tests/driver/T1372/p2/Setup.hs new file mode 100644 index 0000000000..6fa548caf7 --- /dev/null +++ b/testsuite/tests/driver/T1372/p2/Setup.hs @@ -0,0 +1,6 @@ +module Main (main) where + +import Distribution.Simple + +main :: IO () +main = defaultMain diff --git a/testsuite/tests/driver/T1372/p2/p2.cabal b/testsuite/tests/driver/T1372/p2/p2.cabal new file mode 100644 index 0000000000..903515e80c --- /dev/null +++ b/testsuite/tests/driver/T1372/p2/p2.cabal @@ -0,0 +1,5 @@ +name: p2 +version: 1.0 +executable: 1372 +build-depends: base, p1 +main-is: Main.hs |