diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 995bf5b278a..52da56863ca 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -514,6 +514,9 @@ piglit-glslparser+quick_shader: DEQP_SKIPS: deqp-default-skips.txt script: - ./artifacts/deqp-runner.sh + artifacts: + reports: + junit: results/results.xml test-llvmpipe-gles2: variables: diff --git a/.gitlab-ci/deqp-runner.sh b/.gitlab-ci/deqp-runner.sh index 044ff5981ad..b8b63b88161 100755 --- a/.gitlab-ci/deqp-runner.sh +++ b/.gitlab-ci/deqp-runner.sh @@ -136,6 +136,31 @@ extract_xml_results() { done } +# Generate junit results +generate_junit() { + results=$1 + echo "" + echo "" + echo "" + while read line; do + testcase=${line%,*} + result=${line#*,} + # avoid counting Skip's in the # of tests: + if [ "$result" = "Skip" ]; then + continue; + fi + echo "" + if [ "$result" != "Pass" ]; then + echo "" + echo "$result: See $CI_JOB_URL/artifacts/results/$testcase.xml" + echo "" + fi + echo "" + done < $results + echo "" + echo "" +} + # wrapper to supress +x to avoid spamming the log quiet() { set +x @@ -146,6 +171,8 @@ quiet() { run_cts /tmp/case-list.txt $RESULTS/cts-runner-results.txt DEQP_EXITCODE=$? +quiet generate_junit $RESULTS/cts-runner-results.txt > $RESULTS/results.xml + if [ $DEQP_EXITCODE -ne 0 ]; then # preserve caselist files in case of failures: cp /tmp/cts_runner.*.txt $RESULTS/