Fix some shell issues that would occasionally cause hangs if no tests failed. kernigh-pr-osx
authorDavid Given <dg@cowlark.com>
Mon, 5 Dec 2016 20:06:38 +0000 (21:06 +0100)
committerDavid Given <dg@cowlark.com>
Mon, 5 Dec 2016 20:06:38 +0000 (21:06 +0100)
first/testsummary.sh

index 6301cb9..6c2d3e3 100755 (executable)
@@ -3,9 +3,15 @@ echo ""
 
 succeeding="$(find "$@" -size 0)"
 notsucceeding="$(find "$@" ! -size 0)"
-skipped="$(grep -l @@SKIPPED $notsucceeding)"
-timedout="$(grep -l @@TIMEDOUT $notsucceeding)"
-failed="$(grep -l @@FAIL $notsucceeding)"
+if [ "$notsucceeding" != "" ]; then
+       skipped="$(grep -l @@SKIPPED $notsucceeding)"
+       timedout="$(grep -l @@TIMEDOUT $notsucceeding)"
+       failed="$(grep -l @@FAIL $notsucceeding)"
+else
+       skipped=
+       timedout=
+       failed=
+fi
 
 for a in $failed $timedout; do
     echo "**** $a"
@@ -13,11 +19,11 @@ for a in $failed $timedout; do
     echo ""
 done
 
-echo "$(echo $succeeding | wc -w) tests passed"
-echo "$(echo $notsucceeding | wc -w) tests failed to pass"
-echo "$(echo $skipped | wc -w) were skipped (see build log for details)"
-echo "$(echo $timedout | wc -w) timed out"
-echo "$(echo $failed | wc -w) failed"
+echo "$(echo "$succeeding" | wc -w) tests passed"
+echo "$(echo "$notsucceeding" | wc -w) tests failed to pass"
+echo "$(echo "$skipped" | wc -w) were skipped (see build log for details)"
+echo "$(echo "$timedout" | wc -w) timed out"
+echo "$(echo "$failed" | wc -w) failed"
 echo ""
 
 if [ "$failed" != "" -o "$timedout" != "" ]; then