mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-24 20:08:10 +01:00
test: aggregate-results.sh: consistent style. zero forks.
- all variables in $((...)) without leading $ - all comparisons use -gt, -eq or -ne - no -a nor -o inside [ ... ] expressions - all indentation levels using one tab Dropped unnecessary empty string check when reading results files. Replaced pluralize() which was executed in subshell with pluralize_s(). pluralize_s sets $s to 's' or '' based on value of $1. Calls to pluralize_s are done in context of current shell, so no forks to subshells executed.
This commit is contained in:
parent
bc396c967c
commit
00c63bf736
1 changed files with 36 additions and 56 deletions
|
@ -13,81 +13,61 @@ do
|
|||
while read type value
|
||||
do
|
||||
case $type in
|
||||
'')
|
||||
continue ;;
|
||||
fixed)
|
||||
fixed=$(($fixed + $value)) ;;
|
||||
fixed=$((fixed + value)) ;;
|
||||
success)
|
||||
success=$(($success + $value)) ;;
|
||||
success=$((success + value)) ;;
|
||||
failed)
|
||||
failed=$(($failed + $value)) ;;
|
||||
failed=$((failed + value)) ;;
|
||||
broken)
|
||||
broken=$(($broken + $value)) ;;
|
||||
broken=$((broken + value)) ;;
|
||||
total)
|
||||
total=$(($total + $value)) ;;
|
||||
total=$((total + value)) ;;
|
||||
esac
|
||||
done <"$file"
|
||||
done
|
||||
|
||||
pluralize () {
|
||||
case $2 in
|
||||
1)
|
||||
case $1 in
|
||||
test)
|
||||
echo test ;;
|
||||
failure)
|
||||
echo failure ;;
|
||||
esac
|
||||
;;
|
||||
*)
|
||||
case $1 in
|
||||
test)
|
||||
echo tests ;;
|
||||
failure)
|
||||
echo failures ;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
}
|
||||
pluralize_s () { [ "$1" -eq 1 ] && s='' || s='s'; }
|
||||
|
||||
echo "Notmuch test suite complete."
|
||||
if [ "$fixed" = "0" ] && [ "$failed" = "0" ]; then
|
||||
tests=$(pluralize "test" $total)
|
||||
printf "All $total $tests "
|
||||
if [ "$broken" = "0" ]; then
|
||||
echo "passed."
|
||||
else
|
||||
failures=$(pluralize "failure" $broken)
|
||||
echo "behaved as expected ($broken expected $failures)."
|
||||
fi;
|
||||
|
||||
if [ "$fixed" -eq 0 ] && [ "$failed" -eq 0 ]; then
|
||||
pluralize_s "$total"
|
||||
printf "All $total test$s "
|
||||
if [ "$broken" -eq 0 ]; then
|
||||
echo "passed."
|
||||
else
|
||||
pluralize_s "$broken"
|
||||
echo "behaved as expected ($broken expected failure$s)."
|
||||
fi
|
||||
else
|
||||
echo "$success/$total tests passed."
|
||||
if [ "$broken" != "0" ]; then
|
||||
tests=$(pluralize "test" $broken)
|
||||
echo "$broken broken $tests failed as expected."
|
||||
fi
|
||||
if [ "$fixed" != "0" ]; then
|
||||
tests=$(pluralize "test" $fixed)
|
||||
echo "$fixed broken $tests now fixed."
|
||||
fi
|
||||
if [ "$failed" != "0" ]; then
|
||||
tests=$(pluralize "test" $failed)
|
||||
echo "$failed $tests failed."
|
||||
fi
|
||||
echo "$success/$total tests passed."
|
||||
if [ "$broken" -ne 0 ]; then
|
||||
pluralize_s "$broken"
|
||||
echo "$broken broken test$s failed as expected."
|
||||
fi
|
||||
if [ "$fixed" -ne 0 ]; then
|
||||
pluralize_s "$fixed"
|
||||
echo "$fixed broken test$s now fixed."
|
||||
fi
|
||||
if [ "$failed" -ne 0 ]; then
|
||||
pluralize_s "$failed"
|
||||
echo "$failed test$s failed."
|
||||
fi
|
||||
fi
|
||||
|
||||
skipped=$(($total - $fixed - $success - $failed - $broken))
|
||||
if [ "$skipped" != "0" ]; then
|
||||
tests=$(pluralize "test" $skipped)
|
||||
echo "$skipped $tests skipped."
|
||||
skipped=$((total - fixed - success - failed - broken))
|
||||
if [ "$skipped" -ne 0 ]; then
|
||||
pluralize_s "$skipped"
|
||||
echo "$skipped test$s skipped."
|
||||
fi
|
||||
|
||||
# Note that we currently do not consider skipped tests as failing the
|
||||
# build.
|
||||
|
||||
if [ $success -gt 0 -a $fixed -eq 0 -a $failed -eq 0 ]
|
||||
if [ "$success" -gt 0 ] && [ "$fixed" -eq 0 ] && [ "$failed" -eq 0 ]
|
||||
then
|
||||
exit 0
|
||||
exit 0
|
||||
else
|
||||
exit 1
|
||||
exit 1
|
||||
fi
|
||||
|
|
Loading…
Reference in a new issue