[Git][ghc/ghc][wip/testsuite-output-patch] 3 commits: Drop circle-ci-job.sh
Ben Gamari (@bgamari)
gitlab at gitlab.haskell.org
Thu Jul 6 18:30:13 UTC 2023
Ben Gamari pushed to branch wip/testsuite-output-patch at Glasgow Haskell Compiler / GHC
Commits:
5b55b0ad by Ben Gamari at 2023-07-06T14:29:43-04:00
Drop circle-ci-job.sh
- - - - -
00f4a13e by Ben Gamari at 2023-07-06T14:29:43-04:00
testsuite: Allow preservation of unexpected output
Here we introduce a new flag to the testsuite driver,
--unexpected-output-dir=<dir>, which allows the user to ask
the driver to preserve unexpected output from tests. The intent is for
this to be used in CI to allow users to more easily fix unexpected
platform-dependent output.
- - - - -
13e66fb9 by Ben Gamari at 2023-07-06T14:29:43-04:00
gitlab-ci: Preserve unexpected output
Here we enable use of the testsuite driver's `--unexpected-output-dir`
flag by CI, preserving the result as an artifact for use by users.
- - - - -
7 changed files:
- .gitlab/ci.sh
- − .gitlab/circle-ci-job.sh
- .gitlab/generate-ci/gen_ci.hs
- .gitlab/jobs.yaml
- testsuite/driver/runtests.py
- testsuite/driver/testglobals.py
- testsuite/driver/testlib.py
Changes:
=====================================
.gitlab/ci.sh
=====================================
@@ -43,12 +43,13 @@ $0 - GHC continuous integration driver
Common Modes:
- usage Show this usage message.
- setup Prepare environment for a build.
- configure Run ./configure.
- clean Clean the tree
- shell Run an interactive shell with a configured build environment.
- save_cache Preserve the cabal cache
+ usage Show this usage message.
+ setup Prepare environment for a build.
+ configure Run ./configure.
+ clean Clean the tree
+ shell Run an interactive shell with a configured build environment.
+ save_test_output Generate unexpected-test-output.tar.gz
+ save_cache Preserve the cabal cache
Hadrian build system
build_hadrian Build GHC via the Hadrian build system
@@ -614,12 +615,16 @@ function test_hadrian() {
--summary-junit=./junit.xml \
--test-have-intree-files \
--docs=none \
- "runtest.opts+=${RUNTEST_ARGS:-}" || fail "cross-compiled hadrian main testsuite"
+ "runtest.opts+=${RUNTEST_ARGS:-}" \
+ "runtest.opts+=--unexpected-output-dir=$TOP/unexpected-test-output" \
+ || fail "cross-compiled hadrian main testsuite"
elif [[ -n "${CROSS_TARGET:-}" ]] && [[ "${CROSS_TARGET:-}" == *"wasm"* ]]; then
run_hadrian \
test \
--summary-junit=./junit.xml \
- "runtest.opts+=${RUNTEST_ARGS:-}" || fail "hadrian main testsuite targetting $CROSS_TARGET"
+ "runtest.opts+=${RUNTEST_ARGS:-}" \
+ "runtest.opts+=--unexpected-output-dir=$TOP/unexpected-test-output" \
+ || fail "hadrian main testsuite targetting $CROSS_TARGET"
elif [ -n "${CROSS_TARGET:-}" ]; then
local instdir="$TOP/_build/install"
local test_compiler="$instdir/bin/${cross_prefix}ghc$exe"
@@ -635,7 +640,9 @@ function test_hadrian() {
--test-compiler=stage-cabal \
--test-root-dirs=testsuite/tests/perf \
--test-root-dirs=testsuite/tests/typecheck \
- "runtest.opts+=${RUNTEST_ARGS:-}" || fail "hadrian cabal-install test"
+ "runtest.opts+=${RUNTEST_ARGS:-}" \
+ "runtest.opts+=--unexpected-output-dir=$TOP/unexpected-test-output" \
+ || fail "hadrian cabal-install test"
else
local instdir="$TOP/_build/install"
local test_compiler="$instdir/bin/${cross_prefix}ghc$exe"
@@ -673,12 +680,13 @@ function test_hadrian() {
--summary-junit=./junit.xml \
--test-have-intree-files \
--test-compiler="${test_compiler}" \
- "runtest.opts+=${RUNTEST_ARGS:-}" || fail "hadrian main testsuite"
+ "runtest.opts+=${RUNTEST_ARGS:-}" \
+ "runtest.opts+=--unexpected-output-dir=$TOP/unexpected-test-output" \
+ || fail "hadrian main testsuite"
info "STAGE2_TEST=$?"
- fi
-
+ fi
}
function summarise_hi_files() {
@@ -770,6 +778,10 @@ function run_abi_test() {
check_interfaces out/run1 out/run2 interfaces "Mismatched interface hashes"
}
+function save_test_output() {
+ tar -czf unexpected-test-output.tar.gz unexpected-test-output
+}
+
function save_cache () {
info "Storing cabal cache from $CABAL_DIR to $CABAL_CACHE..."
rm -Rf "$CABAL_CACHE"
@@ -935,6 +947,7 @@ case ${1:-help} in
lint_author) shift; lint_author "$@" ;;
compare_interfaces_of) shift; compare_interfaces_of "$@" ;;
clean) clean ;;
+ save_test_output) save_test_output ;;
save_cache) save_cache ;;
shell) shift; shell "$@" ;;
*) fail "unknown mode $1" ;;
=====================================
.gitlab/circle-ci-job.sh deleted
=====================================
@@ -1,110 +0,0 @@
-# Circle CI "backend" for Gitlab CI
-# =================================
-#
-# Usage example:
-# .gitlab/circle-ci-job.sh validate-x86_64-linux
-#
-# There are two things to configure to get artifacts to be
-# uploaded to gitlab properly:
-#
-# - At https://<gitlab host>/admin/application_settings, expand the
-# Continuous Integration and Deployment section and set the
-# "Maximum artifacts size (MB)" field to something large enough
-# to contain the bindists (the test reports are tiny in comparison).
-# 500MB seems to work fine, but 200MB might be sufficient.
-#
-# - If gitlab is exposed behind some form of proxy (e.g nginx), make sure
-# the maximum client request body size is large enough to contain all the
-# artifacts of a build. For nginx, this would be the following configuration
-# option: https://nginx.org/en/docs/http/ngx_http_core_module.html#client_max_body_size
-# (which can be set with services.nginx.clientMaxBodySize on nixos).
-
-#!/usr/bin/env sh
-
-set -e
-
-GHCCI_URL="localhost:8888"
-
-[ $# -gt 0 ] || (echo You need to pass the Circle CI job type as argument to this script; exit 1)
-[ ${CI_RUNNER_ID:-} ] || (echo "CI_RUNNER_ID is not set"; exit 1)
-[ ${CI_JOB_ID:-} ] || (echo "CI_JOB_ID is not set"; exit 1)
-[ ${CI_COMMIT_SHA:-} ] || (echo "CI_COMMIT_SHA is not set"; exit 1)
-[ ${CI_REPOSITORY_URL:-} ] || (echo "CI_REPOSITORY_URL is not set"; exit 1)
-[ ${CI_PIPELINE_ID:-} ] || (echo "CI_PIPELINE_ID is not set"; exit 1)
-# the first argument to this script is the Circle CI job type:
-# validate-x86_64-linux, validate-i386-linux, ...
-CIRCLE_JOB="circleci-$1"
-
-gitlab_user=$(echo $CI_REPOSITORY_URL | cut -d/ -f4)
-gitlab_repo=$(echo $CI_REPOSITORY_URL | cut -d/ -f5 | cut -d. -f1)
-
-BODY="{ \"jobType\": \"$CIRCLE_JOB\", \"source\": { \"user\": \"$gitlab_user\", \"project\":\"$gitlab_repo\", \"commit\":\"$CI_COMMIT_SHA\" }, \"pipelineID\": $CI_PIPELINE_ID, \"runnerID\": $CI_RUNNER_ID, \"jobID\": $CI_JOB_ID }"
-
-
-RESP=$(curl -s -XPOST -H "Content-Type: application/json" -d "$BODY" \
- http://${GHCCI_URL}/job)
-
-if [ $? -eq 0 ]; then
- build_num=$(echo $RESP | jq '.build_num')
- circle_url=$(echo $RESP | jq '.url')
-else
- echo "Couldn't submit job"
- echo $RESP
- exit 1
-fi
-
-echo Circle CI build number: $build_num
-echo Circle CI build page: $circle_url
-
-outcome="null"
-STATUS_URL="http://${GHCCI_URL}/job/${build_num}"
-STATUS_RESP=""
-
-while [ "$outcome" == "null" ]; do
- sleep 30s
- STATUS_RESP=$(curl -s $STATUS_URL)
- if [ $? -eq 0 ]; then
- new_outcome=$(echo $STATUS_RESP | jq '.outcome')
- jq_exitcode=$?
- if [ "$new_outcome" == "null" ] && [ $jq_exitcode -ne 0 ]; then
- echo "Couldn't read 'outcome' field in JSON:"
- echo $STATUS_RESP
- echo "Skipping"
- else
- outcome="$new_outcome"
- fi
- else
- echo "curl failed:"
- echo $STATUS_RESP
- echo "Skipping"
- fi
-done
-
-if [ "$outcome" == "\"success\"" ]; then
- echo The build passed
- artifactsBody=$(curl -s http://${GHCCI_URL}/job/${build_num}/artifacts)
- (echo $artifactsBody | jq '.[] | .url' | xargs wget -q) || echo "No artifacts"
- exit 0
-else
- echo The build failed
-
- artifactsBody=$(curl -s http://${GHCCI_URL}/job/${build_num}/artifacts)
- (echo $artifactsBody | jq '.[] | .url' | xargs wget -q) || echo "No artifacts"
-
- failing_step=$(echo $STATUS_RESP | jq '.steps | .[] | .actions | .[] | select(.status != "success")')
- failing_step_name=$(echo $failing_step | jq '.name' | sed -e 's/^"//' -e 's/"$//' -e 's/\\r\\n/\n/')
- echo "Failing step: $failing_step_name"
-
- failing_cmds=$(echo $failing_step | jq '.bash_command' | sed -e 's/^"//' -e 's/"$//' -e 's/\\r\\n/\n/')
- echo "Failing command(s):"
- echo $failing_cmds
-
- log_url=$(echo $failing_step | jq '.output_url' | sed -e 's/^"//' -e 's/"$//' -e 's/\\r\\n/\n/')
- echo "Log url: $log_url"
-
- last_log_lines=$(curl -s $log_url | gunzip | jq '.[] | select(.type == "out") | .message' | sed -e 's/^"//' -e 's/"$//' -e 's/\\r\\n/\n/' | tail -50)
- echo End of the build log:
- echo $last_log_lines
-
- exit 1
-fi
=====================================
.gitlab/generate-ci/gen_ci.hs
=====================================
@@ -680,10 +680,12 @@ job arch opsys buildConfig = NamedJob { name = jobName, jobInfo = Job {..} }
jobAfterScript
| Windows <- opsys =
[ "bash .gitlab/ci.sh save_cache"
+ , "bash .gitlab/ci.sh save_test_output"
, "bash .gitlab/ci.sh clean"
]
| otherwise =
[ ".gitlab/ci.sh save_cache"
+ , ".gitlab/ci.sh save_test_output"
, ".gitlab/ci.sh clean"
, "cat ci_timings" ]
@@ -706,16 +708,19 @@ job arch opsys buildConfig = NamedJob { name = jobName, jobInfo = Job {..} }
Emulator s -> "CROSS_EMULATOR" =: s
NoEmulatorNeeded -> mempty
, if withNuma buildConfig then "ENABLE_NUMA" =: "1" else mempty
- , if validateNonmovingGc buildConfig
- then "RUNTEST_ARGS" =: "--way=nonmoving --way=nonmoving_thr --way=nonmoving_thr_sanity"
- else mempty
+ , let runtestArgs =
+ [ "--way=nonmoving --way=nonmoving_thr --way=nonmoving_thr_sanity"
+ | validateNonmovingGc buildConfig
+ ]
+ in "RUNTEST_ARGS" =: unwords runtestArgs
]
jobArtifacts = Artifacts
{ junitReport = "junit.xml"
, expireIn = "2 weeks"
, artifactPaths = [binDistName arch opsys buildConfig ++ ".tar.xz"
- ,"junit.xml"]
+ ,"junit.xml"
+ ,"unexpected-test-output.tar.gz"]
, artifactsWhen = ArtifactsAlways
}
=====================================
.gitlab/jobs.yaml
=====================================
@@ -3,6 +3,7 @@
"aarch64-darwin-validate": {
"after_script": [
".gitlab/ci.sh save_cache",
+ ".gitlab/ci.sh save_test_output",
".gitlab/ci.sh clean",
"cat ci_timings"
],
@@ -11,7 +12,8 @@
"expire_in": "2 weeks",
"paths": [
"ghc-aarch64-darwin-validate.tar.xz",
- "junit.xml"
+ "junit.xml",
+ "unexpected-test-output.tar.gz"
],
"reports": {
"junit": "junit.xml"
@@ -59,12 +61,14 @@
"LANG": "en_US.UTF-8",
"MACOSX_DEPLOYMENT_TARGET": "11.0",
"NIX_SYSTEM": "aarch64-darwin",
+ "RUNTEST_ARGS": "",
"TEST_ENV": "aarch64-darwin-validate"
}
},
"aarch64-linux-deb10-validate": {
"after_script": [
".gitlab/ci.sh save_cache",
+ ".gitlab/ci.sh save_test_output",
".gitlab/ci.sh clean",
"cat ci_timings"
],
@@ -73,7 +77,8 @@
"expire_in": "2 weeks",
"paths": [
"ghc-aarch64-linux-deb10-validate.tar.xz",
- "junit.xml"
+ "junit.xml",
+ "unexpected-test-output.tar.gz"
],
"reports": {
"junit": "junit.xml"
@@ -117,12 +122,14 @@
"BIN_DIST_NAME": "ghc-aarch64-linux-deb10-validate",
"BUILD_FLAVOUR": "validate",
"CONFIGURE_ARGS": "",
+ "RUNTEST_ARGS": "",
"TEST_ENV": "aarch64-linux-deb10-validate"
}
},
"i386-linux-deb9-validate": {
"after_script": [
".gitlab/ci.sh save_cache",
+ ".gitlab/ci.sh save_test_output",
".gitlab/ci.sh clean",
"cat ci_timings"
],
@@ -131,7 +138,8 @@
"expire_in": "2 weeks",
"paths": [
"ghc-i386-linux-deb9-validate.tar.xz",
- "junit.xml"
+ "junit.xml",
+ "unexpected-test-output.tar.gz"
],
"reports": {
"junit": "junit.xml"
@@ -175,12 +183,14 @@
"BIN_DIST_NAME": "ghc-i386-linux-deb9-validate",
"BUILD_FLAVOUR": "validate",
"CONFIGURE_ARGS": "",
+ "RUNTEST_ARGS": "",
"TEST_ENV": "i386-linux-deb9-validate"
}
},
"nightly-aarch64-darwin-validate": {
"after_script": [
".gitlab/ci.sh save_cache",
+ ".gitlab/ci.sh save_test_output",
".gitlab/ci.sh clean",
"cat ci_timings"
],
@@ -189,7 +199,8 @@
"expire_in": "8 weeks",
"paths": [
"ghc-aarch64-darwin-validate.tar.xz",
- "junit.xml"
+ "junit.xml",
+ "unexpected-test-output.tar.gz"
],
"reports": {
"junit": "junit.xml"
@@ -237,6 +248,7 @@
"LANG": "en_US.UTF-8",
"MACOSX_DEPLOYMENT_TARGET": "11.0",
"NIX_SYSTEM": "aarch64-darwin",
+ "RUNTEST_ARGS": "",
"TEST_ENV": "aarch64-darwin-validate",
"XZ_OPT": "-9"
}
@@ -244,6 +256,7 @@
"nightly-aarch64-linux-deb10-validate": {
"after_script": [
".gitlab/ci.sh save_cache",
+ ".gitlab/ci.sh save_test_output",
".gitlab/ci.sh clean",
"cat ci_timings"
],
@@ -252,7 +265,8 @@
"expire_in": "8 weeks",
"paths": [
"ghc-aarch64-linux-deb10-validate.tar.xz",
- "junit.xml"
+ "junit.xml",
+ "unexpected-test-output.tar.gz"
],
"reports": {
"junit": "junit.xml"
@@ -296,6 +310,7 @@
"BIN_DIST_NAME": "ghc-aarch64-linux-deb10-validate",
"BUILD_FLAVOUR": "validate",
"CONFIGURE_ARGS": "",
+ "RUNTEST_ARGS": "",
"TEST_ENV": "aarch64-linux-deb10-validate",
"XZ_OPT": "-9"
}
@@ -303,6 +318,7 @@
"nightly-aarch64-linux-deb10-validate+llvm": {
"after_script": [
".gitlab/ci.sh save_cache",
+ ".gitlab/ci.sh save_test_output",
".gitlab/ci.sh clean",
"cat ci_timings"
],
@@ -311,7 +327,8 @@
"expire_in": "8 weeks",
"paths": [
"ghc-aarch64-linux-deb10-validate+llvm.tar.xz",
- "junit.xml"
+ "junit.xml",
+ "unexpected-test-output.tar.gz"
],
"reports": {
"junit": "junit.xml"
@@ -355,6 +372,7 @@
"BIN_DIST_NAME": "ghc-aarch64-linux-deb10-validate+llvm",
"BUILD_FLAVOUR": "validate+llvm",
"CONFIGURE_ARGS": "",
+ "RUNTEST_ARGS": "",
"TEST_ENV": "aarch64-linux-deb10-validate+llvm",
"XZ_OPT": "-9"
}
@@ -362,6 +380,7 @@
"nightly-i386-linux-deb9-validate": {
"after_script": [
".gitlab/ci.sh save_cache",
+ ".gitlab/ci.sh save_test_output",
".gitlab/ci.sh clean",
"cat ci_timings"
],
@@ -370,7 +389,8 @@
"expire_in": "8 weeks",
"paths": [
"ghc-i386-linux-deb9-validate.tar.xz",
- "junit.xml"
+ "junit.xml",
+ "unexpected-test-output.tar.gz"
],
"reports": {
"junit": "junit.xml"
@@ -414,6 +434,7 @@
"BIN_DIST_NAME": "ghc-i386-linux-deb9-validate",
"BUILD_FLAVOUR": "validate",
"CONFIGURE_ARGS": "",
+ "RUNTEST_ARGS": "",
"TEST_ENV": "i386-linux-deb9-validate",
"XZ_OPT": "-9"
}
@@ -421,6 +442,7 @@
"nightly-x86_64-darwin-validate": {
"after_script": [
".gitlab/ci.sh save_cache",
+ ".gitlab/ci.sh save_test_output",
".gitlab/ci.sh clean",
"cat ci_timings"
],
@@ -429,7 +451,8 @@
"expire_in": "8 weeks",
"paths": [
"ghc-x86_64-darwin-validate.tar.xz",
- "junit.xml"
+ "junit.xml",
+ "unexpected-test-output.tar.gz"
],
"reports": {
"junit": "junit.xml"
@@ -477,6 +500,7 @@
"LANG": "en_US.UTF-8",
"MACOSX_DEPLOYMENT_TARGET": "10.10",
"NIX_SYSTEM": "x86_64-darwin",
+ "RUNTEST_ARGS": "",
"TEST_ENV": "x86_64-darwin-validate",
"XZ_OPT": "-9",
"ac_cv_func_clock_gettime": "no",
@@ -487,6 +511,7 @@
"nightly-x86_64-freebsd13-validate": {
"after_script": [
".gitlab/ci.sh save_cache",
+ ".gitlab/ci.sh save_test_output",
".gitlab/ci.sh clean",
"cat ci_timings"
],
@@ -495,7 +520,8 @@
"expire_in": "8 weeks",
"paths": [
"ghc-x86_64-freebsd13-validate.tar.xz",
- "junit.xml"
+ "junit.xml",
+ "unexpected-test-output.tar.gz"
],
"reports": {
"junit": "junit.xml"
@@ -541,6 +567,7 @@
"CONFIGURE_ARGS": "--with-gmp-includes=/usr/local/include --with-gmp-libraries=/usr/local/lib --with-iconv-includes=/usr/local/include --with-iconv-libraries=/usr/local/lib ",
"GHC_VERSION": "9.4.3",
"HADRIAN_ARGS": "--docs=no-sphinx",
+ "RUNTEST_ARGS": "",
"TEST_ENV": "x86_64-freebsd13-validate",
"XZ_OPT": "-9"
}
@@ -548,6 +575,7 @@
"nightly-x86_64-linux-alpine3_12-int_native-validate+fully_static": {
"after_script": [
".gitlab/ci.sh save_cache",
+ ".gitlab/ci.sh save_test_output",
".gitlab/ci.sh clean",
"cat ci_timings"
],
@@ -556,7 +584,8 @@
"expire_in": "8 weeks",
"paths": [
"ghc-x86_64-linux-alpine3_12-int_native-validate+fully_static.tar.xz",
- "junit.xml"
+ "junit.xml",
+ "unexpected-test-output.tar.gz"
],
"reports": {
"junit": "junit.xml"
@@ -603,6 +632,7 @@
"CONFIGURE_ARGS": "--disable-ld-override ",
"HADRIAN_ARGS": "--docs=no-sphinx",
"INSTALL_CONFIGURE_ARGS": "--disable-ld-override",
+ "RUNTEST_ARGS": "",
"TEST_ENV": "x86_64-linux-alpine3_12-int_native-validate+fully_static",
"XZ_OPT": "-9"
}
@@ -610,6 +640,7 @@
"nightly-x86_64-linux-alpine3_12-validate": {
"after_script": [
".gitlab/ci.sh save_cache",
+ ".gitlab/ci.sh save_test_output",
".gitlab/ci.sh clean",
"cat ci_timings"
],
@@ -618,7 +649,8 @@
"expire_in": "8 weeks",
"paths": [
"ghc-x86_64-linux-alpine3_12-validate.tar.xz",
- "junit.xml"
+ "junit.xml",
+ "unexpected-test-output.tar.gz"
],
"reports": {
"junit": "junit.xml"
@@ -665,6 +697,7 @@
"CONFIGURE_ARGS": "--disable-ld-override ",
"HADRIAN_ARGS": "--docs=no-sphinx",
"INSTALL_CONFIGURE_ARGS": "--disable-ld-override",
+ "RUNTEST_ARGS": "",
"TEST_ENV": "x86_64-linux-alpine3_12-validate",
"XZ_OPT": "-9"
}
@@ -672,6 +705,7 @@
"nightly-x86_64-linux-alpine3_12-validate+fully_static": {
"after_script": [
".gitlab/ci.sh save_cache",
+ ".gitlab/ci.sh save_test_output",
".gitlab/ci.sh clean",
"cat ci_timings"
],
@@ -680,7 +714,8 @@
"expire_in": "8 weeks",
"paths": [
"ghc-x86_64-linux-alpine3_12-validate+fully_static.tar.xz",
- "junit.xml"
+ "junit.xml",
+ "unexpected-test-output.tar.gz"
],
"reports": {
"junit": "junit.xml"
@@ -727,6 +762,7 @@
"CONFIGURE_ARGS": "--disable-ld-override ",
"HADRIAN_ARGS": "--docs=no-sphinx",
"INSTALL_CONFIGURE_ARGS": "--disable-ld-override",
+ "RUNTEST_ARGS": "",
"TEST_ENV": "x86_64-linux-alpine3_12-validate+fully_static",
"XZ_OPT": "-9"
}
@@ -734,6 +770,7 @@
"nightly-x86_64-linux-alpine3_17-wasm-cross_wasm32-wasi-release+fully_static": {
"after_script": [
".gitlab/ci.sh save_cache",
+ ".gitlab/ci.sh save_test_output",
".gitlab/ci.sh clean",
"cat ci_timings"
],
@@ -742,7 +779,8 @@
"expire_in": "8 weeks",
"paths": [
"ghc-x86_64-linux-alpine3_17-wasm-cross_wasm32-wasi-release+fully_static.tar.xz",
- "junit.xml"
+ "junit.xml",
+ "unexpected-test-output.tar.gz"
],
"reports": {
"junit": "junit.xml"
@@ -788,6 +826,7 @@
"CONFIGURE_ARGS": "--with-intree-gmp --with-system-libffi",
"CROSS_TARGET": "wasm32-wasi",
"HADRIAN_ARGS": "--docs=none",
+ "RUNTEST_ARGS": "",
"TEST_ENV": "x86_64-linux-alpine3_17-wasm-cross_wasm32-wasi-release+fully_static",
"XZ_OPT": "-9"
}
@@ -795,6 +834,7 @@
"nightly-x86_64-linux-alpine3_17-wasm-int_native-cross_wasm32-wasi-release+fully_static": {
"after_script": [
".gitlab/ci.sh save_cache",
+ ".gitlab/ci.sh save_test_output",
".gitlab/ci.sh clean",
"cat ci_timings"
],
@@ -803,7 +843,8 @@
"expire_in": "8 weeks",
"paths": [
"ghc-x86_64-linux-alpine3_17-wasm-int_native-cross_wasm32-wasi-release+fully_static.tar.xz",
- "junit.xml"
+ "junit.xml",
+ "unexpected-test-output.tar.gz"
],
"reports": {
"junit": "junit.xml"
@@ -849,6 +890,7 @@
"CONFIGURE_ARGS": "--with-intree-gmp --with-system-libffi",
"CROSS_TARGET": "wasm32-wasi",
"HADRIAN_ARGS": "--docs=none",
+ "RUNTEST_ARGS": "",
"TEST_ENV": "x86_64-linux-alpine3_17-wasm-int_native-cross_wasm32-wasi-release+fully_static",
"XZ_OPT": "-9"
}
@@ -856,6 +898,7 @@
"nightly-x86_64-linux-alpine3_17-wasm-unreg-cross_wasm32-wasi-release+fully_static": {
"after_script": [
".gitlab/ci.sh save_cache",
+ ".gitlab/ci.sh save_test_output",
".gitlab/ci.sh clean",
"cat ci_timings"
],
@@ -864,7 +907,8 @@
"expire_in": "8 weeks",
"paths": [
"ghc-x86_64-linux-alpine3_17-wasm-unreg-cross_wasm32-wasi-release+fully_static.tar.xz",
- "junit.xml"
+ "junit.xml",
+ "unexpected-test-output.tar.gz"
],
"reports": {
"junit": "junit.xml"
@@ -910,6 +954,7 @@
"CONFIGURE_ARGS": "--enable-unregisterised --with-intree-gmp --with-system-libffi",
"CROSS_TARGET": "wasm32-wasi",
"HADRIAN_ARGS": "--docs=none",
+ "RUNTEST_ARGS": "",
"TEST_ENV": "x86_64-linux-alpine3_17-wasm-unreg-cross_wasm32-wasi-release+fully_static",
"XZ_OPT": "-9"
}
@@ -917,6 +962,7 @@
"nightly-x86_64-linux-centos7-validate": {
"after_script": [
".gitlab/ci.sh save_cache",
+ ".gitlab/ci.sh save_test_output",
".gitlab/ci.sh clean",
"cat ci_timings"
],
@@ -925,7 +971,8 @@
"expire_in": "8 weeks",
"paths": [
"ghc-x86_64-linux-centos7-validate.tar.xz",
- "junit.xml"
+ "junit.xml",
+ "unexpected-test-output.tar.gz"
],
"reports": {
"junit": "junit.xml"
@@ -970,6 +1017,7 @@
"BUILD_FLAVOUR": "validate",
"CONFIGURE_ARGS": "",
"HADRIAN_ARGS": "--docs=no-sphinx",
+ "RUNTEST_ARGS": "",
"TEST_ENV": "x86_64-linux-centos7-validate",
"XZ_OPT": "-9"
}
@@ -977,6 +1025,7 @@
"nightly-x86_64-linux-deb10-int_native-validate": {
"after_script": [
".gitlab/ci.sh save_cache",
+ ".gitlab/ci.sh save_test_output",
".gitlab/ci.sh clean",
"cat ci_timings"
],
@@ -985,7 +1034,8 @@
"expire_in": "8 weeks",
"paths": [
"ghc-x86_64-linux-deb10-int_native-validate.tar.xz",
- "junit.xml"
+ "junit.xml",
+ "unexpected-test-output.tar.gz"
],
"reports": {
"junit": "junit.xml"
@@ -1029,6 +1079,7 @@
"BIN_DIST_NAME": "ghc-x86_64-linux-deb10-int_native-validate",
"BUILD_FLAVOUR": "validate",
"CONFIGURE_ARGS": "",
+ "RUNTEST_ARGS": "",
"TEST_ENV": "x86_64-linux-deb10-int_native-validate",
"XZ_OPT": "-9"
}
@@ -1036,6 +1087,7 @@
"nightly-x86_64-linux-deb10-no_tntc-validate": {
"after_script": [
".gitlab/ci.sh save_cache",
+ ".gitlab/ci.sh save_test_output",
".gitlab/ci.sh clean",
"cat ci_timings"
],
@@ -1044,7 +1096,8 @@
"expire_in": "8 weeks",
"paths": [
"ghc-x86_64-linux-deb10-no_tntc-validate.tar.xz",
- "junit.xml"
+ "junit.xml",
+ "unexpected-test-output.tar.gz"
],
"reports": {
"junit": "junit.xml"
@@ -1088,6 +1141,7 @@
"BIN_DIST_NAME": "ghc-x86_64-linux-deb10-no_tntc-validate",
"BUILD_FLAVOUR": "validate",
"CONFIGURE_ARGS": "--disable-tables-next-to-code",
+ "RUNTEST_ARGS": "",
"TEST_ENV": "x86_64-linux-deb10-no_tntc-validate",
"XZ_OPT": "-9"
}
@@ -1095,6 +1149,7 @@
"nightly-x86_64-linux-deb10-numa-slow-validate": {
"after_script": [
".gitlab/ci.sh save_cache",
+ ".gitlab/ci.sh save_test_output",
".gitlab/ci.sh clean",
"cat ci_timings"
],
@@ -1103,7 +1158,8 @@
"expire_in": "8 weeks",
"paths": [
"ghc-x86_64-linux-deb10-numa-slow-validate.tar.xz",
- "junit.xml"
+ "junit.xml",
+ "unexpected-test-output.tar.gz"
],
"reports": {
"junit": "junit.xml"
@@ -1148,6 +1204,7 @@
"BUILD_FLAVOUR": "slow-validate",
"CONFIGURE_ARGS": "",
"ENABLE_NUMA": "1",
+ "RUNTEST_ARGS": "",
"TEST_ENV": "x86_64-linux-deb10-numa-slow-validate",
"XZ_OPT": "-9"
}
@@ -1155,6 +1212,7 @@
"nightly-x86_64-linux-deb10-unreg-validate": {
"after_script": [
".gitlab/ci.sh save_cache",
+ ".gitlab/ci.sh save_test_output",
".gitlab/ci.sh clean",
"cat ci_timings"
],
@@ -1163,7 +1221,8 @@
"expire_in": "8 weeks",
"paths": [
"ghc-x86_64-linux-deb10-unreg-validate.tar.xz",
- "junit.xml"
+ "junit.xml",
+ "unexpected-test-output.tar.gz"
],
"reports": {
"junit": "junit.xml"
@@ -1207,6 +1266,7 @@
"BIN_DIST_NAME": "ghc-x86_64-linux-deb10-unreg-validate",
"BUILD_FLAVOUR": "validate",
"CONFIGURE_ARGS": "--enable-unregisterised",
+ "RUNTEST_ARGS": "",
"TEST_ENV": "x86_64-linux-deb10-unreg-validate",
"XZ_OPT": "-9"
}
@@ -1214,6 +1274,7 @@
"nightly-x86_64-linux-deb10-validate": {
"after_script": [
".gitlab/ci.sh save_cache",
+ ".gitlab/ci.sh save_test_output",
".gitlab/ci.sh clean",
"cat ci_timings"
],
@@ -1222,7 +1283,8 @@
"expire_in": "8 weeks",
"paths": [
"ghc-x86_64-linux-deb10-validate.tar.xz",
- "junit.xml"
+ "junit.xml",
+ "unexpected-test-output.tar.gz"
],
"reports": {
"junit": "junit.xml"
@@ -1266,6 +1328,7 @@
"BIN_DIST_NAME": "ghc-x86_64-linux-deb10-validate",
"BUILD_FLAVOUR": "validate",
"CONFIGURE_ARGS": "",
+ "RUNTEST_ARGS": "",
"TEST_ENV": "x86_64-linux-deb10-validate",
"XZ_OPT": "-9"
}
@@ -1273,6 +1336,7 @@
"nightly-x86_64-linux-deb10-validate+debug_info": {
"after_script": [
".gitlab/ci.sh save_cache",
+ ".gitlab/ci.sh save_test_output",
".gitlab/ci.sh clean",
"cat ci_timings"
],
@@ -1281,7 +1345,8 @@
"expire_in": "8 weeks",
"paths": [
"ghc-x86_64-linux-deb10-validate+debug_info.tar.xz",
- "junit.xml"
+ "junit.xml",
+ "unexpected-test-output.tar.gz"
],
"reports": {
"junit": "junit.xml"
@@ -1325,6 +1390,7 @@
"BIN_DIST_NAME": "ghc-x86_64-linux-deb10-validate+debug_info",
"BUILD_FLAVOUR": "validate+debug_info",
"CONFIGURE_ARGS": "",
+ "RUNTEST_ARGS": "",
"TEST_ENV": "x86_64-linux-deb10-validate+debug_info",
"XZ_OPT": "-9"
}
@@ -1332,6 +1398,7 @@
"nightly-x86_64-linux-deb10-validate+llvm": {
"after_script": [
".gitlab/ci.sh save_cache",
+ ".gitlab/ci.sh save_test_output",
".gitlab/ci.sh clean",
"cat ci_timings"
],
@@ -1340,7 +1407,8 @@
"expire_in": "8 weeks",
"paths": [
"ghc-x86_64-linux-deb10-validate+llvm.tar.xz",
- "junit.xml"
+ "junit.xml",
+ "unexpected-test-output.tar.gz"
],
"reports": {
"junit": "junit.xml"
@@ -1384,6 +1452,7 @@
"BIN_DIST_NAME": "ghc-x86_64-linux-deb10-validate+llvm",
"BUILD_FLAVOUR": "validate+llvm",
"CONFIGURE_ARGS": "",
+ "RUNTEST_ARGS": "",
"TEST_ENV": "x86_64-linux-deb10-validate+llvm",
"XZ_OPT": "-9"
}
@@ -1391,6 +1460,7 @@
"nightly-x86_64-linux-deb10-validate+thread_sanitizer": {
"after_script": [
".gitlab/ci.sh save_cache",
+ ".gitlab/ci.sh save_test_output",
".gitlab/ci.sh clean",
"cat ci_timings"
],
@@ -1399,7 +1469,8 @@
"expire_in": "8 weeks",
"paths": [
"ghc-x86_64-linux-deb10-validate+thread_sanitizer.tar.xz",
- "junit.xml"
+ "junit.xml",
+ "unexpected-test-output.tar.gz"
],
"reports": {
"junit": "junit.xml"
@@ -1444,6 +1515,7 @@
"BUILD_FLAVOUR": "validate+thread_sanitizer",
"CONFIGURE_ARGS": "",
"HADRIAN_ARGS": "--docs=none",
+ "RUNTEST_ARGS": "",
"TEST_ENV": "x86_64-linux-deb10-validate+thread_sanitizer",
"TSAN_OPTIONS": "suppressions=$CI_PROJECT_DIR/rts/.tsan-suppressions",
"XZ_OPT": "-9"
@@ -1452,6 +1524,7 @@
"nightly-x86_64-linux-deb11-cross_aarch64-linux-gnu-validate": {
"after_script": [
".gitlab/ci.sh save_cache",
+ ".gitlab/ci.sh save_test_output",
".gitlab/ci.sh clean",
"cat ci_timings"
],
@@ -1460,7 +1533,8 @@
"expire_in": "8 weeks",
"paths": [
"ghc-x86_64-linux-deb11-cross_aarch64-linux-gnu-validate.tar.xz",
- "junit.xml"
+ "junit.xml",
+ "unexpected-test-output.tar.gz"
],
"reports": {
"junit": "junit.xml"
@@ -1506,6 +1580,7 @@
"CONFIGURE_ARGS": "--with-intree-gmp",
"CROSS_EMULATOR": "qemu-aarch64 -L /usr/aarch64-linux-gnu",
"CROSS_TARGET": "aarch64-linux-gnu",
+ "RUNTEST_ARGS": "",
"TEST_ENV": "x86_64-linux-deb11-cross_aarch64-linux-gnu-validate",
"XZ_OPT": "-9"
}
@@ -1575,6 +1650,7 @@
"nightly-x86_64-linux-deb11-int_native-cross_javascript-unknown-ghcjs-validate": {
"after_script": [
".gitlab/ci.sh save_cache",
+ ".gitlab/ci.sh save_test_output",
".gitlab/ci.sh clean",
"cat ci_timings"
],
@@ -1583,7 +1659,8 @@
"expire_in": "8 weeks",
"paths": [
"ghc-x86_64-linux-deb11-int_native-cross_javascript-unknown-ghcjs-validate.tar.xz",
- "junit.xml"
+ "junit.xml",
+ "unexpected-test-output.tar.gz"
],
"reports": {
"junit": "junit.xml"
@@ -1630,6 +1707,7 @@
"CONFIGURE_WRAPPER": "emconfigure",
"CROSS_EMULATOR": "js-emulator",
"CROSS_TARGET": "javascript-unknown-ghcjs",
+ "RUNTEST_ARGS": "",
"TEST_ENV": "x86_64-linux-deb11-int_native-cross_javascript-unknown-ghcjs-validate",
"XZ_OPT": "-9"
}
@@ -1637,6 +1715,7 @@
"nightly-x86_64-linux-deb11-validate": {
"after_script": [
".gitlab/ci.sh save_cache",
+ ".gitlab/ci.sh save_test_output",
".gitlab/ci.sh clean",
"cat ci_timings"
],
@@ -1645,7 +1724,8 @@
"expire_in": "8 weeks",
"paths": [
"ghc-x86_64-linux-deb11-validate.tar.xz",
- "junit.xml"
+ "junit.xml",
+ "unexpected-test-output.tar.gz"
],
"reports": {
"junit": "junit.xml"
@@ -1689,6 +1769,7 @@
"BIN_DIST_NAME": "ghc-x86_64-linux-deb11-validate",
"BUILD_FLAVOUR": "validate",
"CONFIGURE_ARGS": "",
+ "RUNTEST_ARGS": "",
"TEST_ENV": "x86_64-linux-deb11-validate",
"XZ_OPT": "-9"
}
@@ -1696,6 +1777,7 @@
"nightly-x86_64-linux-deb11-validate+boot_nonmoving_gc": {
"after_script": [
".gitlab/ci.sh save_cache",
+ ".gitlab/ci.sh save_test_output",
".gitlab/ci.sh clean",
"cat ci_timings"
],
@@ -1704,7 +1786,8 @@
"expire_in": "8 weeks",
"paths": [
"ghc-x86_64-linux-deb11-validate+boot_nonmoving_gc.tar.xz",
- "junit.xml"
+ "junit.xml",
+ "unexpected-test-output.tar.gz"
],
"reports": {
"junit": "junit.xml"
@@ -1756,6 +1839,7 @@
"nightly-x86_64-linux-deb9-validate": {
"after_script": [
".gitlab/ci.sh save_cache",
+ ".gitlab/ci.sh save_test_output",
".gitlab/ci.sh clean",
"cat ci_timings"
],
@@ -1764,7 +1848,8 @@
"expire_in": "8 weeks",
"paths": [
"ghc-x86_64-linux-deb9-validate.tar.xz",
- "junit.xml"
+ "junit.xml",
+ "unexpected-test-output.tar.gz"
],
"reports": {
"junit": "junit.xml"
@@ -1808,6 +1893,7 @@
"BIN_DIST_NAME": "ghc-x86_64-linux-deb9-validate",
"BUILD_FLAVOUR": "validate",
"CONFIGURE_ARGS": "",
+ "RUNTEST_ARGS": "",
"TEST_ENV": "x86_64-linux-deb9-validate",
"XZ_OPT": "-9"
}
@@ -1815,6 +1901,7 @@
"nightly-x86_64-linux-fedora33-release": {
"after_script": [
".gitlab/ci.sh save_cache",
+ ".gitlab/ci.sh save_test_output",
".gitlab/ci.sh clean",
"cat ci_timings"
],
@@ -1823,7 +1910,8 @@
"expire_in": "8 weeks",
"paths": [
"ghc-x86_64-linux-fedora33-release.tar.xz",
- "junit.xml"
+ "junit.xml",
+ "unexpected-test-output.tar.gz"
],
"reports": {
"junit": "junit.xml"
@@ -1869,6 +1957,7 @@
"CONFIGURE_ARGS": "",
"LLC": "/bin/false",
"OPT": "/bin/false",
+ "RUNTEST_ARGS": "",
"TEST_ENV": "x86_64-linux-fedora33-release",
"XZ_OPT": "-9"
}
@@ -1876,6 +1965,7 @@
"nightly-x86_64-linux-fedora33-release-hackage": {
"after_script": [
".gitlab/ci.sh save_cache",
+ ".gitlab/ci.sh save_test_output",
".gitlab/ci.sh clean",
"cat ci_timings"
],
@@ -1884,7 +1974,8 @@
"expire_in": "8 weeks",
"paths": [
"ghc-x86_64-linux-fedora33-release.tar.xz",
- "junit.xml"
+ "junit.xml",
+ "unexpected-test-output.tar.gz"
],
"reports": {
"junit": "junit.xml"
@@ -1931,6 +2022,7 @@
"HADRIAN_ARGS": "--haddock-base-url",
"LLC": "/bin/false",
"OPT": "/bin/false",
+ "RUNTEST_ARGS": "",
"TEST_ENV": "x86_64-linux-fedora33-release",
"XZ_OPT": "-9"
}
@@ -1938,6 +2030,7 @@
"nightly-x86_64-linux-fedora33-validate+debug_info": {
"after_script": [
".gitlab/ci.sh save_cache",
+ ".gitlab/ci.sh save_test_output",
".gitlab/ci.sh clean",
"cat ci_timings"
],
@@ -1946,7 +2039,8 @@
"expire_in": "8 weeks",
"paths": [
"ghc-x86_64-linux-fedora33-validate+debug_info.tar.xz",
- "junit.xml"
+ "junit.xml",
+ "unexpected-test-output.tar.gz"
],
"reports": {
"junit": "junit.xml"
@@ -1992,6 +2086,7 @@
"CONFIGURE_ARGS": "",
"LLC": "/bin/false",
"OPT": "/bin/false",
+ "RUNTEST_ARGS": "",
"TEST_ENV": "x86_64-linux-fedora33-validate+debug_info",
"XZ_OPT": "-9"
}
@@ -1999,6 +2094,7 @@
"nightly-x86_64-linux-rocky8-validate": {
"after_script": [
".gitlab/ci.sh save_cache",
+ ".gitlab/ci.sh save_test_output",
".gitlab/ci.sh clean",
"cat ci_timings"
],
@@ -2007,7 +2103,8 @@
"expire_in": "8 weeks",
"paths": [
"ghc-x86_64-linux-rocky8-validate.tar.xz",
- "junit.xml"
+ "junit.xml",
+ "unexpected-test-output.tar.gz"
],
"reports": {
"junit": "junit.xml"
@@ -2052,6 +2149,7 @@
"BUILD_FLAVOUR": "validate",
"CONFIGURE_ARGS": "",
"HADRIAN_ARGS": "--docs=no-sphinx",
+ "RUNTEST_ARGS": "",
"TEST_ENV": "x86_64-linux-rocky8-validate",
"XZ_OPT": "-9"
}
@@ -2059,6 +2157,7 @@
"nightly-x86_64-linux-ubuntu18_04-validate": {
"after_script": [
".gitlab/ci.sh save_cache",
+ ".gitlab/ci.sh save_test_output",
".gitlab/ci.sh clean",
"cat ci_timings"
],
@@ -2067,7 +2166,8 @@
"expire_in": "8 weeks",
"paths": [
"ghc-x86_64-linux-ubuntu18_04-validate.tar.xz",
- "junit.xml"
+ "junit.xml",
+ "unexpected-test-output.tar.gz"
],
"reports": {
"junit": "junit.xml"
@@ -2111,6 +2211,7 @@
"BIN_DIST_NAME": "ghc-x86_64-linux-ubuntu18_04-validate",
"BUILD_FLAVOUR": "validate",
"CONFIGURE_ARGS": "",
+ "RUNTEST_ARGS": "",
"TEST_ENV": "x86_64-linux-ubuntu18_04-validate",
"XZ_OPT": "-9"
}
@@ -2118,6 +2219,7 @@
"nightly-x86_64-linux-ubuntu20_04-validate": {
"after_script": [
".gitlab/ci.sh save_cache",
+ ".gitlab/ci.sh save_test_output",
".gitlab/ci.sh clean",
"cat ci_timings"
],
@@ -2126,7 +2228,8 @@
"expire_in": "8 weeks",
"paths": [
"ghc-x86_64-linux-ubuntu20_04-validate.tar.xz",
- "junit.xml"
+ "junit.xml",
+ "unexpected-test-output.tar.gz"
],
"reports": {
"junit": "junit.xml"
@@ -2170,6 +2273,7 @@
"BIN_DIST_NAME": "ghc-x86_64-linux-ubuntu20_04-validate",
"BUILD_FLAVOUR": "validate",
"CONFIGURE_ARGS": "",
+ "RUNTEST_ARGS": "",
"TEST_ENV": "x86_64-linux-ubuntu20_04-validate",
"XZ_OPT": "-9"
}
@@ -2177,6 +2281,7 @@
"nightly-x86_64-windows-int_native-validate": {
"after_script": [
"bash .gitlab/ci.sh save_cache",
+ "bash .gitlab/ci.sh save_test_output",
"bash .gitlab/ci.sh clean"
],
"allow_failure": false,
@@ -2184,7 +2289,8 @@
"expire_in": "8 weeks",
"paths": [
"ghc-x86_64-windows-int_native-validate.tar.xz",
- "junit.xml"
+ "junit.xml",
+ "unexpected-test-output.tar.gz"
],
"reports": {
"junit": "junit.xml"
@@ -2229,6 +2335,7 @@
"HADRIAN_ARGS": "--docs=no-sphinx",
"LANG": "en_US.UTF-8",
"MSYSTEM": "CLANG64",
+ "RUNTEST_ARGS": "",
"TEST_ENV": "x86_64-windows-int_native-validate",
"XZ_OPT": "-9"
}
@@ -2236,6 +2343,7 @@
"nightly-x86_64-windows-validate": {
"after_script": [
"bash .gitlab/ci.sh save_cache",
+ "bash .gitlab/ci.sh save_test_output",
"bash .gitlab/ci.sh clean"
],
"allow_failure": false,
@@ -2243,7 +2351,8 @@
"expire_in": "8 weeks",
"paths": [
"ghc-x86_64-windows-validate.tar.xz",
- "junit.xml"
+ "junit.xml",
+ "unexpected-test-output.tar.gz"
],
"reports": {
"junit": "junit.xml"
@@ -2288,6 +2397,7 @@
"HADRIAN_ARGS": "--docs=no-sphinx",
"LANG": "en_US.UTF-8",
"MSYSTEM": "CLANG64",
+ "RUNTEST_ARGS": "",
"TEST_ENV": "x86_64-windows-validate",
"XZ_OPT": "-9"
}
@@ -2295,6 +2405,7 @@
"release-aarch64-darwin-release": {
"after_script": [
".gitlab/ci.sh save_cache",
+ ".gitlab/ci.sh save_test_output",
".gitlab/ci.sh clean",
"cat ci_timings"
],
@@ -2303,7 +2414,8 @@
"expire_in": "1 year",
"paths": [
"ghc-aarch64-darwin-release.tar.xz",
- "junit.xml"
+ "junit.xml",
+ "unexpected-test-output.tar.gz"
],
"reports": {
"junit": "junit.xml"
@@ -2352,6 +2464,7 @@
"LANG": "en_US.UTF-8",
"MACOSX_DEPLOYMENT_TARGET": "11.0",
"NIX_SYSTEM": "aarch64-darwin",
+ "RUNTEST_ARGS": "",
"TEST_ENV": "aarch64-darwin-release",
"XZ_OPT": "-9"
}
@@ -2359,6 +2472,7 @@
"release-aarch64-linux-deb10-release+no_split_sections": {
"after_script": [
".gitlab/ci.sh save_cache",
+ ".gitlab/ci.sh save_test_output",
".gitlab/ci.sh clean",
"cat ci_timings"
],
@@ -2367,7 +2481,8 @@
"expire_in": "1 year",
"paths": [
"ghc-aarch64-linux-deb10-release+no_split_sections.tar.xz",
- "junit.xml"
+ "junit.xml",
+ "unexpected-test-output.tar.gz"
],
"reports": {
"junit": "junit.xml"
@@ -2413,6 +2528,7 @@
"CONFIGURE_ARGS": "",
"HADRIAN_ARGS": "--hash-unit-ids",
"IGNORE_PERF_FAILURES": "all",
+ "RUNTEST_ARGS": "",
"TEST_ENV": "aarch64-linux-deb10-release+no_split_sections",
"XZ_OPT": "-9"
}
@@ -2420,6 +2536,7 @@
"release-i386-linux-deb9-release+no_split_sections": {
"after_script": [
".gitlab/ci.sh save_cache",
+ ".gitlab/ci.sh save_test_output",
".gitlab/ci.sh clean",
"cat ci_timings"
],
@@ -2428,7 +2545,8 @@
"expire_in": "1 year",
"paths": [
"ghc-i386-linux-deb9-release+no_split_sections.tar.xz",
- "junit.xml"
+ "junit.xml",
+ "unexpected-test-output.tar.gz"
],
"reports": {
"junit": "junit.xml"
@@ -2474,6 +2592,7 @@
"CONFIGURE_ARGS": "",
"HADRIAN_ARGS": "--hash-unit-ids",
"IGNORE_PERF_FAILURES": "all",
+ "RUNTEST_ARGS": "",
"TEST_ENV": "i386-linux-deb9-release+no_split_sections",
"XZ_OPT": "-9"
}
@@ -2481,6 +2600,7 @@
"release-x86_64-darwin-release": {
"after_script": [
".gitlab/ci.sh save_cache",
+ ".gitlab/ci.sh save_test_output",
".gitlab/ci.sh clean",
"cat ci_timings"
],
@@ -2489,7 +2609,8 @@
"expire_in": "1 year",
"paths": [
"ghc-x86_64-darwin-release.tar.xz",
- "junit.xml"
+ "junit.xml",
+ "unexpected-test-output.tar.gz"
],
"reports": {
"junit": "junit.xml"
@@ -2538,6 +2659,7 @@
"LANG": "en_US.UTF-8",
"MACOSX_DEPLOYMENT_TARGET": "10.10",
"NIX_SYSTEM": "x86_64-darwin",
+ "RUNTEST_ARGS": "",
"TEST_ENV": "x86_64-darwin-release",
"XZ_OPT": "-9",
"ac_cv_func_clock_gettime": "no",
@@ -2548,6 +2670,7 @@
"release-x86_64-linux-alpine3_12-int_native-release+fully_static": {
"after_script": [
".gitlab/ci.sh save_cache",
+ ".gitlab/ci.sh save_test_output",
".gitlab/ci.sh clean",
"cat ci_timings"
],
@@ -2556,7 +2679,8 @@
"expire_in": "1 year",
"paths": [
"ghc-x86_64-linux-alpine3_12-int_native-release+fully_static.tar.xz",
- "junit.xml"
+ "junit.xml",
+ "unexpected-test-output.tar.gz"
],
"reports": {
"junit": "junit.xml"
@@ -2604,6 +2728,7 @@
"HADRIAN_ARGS": "--hash-unit-ids --docs=no-sphinx",
"IGNORE_PERF_FAILURES": "all",
"INSTALL_CONFIGURE_ARGS": "--disable-ld-override",
+ "RUNTEST_ARGS": "",
"TEST_ENV": "x86_64-linux-alpine3_12-int_native-release+fully_static",
"XZ_OPT": "-9"
}
@@ -2611,6 +2736,7 @@
"release-x86_64-linux-alpine3_12-release+fully_static+no_split_sections": {
"after_script": [
".gitlab/ci.sh save_cache",
+ ".gitlab/ci.sh save_test_output",
".gitlab/ci.sh clean",
"cat ci_timings"
],
@@ -2619,7 +2745,8 @@
"expire_in": "1 year",
"paths": [
"ghc-x86_64-linux-alpine3_12-release+fully_static+no_split_sections.tar.xz",
- "junit.xml"
+ "junit.xml",
+ "unexpected-test-output.tar.gz"
],
"reports": {
"junit": "junit.xml"
@@ -2667,6 +2794,7 @@
"HADRIAN_ARGS": "--hash-unit-ids --docs=no-sphinx",
"IGNORE_PERF_FAILURES": "all",
"INSTALL_CONFIGURE_ARGS": "--disable-ld-override",
+ "RUNTEST_ARGS": "",
"TEST_ENV": "x86_64-linux-alpine3_12-release+fully_static+no_split_sections",
"XZ_OPT": "-9"
}
@@ -2674,6 +2802,7 @@
"release-x86_64-linux-alpine3_12-release+no_split_sections": {
"after_script": [
".gitlab/ci.sh save_cache",
+ ".gitlab/ci.sh save_test_output",
".gitlab/ci.sh clean",
"cat ci_timings"
],
@@ -2682,7 +2811,8 @@
"expire_in": "1 year",
"paths": [
"ghc-x86_64-linux-alpine3_12-release+no_split_sections.tar.xz",
- "junit.xml"
+ "junit.xml",
+ "unexpected-test-output.tar.gz"
],
"reports": {
"junit": "junit.xml"
@@ -2730,6 +2860,7 @@
"HADRIAN_ARGS": "--hash-unit-ids --docs=no-sphinx",
"IGNORE_PERF_FAILURES": "all",
"INSTALL_CONFIGURE_ARGS": "--disable-ld-override",
+ "RUNTEST_ARGS": "",
"TEST_ENV": "x86_64-linux-alpine3_12-release+no_split_sections",
"XZ_OPT": "-9"
}
@@ -2737,6 +2868,7 @@
"release-x86_64-linux-centos7-release+no_split_sections": {
"after_script": [
".gitlab/ci.sh save_cache",
+ ".gitlab/ci.sh save_test_output",
".gitlab/ci.sh clean",
"cat ci_timings"
],
@@ -2745,7 +2877,8 @@
"expire_in": "1 year",
"paths": [
"ghc-x86_64-linux-centos7-release+no_split_sections.tar.xz",
- "junit.xml"
+ "junit.xml",
+ "unexpected-test-output.tar.gz"
],
"reports": {
"junit": "junit.xml"
@@ -2791,6 +2924,7 @@
"CONFIGURE_ARGS": "",
"HADRIAN_ARGS": "--hash-unit-ids --docs=no-sphinx",
"IGNORE_PERF_FAILURES": "all",
+ "RUNTEST_ARGS": "",
"TEST_ENV": "x86_64-linux-centos7-release+no_split_sections",
"XZ_OPT": "-9"
}
@@ -2798,6 +2932,7 @@
"release-x86_64-linux-deb10-release": {
"after_script": [
".gitlab/ci.sh save_cache",
+ ".gitlab/ci.sh save_test_output",
".gitlab/ci.sh clean",
"cat ci_timings"
],
@@ -2806,7 +2941,8 @@
"expire_in": "1 year",
"paths": [
"ghc-x86_64-linux-deb10-release.tar.xz",
- "junit.xml"
+ "junit.xml",
+ "unexpected-test-output.tar.gz"
],
"reports": {
"junit": "junit.xml"
@@ -2852,6 +2988,7 @@
"CONFIGURE_ARGS": "",
"HADRIAN_ARGS": "--hash-unit-ids",
"IGNORE_PERF_FAILURES": "all",
+ "RUNTEST_ARGS": "",
"TEST_ENV": "x86_64-linux-deb10-release",
"XZ_OPT": "-9"
}
@@ -2859,6 +2996,7 @@
"release-x86_64-linux-deb10-release+debug_info": {
"after_script": [
".gitlab/ci.sh save_cache",
+ ".gitlab/ci.sh save_test_output",
".gitlab/ci.sh clean",
"cat ci_timings"
],
@@ -2867,7 +3005,8 @@
"expire_in": "1 year",
"paths": [
"ghc-x86_64-linux-deb10-release+debug_info.tar.xz",
- "junit.xml"
+ "junit.xml",
+ "unexpected-test-output.tar.gz"
],
"reports": {
"junit": "junit.xml"
@@ -2913,6 +3052,7 @@
"CONFIGURE_ARGS": "",
"HADRIAN_ARGS": "--hash-unit-ids",
"IGNORE_PERF_FAILURES": "all",
+ "RUNTEST_ARGS": "",
"TEST_ENV": "x86_64-linux-deb10-release+debug_info",
"XZ_OPT": "-9"
}
@@ -2984,6 +3124,7 @@
"release-x86_64-linux-deb11-release": {
"after_script": [
".gitlab/ci.sh save_cache",
+ ".gitlab/ci.sh save_test_output",
".gitlab/ci.sh clean",
"cat ci_timings"
],
@@ -2992,7 +3133,8 @@
"expire_in": "1 year",
"paths": [
"ghc-x86_64-linux-deb11-release.tar.xz",
- "junit.xml"
+ "junit.xml",
+ "unexpected-test-output.tar.gz"
],
"reports": {
"junit": "junit.xml"
@@ -3038,6 +3180,7 @@
"CONFIGURE_ARGS": "",
"HADRIAN_ARGS": "--hash-unit-ids",
"IGNORE_PERF_FAILURES": "all",
+ "RUNTEST_ARGS": "",
"TEST_ENV": "x86_64-linux-deb11-release",
"XZ_OPT": "-9"
}
@@ -3045,6 +3188,7 @@
"release-x86_64-linux-deb11-release+boot_nonmoving_gc": {
"after_script": [
".gitlab/ci.sh save_cache",
+ ".gitlab/ci.sh save_test_output",
".gitlab/ci.sh clean",
"cat ci_timings"
],
@@ -3053,7 +3197,8 @@
"expire_in": "1 year",
"paths": [
"ghc-x86_64-linux-deb11-release+boot_nonmoving_gc.tar.xz",
- "junit.xml"
+ "junit.xml",
+ "unexpected-test-output.tar.gz"
],
"reports": {
"junit": "junit.xml"
@@ -3107,6 +3252,7 @@
"release-x86_64-linux-deb9-release+no_split_sections": {
"after_script": [
".gitlab/ci.sh save_cache",
+ ".gitlab/ci.sh save_test_output",
".gitlab/ci.sh clean",
"cat ci_timings"
],
@@ -3115,7 +3261,8 @@
"expire_in": "1 year",
"paths": [
"ghc-x86_64-linux-deb9-release+no_split_sections.tar.xz",
- "junit.xml"
+ "junit.xml",
+ "unexpected-test-output.tar.gz"
],
"reports": {
"junit": "junit.xml"
@@ -3161,6 +3308,7 @@
"CONFIGURE_ARGS": "",
"HADRIAN_ARGS": "--hash-unit-ids",
"IGNORE_PERF_FAILURES": "all",
+ "RUNTEST_ARGS": "",
"TEST_ENV": "x86_64-linux-deb9-release+no_split_sections",
"XZ_OPT": "-9"
}
@@ -3168,6 +3316,7 @@
"release-x86_64-linux-fedora33-release": {
"after_script": [
".gitlab/ci.sh save_cache",
+ ".gitlab/ci.sh save_test_output",
".gitlab/ci.sh clean",
"cat ci_timings"
],
@@ -3176,7 +3325,8 @@
"expire_in": "1 year",
"paths": [
"ghc-x86_64-linux-fedora33-release.tar.xz",
- "junit.xml"
+ "junit.xml",
+ "unexpected-test-output.tar.gz"
],
"reports": {
"junit": "junit.xml"
@@ -3224,6 +3374,7 @@
"IGNORE_PERF_FAILURES": "all",
"LLC": "/bin/false",
"OPT": "/bin/false",
+ "RUNTEST_ARGS": "",
"TEST_ENV": "x86_64-linux-fedora33-release",
"XZ_OPT": "-9"
}
@@ -3231,6 +3382,7 @@
"release-x86_64-linux-fedora33-release+debug_info": {
"after_script": [
".gitlab/ci.sh save_cache",
+ ".gitlab/ci.sh save_test_output",
".gitlab/ci.sh clean",
"cat ci_timings"
],
@@ -3239,7 +3391,8 @@
"expire_in": "1 year",
"paths": [
"ghc-x86_64-linux-fedora33-release+debug_info.tar.xz",
- "junit.xml"
+ "junit.xml",
+ "unexpected-test-output.tar.gz"
],
"reports": {
"junit": "junit.xml"
@@ -3287,6 +3440,7 @@
"IGNORE_PERF_FAILURES": "all",
"LLC": "/bin/false",
"OPT": "/bin/false",
+ "RUNTEST_ARGS": "",
"TEST_ENV": "x86_64-linux-fedora33-release+debug_info",
"XZ_OPT": "-9"
}
@@ -3294,6 +3448,7 @@
"release-x86_64-linux-fedora33-release-hackage": {
"after_script": [
".gitlab/ci.sh save_cache",
+ ".gitlab/ci.sh save_test_output",
".gitlab/ci.sh clean",
"cat ci_timings"
],
@@ -3302,7 +3457,8 @@
"expire_in": "1 year",
"paths": [
"ghc-x86_64-linux-fedora33-release.tar.xz",
- "junit.xml"
+ "junit.xml",
+ "unexpected-test-output.tar.gz"
],
"reports": {
"junit": "junit.xml"
@@ -3350,6 +3506,7 @@
"IGNORE_PERF_FAILURES": "all",
"LLC": "/bin/false",
"OPT": "/bin/false",
+ "RUNTEST_ARGS": "",
"TEST_ENV": "x86_64-linux-fedora33-release",
"XZ_OPT": "-9"
}
@@ -3357,6 +3514,7 @@
"release-x86_64-linux-rocky8-release": {
"after_script": [
".gitlab/ci.sh save_cache",
+ ".gitlab/ci.sh save_test_output",
".gitlab/ci.sh clean",
"cat ci_timings"
],
@@ -3365,7 +3523,8 @@
"expire_in": "1 year",
"paths": [
"ghc-x86_64-linux-rocky8-release.tar.xz",
- "junit.xml"
+ "junit.xml",
+ "unexpected-test-output.tar.gz"
],
"reports": {
"junit": "junit.xml"
@@ -3411,6 +3570,7 @@
"CONFIGURE_ARGS": "",
"HADRIAN_ARGS": "--hash-unit-ids --docs=no-sphinx",
"IGNORE_PERF_FAILURES": "all",
+ "RUNTEST_ARGS": "",
"TEST_ENV": "x86_64-linux-rocky8-release",
"XZ_OPT": "-9"
}
@@ -3418,6 +3578,7 @@
"release-x86_64-linux-ubuntu18_04-release": {
"after_script": [
".gitlab/ci.sh save_cache",
+ ".gitlab/ci.sh save_test_output",
".gitlab/ci.sh clean",
"cat ci_timings"
],
@@ -3426,7 +3587,8 @@
"expire_in": "1 year",
"paths": [
"ghc-x86_64-linux-ubuntu18_04-release.tar.xz",
- "junit.xml"
+ "junit.xml",
+ "unexpected-test-output.tar.gz"
],
"reports": {
"junit": "junit.xml"
@@ -3472,6 +3634,7 @@
"CONFIGURE_ARGS": "",
"HADRIAN_ARGS": "--hash-unit-ids",
"IGNORE_PERF_FAILURES": "all",
+ "RUNTEST_ARGS": "",
"TEST_ENV": "x86_64-linux-ubuntu18_04-release",
"XZ_OPT": "-9"
}
@@ -3479,6 +3642,7 @@
"release-x86_64-linux-ubuntu20_04-release": {
"after_script": [
".gitlab/ci.sh save_cache",
+ ".gitlab/ci.sh save_test_output",
".gitlab/ci.sh clean",
"cat ci_timings"
],
@@ -3487,7 +3651,8 @@
"expire_in": "1 year",
"paths": [
"ghc-x86_64-linux-ubuntu20_04-release.tar.xz",
- "junit.xml"
+ "junit.xml",
+ "unexpected-test-output.tar.gz"
],
"reports": {
"junit": "junit.xml"
@@ -3533,6 +3698,7 @@
"CONFIGURE_ARGS": "",
"HADRIAN_ARGS": "--hash-unit-ids",
"IGNORE_PERF_FAILURES": "all",
+ "RUNTEST_ARGS": "",
"TEST_ENV": "x86_64-linux-ubuntu20_04-release",
"XZ_OPT": "-9"
}
@@ -3540,6 +3706,7 @@
"release-x86_64-windows-int_native-release+no_split_sections": {
"after_script": [
"bash .gitlab/ci.sh save_cache",
+ "bash .gitlab/ci.sh save_test_output",
"bash .gitlab/ci.sh clean"
],
"allow_failure": false,
@@ -3547,7 +3714,8 @@
"expire_in": "1 year",
"paths": [
"ghc-x86_64-windows-int_native-release+no_split_sections.tar.xz",
- "junit.xml"
+ "junit.xml",
+ "unexpected-test-output.tar.gz"
],
"reports": {
"junit": "junit.xml"
@@ -3593,6 +3761,7 @@
"IGNORE_PERF_FAILURES": "all",
"LANG": "en_US.UTF-8",
"MSYSTEM": "CLANG64",
+ "RUNTEST_ARGS": "",
"TEST_ENV": "x86_64-windows-int_native-release+no_split_sections",
"XZ_OPT": "-9"
}
@@ -3600,6 +3769,7 @@
"release-x86_64-windows-release+no_split_sections": {
"after_script": [
"bash .gitlab/ci.sh save_cache",
+ "bash .gitlab/ci.sh save_test_output",
"bash .gitlab/ci.sh clean"
],
"allow_failure": false,
@@ -3607,7 +3777,8 @@
"expire_in": "1 year",
"paths": [
"ghc-x86_64-windows-release+no_split_sections.tar.xz",
- "junit.xml"
+ "junit.xml",
+ "unexpected-test-output.tar.gz"
],
"reports": {
"junit": "junit.xml"
@@ -3653,6 +3824,7 @@
"IGNORE_PERF_FAILURES": "all",
"LANG": "en_US.UTF-8",
"MSYSTEM": "CLANG64",
+ "RUNTEST_ARGS": "",
"TEST_ENV": "x86_64-windows-release+no_split_sections",
"XZ_OPT": "-9"
}
@@ -3660,6 +3832,7 @@
"x86_64-darwin-validate": {
"after_script": [
".gitlab/ci.sh save_cache",
+ ".gitlab/ci.sh save_test_output",
".gitlab/ci.sh clean",
"cat ci_timings"
],
@@ -3668,7 +3841,8 @@
"expire_in": "2 weeks",
"paths": [
"ghc-x86_64-darwin-validate.tar.xz",
- "junit.xml"
+ "junit.xml",
+ "unexpected-test-output.tar.gz"
],
"reports": {
"junit": "junit.xml"
@@ -3716,6 +3890,7 @@
"LANG": "en_US.UTF-8",
"MACOSX_DEPLOYMENT_TARGET": "10.10",
"NIX_SYSTEM": "x86_64-darwin",
+ "RUNTEST_ARGS": "",
"TEST_ENV": "x86_64-darwin-validate",
"ac_cv_func_clock_gettime": "no",
"ac_cv_func_futimens": "no",
@@ -3725,6 +3900,7 @@
"x86_64-freebsd13-validate": {
"after_script": [
".gitlab/ci.sh save_cache",
+ ".gitlab/ci.sh save_test_output",
".gitlab/ci.sh clean",
"cat ci_timings"
],
@@ -3733,7 +3909,8 @@
"expire_in": "2 weeks",
"paths": [
"ghc-x86_64-freebsd13-validate.tar.xz",
- "junit.xml"
+ "junit.xml",
+ "unexpected-test-output.tar.gz"
],
"reports": {
"junit": "junit.xml"
@@ -3779,12 +3956,14 @@
"CONFIGURE_ARGS": "--with-gmp-includes=/usr/local/include --with-gmp-libraries=/usr/local/lib --with-iconv-includes=/usr/local/include --with-iconv-libraries=/usr/local/lib ",
"GHC_VERSION": "9.4.3",
"HADRIAN_ARGS": "--docs=no-sphinx",
+ "RUNTEST_ARGS": "",
"TEST_ENV": "x86_64-freebsd13-validate"
}
},
"x86_64-linux-alpine3_12-validate+fully_static": {
"after_script": [
".gitlab/ci.sh save_cache",
+ ".gitlab/ci.sh save_test_output",
".gitlab/ci.sh clean",
"cat ci_timings"
],
@@ -3793,7 +3972,8 @@
"expire_in": "2 weeks",
"paths": [
"ghc-x86_64-linux-alpine3_12-validate+fully_static.tar.xz",
- "junit.xml"
+ "junit.xml",
+ "unexpected-test-output.tar.gz"
],
"reports": {
"junit": "junit.xml"
@@ -3840,12 +4020,14 @@
"CONFIGURE_ARGS": "--disable-ld-override ",
"HADRIAN_ARGS": "--docs=no-sphinx",
"INSTALL_CONFIGURE_ARGS": "--disable-ld-override",
+ "RUNTEST_ARGS": "",
"TEST_ENV": "x86_64-linux-alpine3_12-validate+fully_static"
}
},
"x86_64-linux-alpine3_17-wasm-cross_wasm32-wasi-release+fully_static": {
"after_script": [
".gitlab/ci.sh save_cache",
+ ".gitlab/ci.sh save_test_output",
".gitlab/ci.sh clean",
"cat ci_timings"
],
@@ -3854,7 +4036,8 @@
"expire_in": "2 weeks",
"paths": [
"ghc-x86_64-linux-alpine3_17-wasm-cross_wasm32-wasi-release+fully_static.tar.xz",
- "junit.xml"
+ "junit.xml",
+ "unexpected-test-output.tar.gz"
],
"reports": {
"junit": "junit.xml"
@@ -3900,12 +4083,14 @@
"CONFIGURE_ARGS": "--with-intree-gmp --with-system-libffi",
"CROSS_TARGET": "wasm32-wasi",
"HADRIAN_ARGS": "--docs=none",
+ "RUNTEST_ARGS": "",
"TEST_ENV": "x86_64-linux-alpine3_17-wasm-cross_wasm32-wasi-release+fully_static"
}
},
"x86_64-linux-alpine3_17-wasm-int_native-cross_wasm32-wasi-release+fully_static": {
"after_script": [
".gitlab/ci.sh save_cache",
+ ".gitlab/ci.sh save_test_output",
".gitlab/ci.sh clean",
"cat ci_timings"
],
@@ -3914,7 +4099,8 @@
"expire_in": "2 weeks",
"paths": [
"ghc-x86_64-linux-alpine3_17-wasm-int_native-cross_wasm32-wasi-release+fully_static.tar.xz",
- "junit.xml"
+ "junit.xml",
+ "unexpected-test-output.tar.gz"
],
"reports": {
"junit": "junit.xml"
@@ -3961,12 +4147,14 @@
"CONFIGURE_ARGS": "--with-intree-gmp --with-system-libffi",
"CROSS_TARGET": "wasm32-wasi",
"HADRIAN_ARGS": "--docs=none",
+ "RUNTEST_ARGS": "",
"TEST_ENV": "x86_64-linux-alpine3_17-wasm-int_native-cross_wasm32-wasi-release+fully_static"
}
},
"x86_64-linux-alpine3_17-wasm-unreg-cross_wasm32-wasi-release+fully_static": {
"after_script": [
".gitlab/ci.sh save_cache",
+ ".gitlab/ci.sh save_test_output",
".gitlab/ci.sh clean",
"cat ci_timings"
],
@@ -3975,7 +4163,8 @@
"expire_in": "2 weeks",
"paths": [
"ghc-x86_64-linux-alpine3_17-wasm-unreg-cross_wasm32-wasi-release+fully_static.tar.xz",
- "junit.xml"
+ "junit.xml",
+ "unexpected-test-output.tar.gz"
],
"reports": {
"junit": "junit.xml"
@@ -4022,12 +4211,14 @@
"CONFIGURE_ARGS": "--enable-unregisterised --with-intree-gmp --with-system-libffi",
"CROSS_TARGET": "wasm32-wasi",
"HADRIAN_ARGS": "--docs=none",
+ "RUNTEST_ARGS": "",
"TEST_ENV": "x86_64-linux-alpine3_17-wasm-unreg-cross_wasm32-wasi-release+fully_static"
}
},
"x86_64-linux-deb10-int_native-validate": {
"after_script": [
".gitlab/ci.sh save_cache",
+ ".gitlab/ci.sh save_test_output",
".gitlab/ci.sh clean",
"cat ci_timings"
],
@@ -4036,7 +4227,8 @@
"expire_in": "2 weeks",
"paths": [
"ghc-x86_64-linux-deb10-int_native-validate.tar.xz",
- "junit.xml"
+ "junit.xml",
+ "unexpected-test-output.tar.gz"
],
"reports": {
"junit": "junit.xml"
@@ -4080,12 +4272,14 @@
"BIN_DIST_NAME": "ghc-x86_64-linux-deb10-int_native-validate",
"BUILD_FLAVOUR": "validate",
"CONFIGURE_ARGS": "",
+ "RUNTEST_ARGS": "",
"TEST_ENV": "x86_64-linux-deb10-int_native-validate"
}
},
"x86_64-linux-deb10-no_tntc-validate": {
"after_script": [
".gitlab/ci.sh save_cache",
+ ".gitlab/ci.sh save_test_output",
".gitlab/ci.sh clean",
"cat ci_timings"
],
@@ -4094,7 +4288,8 @@
"expire_in": "2 weeks",
"paths": [
"ghc-x86_64-linux-deb10-no_tntc-validate.tar.xz",
- "junit.xml"
+ "junit.xml",
+ "unexpected-test-output.tar.gz"
],
"reports": {
"junit": "junit.xml"
@@ -4139,12 +4334,14 @@
"BIN_DIST_NAME": "ghc-x86_64-linux-deb10-no_tntc-validate",
"BUILD_FLAVOUR": "validate",
"CONFIGURE_ARGS": "--disable-tables-next-to-code",
+ "RUNTEST_ARGS": "",
"TEST_ENV": "x86_64-linux-deb10-no_tntc-validate"
}
},
"x86_64-linux-deb10-numa-slow-validate": {
"after_script": [
".gitlab/ci.sh save_cache",
+ ".gitlab/ci.sh save_test_output",
".gitlab/ci.sh clean",
"cat ci_timings"
],
@@ -4153,7 +4350,8 @@
"expire_in": "2 weeks",
"paths": [
"ghc-x86_64-linux-deb10-numa-slow-validate.tar.xz",
- "junit.xml"
+ "junit.xml",
+ "unexpected-test-output.tar.gz"
],
"reports": {
"junit": "junit.xml"
@@ -4198,12 +4396,14 @@
"BUILD_FLAVOUR": "slow-validate",
"CONFIGURE_ARGS": "",
"ENABLE_NUMA": "1",
+ "RUNTEST_ARGS": "",
"TEST_ENV": "x86_64-linux-deb10-numa-slow-validate"
}
},
"x86_64-linux-deb10-unreg-validate": {
"after_script": [
".gitlab/ci.sh save_cache",
+ ".gitlab/ci.sh save_test_output",
".gitlab/ci.sh clean",
"cat ci_timings"
],
@@ -4212,7 +4412,8 @@
"expire_in": "2 weeks",
"paths": [
"ghc-x86_64-linux-deb10-unreg-validate.tar.xz",
- "junit.xml"
+ "junit.xml",
+ "unexpected-test-output.tar.gz"
],
"reports": {
"junit": "junit.xml"
@@ -4256,12 +4457,14 @@
"BIN_DIST_NAME": "ghc-x86_64-linux-deb10-unreg-validate",
"BUILD_FLAVOUR": "validate",
"CONFIGURE_ARGS": "--enable-unregisterised",
+ "RUNTEST_ARGS": "",
"TEST_ENV": "x86_64-linux-deb10-unreg-validate"
}
},
"x86_64-linux-deb10-validate": {
"after_script": [
".gitlab/ci.sh save_cache",
+ ".gitlab/ci.sh save_test_output",
".gitlab/ci.sh clean",
"cat ci_timings"
],
@@ -4270,7 +4473,8 @@
"expire_in": "2 weeks",
"paths": [
"ghc-x86_64-linux-deb10-validate.tar.xz",
- "junit.xml"
+ "junit.xml",
+ "unexpected-test-output.tar.gz"
],
"reports": {
"junit": "junit.xml"
@@ -4314,12 +4518,14 @@
"BIN_DIST_NAME": "ghc-x86_64-linux-deb10-validate",
"BUILD_FLAVOUR": "validate",
"CONFIGURE_ARGS": "--enable-ipe-data-compression",
+ "RUNTEST_ARGS": "",
"TEST_ENV": "x86_64-linux-deb10-validate"
}
},
"x86_64-linux-deb10-validate+debug_info": {
"after_script": [
".gitlab/ci.sh save_cache",
+ ".gitlab/ci.sh save_test_output",
".gitlab/ci.sh clean",
"cat ci_timings"
],
@@ -4328,7 +4534,8 @@
"expire_in": "2 weeks",
"paths": [
"ghc-x86_64-linux-deb10-validate+debug_info.tar.xz",
- "junit.xml"
+ "junit.xml",
+ "unexpected-test-output.tar.gz"
],
"reports": {
"junit": "junit.xml"
@@ -4372,12 +4579,14 @@
"BIN_DIST_NAME": "ghc-x86_64-linux-deb10-validate+debug_info",
"BUILD_FLAVOUR": "validate+debug_info",
"CONFIGURE_ARGS": "",
+ "RUNTEST_ARGS": "",
"TEST_ENV": "x86_64-linux-deb10-validate+debug_info"
}
},
"x86_64-linux-deb10-validate+llvm": {
"after_script": [
".gitlab/ci.sh save_cache",
+ ".gitlab/ci.sh save_test_output",
".gitlab/ci.sh clean",
"cat ci_timings"
],
@@ -4386,7 +4595,8 @@
"expire_in": "2 weeks",
"paths": [
"ghc-x86_64-linux-deb10-validate+llvm.tar.xz",
- "junit.xml"
+ "junit.xml",
+ "unexpected-test-output.tar.gz"
],
"reports": {
"junit": "junit.xml"
@@ -4430,12 +4640,14 @@
"BIN_DIST_NAME": "ghc-x86_64-linux-deb10-validate+llvm",
"BUILD_FLAVOUR": "validate+llvm",
"CONFIGURE_ARGS": "",
+ "RUNTEST_ARGS": "",
"TEST_ENV": "x86_64-linux-deb10-validate+llvm"
}
},
"x86_64-linux-deb10-validate+thread_sanitizer": {
"after_script": [
".gitlab/ci.sh save_cache",
+ ".gitlab/ci.sh save_test_output",
".gitlab/ci.sh clean",
"cat ci_timings"
],
@@ -4444,7 +4656,8 @@
"expire_in": "2 weeks",
"paths": [
"ghc-x86_64-linux-deb10-validate+thread_sanitizer.tar.xz",
- "junit.xml"
+ "junit.xml",
+ "unexpected-test-output.tar.gz"
],
"reports": {
"junit": "junit.xml"
@@ -4490,6 +4703,7 @@
"BUILD_FLAVOUR": "validate+thread_sanitizer",
"CONFIGURE_ARGS": "",
"HADRIAN_ARGS": "--docs=none",
+ "RUNTEST_ARGS": "",
"TEST_ENV": "x86_64-linux-deb10-validate+thread_sanitizer",
"TSAN_OPTIONS": "suppressions=$CI_PROJECT_DIR/rts/.tsan-suppressions"
}
@@ -4497,6 +4711,7 @@
"x86_64-linux-deb11-cross_aarch64-linux-gnu-validate": {
"after_script": [
".gitlab/ci.sh save_cache",
+ ".gitlab/ci.sh save_test_output",
".gitlab/ci.sh clean",
"cat ci_timings"
],
@@ -4505,7 +4720,8 @@
"expire_in": "2 weeks",
"paths": [
"ghc-x86_64-linux-deb11-cross_aarch64-linux-gnu-validate.tar.xz",
- "junit.xml"
+ "junit.xml",
+ "unexpected-test-output.tar.gz"
],
"reports": {
"junit": "junit.xml"
@@ -4551,6 +4767,7 @@
"CONFIGURE_ARGS": "--with-intree-gmp",
"CROSS_EMULATOR": "qemu-aarch64 -L /usr/aarch64-linux-gnu",
"CROSS_TARGET": "aarch64-linux-gnu",
+ "RUNTEST_ARGS": "",
"TEST_ENV": "x86_64-linux-deb11-cross_aarch64-linux-gnu-validate"
}
},
@@ -4618,6 +4835,7 @@
"x86_64-linux-deb11-int_native-cross_javascript-unknown-ghcjs-validate": {
"after_script": [
".gitlab/ci.sh save_cache",
+ ".gitlab/ci.sh save_test_output",
".gitlab/ci.sh clean",
"cat ci_timings"
],
@@ -4626,7 +4844,8 @@
"expire_in": "2 weeks",
"paths": [
"ghc-x86_64-linux-deb11-int_native-cross_javascript-unknown-ghcjs-validate.tar.xz",
- "junit.xml"
+ "junit.xml",
+ "unexpected-test-output.tar.gz"
],
"reports": {
"junit": "junit.xml"
@@ -4673,12 +4892,14 @@
"CONFIGURE_WRAPPER": "emconfigure",
"CROSS_EMULATOR": "js-emulator",
"CROSS_TARGET": "javascript-unknown-ghcjs",
+ "RUNTEST_ARGS": "",
"TEST_ENV": "x86_64-linux-deb11-int_native-cross_javascript-unknown-ghcjs-validate"
}
},
"x86_64-linux-deb11-validate+boot_nonmoving_gc": {
"after_script": [
".gitlab/ci.sh save_cache",
+ ".gitlab/ci.sh save_test_output",
".gitlab/ci.sh clean",
"cat ci_timings"
],
@@ -4687,7 +4908,8 @@
"expire_in": "2 weeks",
"paths": [
"ghc-x86_64-linux-deb11-validate+boot_nonmoving_gc.tar.xz",
- "junit.xml"
+ "junit.xml",
+ "unexpected-test-output.tar.gz"
],
"reports": {
"junit": "junit.xml"
@@ -4738,6 +4960,7 @@
"x86_64-linux-fedora33-release": {
"after_script": [
".gitlab/ci.sh save_cache",
+ ".gitlab/ci.sh save_test_output",
".gitlab/ci.sh clean",
"cat ci_timings"
],
@@ -4746,7 +4969,8 @@
"expire_in": "2 weeks",
"paths": [
"ghc-x86_64-linux-fedora33-release.tar.xz",
- "junit.xml"
+ "junit.xml",
+ "unexpected-test-output.tar.gz"
],
"reports": {
"junit": "junit.xml"
@@ -4792,12 +5016,14 @@
"CONFIGURE_ARGS": "",
"LLC": "/bin/false",
"OPT": "/bin/false",
+ "RUNTEST_ARGS": "",
"TEST_ENV": "x86_64-linux-fedora33-release"
}
},
"x86_64-windows-validate": {
"after_script": [
"bash .gitlab/ci.sh save_cache",
+ "bash .gitlab/ci.sh save_test_output",
"bash .gitlab/ci.sh clean"
],
"allow_failure": false,
@@ -4805,7 +5031,8 @@
"expire_in": "2 weeks",
"paths": [
"ghc-x86_64-windows-validate.tar.xz",
- "junit.xml"
+ "junit.xml",
+ "unexpected-test-output.tar.gz"
],
"reports": {
"junit": "junit.xml"
@@ -4850,6 +5077,7 @@
"HADRIAN_ARGS": "--docs=no-sphinx",
"LANG": "en_US.UTF-8",
"MSYSTEM": "CLANG64",
+ "RUNTEST_ARGS": "",
"TEST_ENV": "x86_64-windows-validate"
}
}
=====================================
testsuite/driver/runtests.py
=====================================
@@ -71,6 +71,7 @@ parser.add_argument("--config", action='append', help="config field")
parser.add_argument("--rootdir", action='append', help="root of tree containing tests (default: .)")
parser.add_argument("--metrics-file", help="file in which to save (append) the performance test metrics. If omitted, git notes will be used.")
parser.add_argument("--summary-file", help="file in which to save the (human-readable) summary")
+parser.add_argument("--unexpected-output-dir", help="directory in which to place unexpected output")
parser.add_argument("--target-wrapper", help="wrapper executable to use when executing binaries compiled for the target")
parser.add_argument("--no-print-summary", action="store_true", help="should we print the summary?")
parser.add_argument("--only", action="append", help="just this test (can be give multiple --only= flags)")
@@ -128,6 +129,9 @@ if args.top:
if args.test_package_db:
config.test_package_db = args.test_package_db
+if args.unexpected_output_dir:
+ config.unexpected_output_dir = Path(args.unexpected_output_dir)
+
if args.only:
config.only = args.only
config.run_only_some_tests = True
=====================================
testsuite/driver/testglobals.py
=====================================
@@ -203,7 +203,7 @@ class TestConfig:
self.baseline_commit = None # type: Optional[GitRef]
# Additional package dbs to inspect for test dependencies.
- self.test_package_db = [] # type: [PathToPackageDb]
+ self.test_package_db = [] # type: List[PathToPackageDb]
# Should we skip performance tests
self.skip_perf_tests = False
@@ -225,6 +225,10 @@ class TestConfig:
# See Note [Haddock runtime stats files] at the bottom of this file.
self.stats_files_dir = Path('/please_set_stats_files_dir')
+ # Where to place observed output files on when unexpected output
+ # is observed.
+ self.unexpected_output_dir = None # type: Optional[Path]
+
# Should we cleanup after test runs?
self.cleanup = True
=====================================
testsuite/driver/testlib.py
=====================================
@@ -2262,11 +2262,15 @@ async def check_prof_ok(name: TestName, way: WayName) -> bool:
# new output. Returns true if output matched or was accepted, false
# otherwise. See Note [Output comparison] for the meaning of the
# normaliser and whitespace_normaliser parameters.
-async def compare_outputs(way: WayName,
- kind: str,
- normaliser: OutputNormalizer,
- expected_file, actual_file, diff_file=None,
- whitespace_normaliser: OutputNormalizer=lambda x:x) -> bool:
+async def compare_outputs(
+ way: WayName,
+ kind: str,
+ normaliser: OutputNormalizer,
+ expected_file: Path,
+ actual_file: Path,
+ diff_file: Optional[Path]=None,
+ whitespace_normaliser: OutputNormalizer=lambda x:x) -> bool:
+
# Respect ignore_stdout and ignore_stderr options
if kind == 'stderr' and getTestOpts().ignore_stderr:
return True
@@ -2343,6 +2347,12 @@ async def compare_outputs(way: WayName,
expected_path.unlink()
return True
else:
+ if config.unexpected_output_dir is not None:
+ ghc_root = expected_path.relative_to(config.top.parent)
+ out = config.unexpected_output_dir / ghc_root
+ out.parent.mkdir(exist_ok=True, parents=True)
+ write_file(out, actual_raw)
+
return False
# Checks that each line from pattern_file is present in actual_file as
@@ -2397,6 +2407,15 @@ def grep_output(normaliser: OutputNormalizer, pattern_file, actual_file, is_subs
# squash all whitespace, making the diff unreadable. Instead we rely
# on the `diff` program to ignore whitespace changes as much as
# possible (#10152).
+#
+# In addition, to aid CI users we will optionally collect all
+# of the unexpected output that we encountered in the
+# directory at config.unexpected_output_dir. The intent here is for this
+# directory to be preserved as a CI artifact which can then
+# be downloaded by the user and committed to their branch
+# to address CI failures on platforms which they cannot
+# test locally.
+
# Note [Null device handling]
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/0f3cf00db26ed6c6adf19486ceaa0f47d867a3fa...13e66fb97e83d2cb7072190666a8d36d23f4481c
--
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/0f3cf00db26ed6c6adf19486ceaa0f47d867a3fa...13e66fb97e83d2cb7072190666a8d36d23f4481c
You're receiving this email because of your account on gitlab.haskell.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-commits/attachments/20230706/a930181b/attachment-0001.html>
More information about the ghc-commits
mailing list