mirror of
https://github.com/RsyncProject/rsync.git
synced 2026-03-11 19:06:38 -04:00
- Use fromdir, todir, and tmpdir instead of FROM, TO, and TMP.
- Added chkdir. - Quote the dir expansions to avoid problems with spaces. - Added "exclude = foobar.baz" the the rsync.conf file we create.
This commit is contained in:
@@ -18,11 +18,10 @@
|
||||
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
|
||||
TMP="$scratchdir"
|
||||
FROM=${TMP}/from
|
||||
TO=${TMP}/to
|
||||
LOG=${TMP}/log
|
||||
RSYNC="$rsync_bin"
|
||||
tmpdir="$scratchdir"
|
||||
fromdir=$tmpdir/from
|
||||
todir=$tmpdir/to
|
||||
chkdir=$tmpdir/chk
|
||||
|
||||
# Berkley's nice.
|
||||
PATH="$PATH:/usr/ucb"
|
||||
@@ -37,10 +36,10 @@ runtest() {
|
||||
echo $ECHO_N "Test $1: $ECHO_C"
|
||||
if eval "$2"
|
||||
then
|
||||
echo "${ECHO_T} done."
|
||||
echo "$ECHO_T done."
|
||||
return 0
|
||||
else
|
||||
echo "${ECHO_T} failed!"
|
||||
echo "$ECHO_T failed!"
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
@@ -60,16 +59,16 @@ rsync_getgroups() {
|
||||
|
||||
|
||||
####################
|
||||
# Build test directories TO and FROM, with FROM full of files.
|
||||
# Build test directories $todir and $fromdir, with $fromdir full of files.
|
||||
|
||||
hands_setup() {
|
||||
# Clean before creation
|
||||
rm -rf $FROM
|
||||
rm -rf $TO
|
||||
rm -rf "$fromdir"
|
||||
rm -rf "$todir"
|
||||
|
||||
[ -d $TMP ] || mkdir $TMP
|
||||
[ -d $FROM ] || mkdir $FROM
|
||||
[ -d $TO ] || mkdir $TO
|
||||
[ -d $tmpdir ] || mkdir "$tmpdir"
|
||||
[ -d $fromdir ] || mkdir "$fromdir"
|
||||
[ -d $todir ] || mkdir "$todir"
|
||||
|
||||
# On some BSD systems, the umask affects the mode of created
|
||||
# symlinks, even though the mode apparently has no effect on how
|
||||
@@ -82,29 +81,29 @@ hands_setup() {
|
||||
# the same. So, we need to set our umask before doing any creations.
|
||||
|
||||
# set up test data
|
||||
touch ${FROM}/empty
|
||||
mkdir ${FROM}/emptydir
|
||||
touch "$fromdir/empty"
|
||||
mkdir "$fromdir/emptydir"
|
||||
|
||||
# a hundred lines of text or so
|
||||
rsync_ls_lR "${srcdir}" > ${FROM}/filelist
|
||||
rsync_ls_lR "$srcdir" > "$fromdir/filelist"
|
||||
|
||||
# This might fail on systems that don't have -n
|
||||
echo $ECHO_N "This file has no trailing lf$ECHO_C" > ${FROM}/nolf
|
||||
echo $ECHO_N "This file has no trailing lf$ECHO_C" > "$fromdir/nolf"
|
||||
umask 0
|
||||
ln -s nolf ${FROM}/nolf-symlink
|
||||
ln -s nolf "$fromdir/nolf-symlink"
|
||||
umask 022
|
||||
|
||||
cat $srcdir/*.c > ${FROM}/text
|
||||
mkdir ${FROM}/dir
|
||||
cp ${FROM}/text ${FROM}/dir
|
||||
mkdir ${FROM}/dir/subdir
|
||||
mkdir ${FROM}/dir/subdir/subsubdir
|
||||
ls -ltr /etc > ${FROM}/dir/subdir/subsubdir/etc-ltr-list
|
||||
mkdir ${FROM}/dir/subdir/subsubdir2
|
||||
ls -lt /bin > ${FROM}/dir/subdir/subsubdir2/bin-lt-list
|
||||
cat $srcdir/*.c > "$fromdir/text"
|
||||
mkdir "$fromdir/dir"
|
||||
cp "$fromdir/text" "$fromdir/dir"
|
||||
mkdir "$fromdir/dir/subdir"
|
||||
echo some data > "$fromdir/dir/subdir/foobar.baz"
|
||||
mkdir "$fromdir/dir/subdir/subsubdir"
|
||||
ls -ltr /etc > "$fromdir/dir/subdir/subsubdir/etc-ltr-list"
|
||||
mkdir "$fromdir/dir/subdir/subsubdir2"
|
||||
ls -lt /bin > "$fromdir/dir/subdir/subsubdir2/bin-lt-list"
|
||||
|
||||
# echo testing head:
|
||||
# ls -lR ${srcdir} | head -10 || echo failed
|
||||
# ls -lR "$srcdir" | head -10 || echo failed
|
||||
}
|
||||
|
||||
|
||||
@@ -169,10 +168,10 @@ checkit() {
|
||||
echo "-------------"
|
||||
echo "check how the directory listings compare with diff:"
|
||||
echo ""
|
||||
( cd "$2" && rsync_ls_lR . ) > ${TMP}/ls-from
|
||||
( cd "$3" && rsync_ls_lR . ) > ${TMP}/ls-to
|
||||
diff $diffopt ${TMP}/ls-from ${TMP}/ls-to || failed=YES
|
||||
if [ -z "${failed}" ] ; then
|
||||
( cd "$2" && rsync_ls_lR . ) > "$tmpdir/ls-from"
|
||||
( cd "$3" && rsync_ls_lR . ) > "$tmpdir/ls-to"
|
||||
diff $diffopt "$tmpdir/ls-from" "$tmpdir/ls-to" || failed=YES
|
||||
if [ -z "$failed" ] ; then
|
||||
return 0
|
||||
else
|
||||
return 1
|
||||
@@ -189,24 +188,25 @@ build_rsyncd_conf() {
|
||||
pidfile="$scratchdir/rsyncd.pid"
|
||||
logfile="$scratchdir/rsyncd.log"
|
||||
|
||||
cat >$conf <<EOF
|
||||
cat >"$conf" <<EOF
|
||||
# rsyncd configuration file autogenerated by $0
|
||||
|
||||
pid file = $pidfile
|
||||
use chroot = no
|
||||
hosts allow = localhost, 127.0.0.1
|
||||
log file = $logfile
|
||||
exclude = foobar.baz
|
||||
max verbosity = 9
|
||||
|
||||
uid = 0
|
||||
gid = 0
|
||||
|
||||
[test-from]
|
||||
path = $FROM
|
||||
path = $fromdir
|
||||
read only = yes
|
||||
|
||||
[test-to]
|
||||
path = $TO
|
||||
path = $todir
|
||||
read only = no
|
||||
EOF
|
||||
}
|
||||
@@ -230,7 +230,7 @@ test_fail() {
|
||||
|
||||
test_skipped() {
|
||||
echo "$@" >&2
|
||||
echo "$@" > "$TMP/whyskipped"
|
||||
echo "$@" > "$tmpdir/whyskipped"
|
||||
exit 77
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user