Add strict (no-skipping) checks and use them.

This commit is contained in:
Wayne Davison
2020-07-17 11:18:35 -07:00
parent 18cffa8aa9
commit e9899dbdb4
4 changed files with 26 additions and 14 deletions

View File

@@ -27,11 +27,11 @@ jobs:
- name: info
run: rsync --version
- name: check
run: sudo make check
run: sudo make strict_check
- name: check30
run: sudo make check30
run: sudo make strict_check30
- name: check29
run: sudo make check29
run: sudo make strict_check29
- name: ssl file list
run: rsync-ssl --no-motd download.samba.org::rsyncftp/ || true

View File

@@ -295,17 +295,17 @@ test: check
# catch Bash-isms earlier even if we're running on GNU. Of course, we
# might lose in the future where POSIX diverges from old sh.
.PHONY: check
check: all $(CHECK_PROGS) $(CHECK_SYMLINKS)
rsync_bin=`pwd`/rsync$(EXEEXT) $(srcdir)/runtests.sh
.PHONY: check strict_check
check strict_check: all $(CHECK_PROGS) $(CHECK_SYMLINKS)
rsync_bin=`pwd`/rsync$(EXEEXT) $(srcdir)/runtests.sh $@
.PHONY: check29
check29: all $(CHECK_PROGS) $(CHECK_SYMLINKS)
rsync_bin=`pwd`/rsync$(EXEEXT) $(srcdir)/runtests.sh --protocol=29
.PHONY: check29 strict_check29
check29 strict_check29: all $(CHECK_PROGS) $(CHECK_SYMLINKS)
rsync_bin=`pwd`/rsync$(EXEEXT) $(srcdir)/runtests.sh $@ --protocol=29
.PHONY: check30
check30: all $(CHECK_PROGS) $(CHECK_SYMLINKS)
rsync_bin=`pwd`/rsync$(EXEEXT) $(srcdir)/runtests.sh --protocol=30
.PHONY: check30 strict_check30
check30 strict_check30: all $(CHECK_PROGS) $(CHECK_SYMLINKS)
rsync_bin=`pwd`/rsync$(EXEEXT) $(srcdir)/runtests.sh $@ --protocol=30
wildtest.o: wildtest.c t_stub.o lib/wildmatch.c rsync.h config.h
wildtest$(EXEEXT): wildtest.o lib/compat.o lib/snprintf.o @BUILD_POPT@

View File

@@ -1,5 +1,6 @@
TARGETS := all install install-ssl-daemon install-all install-strip conf gen gensend reconfigure restatus \
proto man clean cleantests distclean test check check29 check30 installcheck splint doxygen doxygen-upload
proto man clean cleantests distclean test check check29 check30 strict_check strict_check29 strict_check30 \
installcheck splint doxygen doxygen-upload
.PHONY: $(TARGETS) auto-prep

View File

@@ -162,6 +162,13 @@ if test x"$rsync_bin" = x; then
rsync_bin="$TOOLDIR/rsync"
fi
if test $# -ge 1; then
case "$1" in
strict*) RSYNC_FAIL_ON_SKIPPED=yes ; shift ;;
check*) shift ;;
esac
fi
# This allows the user to specify extra rsync options -- use carefully!
RSYNC="$rsync_bin $*"
#RSYNC="valgrind $rsync_bin $*"
@@ -338,6 +345,10 @@ echo '------------------------------------------------------------'
# we want, and if we just call expr then this script will always fail,
# because -e is set.
result=`expr $failed + $missing || true`
if test -z "$RSYNC_FAIL_ON_SKIPPED"; then
result=`expr $failed + $missing || true`
else
result=`expr $failed + $missing + $skipped || true`
fi
echo "overall result is $result"
exit $result