summaryrefslogtreecommitdiff
path: root/testsuite
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite')
-rw-r--r--testsuite/tests/cabal/Makefile16
-rw-r--r--testsuite/tests/cabal/shadow.stderr8
-rw-r--r--testsuite/tests/cabal/shadow.stdout2
3 files changed, 14 insertions, 12 deletions
diff --git a/testsuite/tests/cabal/Makefile b/testsuite/tests/cabal/Makefile
index 635a94b0ea..cbf8cbb7ed 100644
--- a/testsuite/tests/cabal/Makefile
+++ b/testsuite/tests/cabal/Makefile
@@ -156,19 +156,21 @@ shadow:
@echo "databases 1 and 3:"
$(LOCAL_GHC_PKGSHADOW13) list
echo "main = return ()" >shadow.hs
-#
-# In this test, shadow-1-XXX with ABI hash aaa conflicts with shadow-1-XXX with
-# ABI hash bbb, so GHC errors
+#
+# In this test, the later database defines a new shadow-1-XXX which
+# shadows the old one, making shadowdep unsatisfiable.
#
@echo "should FAIL:"
if '$(TEST_HC)' $(TEST_HC_OPTS) -package-db $(PKGCONFSHADOW1) -package-db $(PKGCONFSHADOW2) -package shadowdep -c shadow.hs -fno-code; then false; else true; fi
#
-# Reversing the orders of the configs does not fix the problem
+# Reversing the orders of the configs fixes the problem, because now
+# the shadow-1-XXX defined in the same DB as shadowdep shadows
+# shadow-1-XXX in localshadow2.package.conf
#
- @echo "should FAIL:"
- if '$(TEST_HC)' $(TEST_HC_OPTS) -package-db $(PKGCONFSHADOW2) -package-db $(PKGCONFSHADOW1) -package shadowdep -c shadow.hs -fno-code; then false; else true; fi
+ @echo "should SUCCEED:"
+ '$(TEST_HC)' $(TEST_HC_OPTS) -package-db $(PKGCONFSHADOW2) -package-db $(PKGCONFSHADOW1) -package shadowdep -c shadow.hs -fno-code
#
-# When the ABIs are the same, there is no problem
+# When the ABIs are the same, dependencies don't break, we just swap it in
#
@echo "should SUCCEED:"
'$(TEST_HC)' $(TEST_HC_OPTS) -package-db $(PKGCONFSHADOW3) -package-db $(PKGCONFSHADOW1) -package shadowdep -c shadow.hs -fno-code
diff --git a/testsuite/tests/cabal/shadow.stderr b/testsuite/tests/cabal/shadow.stderr
index 3825896e85..601e33714f 100644
--- a/testsuite/tests/cabal/shadow.stderr
+++ b/testsuite/tests/cabal/shadow.stderr
@@ -1,4 +1,4 @@
-<command line>: package db: duplicate packages with incompatible ABIs:
- shadow-1-XXX has ABIs: aaa, bbb
-<command line>: package db: duplicate packages with incompatible ABIs:
- shadow-1-XXX has ABIs: aaa, bbb
+<command line>: cannot satisfy -package shadowdep:
+ shadowdep-1-XXX is unusable due to shadowed dependencies:
+ shadow-1-XXX
+ (use -v for more information)
diff --git a/testsuite/tests/cabal/shadow.stdout b/testsuite/tests/cabal/shadow.stdout
index f4b783aa7d..bdd2459f73 100644
--- a/testsuite/tests/cabal/shadow.stdout
+++ b/testsuite/tests/cabal/shadow.stdout
@@ -15,5 +15,5 @@ localshadow3.package.conf:
(shadow-1)
should FAIL:
-should FAIL:
+should SUCCEED:
should SUCCEED: