diff --git a/test/check-build b/test/check-build index f7f894a..de6ec37 100755 --- a/test/check-build +++ b/test/check-build @@ -1,33 +1,36 @@ #!/bin/sh -ret=0 - # # Check that we have no tabs or trailing spaces in the source code # -failure=0 +nfails=0 +nfiles=0 +nlines=0 for dir in lib/misc lib/unix lib/xlib lib/xwidgets lib/xwidgets/motif \ lib/xwidgets/xaw src; do - pushd ../$dir >/dev/null - for x in $(make echo-sources); do - if grep '[[:space:]]$' "$x" >/dev/null 2>&1; then + if [ ! -d "../$dir" ]; then continue; fi + for x in $(make -s echo-sources -C ../$dir); do + case "$x" in + *.c|*.cpp|*.h|*.m|*.php|*.cs|*.java|.py|.pl) + nfiles=$(($nfiles + 1)); + nlines=$(($nlines + `grep -c . "../$dir/$x"`)) ;; + *) + continue ;; + esac + if grep '[[:space:]]$' "../$dir/$x" >/dev/null 2>&1; then echo "error: $dir/$x contains trailing spaces" - failure=1 + nfails=$(($nfails + 1)) fi - if grep ' ' "$x" >/dev/null 2>&1; then + if grep ' ' "../$dir/$x" >/dev/null 2>&1; then echo "error: $dir/$x contains tabs" - failure=1 + nfails=$(($nfails + 1)) fi done - popd >/dev/null done -if test "$failure" != "0"; then - ret=1 -else - echo "0 errors in source code" -fi -if test "$ret" != "0"; then +echo "$nfiles files, $nlines lines, $nfails errors in source code" + +if test "$nfails" != "0"; then exit 1 fi