From 9546638a09335bc32fb391f59b392065a6ba611d Mon Sep 17 00:00:00 2001 From: Ed Santiago Date: Mon, 5 Oct 2020 08:25:19 -0600 Subject: logformatter: run on system tests & bindings (that got accidentally dropped in the new Cirrus makeover). Note that 'dotest' does not actually 'do tests', it's only used for a small subset of tests. Also, make logformatter work better in the new Cirrus setup. Remove duplicate test/subtest, remove no-longer-used SPECIALMODE, and make the Cirrus build/task display a little cleaner. Signed-off-by: Ed Santiago --- contrib/cirrus/logformatter | 23 +++++++++-------------- contrib/cirrus/runner.sh | 14 ++++++++------ 2 files changed, 17 insertions(+), 20 deletions(-) (limited to 'contrib') diff --git a/contrib/cirrus/logformatter b/contrib/cirrus/logformatter index 2ab8aa117..0cbd1f34b 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 17bb05019..13fab447c 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 -- cgit v1.2.3-54-g00ecf