diff --git a/contrib/cirrus/logformatter b/contrib/cirrus/logformatter index 2ab8aa117661..0cbd1f34bc4b 100755 --- a/contrib/cirrus/logformatter +++ b/contrib/cirrus/logformatter @@ -517,25 +517,20 @@ END_SYNOPSIS } # eg "test fedora", "special_testing_rootless" + # WARNING: As of 2020-10-05, $CIRRUS_TASK_NAME reflects the same + # descriptive content as our $subtest_name argument (confirm via + # cross-checking runner.sh:logformatter() vs cirrus.yml:&std_name_fmt). + # If this ever becomes untrue, just add _tr("Subtest", $subtest_name). my $test_name = _env_replace("{CIRRUS_TASK_NAME}"); - if (my $rcli = $ENV{RCLI}) { - $test_name .= " [remote]" if $rcli eq 'true'; - } - else { - $test_name .= " [no RCLI; cannot determine remote/local]"; - } + # (Special-case cleanup: Cirrus\ quotes\ spaces; remove for readability). + $test_name =~ s/\\\s+/ /g; $s .= _tr("Test name", $test_name); - # Subtest, e.g. system_test - $s .= _tr("Subtest", $subtest_name); - # Link to further Cirrus results, e.g. other runs. # Build is mostly boring, it's usually TASK that we want to see. - $s .= _tr("Cirrus Build ID", "" . _a("{CIRRUS_BUILD_ID}", "https://cirrus-ci.com/build/{CIRRUS_BUILD_ID}") . ""); - $s .= _tr("Cirrus Task ID", _a("{CIRRUS_TASK_ID}", "https://cirrus-ci.com/task/{CIRRUS_TASK_ID}")); - - # "none", "rootless" - $s .= _tr("Special mode", _env_replace("{SPECIALMODE}")); + $s .= _tr("Cirrus", sprintf("Build %s / Task %s", + _a("{CIRRUS_BUILD_ID}", "https://cirrus-ci.com/build/{CIRRUS_BUILD_ID}"), + _a("{CIRRUS_TASK_ID}", "https://cirrus-ci.com/task/{CIRRUS_TASK_ID}"))); $s .= "\n"; return $s; diff --git a/contrib/cirrus/runner.sh b/contrib/cirrus/runner.sh index 17bb05019118..13fab447ca50 100755 --- a/contrib/cirrus/runner.sh +++ b/contrib/cirrus/runner.sh @@ -102,7 +102,7 @@ altbuild() { esac } -integration_outputfilter() { +logformatter() { # Use similar format as human-friendly task name from .cirrus.yml # shellcheck disable=SC2154 output_name="$TEST_FLAVOR-$PODBIN_NAME-$DISTRO_NV-$PRIV_NAME-$TEST_ENVIRON" @@ -134,10 +134,11 @@ dotest() { # does not return fi - output_filter="cat" # no filter - if [[ "$testsuite" == "integration" ]]; then - output_filter=integration_outputfilter - fi + # 'logformatter' script makes test logs readable; only works for some tests + case "$testsuite" in + integration|system) output_filter=logformatter ;; + *) output_filter="cat" ;; + esac # containers/automation sets this to 0 for it's dbg() function # but the e2e integration tests are also sensitive to it. @@ -210,7 +211,8 @@ case "$TEST_FLAVOR" in bindings) # shellcheck disable=SC2155 export PATH=$PATH:$GOSRC/hack - cd pkg/bindings/test && ginkgo -trace -noColor -debug -r + # Subshell needed for .cirrus.yml to find logformatter output in cwd + (cd pkg/bindings/test && ginkgo -trace -noColor -debug -r) |& logformatter ;; endpoint) make test-binaries