Skip to content

Commit 5f96aa9

Browse files
authored
Merge pull request #11541 from geekosaur/solver-tests
Add solver tests to validate
2 parents 071539a + c6c343f commit 5f96aa9

5 files changed

Lines changed: 26 additions & 1 deletion

File tree

.github/workflows/validate.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -232,7 +232,7 @@ jobs:
232232
run: |
233233
set +e
234234
rc=0
235-
tests="lib-tests lib-suite cli-tests cli-suite"
235+
tests="lib-tests lib-suite cli-tests cli-suite solver-tests"
236236
if [ "${{ matrix.ghc }}" = "${{ env.GHC_FOR_SOLVER_BENCHMARKS }}" ]; then
237237
tests="$tests solver-benchmarks-tests solver-benchmarks-run"
238238
fi

cabal-validate/src/Cli.hs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -198,6 +198,7 @@ resolveOpts opts = do
198198
, optional (rawRunLibSuite opts && not (null (rawExtraCompilers opts))) LibSuiteExtras
199199
, optional (rawRunCliTests opts && not (rawLibOnly opts)) CliTests
200200
, optional (rawRunCliSuite opts && not (rawLibOnly opts)) CliSuite
201+
, optional (rawRunSolverTests opts) SolverTests
201202
, optionals (rawSolverBenchmarks opts) [SolverBenchmarksTests, SolverBenchmarksRun]
202203
]
203204

@@ -211,6 +212,7 @@ resolveOpts opts = do
211212
, "Cabal-QuickCheck"
212213
, "Cabal-tree-diff"
213214
, "Cabal-described"
215+
, "cabal-install-solver"
214216
]
215217
, optionals
216218
(not (rawLibOnly opts))
@@ -303,6 +305,7 @@ data RawOpts = RawOpts
303305
, rawRunCliTests :: Bool
304306
, rawRunLibSuite :: Bool
305307
, rawRunCliSuite :: Bool
308+
, rawRunSolverTests :: Bool
306309
, rawSolverBenchmarks :: Bool
307310
, rawHackageTests :: HackageTests
308311
}
@@ -418,6 +421,11 @@ rawOptsParser =
418421
"run-cli-suite"
419422
( help "Run `cabal-testsuite` with the `cabal-install` executable"
420423
)
424+
<*> boolOption
425+
True
426+
"run-solver-tests"
427+
( help "Run `cabal-install-solver` tests"
428+
)
421429
<*> boolOption
422430
False
423431
"solver-benchmarks"

cabal-validate/src/Main.hs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ runStep opts step = do
5656
LibSuiteExtras -> libSuiteExtras opts
5757
CliSuite -> cliSuite opts
5858
CliTests -> cliTests opts
59+
SolverTests -> solverTests opts
5960
SolverBenchmarksTests -> solverBenchmarksTests opts
6061
SolverBenchmarksRun -> solverBenchmarksRun opts
6162
withTiming (startTime opts) title action
@@ -409,6 +410,17 @@ cliSuite opts = do
409410
++ rtsArgs opts
410411
)
411412

413+
-- | Run the @cabal-install-solver@ unit tests
414+
solverTests :: Opts -> IO ()
415+
solverTests opts = do
416+
command <- cabalListBin opts "cabal-install-solver:test:unit-tests"
417+
418+
timedWithCwd
419+
opts
420+
"cabal-install-solver"
421+
command
422+
[]
423+
412424
-- | Run the @solver-benchmarks@ unit tests.
413425
solverBenchmarksTests :: Opts -> IO ()
414426
solverBenchmarksTests opts = do

cabal-validate/src/Step.hs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ data Step
1818
| LibSuiteExtras
1919
| CliTests
2020
| CliSuite
21+
| SolverTests
2122
| SolverBenchmarksTests
2223
| SolverBenchmarksRun
2324
deriving (Eq, Enum, Bounded, Show)
@@ -38,6 +39,7 @@ displayStep step =
3839
LibSuiteExtras -> "lib-suite-extras"
3940
CliTests -> "cli-tests"
4041
CliSuite -> "cli-suite"
42+
SolverTests -> "solver-tests"
4143
SolverBenchmarksTests -> "solver-benchmarks-tests"
4244
SolverBenchmarksRun -> "solver-benchmarks-run"
4345

cabal.validate.project

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,3 +17,6 @@ package cabal-install
1717

1818
package Cabal
1919
flags: +git-rev
20+
21+
package cabal-install-solver
22+
flags: +debug-expensive-assertions

0 commit comments

Comments
 (0)