Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-ci
Path: blob/main/scripts/test/ltp2junit.sh
1130 views
1
#!/bin/sh -e
2
3
# Script takes Linux Test Project output, usually found in
4
# /compat/linux/opt/ltp/results, and generates a JUnit file.
5
6
if [ $# -ne 2 ]; then
7
echo "usage: $0 input-file output-file" > /dev/stderr
8
exit 1
9
fi
10
11
cat > $2 << END
12
<?xml version="1.0" encoding="iso-8859-1"?>
13
<testsuite>
14
<properties>
15
</properties>
16
END
17
18
cat "$1" | awk '
19
$2 ~ /PASS/ {
20
printf("<testcase classname=\"ltp\" name=\"%s\">\n</testcase>\n", $1)
21
}
22
23
$2 ~ /FAIL/ {
24
printf("<testcase classname=\"ltp\" name=\"%s\">\n\t<failure message=\"see console log for details\"/>\n</testcase>\n", $1);
25
}
26
27
$2 ~ /CONF/ {
28
printf("<testcase classname=\"ltp\" name=\"%s\">\n\t<skipped/>\n</testcase>\n", $1);
29
}
30
31
' >> "$2"
32
33
cat >> $2 << END
34
</testsuite>
35
END
36
37