rm -rf "$todir"
mkdir "$todir" || test_fail "failed to restore empty destination directory"
-runtest "daemon recv --write-batch" 'checkit "$RSYNC -av --write-batch=BATCH \"$fromdir/\" rsync://localhost/test-to" "$chkdir" "$todir"'
+runtest "daemon recv --write-batch" 'checkit "\"$ignore23\" $RSYNC -av --write-batch=BATCH \"$fromdir/\" rsync://localhost/test-to" "$chkdir" "$todir"'
# The script would have aborted on error, so getting here means we pass.
exit 0
# Build chkdir with a normal rsync and an --exclude.
$RSYNC -av --exclude=foobar.baz "$fromdir/" "$chkdir/"
-checkit "$RSYNC -avvvvz '$fromdir/' localhost::test-to/" "$chkdir" "$todir"
+checkit "'$ignore23' $RSYNC -avvvvz '$fromdir/' localhost::test-to/" "$chkdir" "$todir"
# The script would have aborted on error, so getting here means we've won.
exit 0
path = $scratchdir
read only = no
EOF
+
+ # Build a helper script to ignore exit code 23
+ ignore23="$scratchdir/ignore23"
+ echo "building help script $ignore23"
+
+ cat >"$ignore23" <<'EOT'
+if "${@}"; then
+ exit
+fi
+
+ret=$?
+
+if test $ret = 23; then
+ exit
+fi
+
+exit $ret
+EOT
+chmod +x "$ignore23"
}