diff options
author | Kevin Buhr <buhr@asaurus.net> | 2019-05-03 18:15:44 -0500 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2019-06-09 18:42:57 -0400 |
commit | 9d238791862e8b128d397a1c0317986ea82ed000 (patch) | |
tree | a1dd2557a5be4ea1d2548638f7d4cdd785e8b335 /testsuite | |
parent | b9fe91fce5cf5ab233ab48a64e6a49caf1beced3 (diff) | |
download | haskell-9d238791862e8b128d397a1c0317986ea82ed000.tar.gz |
Handle trailing path separator in package DB names (#16360)
Package DB directories with trailing separator (provided via
GHC_PACKAGE_PATH or via -package-db) resulted in incorrect calculation of
${pkgroot} substitution variable. Keep the trailing separator while
resolving as directory or file, but remove it before dropping the last
path component with takeDirectory.
Closes #16360.
Diffstat (limited to 'testsuite')
-rw-r--r-- | testsuite/tests/driver/T16360/Hello.hs | 3 | ||||
-rw-r--r-- | testsuite/tests/driver/T16360/Makefile | 17 | ||||
-rw-r--r-- | testsuite/tests/driver/T16360/all.T | 1 | ||||
-rw-r--r-- | testsuite/tests/driver/T16360/test/Test.hs | 4 | ||||
-rw-r--r-- | testsuite/tests/driver/T16360/test/test.pkg | 8 |
5 files changed, 33 insertions, 0 deletions
diff --git a/testsuite/tests/driver/T16360/Hello.hs b/testsuite/tests/driver/T16360/Hello.hs new file mode 100644 index 0000000000..56109fa8bf --- /dev/null +++ b/testsuite/tests/driver/T16360/Hello.hs @@ -0,0 +1,3 @@ +import Test + +main = print test diff --git a/testsuite/tests/driver/T16360/Makefile b/testsuite/tests/driver/T16360/Makefile new file mode 100644 index 0000000000..67dcf80ba8 --- /dev/null +++ b/testsuite/tests/driver/T16360/Makefile @@ -0,0 +1,17 @@ +TOP=../../.. +include $(TOP)/mk/boilerplate.mk +include $(TOP)/mk/test.mk + +LOCAL_PKGCONF=package.conf.d + +clean: + rm -f test/*.o test/*.hi *.o *.hi + rm -rf $(LOCAL_PKGCONF) + +.PHONY: T16360 +T16360: + @rm -rf $(LOCAL_PKGCONF) + "$(TEST_HC)" $(TEST_HC_OPTS) -this-unit-id test-1.0 -c test/Test.hs + "$(GHC_PKG)" init $(LOCAL_PKGCONF) + "$(GHC_PKG)" --no-user-package-db -f $(LOCAL_PKGCONF) register test/test.pkg -v0 + "$(TEST_HC)" $(TEST_HC_OPTS) -package-db $(LOCAL_PKGCONF)/ -c Hello.hs diff --git a/testsuite/tests/driver/T16360/all.T b/testsuite/tests/driver/T16360/all.T new file mode 100644 index 0000000000..1cc19459f9 --- /dev/null +++ b/testsuite/tests/driver/T16360/all.T @@ -0,0 +1 @@ +test('T16360', [extra_files(['Hello.hs', 'test/'])], makefile_test, []) diff --git a/testsuite/tests/driver/T16360/test/Test.hs b/testsuite/tests/driver/T16360/test/Test.hs new file mode 100644 index 0000000000..b4d7f27dce --- /dev/null +++ b/testsuite/tests/driver/T16360/test/Test.hs @@ -0,0 +1,4 @@ +module Test where + +test :: Int +test = 42 diff --git a/testsuite/tests/driver/T16360/test/test.pkg b/testsuite/tests/driver/T16360/test/test.pkg new file mode 100644 index 0000000000..f925cfe2d9 --- /dev/null +++ b/testsuite/tests/driver/T16360/test/test.pkg @@ -0,0 +1,8 @@ +name: test +version: 1.0 +id: test-1.0 +key: test-1.0 +exposed-modules: Test +import-dirs: ${pkgroot}/test +library-dirs: ${pkgroot}/test +exposed: True |