diff options
Diffstat (limited to 'testsuite/tests/backpack/cabal/bkpcabal04')
9 files changed, 83 insertions, 0 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 |