* tests/extrac17.at: Add --warning=no-timestamp, to avoid
bogus warning due to NFS clock skew.
* tests/remfiles01.at: Discard diagnostics that some shells
generate about broken pipes.
* tests/sigpipe.at: Likewise.
* tests/remfiles01.at: Fix typo: "test $EC" was written where
"test $EC -ne 0" was intended.
tar cf dir.tar dir
-tar -x -v -f dir.tar -C out --strip-components=2 dir/subdir1/
+tar -x -v -f dir.tar -C out --strip-components=2 --warning=no-timestamp \
+ dir/subdir1/
],
[0],
[dir/subdir1/file1
])
AT_CLEANUP
-
-
-
-
# or
# tar: Child returned status 2
-tar -c -f a -z --remove-files b c 2>err
+# Discard diagnostics that some shells generate about broken pipes,
+# and discard all of tar's diagnostics except for the ones saying "(child)".
+# Gzip's exit code is propagated to the shell. Usually it is 141.
+# Convert all non-zero exits to 2 to make it predictable.
+(tar -c -f a -z --remove-files b c 2>err || (exit 2) ) 2>/dev/null
EC=$?
sed -n '/(child)/p' err >&2
rm err
find . | sort
-# Gzip exit code is propagated to the shell. Usually it is
-# 141. We convert all non-zero exits to 2 to make it predictable.
-test $EC && exit 2
+exit $EC
],
[2],
[.
tar cf archive first second third
-tar tf archive | :
+# Discard diagnostics that some shells generate about broken pipes.
+(tar tf archive 2>&3 | :) 3>&2 2>/dev/null
],
[0])