aboutsummaryrefslogtreecommitdiffstats
path: root/.gitlab-ci/deqp-runner.sh
diff options
context:
space:
mode:
Diffstat (limited to '.gitlab-ci/deqp-runner.sh')
-rwxr-xr-x.gitlab-ci/deqp-runner.sh27
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/