From 870bb4811bcdd1360819892c7627c64505e4da6d Mon Sep 17 00:00:00 2001 From: Semir Sionek Date: Wed, 14 May 2025 14:01:39 +0000 Subject: [PATCH] feat(vpp): run make test and hs-test in the coverage job Change-Id: I378eb24b9b22d3ced166efdbabb6b514e627c958 Signed-off-by: Semir Sionek --- jjb/scripts/publish_cov.sh | 33 +++++++++++++++++++++++++++++++++ jjb/scripts/vpp/cov-build.sh | 2 +- jjb/vpp/vpp.yaml | 2 +- 3 files changed, 35 insertions(+), 2 deletions(-) diff --git a/jjb/scripts/publish_cov.sh b/jjb/scripts/publish_cov.sh index cdbbcdd86..67082d536 100644 --- a/jjb/scripts/publish_cov.sh +++ b/jjb/scripts/publish_cov.sh @@ -49,3 +49,36 @@ terraform apply -no-color -auto-approve popd echo "S3 Test Coverage: https://${CDN_URL}/${bucket_path}" + +# Check result +FAILED_TESTS="" +FAILED_HSTESTS="" + +FAILURE_REGEX='--- addFailure\(\) ([A-Za-z0-9-]+\.[a-zA-Z0-9_-]+)' +for dir in /tmp/vpp-failed-unittests/*; do + TESTCLASS_LOG="$(gunzip -c $dir/log.txt.gz)" + while [[ $TESTCLASS_LOG =~ $FAILURE_REGEX ]]; do + FAILED_TESTS="$FAILED_TESTS${BASH_REMATCH[1]}"$'\n' + TESTCLASS_LOG=${TESTCLASS_LOG/"${BASH_REMATCH[0]}"/} + done +done +if [[ -n $FAILED_TESTS ]]; then + echo -e "make test coverage run failed!\nFailed tests:\n$FAILED_TESTS" +else + echo "make test coverage run succeeded!" +fi +if [[ -f "${WORKSPACE}/extras/hs-test/summary/report.json" ]]; then + FAILED_HSTESTS=$(jq '.[].SpecReports[] | select(.State=="failed").LeafNodeText' "${WORKSPACE}/extras/hs-test/summary/report.json") + if [[ -n $FAILED_HSTESTS ]]; then + echo -e "hs-test coverage run failed!\nFailed tests:\n$FAILED_HSTESTS" + else + echo "hs-test coverage run succeeded!" + fi +else + echo "hs-test framework failed!" +fi + +if [[ -n $FAILED_TESTS || -n $FAILED_HSTESTS ]]; then + die "Some tests failed, check the log!" +fi + diff --git a/jjb/scripts/vpp/cov-build.sh b/jjb/scripts/vpp/cov-build.sh index 268b9b454..fcc3d9f97 100755 --- a/jjb/scripts/vpp/cov-build.sh +++ b/jjb/scripts/vpp/cov-build.sh @@ -85,7 +85,7 @@ make_test_coverage_report() { fi fi if grep -q "${OS_ID}-${OS_VERSION_ID}" <<< "${MAKE_TEST_OS}"; then - if ! make COMPRESS_FAILED_TEST_LOGS=yes TEST_JOBS="$TEST_JOBS" CCACHE_DISABLE=1 test-cov ; then + if ! make COMPRESS_FAILED_TEST_LOGS=yes TEST_JOBS="$TEST_JOBS" CCACHE_DISABLE=1 test-cov-both ; then BUILD_ERROR="FAILED 'make test-cov'" return fi diff --git a/jjb/vpp/vpp.yaml b/jjb/vpp/vpp.yaml index 43fa3647e..1841a9044 100644 --- a/jjb/vpp/vpp.yaml +++ b/jjb/vpp/vpp.yaml @@ -1123,8 +1123,8 @@ - ../scripts/vpp/cov-build.sh publishers: - - fdio-infra-publish-cov-7day - fdio-infra-publish + - fdio-infra-publish-cov-7day # [end] VPP-COV-VERIFY JOB TEMPLATE # VPP-CSIT-VERIFY-PERF JOB TEMPLATE -- 2.16.6