Addresses #4 : Footer functions don't return failure count

This commit is contained in:
2014-04-19 21:49:11 -07:00
parent 99746df4d7
commit b4dc1d685f
2 changed files with 29 additions and 28 deletions

View File

@@ -1,9 +1,9 @@
#!/bin/bash #!/bin/bash
JUNIT_FAILURES=0 SHUNIT_FAILURES=0
JUNIT_ERRORS=0 SHUNIT_ERRORS=0
JUNIT_TESTS=0 SHUNIT_TESTS=0
JUNIT_TIMERSTART=$(date "+%s") SHUNIT_TIMERSTART=$(date "+%s")
function junit_header() function junit_header()
{ {
@@ -18,10 +18,10 @@ function junit_header()
EOF EOF
return 1 return 1
fi fi
JUNIT_FAILURES=0 SHUNIT_FAILURES=0
JUNIT_ERRORS=0 SHUNIT_ERRORS=0
JUNIT_TESTS=0 SHUNIT_TESTS=0
JUNIT_TIMERSTART=$(date "+%s") SHUNIT_TIMERSTART=$(date "+%s")
> /tmp/$$.junit > /tmp/$$.junit
} }
@@ -68,11 +68,12 @@ function junit_footer()
EOF EOF
return 1 return 1
fi fi
ELAPSED=$(expr $(date "+%s") - $JUNIT_TIMERSTART) ELAPSED=$(expr $(date "+%s") - $SHUNIT_TIMERSTART)
junit_header_real $JUNIT_TESTS $JUNIT_ERRORS $JUNIT_FAILURES $ELAPSED "UTF-8" junit_header_real $SHUNIT_TESTS $SHUNIT_ERRORS $SHUNIT_FAILURES $ELAPSED "UTF-8"
cat /tmp/$$.junit cat /tmp/$$.junit
rm -f /tmp/$$.junit rm -f /tmp/$$.junit
echo '</testsuite>' echo '</testsuite>'
return 0
} }
function junit_testcase() function junit_testcase()
@@ -101,11 +102,11 @@ EOF
failtype="$4" failtype="$4"
failmsg="$5" failmsg="$5"
cdata="$6" cdata="$6"
JUNIT_TESTS=$(expr $JUNIT_TESTS + 1) SHUNIT_TESTS=$(expr $SHUNIT_TESTS + 1)
echo ' <testcase classname="'$classname'" time="'$elapsed'" name="'$testname'">' >> /tmp/$$.junit echo ' <testcase classname="'$classname'" time="'$elapsed'" name="'$testname'">' >> /tmp/$$.junit
if [ "$failtype" != "" ]; then if [ "$failtype" != "" ]; then
JUNIT_ERRORS=$(expr $JUNIT_ERRORS + 1) SHUNIT_ERRORS=$(expr $SHUNIT_ERRORS + 1)
JUNIT_FAILURES=$(expr $JUNIT_FAILURES + 1) SHUNIT_FAILURES=$(expr $SHUNIT_FAILURES + 1)
echo ' <failure type="'$failtype'" message="'$failmsg'">' >> /tmp/$$.junit echo ' <failure type="'$failtype'" message="'$failmsg'">' >> /tmp/$$.junit
echo ' <![CDATA[' >> /tmp/$$.junit echo ' <![CDATA[' >> /tmp/$$.junit
echo "${cdata}" >> /tmp/$$.junit echo "${cdata}" >> /tmp/$$.junit

View File

@@ -7,10 +7,10 @@
# #
# If COLOR=on, then the OK/FAIL bits are in RED or GREEN. # If COLOR=on, then the OK/FAIL bits are in RED or GREEN.
TUNIT_FAILURES=0 SHUNIT_FAILURES=0
TUNIT_ERRORS=0 SHUNIT_ERRORS=0
TUNIT_TESTS=0 SHUNIT_TESTS=0
TUNIT_TIMERSTART=$(date "+%s") SHUNIT_TIMERSTART=$(date "+%s")
COLOR=${COLOR:-on} COLOR=${COLOR:-on}
@@ -36,10 +36,10 @@ function tunit_header()
EOF EOF
return 1 return 1
fi fi
TUNIT_FAILURES=0 SHUNIT_FAILURES=0
TUNIT_ERRORS=0 SHUNIT_ERRORS=0
TUNIT_TESTS=0 SHUNIT_TESTS=0
TUNIT_TIMERSTART=$(date "+%s") SHUNIT_TIMERSTART=$(date "+%s")
return 0 return 0
} }
@@ -54,18 +54,18 @@ EOF
return 1 return 1
fi fi
local errcolor failcolor elapsed local errcolor failcolor elapsed
elapsed=$(expr $(date "+%s") - $TUNIT_TIMERSTART) elapsed=$(expr $(date "+%s") - $SHUNIT_TIMERSTART)
errcolor="${COLOR_GREEN}" errcolor="${COLOR_GREEN}"
failcolor="${COLOR_GREEN}" failcolor="${COLOR_GREEN}"
if [ $TUNIT_ERRORS -gt 0 ]; then if [ $SHUNIT_ERRORS -gt 0 ]; then
errcolor="${COLOR_RED}" errcolor="${COLOR_RED}"
fi fi
if [ $TUNIT_FAILURES -gt 0 ]; then if [ $SHUNIT_FAILURES -gt 0 ]; then
failcolor="${COLOR_RED}" failcolor="${COLOR_RED}"
fi fi
echo echo
echo "==== $TUNIT_TESTS TESTS in $elapsed SECONDS : ${errcolor}$TUNIT_ERRORS ERRORS${COLOR_NORMAL}, ${errcolor}$TUNIT_FAILURES FAILURES${COLOR_NORMAL} ====" echo "==== $SHUNIT_TESTS TESTS in $elapsed SECONDS : ${errcolor}$SHUNIT_ERRORS ERRORS${COLOR_NORMAL}, ${errcolor}$SHUNIT_FAILURES FAILURES${COLOR_NORMAL} ===="
return 0 return 0
} }
@@ -96,11 +96,11 @@ EOF
failmsg="$5" failmsg="$5"
cdata="$6" cdata="$6"
TUNIT_TESTS=$(expr $TUNIT_TESTS + 1) SHUNIT_TESTS=$(expr $SHUNIT_TESTS + 1)
printf "[$classname] $testname .... " printf "[$classname] $testname .... "
if [ "$failtype" != "" ]; then if [ "$failtype" != "" ]; then
TUNIT_ERRORS=$(expr $TUNIT_ERRORS + 1) SHUNIT_ERRORS=$(expr $SHUNIT_ERRORS + 1)
TUNIT_FAILURES=$(expr $TUNIT_FAILURES + 1) SHUNIT_FAILURES=$(expr $SHUNIT_FAILURES + 1)
echo "${COLOR_RED}[FAILED]" echo "${COLOR_RED}[FAILED]"
echo " $failtype : $failmsg" echo " $failtype : $failmsg"
echo "$cdata" | sed s/"^"/" "/g echo "$cdata" | sed s/"^"/" "/g