summaryrefslogtreecommitdiff
path: root/testsuite/tests
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite/tests')
-rw-r--r--testsuite/tests/backpack/cabal/bkpcabal04/.gitignore3
-rw-r--r--testsuite/tests/backpack/cabal/bkpcabal04/Makefile29
-rw-r--r--testsuite/tests/backpack/cabal/bkpcabal04/Setup.hs2
-rw-r--r--testsuite/tests/backpack/cabal/bkpcabal04/all.T10
-rw-r--r--testsuite/tests/backpack/cabal/bkpcabal04/bkpcabal04.cabal.in117
-rw-r--r--testsuite/tests/backpack/cabal/bkpcabal04/bkpcabal04.cabal.in217
-rw-r--r--testsuite/tests/backpack/cabal/bkpcabal04/p/A.hsig1
-rw-r--r--testsuite/tests/backpack/cabal/bkpcabal04/q/A/B.hsig.in2
-rw-r--r--testsuite/tests/backpack/cabal/bkpcabal04/q/B.hsig.in2
-rw-r--r--testsuite/tests/backpack/should_compile/bkp51.bkp2
10 files changed, 84 insertions, 1 deletions
diff --git a/testsuite/tests/backpack/cabal/bkpcabal04/.gitignore b/testsuite/tests/backpack/cabal/bkpcabal04/.gitignore
new file mode 100644
index 0000000000..4a6a47f966
--- /dev/null
+++ b/testsuite/tests/backpack/cabal/bkpcabal04/.gitignore
@@ -0,0 +1,3 @@
+bkpcabal04.cabal
+q/B.hsig
+q/A/B.hsig
diff --git a/testsuite/tests/backpack/cabal/bkpcabal04/Makefile b/testsuite/tests/backpack/cabal/bkpcabal04/Makefile
new file mode 100644
index 0000000000..0e81107d9e
--- /dev/null
+++ b/testsuite/tests/backpack/cabal/bkpcabal04/Makefile
@@ -0,0 +1,29 @@
+TOP=../../../..
+include $(TOP)/mk/boilerplate.mk
+include $(TOP)/mk/test.mk
+
+SETUP='$(PWD)/Setup' -v0
+CONFIGURE=$(SETUP) configure $(CABAL_MINIMAL_BUILD) --with-ghc='$(TEST_HC)' --ghc-options='$(TEST_HC_OPTS)' --package-db='$(PWD)/tmp.d' --prefix='$(PWD)/inst'
+
+bkpcabal04: clean
+ $(MAKE) -s --no-print-directory clean
+ '$(GHC_PKG)' init tmp.d
+ '$(TEST_HC)' -v0 --make Setup
+ cp bkpcabal04.cabal.in1 bkpcabal04.cabal
+ cp q/B.hsig.in q/B.hsig
+ # typecheck
+ $(CONFIGURE)
+ $(SETUP) build
+ # new version
+ cp bkpcabal04.cabal.in2 bkpcabal04.cabal
+ rm q/B.hsig
+ cp q/A/B.hsig.in q/A/B.hsig
+ # typecheck
+ $(CONFIGURE)
+ $(SETUP) build
+ifneq "$(CLEANUP)" ""
+ $(MAKE) -s --no-print-directory clean
+endif
+
+clean :
+ $(RM) -rf tmp.d inst dist Setup$(exeext) q/A/B.hsig q/B.hsig bkpcabal04.cabal
diff --git a/testsuite/tests/backpack/cabal/bkpcabal04/Setup.hs b/testsuite/tests/backpack/cabal/bkpcabal04/Setup.hs
new file mode 100644
index 0000000000..9a994af677
--- /dev/null
+++ b/testsuite/tests/backpack/cabal/bkpcabal04/Setup.hs
@@ -0,0 +1,2 @@
+import Distribution.Simple
+main = defaultMain
diff --git a/testsuite/tests/backpack/cabal/bkpcabal04/all.T b/testsuite/tests/backpack/cabal/bkpcabal04/all.T
new file mode 100644
index 0000000000..998882ef5e
--- /dev/null
+++ b/testsuite/tests/backpack/cabal/bkpcabal04/all.T
@@ -0,0 +1,10 @@
+if config.cleanup:
+ cleanup = 'CLEANUP=1'
+else:
+ cleanup = 'CLEANUP=0'
+
+# Test recompilation checking on signatures
+test('bkpcabal04',
+ normal,
+ run_command,
+ ['$MAKE -s --no-print-directory bkpcabal04 ' + cleanup])
diff --git a/testsuite/tests/backpack/cabal/bkpcabal04/bkpcabal04.cabal.in1 b/testsuite/tests/backpack/cabal/bkpcabal04/bkpcabal04.cabal.in1
new file mode 100644
index 0000000000..1ce11c5bcc
--- /dev/null
+++ b/testsuite/tests/backpack/cabal/bkpcabal04/bkpcabal04.cabal.in1
@@ -0,0 +1,17 @@
+name: bkpcabal04
+version: 0.1.0.0
+license: BSD3
+author: Edward Z. Yang
+maintainer: ezyang@cs.stanford.edu
+build-type: Simple
+cabal-version: >=1.25
+
+library p
+ signatures: A
+ build-depends: base
+ hs-source-dirs: p
+
+library q
+ signatures: B
+ build-depends: base, p
+ hs-source-dirs: q
diff --git a/testsuite/tests/backpack/cabal/bkpcabal04/bkpcabal04.cabal.in2 b/testsuite/tests/backpack/cabal/bkpcabal04/bkpcabal04.cabal.in2
new file mode 100644
index 0000000000..e6fa4c6660
--- /dev/null
+++ b/testsuite/tests/backpack/cabal/bkpcabal04/bkpcabal04.cabal.in2
@@ -0,0 +1,17 @@
+name: bkpcabal04
+version: 0.1.0.0
+license: BSD3
+author: Edward Z. Yang
+maintainer: ezyang@cs.stanford.edu
+build-type: Simple
+cabal-version: >=1.25
+
+library p
+ signatures: A
+ build-depends: base
+ hs-source-dirs: p
+
+library q
+ signatures: A.B
+ build-depends: base, p
+ hs-source-dirs: q
diff --git a/testsuite/tests/backpack/cabal/bkpcabal04/p/A.hsig b/testsuite/tests/backpack/cabal/bkpcabal04/p/A.hsig
new file mode 100644
index 0000000000..cd83bfff2a
--- /dev/null
+++ b/testsuite/tests/backpack/cabal/bkpcabal04/p/A.hsig
@@ -0,0 +1 @@
+signature A where
diff --git a/testsuite/tests/backpack/cabal/bkpcabal04/q/A/B.hsig.in b/testsuite/tests/backpack/cabal/bkpcabal04/q/A/B.hsig.in
new file mode 100644
index 0000000000..797f45c401
--- /dev/null
+++ b/testsuite/tests/backpack/cabal/bkpcabal04/q/A/B.hsig.in
@@ -0,0 +1,2 @@
+signature A.B where
+import A
diff --git a/testsuite/tests/backpack/cabal/bkpcabal04/q/B.hsig.in b/testsuite/tests/backpack/cabal/bkpcabal04/q/B.hsig.in
new file mode 100644
index 0000000000..30fdf7e274
--- /dev/null
+++ b/testsuite/tests/backpack/cabal/bkpcabal04/q/B.hsig.in
@@ -0,0 +1,2 @@
+signature B where
+import A
diff --git a/testsuite/tests/backpack/should_compile/bkp51.bkp b/testsuite/tests/backpack/should_compile/bkp51.bkp
index af0a422464..6b8cecbc64 100644
--- a/testsuite/tests/backpack/should_compile/bkp51.bkp
+++ b/testsuite/tests/backpack/should_compile/bkp51.bkp
@@ -24,7 +24,7 @@ unit s where
import D
z = show id
unit t where
- dependency r[B=s:E,H=<H>]
+ dependency r[B=s[H=<H>]:E,H=<H>]
module F where
import D
a = show id