Browse Source

testsuite: account for absolute file names starting with double slash

* tests/incr08.at: Absolute file names can start with //
* tests/xform03.at: Likewise.
Sergey Poznyakoff 7 years ago
parent
commit
2b7fc4aee9
2 changed files with 37 additions and 27 deletions
  1. 31 21
      tests/incr08.at
  2. 6 6
      tests/xform03.at

+ 31 - 21
tests/incr08.at

@@ -38,24 +38,10 @@
 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

+ 6 - 6
tests/xform03.at

@@ -21,12 +21,14 @@
 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