diff options
-rw-r--r-- | .github/workflows/build.yml | 6 | ||||
-rw-r--r-- | Makefile.in | 18 | ||||
-rw-r--r-- | packaging/auto-Makefile | 3 | ||||
-rwxr-xr-x | runtests.sh | 13 |
4 files changed, 26 insertions, 14 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 44f9f72c..182fa6c9 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -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 diff --git a/Makefile.in b/Makefile.in index 0f17aa16..07479ca2 100644 --- a/Makefile.in +++ b/Makefile.in @@ -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@ diff --git a/packaging/auto-Makefile b/packaging/auto-Makefile index cc181536..5e3322a2 100644 --- a/packaging/auto-Makefile +++ b/packaging/auto-Makefile @@ -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 diff --git a/runtests.sh b/runtests.sh index d5a174cb..518ee495 100755 --- a/runtests.sh +++ b/runtests.sh @@ -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 |