From 48ba39987d3958531589d7969750ea749e6a6d30 Mon Sep 17 00:00:00 2001 From: Kefu Chai Date: Thu, 25 Mar 2021 17:08:48 +0800 Subject: [PATCH] run-make-check.sh: let ctest generate XML output to enable XUnit plugin of jenkins to consume the ctest output and publish it in the dashboard, we need to * let ctest generate XML output instead of plain text output * do not fail the test if any test case fails. this allows the publisher to do its job by checking the XML output. * prevent ctest from compressing the output. see https://issues.jenkins.io/browse/JENKINS-21737 Signed-off-by: Kefu Chai --- run-make-check.sh | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/run-make-check.sh b/run-make-check.sh index 12c16f2bca9..51affc95651 100755 --- a/run-make-check.sh +++ b/run-make-check.sh @@ -22,6 +22,10 @@ source src/script/run-make.sh set -e +function in_jenkins() { + test -n "$JENKINS_HOME" +} + function run() { # to prevent OSD EMFILE death on tests, make sure ulimit >= 1024 $DRY_RUN ulimit -n $(ulimit -Hn) @@ -39,9 +43,16 @@ function run() { $DRY_RUN sudo /sbin/sysctl -q -w fs.aio-max-nr=$((65536 * $(nproc))) CHECK_MAKEOPTS=${CHECK_MAKEOPTS:-$DEFAULT_MAKEOPTS} - if ! $DRY_RUN ctest $CHECK_MAKEOPTS --output-on-failure; then - rm -fr ${TMPDIR:-/tmp}/ceph-asok.* - return 1 + if in_jenkins; then + if ! ctest $CHECK_MAKEOPTS --no-compress-output --output-on-failure -T Test; then + # do not return failure, as the jenkins publisher will take care of this + rm -fr ${TMPDIR:-/tmp}/ceph-asok.* + fi + else + if ! $DRY_RUN ctest $CHECK_MAKEOPTS --output-on-failure; then + rm -fr ${TMPDIR:-/tmp}/ceph-asok.* + return 1 + fi fi } -- 2.39.5