Skip to content

Commit 42d92c9

Browse files
authored
Merge pull request #4585 from haskell/2.0-port
Cherry-pick the test suite fixes from master into 2.0
2 parents 5a7da47 + b534b7e commit 42d92c9

File tree

8 files changed

+60
-24
lines changed

8 files changed

+60
-24
lines changed

.travis.yml

+4-1
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,9 @@ matrix:
6363
- env: GHCVER=8.0.2 SCRIPT=bootstrap
6464
sudo: required
6565
os: linux
66+
- env: GHCVER=8.2.1 SCRIPT=script
67+
os: linux
68+
sudo: required
6669

6770
# We axed GHC 7.6 and earlier because it's not worth the trouble to
6871
# make older GHC work with clang's cpp. See
@@ -117,7 +120,7 @@ install:
117120
# build config format changed.
118121
script:
119122
- rm -rf dist-newstyle
120-
- ./travis-${SCRIPT}.sh -j1
123+
- ./travis-${SCRIPT}.sh -j2
121124

122125
cache:
123126
directories:

cabal-install/cabal-install.cabal

+32-8
Original file line numberDiff line numberDiff line change
@@ -365,6 +365,29 @@ executable cabal
365365
hs-source-dirs: tests
366366
other-modules:
367367
UnitTests
368+
UnitTests.Distribution.Client.ArbitraryInstances
369+
UnitTests.Distribution.Client.FileMonitor
370+
UnitTests.Distribution.Client.GZipUtils
371+
UnitTests.Distribution.Client.Glob
372+
UnitTests.Distribution.Client.IndexUtils.Timestamp
373+
UnitTests.Distribution.Client.InstallPlan
374+
UnitTests.Distribution.Client.JobControl
375+
UnitTests.Distribution.Client.ProjectConfig
376+
UnitTests.Distribution.Client.Sandbox
377+
UnitTests.Distribution.Client.Sandbox.Timestamp
378+
UnitTests.Distribution.Client.Store
379+
UnitTests.Distribution.Client.Tar
380+
UnitTests.Distribution.Client.Targets
381+
UnitTests.Distribution.Client.UserConfig
382+
UnitTests.Distribution.Solver.Modular.DSL
383+
UnitTests.Distribution.Solver.Modular.DSL.TestCaseUtils
384+
UnitTests.Distribution.Solver.Modular.MemoryUsage
385+
UnitTests.Distribution.Solver.Modular.PSQ
386+
UnitTests.Distribution.Solver.Modular.QuickCheck
387+
UnitTests.Distribution.Solver.Modular.RetryLog
388+
UnitTests.Distribution.Solver.Modular.Solver
389+
UnitTests.Distribution.Solver.Modular.WeightedPSQ
390+
UnitTests.Options
368391
MemoryUsageTests
369392
SolverQuickCheck
370393
IntegrationTests2
@@ -404,26 +427,27 @@ Test-Suite unit-tests
404427
other-modules:
405428
Distribution.Client.Compat.FileLock
406429
UnitTests.Distribution.Client.ArbitraryInstances
407-
UnitTests.Distribution.Client.Targets
408430
UnitTests.Distribution.Client.FileMonitor
409-
UnitTests.Distribution.Client.Glob
410431
UnitTests.Distribution.Client.GZipUtils
432+
UnitTests.Distribution.Client.Glob
433+
UnitTests.Distribution.Client.IndexUtils.Timestamp
434+
UnitTests.Distribution.Client.InstallPlan
435+
UnitTests.Distribution.Client.JobControl
436+
UnitTests.Distribution.Client.ProjectConfig
411437
UnitTests.Distribution.Client.Sandbox
412438
UnitTests.Distribution.Client.Sandbox.Timestamp
413439
UnitTests.Distribution.Client.Store
414440
UnitTests.Distribution.Client.Tar
441+
UnitTests.Distribution.Client.Targets
415442
UnitTests.Distribution.Client.UserConfig
416-
UnitTests.Distribution.Client.ProjectConfig
417-
UnitTests.Distribution.Client.JobControl
418-
UnitTests.Distribution.Client.IndexUtils.Timestamp
419-
UnitTests.Distribution.Client.InstallPlan
443+
UnitTests.Distribution.Solver.Modular.DSL
444+
UnitTests.Distribution.Solver.Modular.DSL.TestCaseUtils
420445
UnitTests.Distribution.Solver.Modular.PSQ
421446
UnitTests.Distribution.Solver.Modular.RetryLog
422447
UnitTests.Distribution.Solver.Modular.Solver
423-
UnitTests.Distribution.Solver.Modular.DSL
424-
UnitTests.Distribution.Solver.Modular.DSL.TestCaseUtils
425448
UnitTests.Distribution.Solver.Modular.WeightedPSQ
426449
UnitTests.Options
450+
427451
build-depends:
428452
base,
429453
async,
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# Setup configure
2+
Resolving dependencies...
3+
Configuring T4447-1.0...
4+
Error:
5+
Cannot instantiate requirement 'A' brought into scope by build-depends: T4447:foo-indef
6+
with locally defined module brought into scope by other-modules: A
7+
as this would create a cyclic dependency, which GHC does not support.
8+
Try moving this module to a separate library, e.g.,
9+
create a new stanza: library 'sublib'.
10+
In the stanza executable foo-exe

cabal-testsuite/PackageTests/CustomWithoutCabalDefaultMain/cabal.test.hs

+3
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,11 @@ main = cabalTest $ do
33
r <- fails $ cabal' "new-build" []
44
assertRegex "Should not have been able to import Cabal"
55
"(Could not find module|Failed to load interface for).*Distribution\\.Simple" r
6+
{-
7+
-- TODO: With GHC 8.2, this no longer is displayed
68
-- When using --with-ghc, this message is not necessarily output
79
has_cabal <- hasCabalForGhc
810
when has_cabal $
911
assertRegex "It is a member of the hidden package .*Cabal-"
1012
"It is a member of the hidden package" r
13+
-}
Original file line numberDiff line numberDiff line change
@@ -1,11 +0,0 @@
1-
# cabal new-build
2-
Resolving dependencies...
3-
In order, the following will be built:
4-
- T4450-1.0 (exe:foo) (first run)
5-
# cabal new-build
6-
In order, the following will be built:
7-
- T4450-1.0 (lib:T4450) (additional components to build)
8-
- dep-1.0 (lib) (first run)
9-
Configuring library for dep-1.0..
10-
Preprocessing library for dep-1.0..
11-
Building library for dep-1.0..
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
import Test.Cabal.Prelude
22
main = cabalTest $ do
33
skipUnless =<< hasNewBuildCompatBootCabal
4-
cabal "new-build" ["foo"]
5-
cabal "new-build" ["dep"]
4+
-- Custom Setups inconsistently report output depending
5+
-- on your boot GHC.
6+
recordMode DoNotRecord $ cabal "new-build" ["foo"]
7+
recordMode DoNotRecord $ cabal "new-build" ["dep"]

cabal-testsuite/Test/Cabal/Server.hs

+2-1
Original file line numberDiff line numberDiff line change
@@ -255,7 +255,8 @@ initServer s0 = do
255255
pid <- withProcessHandle (serverProcessHandle s0) $ \ph ->
256256
case ph of
257257
OpenHandle x -> return (show x)
258-
ClosedHandle _ -> return (serverProcessId s0)
258+
-- TODO: handle OpenExtHandle?
259+
_ -> return (serverProcessId s0)
259260
#endif
260261
let s = s0 { serverProcessId = pid }
261262
-- We will read/write a line at a time, including for

cabal.project

+5-1
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,12 @@ constraints: unix >= 2.7.1.0,
77

88
program-options
99
-- So us hackers get all the assertion failures early:
10-
-- NOTE: currently commented out, see https://github.com/haskell/cabal/issues/3911
10+
--
11+
-- NOTE: currently commented out, see
12+
-- https://github.com/haskell/cabal/issues/3911
13+
--
1114
-- ghc-options: -fno-ignore-asserts
15+
--
1216
-- as a workaround we specify it for each package individually:
1317
package Cabal
1418
ghc-options: -fno-ignore-asserts

0 commit comments

Comments
 (0)