See the "v3" for the "real" cover-letter: https://lore.kernel.org/git/RFC-cover-v3-0.6-00000000000-20220325T183946Z-avarab@xxxxxxxxx/ The only change in this v4 is to rebase this series on the just-submitted v3 of the parent series at: https://lore.kernel.org/git/cover-v3-00.29-00000000000-20220413T194847Z-avarab@xxxxxxxxx/ Also seen in the range-diff is a rebasing on the --immediate behavior for for t/test-lib.sh, which landed on master since tho "v3" was submitted. Johannes Schindelin (6): ci: make it easier to find failed tests' logs in the GitHub workflow tests: refactor --write-junit-xml code test(junit): avoid line feeds in XML attributes ci: optionally mark up output in the GitHub workflow ci: use `--github-workflow-markup` in the GitHub workflow ci: call `finalize_test_case_output` a little later .github/workflows/main.yml | 20 +--- ci/lib.sh | 3 +- ci/print-test-failures-github.sh | 35 +++++++ t/test-lib-functions.sh | 4 +- t/test-lib-github-workflow-markup.sh | 50 ++++++++++ t/test-lib-junit.sh | 132 +++++++++++++++++++++++++++ t/test-lib.sh | 128 ++++---------------------- 7 files changed, 245 insertions(+), 127 deletions(-) create mode 100755 ci/print-test-failures-github.sh create mode 100644 t/test-lib-github-workflow-markup.sh create mode 100644 t/test-lib-junit.sh Range-diff against v3: 1: d88749c60c9 = 1: cc137c69ee1 ci: make it easier to find failed tests' logs in the GitHub workflow 2: ad1e1465a81 = 2: 91f96c4f210 tests: refactor --write-junit-xml code 3: fc96e5b7296 = 3: 84c722969d5 test(junit): avoid line feeds in XML attributes 4: 429c256ac62 = 4: 8acaa800d3a ci: optionally mark up output in the GitHub workflow 5: 72058db67b0 ! 5: 4499f743dd1 ci: use `--github-workflow-markup` in the GitHub workflow @@ Commit message Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@xxxxxxxxx> ## ci/lib.sh ## -@@ ci/lib.sh: MAKEFLAGS="DEVELOPER=$DEVELOPER SKIP_DASHED_BUILT_INS=$SKIP_DASHED_BUILT_INS" +@@ ci/lib.sh: MAKEFLAGS="$MAKEFLAGS SKIP_DASHED_BUILT_INS=$SKIP_DASHED_BUILT_INS" case "$CI_TYPE" in github-actions) - setenv --test GIT_PROVE_OPTS "--timer --jobs 10" + setenv --test GIT_PROVE_OPTS "--timer --jobs $NPROC" - GIT_TEST_OPTS="--verbose-log -x" + GIT_TEST_OPTS="--verbose-log -x --github-workflow-markup" - MAKEFLAGS="$MAKEFLAGS --jobs=10" ++ MAKEFLAGS="$MAKEFLAGS --jobs=10" test Windows != "$RUNNER_OS" || GIT_TEST_OPTS="--no-chain-lint --no-bin-wrappers $GIT_TEST_OPTS" + setenv --test GIT_TEST_OPTS "$GIT_TEST_OPTS" ## ci/print-test-failures-github.sh ## @@ ci/print-test-failures-github.sh: github-actions) 6: 1d2b94436fc ! 6: b291f64821c ci: call `finalize_test_case_output` a little later @@ t/test-lib.sh: trap '{ code=$?; set +x; } 2>/dev/null; exit $code' INT TERM HUP test_failure=$(($test_failure + 1)) say_color error "not ok $test_count - $1" shift - printf '%s\n' "$*" | sed -e 's/^/# /' - test "$immediate" = "" || _error_exit +@@ t/test-lib.sh: test_failure_ () { + say_color error "1..$test_count" + _error_exit + fi + finalize_test_case_output failure "$failure_label" "$@" } -- 2.36.0.rc2.843.g193535c2aa7