diff options
Diffstat (limited to '.gitlab-ci/deqp-runner.sh')
-rwxr-xr-x | .gitlab-ci/deqp-runner.sh | 27 |
1 files changed, 27 insertions, 0 deletions
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 "<?xml version=\"1.0\" encoding=\"utf-8\"?>" + echo "<testsuites>" + echo "<testsuite name=\"$DEQP_VER-$CI_NODE_INDEX\">" + while read line; do + testcase=${line%,*} + result=${line#*,} + # avoid counting Skip's in the # of tests: + if [ "$result" = "Skip" ]; then + continue; + fi + echo "<testcase name=\"$testcase\">" + if [ "$result" != "Pass" ]; then + echo "<failure type=\"$result\">" + echo "$result: See $CI_JOB_URL/artifacts/results/$testcase.xml" + echo "</failure>" + fi + echo "</testcase>" + done < $results + echo "</testsuite>" + echo "</testsuites>" +} + # 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/ |