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 \n" "$0" + printf "Usage: %s [--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 '' > "$XMLFILE" + junit_write '' +else + JUNIT=0 +fi for script in util/lint/${1}-*; do echo echo "$(basename $script)" grep "^# DESCR:" $script | sed "s,.*DESCR: *,," echo "========" + junit_write " " $script > $LINTLOG if [ `cat $LINTLOG | wc -l` -eq 0 ]; then echo "success" + junit_write " " else echo "test failed:" cat $LINTLOG + junit_write " " rm -f $LINTLOG FAILED=$(( $FAILED + 1 )) fi echo "========" + junit_write ' ' done test $FAILED -eq 0 || { echo "ERROR: $FAILED test(s) failed."; rm -f $LINTLOG && exit 1; }; rm -f $LINTLOG +junit_write ''