]> git.ipfire.org Git - thirdparty/tar.git/commitdiff
testsuite: account for absolute file names starting with double slash
authorSergey Poznyakoff <gray@gnu.org>
Tue, 13 Mar 2018 06:08:44 +0000 (08:08 +0200)
committerSergey Poznyakoff <gray@gnu.org>
Tue, 13 Mar 2018 06:08:44 +0000 (08:08 +0200)
* tests/incr08.at: Absolute file names can start with //
* tests/xform03.at: Likewise.

tests/incr08.at
tests/xform03.at

index f50a614f43341185fe200530aae816c3e58a1ab6..deccd7d00a5b832130efa74523255bc3864f6b62 100644 (file)
 AT_SETUP([filename normalization])
 AT_KEYWORDS([incremental create incr08 chdir])
 
-AT_TAR_CHECK([
-AT_CHECK_TIMESTAMP
-AT_SORT_PREREQ
-mkdir tartest
-cd tartest
-mkdir foo
-mkdir foo/subdir
-mkdir foo/subdir/dir1
-mkdir subdir
-mkdir subdir/dir2
-decho A
-find .|sort
-
-decho B
-DIR=`pwd`
-tar -cvf ../foo.tar --listed-incremental=../foo.snar -C foo . $DIR 2>../err |\
-  sed "s|$DIR|ABSPATH|"
-sed "s|$DIR|ABSPATH|" ../err >&2
+AT_TAR_WITH_HOOK(
+[AT_CHECK([
+DIR=`pwd`/gnu/tartest
+sed "s|$DIR|ABSPATH|" stdout
 ],
 [0],
 [A
@@ -72,7 +58,12 @@ B
 ABSPATH/
 ABSPATH/subdir/
 ABSPATH/subdir/dir2/
-],
+])
+
+AT_CHECK([
+DIR=`pwd`/gnu/tartest
+sed "/tar: Removing leading \`\/*\/' from/d;s|$DIR|ABSPATH|" stderr],
+[0],
 [A
 B
 tar: .: Directory is new
@@ -81,7 +72,26 @@ tar: ./subdir/dir1: Directory is new
 tar: ABSPATH: Directory is new
 tar: ABSPATH/subdir: Directory is new
 tar: ABSPATH/subdir/dir2: Directory is new
-tar: Removing leading `/' from member names
-],[],[],[gnu])
+])],
+[AT_TAR_CHECK([
+AT_CHECK_TIMESTAMP
+AT_SORT_PREREQ
+mkdir tartest
+cd tartest
+mkdir foo
+mkdir foo/subdir
+mkdir foo/subdir/dir1
+mkdir subdir
+mkdir subdir/dir2
+decho A
+find .|sort
+
+decho B
+DIR=`pwd`
+tar -cvf ../foo.tar --listed-incremental=../foo.snar -C foo . $DIR
+],
+[0],
+[stdout],
+[stderr],[],[],[gnu])])
 
 AT_CLEANUP
index 47f52f148fe8e1a4d2d356a9438e571fff227c6f..9131e13bd6c98c40b1c5218ce078fec40ae94afd 100644 (file)
 AT_SETUP([transforming hard link targets])
 AT_KEYWORDS([transform xform link])
 
-AT_TAR_CHECK([
+AT_TAR_WITH_HOOK(
+[AT_CHECK([sed "/tar: Removing leading \`\/*\/' from/d" stderr])],
+[AT_TAR_CHECK([
 mkdir d
 mkdir d/a
 genfile --file d/a/b
-dir=$(pwd|sed s,^/,,)/d
-tar -cf a.tar --xform="s|^$dir/a|dir/c|" /$dir/a/b /$dir/a/b
+dir=$(pwd|sed s,^//*,,)/d
+tar -cf a.tar --xform="s|^$dir/a|dir/c|" /$dir/a/b /$dir/a/b 2>err
 mkdir t
 tar -C t -xf a.tar
 find t -type f
@@ -34,8 +36,6 @@ find t -type f
 [0],
 [t/dir/c/b
 ],
-[tar: Removing leading `/' from member names
-tar: Removing leading `/' from hard link targets
-])
+[stderr])])
 AT_CLEANUP