Commit 6e3e537e authored by Edward Z. Yang's avatar Edward Z. Yang Committed by Marge Bot

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: 's avatarEdward Z. Yang <ezyang@fb.com>
parent e76ee675
Pipeline #3299 passed with stages
in 474 minutes and 45 seconds
......@@ -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
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment