From 5794112ad0890ec5aebc0bd8a9854c8b52b0731e Mon Sep 17 00:00:00 2001 From: Wayne Davison Date: Thu, 9 Jun 2005 22:27:59 +0000 Subject: [PATCH] Test that our outputting of itemized messages (as well as double-verbose output) is happening correctly. --- testsuite/itemize.test | 149 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 149 insertions(+) create mode 100644 testsuite/itemize.test diff --git a/testsuite/itemize.test b/testsuite/itemize.test new file mode 100644 index 00000000..2f91ec08 --- /dev/null +++ b/testsuite/itemize.test @@ -0,0 +1,149 @@ +#! /bin/sh + +# Copyright (C) 2005 by Wayne Davison + +# This program is distributable under the terms of the GNU GPL see +# COPYING). + +# Test the output of various copy commands to ensure itemized output +# and double-verbose output is correct. + +. "$suitedir/rsync.fns" + +set -x + +itemregex='^[.<>ch][dfDL][c .+][s .+][tT .+][p .+][o .+][g .+][a .+] ' + +lddir="$tmpdir/ld" + +outfile="$scratchdir/rsync.out" + +makepath "$fromdir/foo" +makepath "$fromdir/bar/baz" +cp -p "$srcdir/config.h" "$fromdir/foo/config1" +cp -p "$srcdir/config.h.in" "$fromdir/foo/config2" +cp -p "$srcdir/rsync.h" "$fromdir/bar/baz/rsync" +ln -s ../bar/baz/rsync "$fromdir/foo/sym" +ln "$fromdir/foo/config1" "$fromdir/foo/extra" + +$RSYNC -iplr "$fromdir/" "$todir/" \ + | tee "$outfile" +cat <f+++++++ bar/baz/rsync +cd+++++++ foo/ +>f+++++++ foo/config1 +>f+++++++ foo/config2 +>f+++++++ foo/extra +cL+++++++ foo/sym -> ../bar/baz/rsync +EOT + +# Ensure there are no accidental directory-time problems. +$RSYNC -a -f '-! */' "$fromdir/" "$todir" + +cp -p "$srcdir/config.h" "$fromdir/foo/config2" +$RSYNC -iplrH "$fromdir/" "$todir/" \ + | tee "$outfile" +cat <f..T.... bar/baz/rsync +>f..T.... foo/config1 +>f.sT.... foo/config2 +hf..T.... foo/extra => foo/config1 +EOT + +$RSYNC -a -f '-! */' "$fromdir/" "$todir" +sleep 1 # For directory mod below to ensure time difference +rm "$todir/foo/sym" +ln -s ../bar/baz "$todir/foo/sym" +cp -p "$srcdir/config.h.in" "$fromdir/foo/config2" +chmod 777 "$todir/bar/baz/rsync" + +$RSYNC -iplrtc "$fromdir/" "$todir/" \ + | tee "$outfile" +cat <fcst.... foo/config2 +cL..T.... foo/sym -> ../bar/baz/rsync +EOT + +cp -p "$srcdir/config.h" "$fromdir/foo/config2" +# Lack of -t is for unchanged hard-link stress-test! +$RSYNC -vvplrH "$fromdir/" "$todir/" \ + | sed -e '0,/done$/d' -e '/--whole-file/d' -e '/total:/d' -e '/^$/,$d' \ + | tee "$outfile" +cat <f..t.... foo/config2 +hf foo/extra +.L foo/sym -> ../bar/baz/rsync +EOT + +chmod 757 "$todir/foo/config1" +touch "$todir/foo/config2" +$RSYNC -vplrtH "$fromdir/" "$todir/" \ + | sed -e '0,/done$/d' -e '/^$/,$d' \ + | tee "$outfile" +cat <f..t.... foo/config2 +EOT + +mv "$todir" "$lddir" +$RSYNC -ivvplrtH --copy-dest="$lddir" "$fromdir/" "$todir/" \ + | grep "$itemregex" \ + | tee "$outfile" +cat < foo/config1 +cL+++++++ foo/sym -> ../bar/baz/rsync +EOT + +rm -rf "$todir" +$RSYNC -iplrtH --link-dest="$lddir" "$fromdir/" "$todir/" \ + | tee "$outfile" +cat < foo/config1 +cL+++++++ foo/sym -> ../bar/baz/rsync +EOT + +# The script would have aborted on error, so getting here means we've won. +exit 0 -- 2.34.1