From da201d1de71aea65a49e16c3e72b60ea5898d214 Mon Sep 17 00:00:00 2001 From: Matthew Pickering Date: Thu, 22 Jul 2021 12:24:43 +0100 Subject: Add test for #18567 Closes #18567 --- testsuite/tests/cabal/t18567/Makefile | 20 +++++++++++++++++ testsuite/tests/cabal/t18567/Setup.hs | 2 ++ testsuite/tests/cabal/t18567/T18567.stderr | 5 +++++ testsuite/tests/cabal/t18567/all.T | 9 ++++++++ testsuite/tests/cabal/t18567/internal-lib.cabal | 26 ++++++++++++++++++++++ testsuite/tests/cabal/t18567/src/TestLib.hs | 4 ++++ .../cabal/t18567/sublib-unused/SublibUnused.hs | 1 + testsuite/tests/cabal/t18567/sublib/Sublib.hs | 1 + 8 files changed, 68 insertions(+) create mode 100644 testsuite/tests/cabal/t18567/Makefile create mode 100644 testsuite/tests/cabal/t18567/Setup.hs create mode 100644 testsuite/tests/cabal/t18567/T18567.stderr create mode 100644 testsuite/tests/cabal/t18567/all.T create mode 100644 testsuite/tests/cabal/t18567/internal-lib.cabal create mode 100644 testsuite/tests/cabal/t18567/src/TestLib.hs create mode 100644 testsuite/tests/cabal/t18567/sublib-unused/SublibUnused.hs create mode 100644 testsuite/tests/cabal/t18567/sublib/Sublib.hs diff --git a/testsuite/tests/cabal/t18567/Makefile b/testsuite/tests/cabal/t18567/Makefile new file mode 100644 index 0000000000..78cdf67535 --- /dev/null +++ b/testsuite/tests/cabal/t18567/Makefile @@ -0,0 +1,20 @@ +TOP=../../.. +include $(TOP)/mk/boilerplate.mk +include $(TOP)/mk/test.mk + +SETUP = ./Setup -v0 + +# This test is for packages in internal libraries + +T18567: clean + $(MAKE) clean + '$(TEST_HC)' $(TEST_HC_OPTS) -v0 --make Setup + $(SETUP) clean + $(SETUP) configure $(CABAL_MINIMAL_BUILD) --with-ghc='$(TEST_HC)' --ghc-options='$(TEST_HC_OPTS)' + $(SETUP) build +ifneq "$(CLEANUP)" "" + $(MAKE) clean +endif + +clean : + $(RM) -r */dist Setup$(exeext) *.o *.hi diff --git a/testsuite/tests/cabal/t18567/Setup.hs b/testsuite/tests/cabal/t18567/Setup.hs new file mode 100644 index 0000000000..9a994af677 --- /dev/null +++ b/testsuite/tests/cabal/t18567/Setup.hs @@ -0,0 +1,2 @@ +import Distribution.Simple +main = defaultMain diff --git a/testsuite/tests/cabal/t18567/T18567.stderr b/testsuite/tests/cabal/t18567/T18567.stderr new file mode 100644 index 0000000000..660c39cc22 --- /dev/null +++ b/testsuite/tests/cabal/t18567/T18567.stderr @@ -0,0 +1,5 @@ + +: warning: [-Wunused-packages] + The following packages were specified via -package or -package-id flags, + but were not needed for compilation: + - internal-lib-0.1.0.0-1ShKL1eXB3aGPfTSujH0Bv-sublib-unused diff --git a/testsuite/tests/cabal/t18567/all.T b/testsuite/tests/cabal/t18567/all.T new file mode 100644 index 0000000000..5b30bfaaf9 --- /dev/null +++ b/testsuite/tests/cabal/t18567/all.T @@ -0,0 +1,9 @@ +if config.cleanup: + cleanup = 'CLEANUP=1' +else: + cleanup = 'CLEANUP=0' + +test('T18567', + extra_files(['Setup.hs', 'sublib/', 'sublib-unused', 'src/', 'internal-lib.cabal']), + run_command, + ['$MAKE -s --no-print-directory T18567 ' + cleanup]) diff --git a/testsuite/tests/cabal/t18567/internal-lib.cabal b/testsuite/tests/cabal/t18567/internal-lib.cabal new file mode 100644 index 0000000000..bd26a969b6 --- /dev/null +++ b/testsuite/tests/cabal/t18567/internal-lib.cabal @@ -0,0 +1,26 @@ +cabal-version: 2.0 +name: internal-lib +version: 0.1.0.0 +license: BSD3 +build-type: Simple +cabal-version: >=2.0 + +library + hs-source-dirs: src + exposed-modules: TestLib + build-depends: base, sublib, sublib-unused + default-language: Haskell2010 + ghc-options: -Wunused-packages + +library sublib-unused + hs-source-dirs: sublib-unused + exposed-modules: SublibUnused + build-depends: base + default-language: Haskell2010 +library sublib + hs-source-dirs: sublib + exposed-modules: Sublib + build-depends: base + default-language: Haskell2010 + + diff --git a/testsuite/tests/cabal/t18567/src/TestLib.hs b/testsuite/tests/cabal/t18567/src/TestLib.hs new file mode 100644 index 0000000000..978580c21c --- /dev/null +++ b/testsuite/tests/cabal/t18567/src/TestLib.hs @@ -0,0 +1,4 @@ +module TestLib where + +-- Uses sublib but not sublib-unused +import Sublib diff --git a/testsuite/tests/cabal/t18567/sublib-unused/SublibUnused.hs b/testsuite/tests/cabal/t18567/sublib-unused/SublibUnused.hs new file mode 100644 index 0000000000..34bd48558a --- /dev/null +++ b/testsuite/tests/cabal/t18567/sublib-unused/SublibUnused.hs @@ -0,0 +1 @@ +module SublibUnused where diff --git a/testsuite/tests/cabal/t18567/sublib/Sublib.hs b/testsuite/tests/cabal/t18567/sublib/Sublib.hs new file mode 100644 index 0000000000..c41d4cbf16 --- /dev/null +++ b/testsuite/tests/cabal/t18567/sublib/Sublib.hs @@ -0,0 +1 @@ +module Sublib where -- cgit v1.2.1