X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/f87fb190b3bd1250a07ff12161db2107d7717263..5d8dcd1edbbfdd691a3a84e9191a96584cae34e1:/runtests.sh diff --git a/runtests.sh b/runtests.sh index c401ac45..43732cea 100755 --- a/runtests.sh +++ b/runtests.sh @@ -154,12 +154,21 @@ fi RSYNC="$rsync_bin $*" #RSYNC="valgrind $rsync_bin $*" -export POSIXLY_CORRECT TOOLDIR srcdir RSYNC +TLS_ARGS='' +if egrep '^#define HAVE_LUTIMES 1' config.h >/dev/null; then + TLS_ARGS="$TLS_ARGS -l" +fi +if egrep '#undef CHOWN_MODIFIES_SYMLINK' config.h >/dev/null; then + TLS_ARGS="$TLS_ARGS -L" +fi + +export POSIXLY_CORRECT TOOLDIR srcdir RSYNC TLS_ARGS echo "============================================================" echo "$0 running in $TOOLDIR" echo " rsync_bin=$RSYNC" echo " srcdir=$srcdir" +echo " TLS_ARGS=$TLS_ARGS" if [ -f /usr/bin/whoami ]; then testuser=`/usr/bin/whoami` @@ -220,8 +229,9 @@ echo " scratchbase=$scratchbase" [ -d "$scratchbase" ] || mkdir "$scratchbase" suitedir="$srcdir/testsuite" +TESTRUN_TIMEOUT=300 -export scratchdir suitedir +export scratchdir suitedir TESTRUN_TIMEOUT prep_scratch() { [ -d "$scratchdir" ] && chmod -R u+rwX "$scratchdir" && rm -rf "$scratchdir" @@ -229,7 +239,10 @@ prep_scratch() { # Get rid of default ACLs and dir-setgid to avoid confusing some tests. $setfacl_nodef "$scratchdir" || true chmod g-s "$scratchdir" - ln -s "$srcdir" "$scratchdir/src" + case "$srcdir" in + /*) ln -s "$srcdir" "$scratchdir/src" ;; + *) ln -s "$TOOLDIR/$srcdir" "$scratchdir/src" ;; + esac return 0 } @@ -249,8 +262,13 @@ do prep_scratch + case "$testscript" in + *hardlinks*) TESTRUN_TIMEOUT=600 ;; + *) TESTRUN_TIMEOUT=300 ;; + esac + set +e - sh $RUNSHFLAGS "$testscript" >"$scratchdir/test.log" 2>&1 + "$TOOLDIR/"testrun $RUNSHFLAGS "$testscript" >"$scratchdir/test.log" 2>&1 result=$? set -e