From 6abd70a69bb2c6606037d8fefe15a97f9167f436 Mon Sep 17 00:00:00 2001
From: Francesco Gazzetta <fgaz@fgaz.me>
Date: Thu, 14 Apr 2022 19:06:20 +0200
Subject: [PATCH] Add test for #7270

---
 .../MultipleLibraries/T7270/cabal.cabal.out   | 18 +++++++++++++++++
 .../MultipleLibraries/T7270/cabal.out         | 20 +++++++++++++++++++
 .../MultipleLibraries/T7270/cabal.test.hs     |  5 +++++
 .../MultipleLibraries/T7270/dep/Sublib.hs     |  4 ++++
 .../MultipleLibraries/T7270/dep/dep.cabal     | 14 +++++++++++++
 .../MultipleLibraries/T7270/p/Main.hs         |  6 ++++++
 .../MultipleLibraries/T7270/p/p.cabal         | 10 ++++++++++
 7 files changed, 77 insertions(+)
 create mode 100644 cabal-testsuite/PackageTests/MultipleLibraries/T7270/cabal.cabal.out
 create mode 100644 cabal-testsuite/PackageTests/MultipleLibraries/T7270/cabal.out
 create mode 100644 cabal-testsuite/PackageTests/MultipleLibraries/T7270/cabal.test.hs
 create mode 100644 cabal-testsuite/PackageTests/MultipleLibraries/T7270/dep/Sublib.hs
 create mode 100644 cabal-testsuite/PackageTests/MultipleLibraries/T7270/dep/dep.cabal
 create mode 100644 cabal-testsuite/PackageTests/MultipleLibraries/T7270/p/Main.hs
 create mode 100644 cabal-testsuite/PackageTests/MultipleLibraries/T7270/p/p.cabal

diff --git a/cabal-testsuite/PackageTests/MultipleLibraries/T7270/cabal.cabal.out b/cabal-testsuite/PackageTests/MultipleLibraries/T7270/cabal.cabal.out
new file mode 100644
index 0000000000..6e1795ddc4
--- /dev/null
+++ b/cabal-testsuite/PackageTests/MultipleLibraries/T7270/cabal.cabal.out
@@ -0,0 +1,18 @@
+# Setup configure
+Configuring dep-0.1.0.0...
+# Setup build
+Preprocessing library 'sublib' for dep-0.1.0.0..
+Building library 'sublib' for dep-0.1.0.0..
+Preprocessing library for dep-0.1.0.0..
+Building library for dep-0.1.0.0..
+# Setup copy
+Installing internal library sublib in <PATH>
+Installing library in <PATH>
+# Setup register
+Registering library 'sublib' for dep-0.1.0.0..
+Registering library for dep-0.1.0.0..
+# Setup configure
+Configuring p-0.1.0.0...
+# Setup build
+Preprocessing library for p-0.1.0.0..
+Building library for p-0.1.0.0..
diff --git a/cabal-testsuite/PackageTests/MultipleLibraries/T7270/cabal.out b/cabal-testsuite/PackageTests/MultipleLibraries/T7270/cabal.out
new file mode 100644
index 0000000000..8d38ca1ef3
--- /dev/null
+++ b/cabal-testsuite/PackageTests/MultipleLibraries/T7270/cabal.out
@@ -0,0 +1,20 @@
+# Setup configure
+Warning: dep.cabal:11:30: visibility is experimental feature (issue #5660)
+Configuring dep-0.1.0.0...
+# Setup build
+Preprocessing library 'sublib' for dep-0.1.0.0..
+Building library 'sublib' for dep-0.1.0.0..
+Preprocessing library for dep-0.1.0.0..
+Building library for dep-0.1.0.0..
+# Setup copy
+Installing internal library sublib in <PATH>
+Installing library in <PATH>
+# Setup register
+Registering library 'sublib' for dep-0.1.0.0..
+Registering library for dep-0.1.0.0..
+# Setup configure
+Warning: p.cabal:9:28: colon specifier is experimental feature (issue #5660)
+Configuring p-0.1.0.0...
+# Setup build
+Preprocessing library for p-0.1.0.0..
+Building library for p-0.1.0.0..
diff --git a/cabal-testsuite/PackageTests/MultipleLibraries/T7270/cabal.test.hs b/cabal-testsuite/PackageTests/MultipleLibraries/T7270/cabal.test.hs
new file mode 100644
index 0000000000..1d1df1d33f
--- /dev/null
+++ b/cabal-testsuite/PackageTests/MultipleLibraries/T7270/cabal.test.hs
@@ -0,0 +1,5 @@
+import Test.Cabal.Prelude
+main = setupAndCabalTest $
+  withPackageDb $ do
+    withDirectory "dep" $ setup_install []
+    withDirectory "p" $ setup_build []
diff --git a/cabal-testsuite/PackageTests/MultipleLibraries/T7270/dep/Sublib.hs b/cabal-testsuite/PackageTests/MultipleLibraries/T7270/dep/Sublib.hs
new file mode 100644
index 0000000000..3ce94522a8
--- /dev/null
+++ b/cabal-testsuite/PackageTests/MultipleLibraries/T7270/dep/Sublib.hs
@@ -0,0 +1,4 @@
+module Sublib where
+
+s :: String
+s = "Hello World"
diff --git a/cabal-testsuite/PackageTests/MultipleLibraries/T7270/dep/dep.cabal b/cabal-testsuite/PackageTests/MultipleLibraries/T7270/dep/dep.cabal
new file mode 100644
index 0000000000..4c23a0ad88
--- /dev/null
+++ b/cabal-testsuite/PackageTests/MultipleLibraries/T7270/dep/dep.cabal
@@ -0,0 +1,14 @@
+cabal-version:       3.0
+name:                dep
+version:             0.1.0.0
+build-type:          Simple
+
+-- needed because of https://github.com/haskell/cabal/issues/8095
+library
+  default-language:    Haskell2010
+
+library sublib
+  visibility:          public
+  exposed-modules:     Sublib
+  build-depends:       base >=4 && <5
+  default-language:    Haskell2010
diff --git a/cabal-testsuite/PackageTests/MultipleLibraries/T7270/p/Main.hs b/cabal-testsuite/PackageTests/MultipleLibraries/T7270/p/Main.hs
new file mode 100644
index 0000000000..ba90760529
--- /dev/null
+++ b/cabal-testsuite/PackageTests/MultipleLibraries/T7270/p/Main.hs
@@ -0,0 +1,6 @@
+module Main where
+
+import Sublib (s)
+
+main :: IO ()
+main = putStrLn s
diff --git a/cabal-testsuite/PackageTests/MultipleLibraries/T7270/p/p.cabal b/cabal-testsuite/PackageTests/MultipleLibraries/T7270/p/p.cabal
new file mode 100644
index 0000000000..a78d5c9eed
--- /dev/null
+++ b/cabal-testsuite/PackageTests/MultipleLibraries/T7270/p/p.cabal
@@ -0,0 +1,10 @@
+cabal-version:       3.0
+name:                p
+version:             0.1.0.0
+build-type:          Simple
+
+library
+  exposed-modules:     Main
+  build-depends:       base >=4 && <5
+                     , dep:sublib
+  default-language:    Haskell2010
-- 
GitLab