summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/build.yml6
-rw-r--r--Makefile.in18
-rw-r--r--packaging/auto-Makefile3
-rwxr-xr-xruntests.sh13
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