summaryrefslogtreecommitdiff
path: root/tools/parse-subunit-stream-as-xml
blob: 708b19294bb9b9de21cfa91c350769da08ce8cc8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#!/bin/bash

SUBUNIT=${1}
ALL_TESTS=${2}

if [ ! -e "${SUBUNIT}" ] ; then
   echo "Subunit stream not found: ${SUBUNIT}"
   exit 1
fi

TEMP_DIR=$(cat /proc/sys/kernel/random/uuid)

rm -rf ${TEMP_DIR}
mkdir ${TEMP_DIR}

# generate CSV files containing lists of all tests that were RUN, all FAILED tests, all SKIPPED tests, and all PASSING tests
cat ${SUBUNIT} | subunit2junitxml --no-passthrough > ${TEMP_DIR}/run.xml
cat ${SUBUNIT} | subunit-filter --only-genuine-failures --passthrough | subunit2junitxml > ${TEMP_DIR}/failed.xml
cat ${SUBUNIT} | subunit-filter --no-error --no-failure --no-success --no-xfail | subunit2junitxml --no-passthrough > ${TEMP_DIR}/skipped.xml
cat ${SUBUNIT} | subunit-filter --no-skip --no-failure --success | subunit2junitxml --no-passthrough > ${TEMP_DIR}/passing.xml
if [ -e "${ALL_TESTS}" ] ; then
   cp ${ALL_TESTS} ${TEMP_DIR}/all.txt
fi
echo "Results have been stored in [${TEMP_DIR}]"