summaryrefslogtreecommitdiff
path: root/testsuite
diff options
context:
space:
mode:
authorWayne Davison <wayned@samba.org>2008-06-08 20:26:22 -0700
committerWayne Davison <wayned@samba.org>2008-06-08 20:40:11 -0700
commit7462c6ac39d86cb8252ec47246569e3ddda35b6a (patch)
tree75416fef11396b4d08c3c021d04d6414fc5e18b9 /testsuite
parentf31850966f7f60b8c58fa44d6948044571c060f6 (diff)
downloadrsync-7462c6ac39d86cb8252ec47246569e3ddda35b6a.tar.gz
rsync-7462c6ac39d86cb8252ec47246569e3ddda35b6a.tar.bz2
rsync-7462c6ac39d86cb8252ec47246569e3ddda35b6a.zip
Fixed an "Internal abbrev error" when dealing with an xattr value
that is unchanged on an early file, and changed on a later file. Added 2 new test cases to ensure this stays fixed.
Diffstat (limited to 'testsuite')
-rw-r--r--testsuite/xattrs.test30
1 files changed, 28 insertions, 2 deletions
diff --git a/testsuite/xattrs.test b/testsuite/xattrs.test
index 4f2c6cb3..11b53c52 100644
--- a/testsuite/xattrs.test
+++ b/testsuite/xattrs.test
@@ -91,12 +91,12 @@ cd "$todir"
xls $files | diff $diffopt "$scratchdir/xattrs.txt" -
cd "$fromdir"
+rm -rf "$todir"
+
xset user.nice 'this is nice, but different' file1
xls $files >"$scratchdir/xattrs.txt"
-rm -rf "$todir"
-
checkit "$RSYNC -aiX --fake-super --link-dest=../chk . ../to" "$chkdir" "$todir"
cd "$todir"
@@ -109,5 +109,31 @@ if [ -s "$scratchdir/ls-diff" ]; then
exit 1
fi
+cd "$fromdir"
+rm -rf "$todir" "$chkdir"
+
+rsync -aX file1 file2
+rsync -aX file1 file2 ../chk/
+rsync -aX --del ../chk/ .
+rsync -aX file1 ../lnk/
+
+xls file1 file2 >"$scratchdir/xattrs.txt"
+
+checkit "$RSYNC -aiiX --copy-dest=../lnk . ../to" "$chkdir" "$todir"
+
+cd "$todir"
+xls file1 file2 | diff $diffopt "$scratchdir/xattrs.txt" -
+
+cd "$fromdir"
+rm "$todir/file2"
+
+echo extra >file1
+rsync -aX file1 ../chk/
+
+checkit "$RSYNC -aiiX . ../to" "$chkdir" "$todir"
+
+cd "$todir"
+xls file1 file2 | diff $diffopt "$scratchdir/xattrs.txt" -
+
# The script would have aborted on error, so getting here means we've won.
exit 0