12
12
# See https://github.com/haskell/cabal/issues/8049
13
13
HC=ghc
14
14
CABAL=cabal
15
- CABALPLAN=cabal-plan
16
15
JOBS=4
17
16
LIBTESTS=true
18
17
CLITESTS=true
@@ -50,7 +49,6 @@ Available options:
50
49
--(no-)run-cli-suite Run cabal-testsuite with client
51
50
-w, --with-compiler HC With compiler
52
51
--with-cabal CABAL With cabal-install
53
- --with-cabal-plan CABALPLAN With cabal-plan
54
52
--extra-hc HC Extra compiler to run test-suite with
55
53
--(no-)doctest Run doctest on library
56
54
--(no-)solver-benchmarks Build and trial run solver-benchmarks
@@ -196,11 +194,6 @@ while [ $# -gt 0 ]; do
196
194
shift
197
195
shift
198
196
;;
199
- --with-cabal-plan)
200
- CABALPLAN=$2
201
- shift
202
- shift
203
- ;;
204
197
--extra-hc)
205
198
EXTRAHCS=" $EXTRAHCS $2 "
206
199
shift
@@ -315,7 +308,7 @@ BUILDDIR=dist-newstyle-validate-$BASEHC
315
308
CABAL_TESTSUITE_BDIR=" $( pwd) /$BUILDDIR /build/$ARCH /$BASEHC /cabal-testsuite-3"
316
309
317
310
CABALNEWBUILD=" ${CABAL} v2-build $JOBS -w $HC --builddir=$BUILDDIR --project-file=$PROJECTFILE "
318
- CABALPLANLISTBIN =" ${CABALPLAN } list-bin --builddir=$BUILDDIR "
311
+ CABALLISTBIN =" ${CABAL } list-bin --builddir=$BUILDDIR --project-file= $PROJECTFILE "
319
312
320
313
# header
321
314
# ######################################################################
@@ -327,7 +320,6 @@ cat <<EOF
327
320
compiler: $HC
328
321
runhaskell: $RUNHASKELL
329
322
cabal-install: $CABAL
330
- cabal-plan: $CABALPLAN
331
323
jobs: $JOBS
332
324
Cabal tests: $LIBTESTS
333
325
cabal-install tests: $CLITESTS
@@ -347,7 +339,6 @@ print_header print-tool-versions
347
339
348
340
timed $HC --version
349
341
timed $CABAL --version
350
- timed $CABALPLAN --version
351
342
352
343
for EXTRAHC in $EXTRAHCS ; do
353
344
timed $EXTRAHC --version
@@ -368,8 +359,11 @@ step_time_summary() {
368
359
369
360
step_build () {
370
361
print_header " build"
362
+ print_header " Step Build: dry run"
371
363
timed $CABALNEWBUILD $TARGETS --dry-run || exit 1
372
- $CABALPLAN topo --builddir=$BUILDDIR || exit 1
364
+ print_header " Step Build: full build plan (cached and to-be-built dependencies):"
365
+ jq -r ' ."install-plan" | map(."pkg-name" + "-" + ."pkg-version" + " " + ."component-name") | join("\n")' " $BUILDDIR /cache/plan.json"
366
+ print_header " Step Build: actual build"
373
367
timed $CABALNEWBUILD $TARGETS || exit 1
374
368
}
375
369
@@ -386,22 +380,22 @@ timed doctest -package-env=doctest-Cabal --fast Cabal/Distribution Cabal/Languag
386
380
step_lib_tests () {
387
381
print_header " Cabal: tests"
388
382
389
- CMD=" $( $CABALPLANLISTBIN Cabal-tests:test:unit-tests) $TESTSUITEJOBS --hide-successes --with-ghc=$HC "
383
+ CMD=" $( $CABALLISTBIN Cabal-tests:test:unit-tests) $TESTSUITEJOBS --hide-successes --with-ghc=$HC "
390
384
(cd Cabal-tests && timed $CMD ) || exit 1
391
385
392
- CMD=" $( $CABALPLANLISTBIN Cabal-tests:test:check-tests) $TESTSUITEJOBS --hide-successes"
386
+ CMD=" $( $CABALLISTBIN Cabal-tests:test:check-tests) $TESTSUITEJOBS --hide-successes"
393
387
(cd Cabal-tests && timed $CMD ) || exit 1
394
388
395
- CMD=" $( $CABALPLANLISTBIN Cabal-tests:test:parser-tests) $TESTSUITEJOBS --hide-successes"
389
+ CMD=" $( $CABALLISTBIN Cabal-tests:test:parser-tests) $TESTSUITEJOBS --hide-successes"
396
390
(cd Cabal-tests && timed $CMD ) || exit 1
397
391
398
- CMD=" $( $CABALPLANLISTBIN Cabal-tests:test:rpmvercmp) $TESTSUITEJOBS --hide-successes"
392
+ CMD=" $( $CABALLISTBIN Cabal-tests:test:rpmvercmp) $TESTSUITEJOBS --hide-successes"
399
393
(cd Cabal-tests && timed $CMD ) || exit 1
400
394
401
- CMD=" $( $CABALPLANLISTBIN Cabal-tests:test:no-thunks-test) $TESTSUITEJOBS --hide-successes"
395
+ CMD=" $( $CABALLISTBIN Cabal-tests:test:no-thunks-test) $TESTSUITEJOBS --hide-successes"
402
396
(cd Cabal-tests && timed $CMD ) || exit 1
403
397
404
- CMD=$( $CABALPLANLISTBIN Cabal-tests:test:hackage-tests)
398
+ CMD=$( $CABALLISTBIN Cabal-tests:test:hackage-tests)
405
399
(cd Cabal-tests && timed $CMD read-fields) || exit 1
406
400
if $HACKAGETESTSALL ; then
407
401
(cd Cabal-tests && timed $CMD parsec) || exit 1
418
412
step_lib_suite () {
419
413
print_header " Cabal: cabal-testsuite"
420
414
421
- CMD=" $( $CABALPLANLISTBIN cabal-testsuite:exe:cabal-tests) --builddir=$CABAL_TESTSUITE_BDIR $TESTSUITEJOBS --with-ghc=$HC --hide-successes"
415
+ CMD=" $( $CABALLISTBIN cabal-testsuite:exe:cabal-tests) --builddir=$CABAL_TESTSUITE_BDIR $TESTSUITEJOBS --with-ghc=$HC --hide-successes"
422
416
(cd cabal-testsuite && timed $CMD ) || exit 1
423
417
}
424
418
425
419
step_lib_suite_extras () {
426
420
for EXTRAHC in $EXTRAHCS ; do
427
421
428
- CMD=" $( $CABALPLANLISTBIN cabal-testsuite:exe:cabal-tests) --builddir=$CABAL_TESTSUITE_BDIR $TESTSUITEJOBS --with-ghc=$EXTRAHC --hide-successes"
422
+ CMD=" $( $CABALLISTBIN cabal-testsuite:exe:cabal-tests) --builddir=$CABAL_TESTSUITE_BDIR $TESTSUITEJOBS --with-ghc=$EXTRAHC --hide-successes"
429
423
(cd cabal-testsuite && timed $CMD ) || exit 1
430
424
431
425
done
@@ -438,19 +432,19 @@ step_cli_tests() {
438
432
print_header " cabal-install: tests"
439
433
440
434
# this are sorted in asc time used, quicker tests first.
441
- CMD=" $( $CABALPLANLISTBIN cabal-install:test:long-tests) $TESTSUITEJOBS --hide-successes"
435
+ CMD=" $( $CABALLISTBIN cabal-install:test:long-tests) $TESTSUITEJOBS --hide-successes"
442
436
(cd cabal-install && timed $CMD ) || exit 1
443
437
444
438
# This doesn't work in parallel either
445
- CMD=" $( $CABALPLANLISTBIN cabal-install:test:unit-tests) -j1 --hide-successes"
439
+ CMD=" $( $CABALLISTBIN cabal-install:test:unit-tests) -j1 --hide-successes"
446
440
(cd cabal-install && timed $CMD ) || exit 1
447
441
448
442
# Only single job, otherwise we fail with "Heap exhausted"
449
- CMD=" $( $CABALPLANLISTBIN cabal-install:test:mem-use-tests) -j1 --hide-successes"
443
+ CMD=" $( $CABALLISTBIN cabal-install:test:mem-use-tests) -j1 --hide-successes"
450
444
(cd cabal-install && timed $CMD ) || exit 1
451
445
452
446
# This test-suite doesn't like concurrency
453
- CMD=" $( $CABALPLANLISTBIN cabal-install:test:integration-tests2) -j1 --hide-successes --with-ghc=$HC "
447
+ CMD=" $( $CABALLISTBIN cabal-install:test:integration-tests2) -j1 --hide-successes --with-ghc=$HC "
454
448
(cd cabal-install && timed $CMD ) || exit 1
455
449
}
456
450
@@ -460,7 +454,7 @@ CMD="$($CABALPLANLISTBIN cabal-install:test:integration-tests2) -j1 --hide-succe
460
454
step_cli_suite () {
461
455
print_header " cabal-install: cabal-testsuite"
462
456
463
- CMD=" $( $CABALPLANLISTBIN cabal-testsuite:exe:cabal-tests) --builddir=$CABAL_TESTSUITE_BDIR --with-cabal=$( $CABALPLANLISTBIN cabal-install:exe:cabal) $TESTSUITEJOBS --with-ghc=$HC --hide-successes"
457
+ CMD=" $( $CABALLISTBIN cabal-testsuite:exe:cabal-tests) --builddir=$CABAL_TESTSUITE_BDIR --with-cabal=$( $CABALLISTBIN cabal-install:exe:cabal) $TESTSUITEJOBS --with-ghc=$HC --hide-successes"
464
458
(cd cabal-testsuite && timed $CMD ) || exit 1
465
459
}
466
460
@@ -470,15 +464,15 @@ CMD="$($CABALPLANLISTBIN cabal-testsuite:exe:cabal-tests) --builddir=$CABAL_TEST
470
464
step_solver_benchmarks_tests () {
471
465
print_header " solver-benchmarks: test"
472
466
473
- CMD=" $( $CABALPLANLISTBIN solver-benchmarks:test:unit-tests) "
467
+ CMD=" $( $CABALLISTBIN solver-benchmarks:test:unit-tests) "
474
468
(cd Cabal && timed $CMD ) || exit 1
475
469
}
476
470
477
471
step_solver_benchmarks_run () {
478
472
print_header " solver-benchmarks: run"
479
473
480
474
SOLVEPKG=Chart-diagrams
481
- CMD=" $( $CABALPLANLISTBIN solver-benchmarks:exe:hackage-benchmark) --cabal1=$CABAL --cabal2=$( $CABALPLANLISTBIN cabal-install:exe:cabal) --trials=5 --packages=$SOLVEPKG --print-trials"
475
+ CMD=" $( $CABALLISTBIN solver-benchmarks:exe:hackage-benchmark) --cabal1=$CABAL --cabal2=$( $CABALLISTBIN cabal-install:exe:cabal) --trials=5 --packages=$SOLVEPKG --print-trials"
482
476
(cd Cabal && timed $CMD ) || exit 1
483
477
}
484
478
0 commit comments