diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/U.hs b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/U.hs new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/V.hs b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/V.hs new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/cabal.dot-uv.out b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/cabal.dot-uv.out new file mode 100644 index 0000000000000000000000000000000000000000..3d6859f996bcc71b2ea287ce1ed1067eb3848974 --- /dev/null +++ b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/cabal.dot-uv.out @@ -0,0 +1,2 @@ +# cabal sdist +Wrote tarball sdist to <ROOT>/cabal.dot-uv.dist/work/./dist/sdist/p-0.1.tar.gz diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/cabal.dot-uv.patch b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/cabal.dot-uv.patch new file mode 100644 index 0000000000000000000000000000000000000000..d16b271c9347a65a3087d0a8b3bdcb08e254c8f2 --- /dev/null +++ b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/cabal.dot-uv.patch @@ -0,0 +1,8 @@ +diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/cabal.dot-uv.out b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/cabal.dot-uv.out +index 3d6859f99..a7ffc109e 100644 +--- a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/cabal.dot-uv.out ++++ b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/cabal.dot-uv.out +@@ -1,2 +1,2 @@ + # cabal sdist +-Wrote tarball sdist to <ROOT>/cabal.dot-uv.dist/work/./dist/sdist/p-0.1.tar.gz ++Wrote tarball sdist to <ROOT>/cabal.dot-uv.dist/work/./dist/sdist/uv-0.1.tar.gz diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/cabal.dot-uv.project b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/cabal.dot-uv.project new file mode 100644 index 0000000000000000000000000000000000000000..e6fdbadb4398bc0e333947b5fb8021778310d943 --- /dev/null +++ b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/cabal.dot-uv.project @@ -0,0 +1 @@ +packages: . diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/cabal.dot-uv.test.hs b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/cabal.dot-uv.test.hs new file mode 100644 index 0000000000000000000000000000000000000000..03f2535de4a6fc65247706c3b4a81ee8e43230d2 --- /dev/null +++ b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/cabal.dot-uv.test.hs @@ -0,0 +1,12 @@ +import Test.Cabal.Prelude + +-- cabal.dot-uv.project has "packages: .". That package is uv.cabal but "cabal +-- sdist" writes sdist/p-0.1.tar.gz instead of the expected sdist/uv-0.1.tar.gz. +-- That is wrong, "cabal sdist" should respect the "--project-file" option but +-- instead probes the parent directory and picks up "../cabal.project" that has +-- "packages: Projects-Default-No/p". +-- +-- TODO: Fix this behaviour and apply the patch cabal.dot-uv.patch to update the +-- expected output to what we'd expect if "cabal sdist" respected the project. +main = cabalTest . withProjectFile "cabal.dot-uv.project" $ do + cabal "sdist" ["all"] \ No newline at end of file diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/cabal.dot-uv.v2.out b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/cabal.dot-uv.v2.out new file mode 100644 index 0000000000000000000000000000000000000000..67bd38241618e8fd9e101e4689927836ce735d6e --- /dev/null +++ b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/cabal.dot-uv.v2.out @@ -0,0 +1,2 @@ +# cabal v2-sdist +Wrote tarball sdist to <ROOT>/dist-newstyle/sdist/uv-0.1.tar.gz diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/cabal.dot-uv.v2.test.hs b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/cabal.dot-uv.v2.test.hs new file mode 100644 index 0000000000000000000000000000000000000000..5f6c3ba1a836da7711ac06c2fda2bb1da4735de2 --- /dev/null +++ b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/cabal.dot-uv.v2.test.hs @@ -0,0 +1,6 @@ +import Test.Cabal.Prelude + +-- cabal.dot-uv.project has "packages: .". That package is uv.cabal and "cabal +-- v2-sdist" writes sdist/uv-0.1.tar.gz. This is correct. +main = cabalTest . withProjectFile "cabal.dot-uv.project" $ do + cabal "v2-sdist" ["all"] \ No newline at end of file diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/cabal.ignore-project.out b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/cabal.ignore-project.out new file mode 100644 index 0000000000000000000000000000000000000000..c4b60109a9899efc64e76c906b6fef04a1f54810 --- /dev/null +++ b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/cabal.ignore-project.out @@ -0,0 +1,2 @@ +# cabal sdist +Wrote tarball sdist to <ROOT>/cabal.ignore-project.dist/work/./dist/sdist/uv-0.1.tar.gz diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/cabal.ignore-project.test.hs b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/cabal.ignore-project.test.hs new file mode 100755 index 0000000000000000000000000000000000000000..6b77d12d2fe37103be408df7cbd0924066d29b8a --- /dev/null +++ b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/cabal.ignore-project.test.hs @@ -0,0 +1,5 @@ +import Test.Cabal.Prelude + +-- This test correctly writes sdist/uv-0.1.tar.gz for the uv.cabal package. +main = cabalTest $ do + cabal "sdist" ["all", "--ignore-project"] \ No newline at end of file diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/cabal.ignore-project.v2.out b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/cabal.ignore-project.v2.out new file mode 100644 index 0000000000000000000000000000000000000000..e6f04ba99706d17e786bb3313bd1208f8d0dbfb4 --- /dev/null +++ b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/cabal.ignore-project.v2.out @@ -0,0 +1,2 @@ +# cabal v2-sdist +Wrote tarball sdist to /home/philderbeast/dev/src/cabalism/cabal/cabal-testsuite/PackageTests/SDist/Respect-Project-File/dist-newstyle/sdist/p-0.1.tar.gz diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/cabal.ignore-project.v2.test.hs b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/cabal.ignore-project.v2.test.hs new file mode 100755 index 0000000000000000000000000000000000000000..a159257eb68caa0ebcbd5653507e338eb8ff53e0 --- /dev/null +++ b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/cabal.ignore-project.v2.test.hs @@ -0,0 +1,8 @@ +import Test.Cabal.Prelude + +-- This test should have written sdist/uv-0.1.tar.gz for the uv.cabal package +-- but instead it probed up the directory tree, found a default cabal.project +-- and wrote sdist/p-0.1.tar.gz. That is incorrect. It didn't ignore the +-- project. +main = cabalTest $ do + cabal "v2-sdist" ["all", "--ignore-project"] \ No newline at end of file diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/cabal.no-project.out b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/cabal.no-project.out new file mode 100644 index 0000000000000000000000000000000000000000..da8d99d249f682dc7dd505b3e69b293bacf4890f --- /dev/null +++ b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/cabal.no-project.out @@ -0,0 +1,2 @@ +# cabal sdist +Wrote tarball sdist to <ROOT>/cabal.no-project.dist/work/./dist/sdist/p-0.1.tar.gz diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/cabal.no-project.test.hs b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/cabal.no-project.test.hs new file mode 100755 index 0000000000000000000000000000000000000000..0002f9f4004480a8cf27f6804b4dd644a9ace885 --- /dev/null +++ b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/cabal.no-project.test.hs @@ -0,0 +1,9 @@ +import Test.Cabal.Prelude + +-- When no project is given, "cabal sdist" probes up the directory tree, finds a +-- default cabal.project and writes sdist/p-0.1.tar.gz. That is acceptable. An +-- alternative and reasonable expectation (but not the behaviour seen) is that +-- project probing would not occur and "cabal sdist" would work on the local +-- uv.cabal package. +main = cabalTest $ do + cabal "sdist" ["all"] \ No newline at end of file diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/cabal.no-project.v2.out b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/cabal.no-project.v2.out new file mode 100644 index 0000000000000000000000000000000000000000..e6f04ba99706d17e786bb3313bd1208f8d0dbfb4 --- /dev/null +++ b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/cabal.no-project.v2.out @@ -0,0 +1,2 @@ +# cabal v2-sdist +Wrote tarball sdist to /home/philderbeast/dev/src/cabalism/cabal/cabal-testsuite/PackageTests/SDist/Respect-Project-File/dist-newstyle/sdist/p-0.1.tar.gz diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/cabal.no-project.v2.test.hs b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/cabal.no-project.v2.test.hs new file mode 100755 index 0000000000000000000000000000000000000000..5030fff51413ef5ae04c4c70aff7d01322e318fb --- /dev/null +++ b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/cabal.no-project.v2.test.hs @@ -0,0 +1,9 @@ +import Test.Cabal.Prelude + +-- When no project is given, "cabal v2-sdist" probes up the directory tree, +-- finds a default cabal.project and writes sdist/p-0.1.tar.gz. That is +-- acceptable. An alternative and reasonable expectation (but not the behaviour +-- seen) is that project probing would not occur and "cabal v2-sdist" would work +-- on the local uv.cabal package. +main = cabalTest $ do + cabal "v2-sdist" ["all"] \ No newline at end of file diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/cabal.sub-pq.out b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/cabal.sub-pq.out new file mode 100644 index 0000000000000000000000000000000000000000..c96d15ee6bbcd6e79642658359e556ef4e3bd6ec --- /dev/null +++ b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/cabal.sub-pq.out @@ -0,0 +1,2 @@ +# cabal sdist +Wrote tarball sdist to <ROOT>/cabal.sub-pq.dist/work/./dist/sdist/p-0.1.tar.gz diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/cabal.sub-pq.patch b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/cabal.sub-pq.patch new file mode 100644 index 0000000000000000000000000000000000000000..a81b0f0099dea8b7a684c4edfa11178b3519aaa8 --- /dev/null +++ b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/cabal.sub-pq.patch @@ -0,0 +1,8 @@ +diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/cabal.sub-pq.out b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/cabal.sub-pq.out +index c96d15ee6..12dcc1217 100644 +--- a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/cabal.sub-pq.out ++++ b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/cabal.sub-pq.out +@@ -1,2 +1,3 @@ + # cabal sdist + Wrote tarball sdist to <ROOT>/cabal.sub-pq.dist/work/./dist/sdist/p-0.1.tar.gz ++Wrote tarball sdist to <ROOT>/cabal.sub-pq.dist/work/./dist/sdist/q-0.1.tar.gz diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/cabal.sub-pq.project b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/cabal.sub-pq.project new file mode 100644 index 0000000000000000000000000000000000000000..36c6791d8c2fd574872159b3f0922c9504a30ce9 --- /dev/null +++ b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/cabal.sub-pq.project @@ -0,0 +1 @@ +packages: p/ q/ diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/cabal.sub-pq.test.hs b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/cabal.sub-pq.test.hs new file mode 100644 index 0000000000000000000000000000000000000000..19447044121eac1f36b6dbb673e4d6438bdb17f9 --- /dev/null +++ b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/cabal.sub-pq.test.hs @@ -0,0 +1,12 @@ +import Test.Cabal.Prelude + +-- cabal.sub-pq.project has "packages: p/ q/" but "cabal sdist" only writes +-- sdist/p-0.1.tar.gz instead of the expected sdist/p-0.1.tar.gz and +-- sdist/q-0.1.tar.gz. That is wrong, "cabal sdist" should respect the +-- "--project-file" option but instead probes the parent directory and picks up +-- "../cabal.project" that has "packages: Projects-Default-No/p". +-- +-- TODO: Fix this behaviour and apply the patch cabal.sub-pq.patch to update the +-- expected output to what we'd expect if "cabal sdist" respected the project. +main = cabalTest . withProjectFile "cabal.sub-pq.project" $ do + cabal "sdist" ["all"] \ No newline at end of file diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/cabal.sub-pq.v2.out b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/cabal.sub-pq.v2.out new file mode 100644 index 0000000000000000000000000000000000000000..f44e24e9567eb3ff2306ac17e7cf320ec3f16ff9 --- /dev/null +++ b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/cabal.sub-pq.v2.out @@ -0,0 +1,3 @@ +# cabal v2-sdist +Wrote tarball sdist to <ROOT>/dist-newstyle/sdist/p-0.1.tar.gz +Wrote tarball sdist to <ROOT>/dist-newstyle/sdist/q-0.1.tar.gz diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/cabal.sub-pq.v2.test.hs b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/cabal.sub-pq.v2.test.hs new file mode 100644 index 0000000000000000000000000000000000000000..aec079838452bb35f42daf863db086632155ca5f --- /dev/null +++ b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/cabal.sub-pq.v2.test.hs @@ -0,0 +1,6 @@ +import Test.Cabal.Prelude + +-- cabal.sub-pq.project has "packages: p/ q/" and "cabal v2-sdist" writes +-- sdist/p-0.1.tar.gz and sdist/q-0.1.tar.gz. This is correct. +main = cabalTest . withProjectFile "cabal.sub-pq.project" $ do + cabal "v2-sdist" ["all"] \ No newline at end of file diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/cabal.sub-rs.out b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/cabal.sub-rs.out new file mode 100644 index 0000000000000000000000000000000000000000..3a0a8e5f40335c23866acbef3e37694fdead59b2 --- /dev/null +++ b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/cabal.sub-rs.out @@ -0,0 +1,2 @@ +# cabal sdist +Wrote tarball sdist to <ROOT>/cabal.sub-rs.dist/work/./dist/sdist/p-0.1.tar.gz diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/cabal.sub-rs.patch b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/cabal.sub-rs.patch new file mode 100644 index 0000000000000000000000000000000000000000..56dbbae23d51daddae4f50f2d6b2b443d74c225a --- /dev/null +++ b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/cabal.sub-rs.patch @@ -0,0 +1,9 @@ +diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/cabal.sub-rs.out b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/cabal.sub-rs.out +index 3a0a8e5f4..b4cced990 100644 +--- a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/cabal.sub-rs.out ++++ b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/cabal.sub-rs.out +@@ -1,2 +1,3 @@ + # cabal sdist +-Wrote tarball sdist to <ROOT>/cabal.sub-rs.dist/work/./dist/sdist/p-0.1.tar.gz ++Wrote tarball sdist to <ROOT>/cabal.sub-rs.dist/work/./dist/sdist/r-0.1.tar.gz ++Wrote tarball sdist to <ROOT>/cabal.sub-rs.dist/work/./dist/sdist/s-0.1.tar.gz diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/cabal.sub-rs.project b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/cabal.sub-rs.project new file mode 100644 index 0000000000000000000000000000000000000000..6a0bc8f2249ec416201a41bb15916347f66d2614 --- /dev/null +++ b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/cabal.sub-rs.project @@ -0,0 +1 @@ +packages: r/ s/ diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/cabal.sub-rs.test.hs b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/cabal.sub-rs.test.hs new file mode 100644 index 0000000000000000000000000000000000000000..3dd58bf6b975532231199fed9237213e53b492ad --- /dev/null +++ b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/cabal.sub-rs.test.hs @@ -0,0 +1,12 @@ +import Test.Cabal.Prelude + +-- cabal.sub-rs.project has "packages: r/ s/" but "cabal sdist" writes +-- sdist/p-0.1.tar.gz instead of the expected sdist/r-0.1.tar.gz and +-- sdist/s-0.1.tar.gz. That is wrong, "cabal sdist" should respect the +-- "--project-file" option but instead probes the parent directory and picks up +-- "../cabal.project" that has "packages: Projects-Default-No/p". +-- +-- TODO: Fix this behaviour and apply the patch cabal.sub-rs.patch to update the +-- expected output to what we'd expect if "cabal sdist" respected the project. +main = cabalTest . withProjectFile "cabal.sub-rs.project" $ do + cabal "sdist" ["all"] \ No newline at end of file diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/cabal.sub-rs.v2.out b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/cabal.sub-rs.v2.out new file mode 100644 index 0000000000000000000000000000000000000000..f6ee642cc692c4149e8ba5182c78657c62eb3804 --- /dev/null +++ b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/cabal.sub-rs.v2.out @@ -0,0 +1,3 @@ +# cabal v2-sdist +Wrote tarball sdist to <ROOT>/dist-newstyle/sdist/r-0.1.tar.gz +Wrote tarball sdist to <ROOT>/dist-newstyle/sdist/s-0.1.tar.gz diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/cabal.sub-rs.v2.test.hs b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/cabal.sub-rs.v2.test.hs new file mode 100644 index 0000000000000000000000000000000000000000..66b8378a1cd03d6691b6b2e20cbb410b6f235487 --- /dev/null +++ b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/cabal.sub-rs.v2.test.hs @@ -0,0 +1,6 @@ +import Test.Cabal.Prelude + +-- cabal.sub-rs.project has "packages: r/ s/" and "cabal v2-sdist" writes +-- sdist/r-0.1.tar.gz and sdist/s-0.1.tar.gz. This is correct. +main = cabalTest . withProjectFile "cabal.sub-rs.project" $ do + cabal "v2-sdist" ["all"] \ No newline at end of file diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/p/P.hs b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/p/P.hs new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/p/p.cabal b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/p/p.cabal new file mode 100644 index 0000000000000000000000000000000000000000..6a10e9f99853db42106ff5894a4d998dd0443acb --- /dev/null +++ b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/p/p.cabal @@ -0,0 +1,8 @@ +name: p +version: 0.1 +build-type: Simple +cabal-version: >= 1.2 + +library + exposed-modules: P + build-depends: base diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/q/Q.hs b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/q/Q.hs new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/q/q.cabal b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/q/q.cabal new file mode 100644 index 0000000000000000000000000000000000000000..3033151742599769187f458482a21f8a2c49e56c --- /dev/null +++ b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/q/q.cabal @@ -0,0 +1,8 @@ +name: q +version: 0.1 +build-type: Simple +cabal-version: >= 1.2 + +library + exposed-modules: Q + build-depends: base diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/r/R.hs b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/r/R.hs new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/r/r.cabal b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/r/r.cabal new file mode 100644 index 0000000000000000000000000000000000000000..8143b51865f6305b85ef0445d3c61ce390952536 --- /dev/null +++ b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/r/r.cabal @@ -0,0 +1,8 @@ +name: r +version: 0.1 +build-type: Simple +cabal-version: >= 1.2 + +library + exposed-modules: R + build-depends: base diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/s/S.hs b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/s/S.hs new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/s/s.cabal b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/s/s.cabal new file mode 100644 index 0000000000000000000000000000000000000000..e30a1595f81ba7567a0dee65d9e1c6e35ca7cd9a --- /dev/null +++ b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/s/s.cabal @@ -0,0 +1,8 @@ +name: s +version: 0.1 +build-type: Simple +cabal-version: >= 1.2 + +library + exposed-modules: S + build-depends: base diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/uv.cabal b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/uv.cabal new file mode 100644 index 0000000000000000000000000000000000000000..3205e54e0ba768b4885baaa98a49d149c1397941 --- /dev/null +++ b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/uv.cabal @@ -0,0 +1,14 @@ +cabal-version: 3.0 +name: uv +version: 0.1 +build-type: Simple + +library U + visibility: public + exposed-modules: U + build-depends: base + +library V + visibility: public + exposed-modules: V + build-depends: base diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/U.hs b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/U.hs new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/V.hs b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/V.hs new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.dot-uv.out b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.dot-uv.out new file mode 100644 index 0000000000000000000000000000000000000000..231e0d306b454e16b2ffd56a98dda1fa50f956f4 --- /dev/null +++ b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.dot-uv.out @@ -0,0 +1,3 @@ +# cabal sdist +Wrote tarball sdist to <ROOT>/cabal.dot-uv.dist/work/./dist/sdist/p-0.1.tar.gz +Wrote tarball sdist to <ROOT>/cabal.dot-uv.dist/work/./dist/sdist/q-0.1.tar.gz diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.dot-uv.patch b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.dot-uv.patch new file mode 100644 index 0000000000000000000000000000000000000000..440c2fabf4cb741f43819f5724673541449b0c0f --- /dev/null +++ b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.dot-uv.patch @@ -0,0 +1,9 @@ +diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.dot-uv.out b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.dot-uv.out +index 231e0d306..a7ffc109e 100644 +--- a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.dot-uv.out ++++ b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.dot-uv.out +@@ -1,3 +1,2 @@ + # cabal sdist +-Wrote tarball sdist to <ROOT>/cabal.dot-uv.dist/work/./dist/sdist/p-0.1.tar.gz +-Wrote tarball sdist to <ROOT>/cabal.dot-uv.dist/work/./dist/sdist/q-0.1.tar.gz ++Wrote tarball sdist to <ROOT>/cabal.dot-uv.dist/work/./dist/sdist/uv-0.1.tar.gz diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.dot-uv.project b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.dot-uv.project new file mode 100644 index 0000000000000000000000000000000000000000..e6fdbadb4398bc0e333947b5fb8021778310d943 --- /dev/null +++ b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.dot-uv.project @@ -0,0 +1 @@ +packages: . diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.dot-uv.test.hs b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.dot-uv.test.hs new file mode 100644 index 0000000000000000000000000000000000000000..7ca9d1fa282b6939e0391a460cc4776e4a5983e7 --- /dev/null +++ b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.dot-uv.test.hs @@ -0,0 +1,12 @@ +import Test.Cabal.Prelude + +-- cabal.dot-uv.project has "packages: .". That package is uv.cabal but "cabal +-- sdist" writes sdist/p-0.1.tar.gz and sdist/q-0.1.tar.gz instead of the +-- expected sdist/uv-0.1.tar.gz. That is wrong, "cabal sdist" should respect +-- the "--project-file" option but instead picks up the default "cabal.project" +-- that has "packages: p/ q/". +-- +-- TODO: Fix this behaviour and apply the patch cabal.dot-uv.patch to update the +-- expected output to what we'd expect if "cabal sdist" respected the project. +main = cabalTest . withProjectFile "cabal.dot-uv.project" $ do + cabal "sdist" ["all"] \ No newline at end of file diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.dot-uv.v2.out b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.dot-uv.v2.out new file mode 100644 index 0000000000000000000000000000000000000000..67bd38241618e8fd9e101e4689927836ce735d6e --- /dev/null +++ b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.dot-uv.v2.out @@ -0,0 +1,2 @@ +# cabal v2-sdist +Wrote tarball sdist to <ROOT>/dist-newstyle/sdist/uv-0.1.tar.gz diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.dot-uv.v2.test.hs b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.dot-uv.v2.test.hs new file mode 100644 index 0000000000000000000000000000000000000000..2df773c55104c4c36c288000f20851c84af76017 --- /dev/null +++ b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.dot-uv.v2.test.hs @@ -0,0 +1,6 @@ +import Test.Cabal.Prelude + +-- cabal.dot-uv.project has "packages: .". That package is uv.cabal and "cabal +-- v2-sdist" writes sdist/p-0.1.tar.gz and sdist/q-0.1.tar.gz. That is correct. +main = cabalTest . withProjectFile "cabal.dot-uv.project" $ do + cabal "v2-sdist" ["all"] \ No newline at end of file diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.ignore-project.out b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.ignore-project.out new file mode 100644 index 0000000000000000000000000000000000000000..c4b60109a9899efc64e76c906b6fef04a1f54810 --- /dev/null +++ b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.ignore-project.out @@ -0,0 +1,2 @@ +# cabal sdist +Wrote tarball sdist to <ROOT>/cabal.ignore-project.dist/work/./dist/sdist/uv-0.1.tar.gz diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.ignore-project.test.hs b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.ignore-project.test.hs new file mode 100755 index 0000000000000000000000000000000000000000..6b77d12d2fe37103be408df7cbd0924066d29b8a --- /dev/null +++ b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.ignore-project.test.hs @@ -0,0 +1,5 @@ +import Test.Cabal.Prelude + +-- This test correctly writes sdist/uv-0.1.tar.gz for the uv.cabal package. +main = cabalTest $ do + cabal "sdist" ["all", "--ignore-project"] \ No newline at end of file diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.ignore-project.v2.out b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.ignore-project.v2.out new file mode 100644 index 0000000000000000000000000000000000000000..f44e24e9567eb3ff2306ac17e7cf320ec3f16ff9 --- /dev/null +++ b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.ignore-project.v2.out @@ -0,0 +1,3 @@ +# cabal v2-sdist +Wrote tarball sdist to <ROOT>/dist-newstyle/sdist/p-0.1.tar.gz +Wrote tarball sdist to <ROOT>/dist-newstyle/sdist/q-0.1.tar.gz diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.ignore-project.v2.patch b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.ignore-project.v2.patch new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.ignore-project.v2.test.hs b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.ignore-project.v2.test.hs new file mode 100755 index 0000000000000000000000000000000000000000..e98c7717e4d58f2b2b41f8fba369c3d86cb3bc78 --- /dev/null +++ b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.ignore-project.v2.test.hs @@ -0,0 +1,7 @@ +import Test.Cabal.Prelude + +-- This test doesn't ignore the project. It should have written +-- sdist/uv-0.1.tar.gz for the uv.cabal package but instead it wrote +-- sdist/p-0.1.tar.gz and sdist/q-0.1.tar.gz. +main = cabalTest $ do + cabal "v2-sdist" ["all", "--ignore-project"] \ No newline at end of file diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.no-project.out b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.no-project.out new file mode 100644 index 0000000000000000000000000000000000000000..83f4cf0c16087c386e762ddb1fe63bac66d24e32 --- /dev/null +++ b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.no-project.out @@ -0,0 +1,3 @@ +# cabal sdist +Wrote tarball sdist to <ROOT>/cabal.no-project.dist/work/./dist/sdist/p-0.1.tar.gz +Wrote tarball sdist to <ROOT>/cabal.no-project.dist/work/./dist/sdist/q-0.1.tar.gz diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.no-project.test.hs b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.no-project.test.hs new file mode 100755 index 0000000000000000000000000000000000000000..1699b269a2cb181f4bdf78874c561671c1834542 --- /dev/null +++ b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.no-project.test.hs @@ -0,0 +1,10 @@ +import Test.Cabal.Prelude + +-- When no project is given, "cabal sdist" finds a default cabal.project that +-- has "packages: p/ q/" and writes sdist/p-0.1.tar.gz and sdist/q-0.1.tar.gz. +-- This is correct. +-- +-- TODO: Check that the code is behaving the same as it would have if +-- "--project-file=cabal.project" was given or if it is using project probing. +main = cabalTest $ do + cabal "sdist" ["all"] \ No newline at end of file diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.no-project.v2.out b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.no-project.v2.out new file mode 100644 index 0000000000000000000000000000000000000000..f44e24e9567eb3ff2306ac17e7cf320ec3f16ff9 --- /dev/null +++ b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.no-project.v2.out @@ -0,0 +1,3 @@ +# cabal v2-sdist +Wrote tarball sdist to <ROOT>/dist-newstyle/sdist/p-0.1.tar.gz +Wrote tarball sdist to <ROOT>/dist-newstyle/sdist/q-0.1.tar.gz diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.no-project.v2.patch b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.no-project.v2.patch new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.no-project.v2.test.hs b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.no-project.v2.test.hs new file mode 100755 index 0000000000000000000000000000000000000000..10ffa0c5a4d91635400648348a88e4d20b771b78 --- /dev/null +++ b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.no-project.v2.test.hs @@ -0,0 +1,7 @@ +import Test.Cabal.Prelude + +-- When no project is given, "cabal v2-sdist" finds a default cabal.project that +-- has "packages: p/ q/" and writes sdist/p-0.1.tar.gz and sdist/q-0.1.tar.gz. +-- This is correct. +main = cabalTest $ do + cabal "v2-sdist" ["all"] \ No newline at end of file diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.project b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.project new file mode 100644 index 0000000000000000000000000000000000000000..36c6791d8c2fd574872159b3f0922c9504a30ce9 --- /dev/null +++ b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.project @@ -0,0 +1 @@ +packages: p/ q/ diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.project.out b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.project.out new file mode 100644 index 0000000000000000000000000000000000000000..b699a53c853d4b7a41d760e6bd2ea55c282aa94b --- /dev/null +++ b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.project.out @@ -0,0 +1,3 @@ +# cabal sdist +Wrote tarball sdist to <ROOT>/cabal.project.dist/work/./dist/sdist/p-0.1.tar.gz +Wrote tarball sdist to <ROOT>/cabal.project.dist/work/./dist/sdist/q-0.1.tar.gz diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.project.test.hs b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.project.test.hs new file mode 100644 index 0000000000000000000000000000000000000000..6be41cfc24fa822a0bc571b2074e7978a4cda4f4 --- /dev/null +++ b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.project.test.hs @@ -0,0 +1,7 @@ +import Test.Cabal.Prelude + +-- The given cabal.project has has "packages: p/ q/" and "cabal sdist" writes +-- sdist/p-0.1.tar.gz and sdist/q-0.1.tar.gz. This is correct but likely +-- accidental as the default cabal.project has the same packages. +main = cabalTest . withProjectFile "cabal.project" $ do + cabal "sdist" ["all"] \ No newline at end of file diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.project.v2.out b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.project.v2.out new file mode 100644 index 0000000000000000000000000000000000000000..f44e24e9567eb3ff2306ac17e7cf320ec3f16ff9 --- /dev/null +++ b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.project.v2.out @@ -0,0 +1,3 @@ +# cabal v2-sdist +Wrote tarball sdist to <ROOT>/dist-newstyle/sdist/p-0.1.tar.gz +Wrote tarball sdist to <ROOT>/dist-newstyle/sdist/q-0.1.tar.gz diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.project.v2.test.hs b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.project.v2.test.hs new file mode 100644 index 0000000000000000000000000000000000000000..f94f478f6aede5595c23c3659b660b982a3d202b --- /dev/null +++ b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.project.v2.test.hs @@ -0,0 +1,6 @@ +import Test.Cabal.Prelude + +-- The given cabal.project has has "packages: p/ q/" and "cabal v2-sdist" writes +-- sdist/p-0.1.tar.gz and sdist/q-0.1.tar.gz. This is correct. +main = cabalTest . withProjectFile "cabal.project" $ do + cabal "v2-sdist" ["all"] \ No newline at end of file diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.sub-pq.out b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.sub-pq.out new file mode 100644 index 0000000000000000000000000000000000000000..12dcc1217e09cda9021b532ef6815fe6557ce501 --- /dev/null +++ b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.sub-pq.out @@ -0,0 +1,3 @@ +# cabal sdist +Wrote tarball sdist to <ROOT>/cabal.sub-pq.dist/work/./dist/sdist/p-0.1.tar.gz +Wrote tarball sdist to <ROOT>/cabal.sub-pq.dist/work/./dist/sdist/q-0.1.tar.gz diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.sub-pq.project b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.sub-pq.project new file mode 100644 index 0000000000000000000000000000000000000000..36c6791d8c2fd574872159b3f0922c9504a30ce9 --- /dev/null +++ b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.sub-pq.project @@ -0,0 +1 @@ +packages: p/ q/ diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.sub-pq.test.hs b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.sub-pq.test.hs new file mode 100644 index 0000000000000000000000000000000000000000..92995d4994b06696e9b9931c35e6370b41b2a64f --- /dev/null +++ b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.sub-pq.test.hs @@ -0,0 +1,6 @@ +import Test.Cabal.Prelude + +-- cabal.sub-pq.project has "packages: p/ q/" and "cabal sdist" writes +-- sdist/p-0.1.tar.gz and sdist/q-0.1.tar.gz. This is correct. +main = cabalTest . withProjectFile "cabal.sub-pq.project" $ do + cabal "sdist" ["all"] \ No newline at end of file diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.sub-pq.v2.out b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.sub-pq.v2.out new file mode 100644 index 0000000000000000000000000000000000000000..f44e24e9567eb3ff2306ac17e7cf320ec3f16ff9 --- /dev/null +++ b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.sub-pq.v2.out @@ -0,0 +1,3 @@ +# cabal v2-sdist +Wrote tarball sdist to <ROOT>/dist-newstyle/sdist/p-0.1.tar.gz +Wrote tarball sdist to <ROOT>/dist-newstyle/sdist/q-0.1.tar.gz diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.sub-pq.v2.test.hs b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.sub-pq.v2.test.hs new file mode 100644 index 0000000000000000000000000000000000000000..aec079838452bb35f42daf863db086632155ca5f --- /dev/null +++ b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.sub-pq.v2.test.hs @@ -0,0 +1,6 @@ +import Test.Cabal.Prelude + +-- cabal.sub-pq.project has "packages: p/ q/" and "cabal v2-sdist" writes +-- sdist/p-0.1.tar.gz and sdist/q-0.1.tar.gz. This is correct. +main = cabalTest . withProjectFile "cabal.sub-pq.project" $ do + cabal "v2-sdist" ["all"] \ No newline at end of file diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.sub-rs.out b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.sub-rs.out new file mode 100644 index 0000000000000000000000000000000000000000..264d9e001ee22ca9153f89300991e11c2914c2c2 --- /dev/null +++ b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.sub-rs.out @@ -0,0 +1,3 @@ +# cabal sdist +Wrote tarball sdist to <ROOT>/cabal.sub-rs.dist/work/./dist/sdist/p-0.1.tar.gz +Wrote tarball sdist to <ROOT>/cabal.sub-rs.dist/work/./dist/sdist/q-0.1.tar.gz diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.sub-rs.patch b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.sub-rs.patch new file mode 100644 index 0000000000000000000000000000000000000000..de09911d55aed47d168e4be62411895d4f195740 --- /dev/null +++ b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.sub-rs.patch @@ -0,0 +1,10 @@ +diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.sub-rs.out b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.sub-rs.out +index 264d9e001..b4cced990 100644 +--- a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.sub-rs.out ++++ b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.sub-rs.out +@@ -1,3 +1,3 @@ + # cabal sdist +-Wrote tarball sdist to <ROOT>/cabal.sub-rs.dist/work/./dist/sdist/p-0.1.tar.gz +-Wrote tarball sdist to <ROOT>/cabal.sub-rs.dist/work/./dist/sdist/q-0.1.tar.gz ++Wrote tarball sdist to <ROOT>/cabal.sub-rs.dist/work/./dist/sdist/r-0.1.tar.gz ++Wrote tarball sdist to <ROOT>/cabal.sub-rs.dist/work/./dist/sdist/s-0.1.tar.gz diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.sub-rs.project b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.sub-rs.project new file mode 100644 index 0000000000000000000000000000000000000000..6a0bc8f2249ec416201a41bb15916347f66d2614 --- /dev/null +++ b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.sub-rs.project @@ -0,0 +1 @@ +packages: r/ s/ diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.sub-rs.test.hs b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.sub-rs.test.hs new file mode 100644 index 0000000000000000000000000000000000000000..e20c7337d49ef97753d3663503b0a7dda6fe3737 --- /dev/null +++ b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.sub-rs.test.hs @@ -0,0 +1,12 @@ +import Test.Cabal.Prelude + +-- cabal.sub-rs.project has "packages: r/ s/" but "cabal sdist" writes +-- sdist/p-0.1.tar.gz and sdist/q-0.1.tar.gz instead of the expected +-- sdist/r-0.1.tar.gz and sdist/s-0.1.tar.gz. That is wrong, "cabal sdist" +-- should respect the "--project-file" option but instead picks up the default +-- "cabal.project" that has "packages: p/ q/". +-- +-- TODO: Fix this behaviour and apply the patch cabal.sub-rs.patch to update the +-- expected output to what we'd expect if "cabal sdist" respected the project. +main = cabalTest . withProjectFile "cabal.sub-rs.project" $ do + cabal "sdist" ["all"] \ No newline at end of file diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.sub-rs.v2.out b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.sub-rs.v2.out new file mode 100644 index 0000000000000000000000000000000000000000..f6ee642cc692c4149e8ba5182c78657c62eb3804 --- /dev/null +++ b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.sub-rs.v2.out @@ -0,0 +1,3 @@ +# cabal v2-sdist +Wrote tarball sdist to <ROOT>/dist-newstyle/sdist/r-0.1.tar.gz +Wrote tarball sdist to <ROOT>/dist-newstyle/sdist/s-0.1.tar.gz diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.sub-rs.v2.test.hs b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.sub-rs.v2.test.hs new file mode 100644 index 0000000000000000000000000000000000000000..239f91b1e28e40800ff508a7a3e80fbda9f7f817 --- /dev/null +++ b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/cabal.sub-rs.v2.test.hs @@ -0,0 +1,6 @@ +import Test.Cabal.Prelude + +-- cabal.sub-rs.project has "packages: r/ s/" and "cabal v2-sdist" writes +-- sdist/r-0.1.tar.gz and sdist/s-0.1.tar.gz. That is correct. +main = cabalTest . withProjectFile "cabal.sub-rs.project" $ do + cabal "v2-sdist" ["all"] \ No newline at end of file diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/p/P.hs b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/p/P.hs new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/p/p.cabal b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/p/p.cabal new file mode 100644 index 0000000000000000000000000000000000000000..6a10e9f99853db42106ff5894a4d998dd0443acb --- /dev/null +++ b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/p/p.cabal @@ -0,0 +1,8 @@ +name: p +version: 0.1 +build-type: Simple +cabal-version: >= 1.2 + +library + exposed-modules: P + build-depends: base diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/q/Q.hs b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/q/Q.hs new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/q/q.cabal b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/q/q.cabal new file mode 100644 index 0000000000000000000000000000000000000000..3033151742599769187f458482a21f8a2c49e56c --- /dev/null +++ b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/q/q.cabal @@ -0,0 +1,8 @@ +name: q +version: 0.1 +build-type: Simple +cabal-version: >= 1.2 + +library + exposed-modules: Q + build-depends: base diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/r/R.hs b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/r/R.hs new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/r/r.cabal b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/r/r.cabal new file mode 100644 index 0000000000000000000000000000000000000000..8143b51865f6305b85ef0445d3c61ce390952536 --- /dev/null +++ b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/r/r.cabal @@ -0,0 +1,8 @@ +name: r +version: 0.1 +build-type: Simple +cabal-version: >= 1.2 + +library + exposed-modules: R + build-depends: base diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/s/S.hs b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/s/S.hs new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/s/s.cabal b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/s/s.cabal new file mode 100644 index 0000000000000000000000000000000000000000..e30a1595f81ba7567a0dee65d9e1c6e35ca7cd9a --- /dev/null +++ b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/s/s.cabal @@ -0,0 +1,8 @@ +name: s +version: 0.1 +build-type: Simple +cabal-version: >= 1.2 + +library + exposed-modules: S + build-depends: base diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/uv.cabal b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/uv.cabal new file mode 100644 index 0000000000000000000000000000000000000000..3205e54e0ba768b4885baaa98a49d149c1397941 --- /dev/null +++ b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-Yes/uv.cabal @@ -0,0 +1,14 @@ +cabal-version: 3.0 +name: uv +version: 0.1 +build-type: Simple + +library U + visibility: public + exposed-modules: U + build-depends: base + +library V + visibility: public + exposed-modules: V + build-depends: base diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/README.md b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/README.md new file mode 100644 index 0000000000000000000000000000000000000000..0b3da4f90900fc36dc93e63d10604b1b04727706 --- /dev/null +++ b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/README.md @@ -0,0 +1,85 @@ +# Tests of sdist with `--project-file` + +``` +$ tree -P '*.project|*.test.hs' --prune +. +├── cabal.ignore-project.test.hs +├── cabal.ignore-project.v2.test.hs +├── cabal.no-project.test.hs +├── cabal.no-project.v2.test.hs +├── cabal.project +├── Projects-Default-No +│  ├── cabal.dot-uv.project +│  ├── cabal.dot-uv.test.hs +│  ├── cabal.dot-uv.v2.test.hs +│  ├── cabal.ignore-project.test.hs +│  ├── cabal.ignore-project.v2.test.hs +│  ├── cabal.no-project.test.hs +│  ├── cabal.no-project.v2.test.hs +│  ├── cabal.sub-pq.project +│  ├── cabal.sub-pq.test.hs +│  ├── cabal.sub-pq.v2.test.hs +│  ├── cabal.sub-rs.project +│  ├── cabal.sub-rs.test.hs +│  └── cabal.sub-rs.v2.test.hs +└── Projects-Default-Yes + ├── cabal.dot-uv.project + ├── cabal.dot-uv.test.hs + ├── cabal.dot-uv.v2.test.hs + ├── cabal.ignore-project.test.hs + ├── cabal.ignore-project.v2.test.hs + ├── cabal.no-project.test.hs + ├── cabal.no-project.v2.test.hs + ├── cabal.project + ├── cabal.project.test.hs + ├── cabal.project.v2.test.hs + ├── cabal.sub-pq.project + ├── cabal.sub-pq.test.hs + ├── cabal.sub-pq.v2.test.hs + ├── cabal.sub-rs.project + ├── cabal.sub-rs.test.hs + └── cabal.sub-rs.v2.test.hs + +3 directories, 34 files +``` + +There are of the two subdirectories, one has a `cabal.project` and the other +doesn't. This is the default project. There are three important things to notice +with these tests. + +1. All the tests with a supplied `--project-file` option pick up a default + `cabal.project` instead; either the one one in the current directory or the + one from the parent directory, one level up. I think this behaviour is wrong + and the supplied `--project-file` option should be respected. + + Before I'd put a project there, one level up, the project probing had gone + all the way up to Cabal's own `cabal.project` as can be seen by this diff + after that change: + + ```diff + $ git diff + ... + --- a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/cabal.sub-rs.out + +++ b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Projects-Default-No/cabal.sub-rs.out + @@ -1,12 +1,2 @@ + # cabal sdist + -Wrote tarball sdist to <ROOT>/cabal.sub-rs.dist/work/./dist/sdist/Cabal-3.11.0.0.tar.gz + -Wrote tarball sdist to <ROOT>/cabal.sub-rs.dist/work/./dist/sdist/cabal-testsuite-3.tar.gz + -Wrote tarball sdist to <ROOT>/cabal.sub-rs.dist/work/./dist/sdist/Cabal-syntax-3.11.0.0.tar.gz + -Wrote tarball sdist to <ROOT>/cabal.sub-rs.dist/work/./dist/sdist/cabal-install-3.11.0.0.tar.gz + -Wrote tarball sdist to <ROOT>/cabal.sub-rs.dist/work/./dist/sdist/cabal-install-solver-3.11.0.0.tar.gz + -Wrote tarball sdist to <ROOT>/cabal.sub-rs.dist/work/./dist/sdist/solver-benchmarks-3.tar.gz + -Wrote tarball sdist to <ROOT>/cabal.sub-rs.dist/work/./dist/sdist/Cabal-QuickCheck-3.11.0.0.tar.gz + -Wrote tarball sdist to <ROOT>/cabal.sub-rs.dist/work/./dist/sdist/Cabal-tree-diff-3.11.0.0.tar.gz + -Wrote tarball sdist to <ROOT>/cabal.sub-rs.dist/work/./dist/sdist/Cabal-described-3.11.0.0.tar.gz + -Wrote tarball sdist to <ROOT>/cabal.sub-rs.dist/work/./dist/sdist/Cabal-tests-3.tar.gz + -Wrote tarball sdist to <ROOT>/cabal.sub-rs.dist/work/./dist/sdist/cabal-benchmarks-3.tar.gz + +Wrote tarball sdist to <ROOT>/cabal.sub-rs.dist/work/./dist/sdist/p-0.1.tar.gz + ``` + +2. The `--ignore-project` option works, as witnessed by each + `cabal.ignore-project.test.hs` when the package in the same directory as the + test is used. + +3. The `*.v2.test.hs` are the same as their `*.test.hs` sibling tests but they + exercise the `v2-sdist` command instead of the `sdist` command. diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Z.hs b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/Z.hs new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/cabal.ignore-project.out b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/cabal.ignore-project.out new file mode 100644 index 0000000000000000000000000000000000000000..bba241f8f36761bb5aec750d78eac0dcab83e13f --- /dev/null +++ b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/cabal.ignore-project.out @@ -0,0 +1,2 @@ +# cabal sdist +Wrote tarball sdist to <ROOT>/cabal.ignore-project.dist/work/./dist/sdist/z-0.1.tar.gz diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/cabal.ignore-project.test.hs b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/cabal.ignore-project.test.hs new file mode 100755 index 0000000000000000000000000000000000000000..7d3628c2b43b1bc19b27a55b72f29cd462d149d4 --- /dev/null +++ b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/cabal.ignore-project.test.hs @@ -0,0 +1,5 @@ +import Test.Cabal.Prelude + +-- This test correctly writes sdist/z-0.1.tar.gz for the z.cabal package. +main = cabalTest $ do + cabal "sdist" ["all", "--ignore-project"] \ No newline at end of file diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/cabal.ignore-project.v2.out b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/cabal.ignore-project.v2.out new file mode 100644 index 0000000000000000000000000000000000000000..dc7f939f86b3faa2f51481862a2c3074bdf71638 --- /dev/null +++ b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/cabal.ignore-project.v2.out @@ -0,0 +1,2 @@ +# cabal sdist +Wrote tarball sdist to <ROOT>/cabal.ignore-project.v2.dist/work/./dist/sdist/z-0.1.tar.gz diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/cabal.ignore-project.v2.test.hs b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/cabal.ignore-project.v2.test.hs new file mode 100755 index 0000000000000000000000000000000000000000..7d3628c2b43b1bc19b27a55b72f29cd462d149d4 --- /dev/null +++ b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/cabal.ignore-project.v2.test.hs @@ -0,0 +1,5 @@ +import Test.Cabal.Prelude + +-- This test correctly writes sdist/z-0.1.tar.gz for the z.cabal package. +main = cabalTest $ do + cabal "sdist" ["all", "--ignore-project"] \ No newline at end of file diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/cabal.no-project.out b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/cabal.no-project.out new file mode 100644 index 0000000000000000000000000000000000000000..da8d99d249f682dc7dd505b3e69b293bacf4890f --- /dev/null +++ b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/cabal.no-project.out @@ -0,0 +1,2 @@ +# cabal sdist +Wrote tarball sdist to <ROOT>/cabal.no-project.dist/work/./dist/sdist/p-0.1.tar.gz diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/cabal.no-project.test.hs b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/cabal.no-project.test.hs new file mode 100755 index 0000000000000000000000000000000000000000..defb9406c3c75b9feed97274e363e6a517d02d61 --- /dev/null +++ b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/cabal.no-project.test.hs @@ -0,0 +1,7 @@ +import Test.Cabal.Prelude + +-- When no project is given, "cabal sdist" finds a default cabal.project that +-- has "packages: Projects-Default-No/p" and writes sdist/p-0.1.tar.gz. This is +-- correct. +main = cabalTest $ do + cabal "sdist" ["all"] \ No newline at end of file diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/cabal.no-project.v2.out b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/cabal.no-project.v2.out new file mode 100644 index 0000000000000000000000000000000000000000..63c0f0c36f1740d58f02782c9fd706cb0a2ba1f2 --- /dev/null +++ b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/cabal.no-project.v2.out @@ -0,0 +1,2 @@ +# cabal v2-sdist +Wrote tarball sdist to <ROOT>/dist-newstyle/sdist/p-0.1.tar.gz diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/cabal.no-project.v2.test.hs b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/cabal.no-project.v2.test.hs new file mode 100755 index 0000000000000000000000000000000000000000..d86a679245805060ac820e2edeacc4c3b9d92a45 --- /dev/null +++ b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/cabal.no-project.v2.test.hs @@ -0,0 +1,7 @@ +import Test.Cabal.Prelude + +-- When no project is given, "cabal v2-sdist" finds a default cabal.project that +-- has "packages: Projects-Default-No/p" and writes sdist/p-0.1.tar.gz. This is +-- correct. +main = cabalTest $ do + cabal "v2-sdist" ["all"] \ No newline at end of file diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/cabal.project b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/cabal.project new file mode 100644 index 0000000000000000000000000000000000000000..c46fad9d90b31198210c5a927fa9c55c25deb996 --- /dev/null +++ b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/cabal.project @@ -0,0 +1 @@ +packages: Projects-Default-No/p \ No newline at end of file diff --git a/cabal-testsuite/PackageTests/SDist/Respect-Project-File/z.cabal b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/z.cabal new file mode 100644 index 0000000000000000000000000000000000000000..9a0cada3b71ececefed386ad64e421a1076e6caa --- /dev/null +++ b/cabal-testsuite/PackageTests/SDist/Respect-Project-File/z.cabal @@ -0,0 +1,8 @@ +name: z +version: 0.1 +build-type: Simple +cabal-version: >= 1.2 + +library + exposed-modules: Z + build-depends: base