summaryrefslogtreecommitdiff
path: root/testsuite/tests/backpack
diff options
context:
space:
mode:
authorEdward Z. Yang <ezyang@fb.com>2019-03-07 23:47:07 -0500
committerMarge Bot <ben+marge-bot@smart-cactus.org>2019-03-09 07:36:26 -0500
commit6e3e537e419ba8d02dac306d596fba3c1029f123 (patch)
treef98d27b3468e4430edf83a071e0aa0b12cdcde00 /testsuite/tests/backpack
parente76ee67510be951cea13636a763daae53108197c (diff)
downloadhaskell-6e3e537e419ba8d02dac306d596fba3c1029f123.tar.gz
Make bkpcabal01 test compatible with new ordering requirements.
Previously, our test did something like this: 1. Typecheck p 2. Typecheck q (which made use of an instantiated p) 3. Build instantiated p 4. Build instantiated q Cabal previously permitted this, under the reasoning that during typechecking there's no harm in using the instantiated p even if we haven't build it yet; we'll just instantiate it on the fly with p. However, this is not true! If q makes use of a Template Haskell splice from p, we absolutely must have built the instantiated p before we typecheck q, since this typechecking will need to run some splices. Cabal now complains that you haven't done it correctly, which we indeed have not! Reordering so that we do this: 1. Typecheck p 3. Build instantiated p 2. Typecheck q (which made use of an instantiated p) 4. Build instantiated q Fixes the problem. If Cabal had managed the ordering itself, it would have gotten it right. Signed-off-by: Edward Z. Yang <ezyang@fb.com>
Diffstat (limited to 'testsuite/tests/backpack')
-rw-r--r--testsuite/tests/backpack/cabal/bkpcabal01/Makefile16
1 files changed, 8 insertions, 8 deletions
diff --git a/testsuite/tests/backpack/cabal/bkpcabal01/Makefile b/testsuite/tests/backpack/cabal/bkpcabal01/Makefile
index 01744dae01..4aaa814c55 100644
--- a/testsuite/tests/backpack/cabal/bkpcabal01/Makefile
+++ b/testsuite/tests/backpack/cabal/bkpcabal01/Makefile
@@ -21,13 +21,13 @@ bkpcabal01: clean
$(SETUP) build
$(SETUP) copy
$(SETUP) register
- # typecheck q
- $(CONFIGURE) --cid "q-0.1" q
+ # build p
+ $(CONFIGURE) --cid "p-0.1" p --instantiate-with "H=impl-0.1:H"
$(SETUP) build
$(SETUP) copy
$(SETUP) register
- # build p
- $(CONFIGURE) --cid "p-0.1" p --instantiate-with "H=impl-0.1:H"
+ # typecheck q
+ $(CONFIGURE) --cid "q-0.1" q
$(SETUP) build
$(SETUP) copy
$(SETUP) register
@@ -44,13 +44,13 @@ bkpcabal01: clean
$(SETUP) build
$(SETUP) copy
$(SETUP) register
- # re-typecheck q (if buggy, this is what would fail)
- $(CONFIGURE) --cid "q-0.1" q
+ # re-build p
+ $(CONFIGURE) --cid "p-0.1" p --instantiate-with "H=impl-0.1:H"
$(SETUP) build
$(SETUP) copy
$(SETUP) register
- # re-build p
- $(CONFIGURE) --cid "p-0.1" p --instantiate-with "H=impl-0.1:H"
+ # re-typecheck q (if buggy, this is what would fail)
+ $(CONFIGURE) --cid "q-0.1" q
$(SETUP) build
$(SETUP) copy
$(SETUP) register