diff options
author | Martin Roth <martinroth@google.com> | 2015-10-13 15:04:17 -0600 |
---|---|---|
committer | Patrick Georgi <pgeorgi@google.com> | 2015-10-17 06:16:40 +0000 |
commit | b6d739d4496d479315b74972ba3787653745e56f (patch) | |
tree | 37db2d03eee334a8fdd7784583c0eba9ca3c8132 | |
parent | e4fc407e3f6f3975e6abe2a7b4b9f907bcba2af5 (diff) |
lint: Add junit.xml output for jenkins
To add lint to jenkins testing, we need junit.xml output. This adds an
optional --junit command line parameter to enable output to an xml file
in the lint directory.
Change-Id: I5588190cb050b9dbe99458cb18a71a147769f50e
Signed-off-by: Martin Roth <martinroth@google.com>
Reviewed-on: http://review.coreboot.org/11891
Tested-by: build bot (Jenkins)
Reviewed-by: Patrick Georgi <pgeorgi@google.com>
-rwxr-xr-x | util/lint/lint | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/util/lint/lint b/util/lint/lint index ab930398bc..fa47fb443e 100755 --- a/util/lint/lint +++ b/util/lint/lint @@ -18,7 +18,13 @@ #set -x # uncomment for debug usage () { - printf "Usage: %s <lint|lint-stable>\n" "$0" + printf "Usage: %s <lint|lint-stable> [--junit]\n" "$0" +} + +junit_write () { + if [ "$JUNIT" -eq 1 ]; then + echo "$1" >> "$XMLFILE" + fi } if [ -z "$1" ] || [ "$1" != "lint" ] && [ "$1" != "lint-stable" ]; then @@ -27,24 +33,39 @@ if [ -z "$1" ] || [ "$1" != "lint" ] && [ "$1" != "lint-stable" ]; then fi LINTLOG=`mktemp .tmpconfig.lintXXXXX`; +XMLFILE="$(dirname $0)/junit.xml" FAILED=0; +if [ "$2" = "--junit" ]; then + JUNIT=1 + echo '<?xml version="1.0" encoding="utf-8"?>' > "$XMLFILE" + junit_write '<testsuite>' +else + JUNIT=0 +fi for script in util/lint/${1}-*; do echo echo "$(basename $script)" grep "^# DESCR:" $script | sed "s,.*DESCR: *,," echo "========" + junit_write " <testcase classname='lint' name='$(basename $script)'>" $script > $LINTLOG if [ `cat $LINTLOG | wc -l` -eq 0 ]; then echo "success" + junit_write " <system-out><![CDATA[success]]></system-out>" else echo "test failed:" cat $LINTLOG + junit_write " <failure type='testFailed'><![CDATA[" + junit_write "$(cat $LINTLOG)" + junit_write "]]></failure>" rm -f $LINTLOG FAILED=$(( $FAILED + 1 )) fi echo "========" + junit_write ' </testcase>' done test $FAILED -eq 0 || { echo "ERROR: $FAILED test(s) failed."; rm -f $LINTLOG && exit 1; }; rm -f $LINTLOG +junit_write '</testsuite>' |