+genfile -l 3 -f file1
+genfile -l 5 -f file2
+genfile -l 3 -f file3
+genfile -l 6 -f file4
+genfile -l 24 -f file5
+genfile -l 13 -f file6
+genfile -l 1385 -f file7
+genfile -l 30 -f file8
+genfile -l 10 -f file9
+genfile -l 256000 -f file10
+tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10
+tar f archive --delete file10
+tar tf archive
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "file1
+file2
+file3
+file4
+file5
+file6
+file7
+file8
+file9
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/delete04.at:26"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/delete04.at:26:
+mkdir ustar
+(cd ustar
+TEST_TAR_FORMAT=ustar
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H ustar\"
+export TAR_OPTIONS
+rm -rf *
+
+genfile -l 3 -f file1
+genfile -l 5 -f file2
+genfile -l 3 -f file3
+genfile -l 6 -f file4
+genfile -l 24 -f file5
+genfile -l 13 -f file6
+genfile -l 1385 -f file7
+genfile -l 30 -f file8
+genfile -l 10 -f file9
+genfile -l 256000 -f file10
+tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10
+tar f archive --delete file10
+tar tf archive
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "delete04.at:26"
+( $at_check_trace;
+mkdir ustar
+(cd ustar
+TEST_TAR_FORMAT=ustar
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H ustar"
+export TAR_OPTIONS
+rm -rf *
+
+genfile -l 3 -f file1
+genfile -l 5 -f file2
+genfile -l 3 -f file3
+genfile -l 6 -f file4
+genfile -l 24 -f file5
+genfile -l 13 -f file6
+genfile -l 1385 -f file7
+genfile -l 30 -f file8
+genfile -l 10 -f file9
+genfile -l 256000 -f file10
+tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10
+tar f archive --delete file10
+tar tf archive
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "file1
+file2
+file3
+file4
+file5
+file6
+file7
+file8
+file9
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/delete04.at:26"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/delete04.at:26:
+mkdir posix
+(cd posix
+TEST_TAR_FORMAT=posix
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H posix\"
+export TAR_OPTIONS
+rm -rf *
+
+genfile -l 3 -f file1
+genfile -l 5 -f file2
+genfile -l 3 -f file3
+genfile -l 6 -f file4
+genfile -l 24 -f file5
+genfile -l 13 -f file6
+genfile -l 1385 -f file7
+genfile -l 30 -f file8
+genfile -l 10 -f file9
+genfile -l 256000 -f file10
+tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10
+tar f archive --delete file10
+tar tf archive
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "delete04.at:26"
+( $at_check_trace;
+mkdir posix
+(cd posix
+TEST_TAR_FORMAT=posix
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H posix"
+export TAR_OPTIONS
+rm -rf *
+
+genfile -l 3 -f file1
+genfile -l 5 -f file2
+genfile -l 3 -f file3
+genfile -l 6 -f file4
+genfile -l 24 -f file5
+genfile -l 13 -f file6
+genfile -l 1385 -f file7
+genfile -l 30 -f file8
+genfile -l 10 -f file9
+genfile -l 256000 -f file10
+tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10
+tar f archive --delete file10
+tar tf archive
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "file1
+file2
+file3
+file4
+file5
+file6
+file7
+file8
+file9
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/delete04.at:26"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/delete04.at:26:
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H gnu\"
+export TAR_OPTIONS
+rm -rf *
+
+genfile -l 3 -f file1
+genfile -l 5 -f file2
+genfile -l 3 -f file3
+genfile -l 6 -f file4
+genfile -l 24 -f file5
+genfile -l 13 -f file6
+genfile -l 1385 -f file7
+genfile -l 30 -f file8
+genfile -l 10 -f file9
+genfile -l 256000 -f file10
+tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10
+tar f archive --delete file10
+tar tf archive
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "delete04.at:26"
+( $at_check_trace;
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H gnu"
+export TAR_OPTIONS
+rm -rf *
+
+genfile -l 3 -f file1
+genfile -l 5 -f file2
+genfile -l 3 -f file3
+genfile -l 6 -f file4
+genfile -l 24 -f file5
+genfile -l 13 -f file6
+genfile -l 1385 -f file7
+genfile -l 30 -f file8
+genfile -l 10 -f file9
+genfile -l 256000 -f file10
+tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10
+tar f archive --delete file10
+tar tf archive
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "file1
+file2
+file3
+file4
+file5
+file6
+file7
+file8
+file9
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/delete04.at:26"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_53
+#AT_START_54
+at_fn_group_banner 54 'delete05.at:27' \
+ "deleting non-existing member" " " 8
+at_xfail=no
+ test -f $XFAILFILE && at_xfail=yes
+(
+ $as_echo "54. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+
+
+
+ { set +x
+$as_echo "$at_srcdir/delete05.at:30:
+mkdir v7
+(cd v7
+TEST_TAR_FORMAT=v7
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H v7\"
+export TAR_OPTIONS
+rm -rf *
+
+genfile -l 1024 -f en
+genfile -l 1024 -f to
+
+tar cf archive en to
+# Make sure we don't use bogus blocking factor.
+# GNU tar up to and including 1.14.91 produced an empty archive this way:
+tar --file archive --blocking-factor=20 --delete tre
+tar tf archive
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "delete05.at:30"
+( $at_check_trace;
+mkdir v7
+(cd v7
+TEST_TAR_FORMAT=v7
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H v7"
+export TAR_OPTIONS
+rm -rf *
+
+genfile -l 1024 -f en
+genfile -l 1024 -f to
+
+tar cf archive en to
+# Make sure we don't use bogus blocking factor.
+# GNU tar up to and including 1.14.91 produced an empty archive this way:
+tar --file archive --blocking-factor=20 --delete tre
+tar tf archive
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo "tar: tre: Not found in archive
+tar: Exiting with failure status due to previous errors
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "en
+to
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/delete05.at:30"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/delete05.at:30:
+mkdir oldgnu
+(cd oldgnu
+TEST_TAR_FORMAT=oldgnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H oldgnu\"
+export TAR_OPTIONS
+rm -rf *
+
+genfile -l 1024 -f en
+genfile -l 1024 -f to
+
+tar cf archive en to
+# Make sure we don't use bogus blocking factor.
+# GNU tar up to and including 1.14.91 produced an empty archive this way:
+tar --file archive --blocking-factor=20 --delete tre
+tar tf archive
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "delete05.at:30"
+( $at_check_trace;
+mkdir oldgnu
+(cd oldgnu
+TEST_TAR_FORMAT=oldgnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H oldgnu"
+export TAR_OPTIONS
+rm -rf *
+
+genfile -l 1024 -f en
+genfile -l 1024 -f to
+
+tar cf archive en to
+# Make sure we don't use bogus blocking factor.
+# GNU tar up to and including 1.14.91 produced an empty archive this way:
+tar --file archive --blocking-factor=20 --delete tre
+tar tf archive
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo "tar: tre: Not found in archive
+tar: Exiting with failure status due to previous errors
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "en
+to
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/delete05.at:30"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/delete05.at:30:
+mkdir ustar
+(cd ustar
+TEST_TAR_FORMAT=ustar
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H ustar\"
+export TAR_OPTIONS
+rm -rf *
+
+genfile -l 1024 -f en
+genfile -l 1024 -f to
+
+tar cf archive en to
+# Make sure we don't use bogus blocking factor.
+# GNU tar up to and including 1.14.91 produced an empty archive this way:
+tar --file archive --blocking-factor=20 --delete tre
+tar tf archive
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "delete05.at:30"
+( $at_check_trace;
+mkdir ustar
+(cd ustar
+TEST_TAR_FORMAT=ustar
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H ustar"
+export TAR_OPTIONS
+rm -rf *
+
+genfile -l 1024 -f en
+genfile -l 1024 -f to
+
+tar cf archive en to
+# Make sure we don't use bogus blocking factor.
+# GNU tar up to and including 1.14.91 produced an empty archive this way:
+tar --file archive --blocking-factor=20 --delete tre
+tar tf archive
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo "tar: tre: Not found in archive
+tar: Exiting with failure status due to previous errors
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "en
+to
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/delete05.at:30"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/delete05.at:30:
+mkdir posix
+(cd posix
+TEST_TAR_FORMAT=posix
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H posix\"
+export TAR_OPTIONS
+rm -rf *
+
+genfile -l 1024 -f en
+genfile -l 1024 -f to
+
+tar cf archive en to
+# Make sure we don't use bogus blocking factor.
+# GNU tar up to and including 1.14.91 produced an empty archive this way:
+tar --file archive --blocking-factor=20 --delete tre
+tar tf archive
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "delete05.at:30"
+( $at_check_trace;
+mkdir posix
+(cd posix
+TEST_TAR_FORMAT=posix
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H posix"
+export TAR_OPTIONS
+rm -rf *
+
+genfile -l 1024 -f en
+genfile -l 1024 -f to
+
+tar cf archive en to
+# Make sure we don't use bogus blocking factor.
+# GNU tar up to and including 1.14.91 produced an empty archive this way:
+tar --file archive --blocking-factor=20 --delete tre
+tar tf archive
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo "tar: tre: Not found in archive
+tar: Exiting with failure status due to previous errors
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "en
+to
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/delete05.at:30"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/delete05.at:30:
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H gnu\"
+export TAR_OPTIONS
+rm -rf *
+
+genfile -l 1024 -f en
+genfile -l 1024 -f to
+
+tar cf archive en to
+# Make sure we don't use bogus blocking factor.
+# GNU tar up to and including 1.14.91 produced an empty archive this way:
+tar --file archive --blocking-factor=20 --delete tre
+tar tf archive
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "delete05.at:30"
+( $at_check_trace;
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H gnu"
+export TAR_OPTIONS
+rm -rf *
+
+genfile -l 1024 -f en
+genfile -l 1024 -f to
+
+tar cf archive en to
+# Make sure we don't use bogus blocking factor.
+# GNU tar up to and including 1.14.91 produced an empty archive this way:
+tar --file archive --blocking-factor=20 --delete tre
+tar tf archive
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo "tar: tre: Not found in archive
+tar: Exiting with failure status due to previous errors
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "en
+to
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/delete05.at:30"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_54
+#AT_START_55
+at_fn_group_banner 55 'extrac01.at:23' \
+ "extract over an existing directory" " " 9
+at_xfail=no
+ test -f $XFAILFILE && at_xfail=yes
+(
+ $as_echo "55. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+
+
+
+ { set +x
+$as_echo "$at_srcdir/extrac01.at:26:
+mkdir v7
+(cd v7
+TEST_TAR_FORMAT=v7
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H v7\"
+export TAR_OPTIONS
+rm -rf *
+
+mkdir directory
+touch directory/file
+tar cf archive directory || exit 1
+tar xf archive --warning=no-timestamp || exit 1
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "extrac01.at:26"
+( $at_check_trace;
+mkdir v7
+(cd v7
+TEST_TAR_FORMAT=v7
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H v7"
+export TAR_OPTIONS
+rm -rf *
+
+mkdir directory
+touch directory/file
+tar cf archive directory || exit 1
+tar xf archive --warning=no-timestamp || exit 1
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/extrac01.at:26"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/extrac01.at:26:
+mkdir oldgnu
+(cd oldgnu
+TEST_TAR_FORMAT=oldgnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H oldgnu\"
+export TAR_OPTIONS
+rm -rf *
+
+mkdir directory
+touch directory/file
+tar cf archive directory || exit 1
+tar xf archive --warning=no-timestamp || exit 1
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "extrac01.at:26"
+( $at_check_trace;
+mkdir oldgnu
+(cd oldgnu
+TEST_TAR_FORMAT=oldgnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H oldgnu"
+export TAR_OPTIONS
+rm -rf *
+
+mkdir directory
+touch directory/file
+tar cf archive directory || exit 1
+tar xf archive --warning=no-timestamp || exit 1
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/extrac01.at:26"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/extrac01.at:26:
+mkdir ustar
+(cd ustar
+TEST_TAR_FORMAT=ustar
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H ustar\"
+export TAR_OPTIONS
+rm -rf *
+
+mkdir directory
+touch directory/file
+tar cf archive directory || exit 1
+tar xf archive --warning=no-timestamp || exit 1
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "extrac01.at:26"
+( $at_check_trace;
+mkdir ustar
+(cd ustar
+TEST_TAR_FORMAT=ustar
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H ustar"
+export TAR_OPTIONS
+rm -rf *
+
+mkdir directory
+touch directory/file
+tar cf archive directory || exit 1
+tar xf archive --warning=no-timestamp || exit 1
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/extrac01.at:26"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/extrac01.at:26:
+mkdir posix
+(cd posix
+TEST_TAR_FORMAT=posix
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H posix\"
+export TAR_OPTIONS
+rm -rf *
+
+mkdir directory
+touch directory/file
+tar cf archive directory || exit 1
+tar xf archive --warning=no-timestamp || exit 1
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "extrac01.at:26"
+( $at_check_trace;
+mkdir posix
+(cd posix
+TEST_TAR_FORMAT=posix
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H posix"
+export TAR_OPTIONS
+rm -rf *
+
+mkdir directory
+touch directory/file
+tar cf archive directory || exit 1
+tar xf archive --warning=no-timestamp || exit 1
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/extrac01.at:26"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/extrac01.at:26:
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H gnu\"
+export TAR_OPTIONS
+rm -rf *
+
+mkdir directory
+touch directory/file
+tar cf archive directory || exit 1
+tar xf archive --warning=no-timestamp || exit 1
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "extrac01.at:26"
+( $at_check_trace;
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H gnu"
+export TAR_OPTIONS
+rm -rf *
+
+mkdir directory
+touch directory/file
+tar cf archive directory || exit 1
+tar xf archive --warning=no-timestamp || exit 1
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/extrac01.at:26"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_55
+#AT_START_56
+at_fn_group_banner 56 'extrac02.at:23' \
+ "extracting symlinks over an existing file" " " 9
+at_xfail=no
+ test -f $XFAILFILE && at_xfail=yes
+(
+ $as_echo "56. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+
+# FIXME: Skip if symlinks are not supported on the system
+
+
+
+ { set +x
+$as_echo "$at_srcdir/extrac02.at:28:
+mkdir v7
+(cd v7
+TEST_TAR_FORMAT=v7
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H v7\"
+export TAR_OPTIONS
+rm -rf *
+
+touch file
+ln -s file link 2> /dev/null || ln file link
+tar cf archive link
+rm link
+touch link
+tar xf archive
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "extrac02.at:28"
+( $at_check_trace;
+mkdir v7
+(cd v7
+TEST_TAR_FORMAT=v7
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H v7"
+export TAR_OPTIONS
+rm -rf *
+
+touch file
+ln -s file link 2> /dev/null || ln file link
+tar cf archive link
+rm link
+touch link
+tar xf archive
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/extrac02.at:28"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/extrac02.at:28:
+mkdir oldgnu
+(cd oldgnu
+TEST_TAR_FORMAT=oldgnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H oldgnu\"
+export TAR_OPTIONS
+rm -rf *
+
+touch file
+ln -s file link 2> /dev/null || ln file link
+tar cf archive link
+rm link
+touch link
+tar xf archive
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "extrac02.at:28"
+( $at_check_trace;
+mkdir oldgnu
+(cd oldgnu
+TEST_TAR_FORMAT=oldgnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H oldgnu"
+export TAR_OPTIONS
+rm -rf *
+
+touch file
+ln -s file link 2> /dev/null || ln file link
+tar cf archive link
+rm link
+touch link
+tar xf archive
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/extrac02.at:28"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/extrac02.at:28:
+mkdir ustar
+(cd ustar
+TEST_TAR_FORMAT=ustar
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H ustar\"
+export TAR_OPTIONS
+rm -rf *
+
+touch file
+ln -s file link 2> /dev/null || ln file link
+tar cf archive link
+rm link
+touch link
+tar xf archive
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "extrac02.at:28"
+( $at_check_trace;
+mkdir ustar
+(cd ustar
+TEST_TAR_FORMAT=ustar
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H ustar"
+export TAR_OPTIONS
+rm -rf *
+
+touch file
+ln -s file link 2> /dev/null || ln file link
+tar cf archive link
+rm link
+touch link
+tar xf archive
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/extrac02.at:28"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/extrac02.at:28:
+mkdir posix
+(cd posix
+TEST_TAR_FORMAT=posix
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H posix\"
+export TAR_OPTIONS
+rm -rf *
+
+touch file
+ln -s file link 2> /dev/null || ln file link
+tar cf archive link
+rm link
+touch link
+tar xf archive
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "extrac02.at:28"
+( $at_check_trace;
+mkdir posix
+(cd posix
+TEST_TAR_FORMAT=posix
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H posix"
+export TAR_OPTIONS
+rm -rf *
+
+touch file
+ln -s file link 2> /dev/null || ln file link
+tar cf archive link
+rm link
+touch link
+tar xf archive
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/extrac02.at:28"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/extrac02.at:28:
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H gnu\"
+export TAR_OPTIONS
+rm -rf *
+
+touch file
+ln -s file link 2> /dev/null || ln file link
+tar cf archive link
+rm link
+touch link
+tar xf archive
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "extrac02.at:28"
+( $at_check_trace;
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H gnu"
+export TAR_OPTIONS
+rm -rf *
+
+touch file
+ln -s file link 2> /dev/null || ln file link
+tar cf archive link
+rm link
+touch link
+tar xf archive
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/extrac02.at:28"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_56
+#AT_START_57
+at_fn_group_banner 57 'extrac03.at:23' \
+ "extraction loops" " " 9
+at_xfail=no
+ test -f $XFAILFILE && at_xfail=yes
+(
+ $as_echo "57. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+
+
+
+ { set +x
+$as_echo "$at_srcdir/extrac03.at:26:
+mkdir v7
+(cd v7
+TEST_TAR_FORMAT=v7
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H v7\"
+export TAR_OPTIONS
+rm -rf *
+
+mkdir directory
+tar -cPvf archive directory/../directory
+echo separator
+tar -xPvf archive --warning=no-timestamp)"
+at_fn_check_prepare_notrace 'an embedded newline' "extrac03.at:26"
+( $at_check_trace;
+mkdir v7
+(cd v7
+TEST_TAR_FORMAT=v7
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H v7"
+export TAR_OPTIONS
+rm -rf *
+
+mkdir directory
+tar -cPvf archive directory/../directory
+echo separator
+tar -xPvf archive --warning=no-timestamp)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "directory/../directory/
+separator
+directory/../directory/
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/extrac03.at:26"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/extrac03.at:26:
+mkdir oldgnu
+(cd oldgnu
+TEST_TAR_FORMAT=oldgnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H oldgnu\"
+export TAR_OPTIONS
+rm -rf *
+
+mkdir directory
+tar -cPvf archive directory/../directory
+echo separator
+tar -xPvf archive --warning=no-timestamp)"
+at_fn_check_prepare_notrace 'an embedded newline' "extrac03.at:26"
+( $at_check_trace;
+mkdir oldgnu
+(cd oldgnu
+TEST_TAR_FORMAT=oldgnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H oldgnu"
+export TAR_OPTIONS
+rm -rf *
+
+mkdir directory
+tar -cPvf archive directory/../directory
+echo separator
+tar -xPvf archive --warning=no-timestamp)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "directory/../directory/
+separator
+directory/../directory/
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/extrac03.at:26"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/extrac03.at:26:
+mkdir ustar
+(cd ustar
+TEST_TAR_FORMAT=ustar
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H ustar\"
+export TAR_OPTIONS
+rm -rf *
+
+mkdir directory
+tar -cPvf archive directory/../directory
+echo separator
+tar -xPvf archive --warning=no-timestamp)"
+at_fn_check_prepare_notrace 'an embedded newline' "extrac03.at:26"
+( $at_check_trace;
+mkdir ustar
+(cd ustar
+TEST_TAR_FORMAT=ustar
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H ustar"
+export TAR_OPTIONS
+rm -rf *
+
+mkdir directory
+tar -cPvf archive directory/../directory
+echo separator
+tar -xPvf archive --warning=no-timestamp)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "directory/../directory/
+separator
+directory/../directory/
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/extrac03.at:26"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/extrac03.at:26:
+mkdir posix
+(cd posix
+TEST_TAR_FORMAT=posix
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H posix\"
+export TAR_OPTIONS
+rm -rf *
+
+mkdir directory
+tar -cPvf archive directory/../directory
+echo separator
+tar -xPvf archive --warning=no-timestamp)"
+at_fn_check_prepare_notrace 'an embedded newline' "extrac03.at:26"
+( $at_check_trace;
+mkdir posix
+(cd posix
+TEST_TAR_FORMAT=posix
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H posix"
+export TAR_OPTIONS
+rm -rf *
+
+mkdir directory
+tar -cPvf archive directory/../directory
+echo separator
+tar -xPvf archive --warning=no-timestamp)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "directory/../directory/
+separator
+directory/../directory/
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/extrac03.at:26"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/extrac03.at:26:
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H gnu\"
+export TAR_OPTIONS
+rm -rf *
+
+mkdir directory
+tar -cPvf archive directory/../directory
+echo separator
+tar -xPvf archive --warning=no-timestamp)"
+at_fn_check_prepare_notrace 'an embedded newline' "extrac03.at:26"
+( $at_check_trace;
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H gnu"
+export TAR_OPTIONS
+rm -rf *
+
+mkdir directory
+tar -cPvf archive directory/../directory
+echo separator
+tar -xPvf archive --warning=no-timestamp)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "directory/../directory/
+separator
+directory/../directory/
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/extrac03.at:26"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_57
+#AT_START_58
+at_fn_group_banner 58 'extrac04.at:23' \
+ "extract + fnmatch" " " 9
+at_xfail=no
+ test -f $XFAILFILE && at_xfail=yes
+(
+ $as_echo "58. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+
+
+
+ { set +x
+$as_echo "$at_srcdir/extrac04.at:26:
+mkdir v7
+(cd v7
+TEST_TAR_FORMAT=v7
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H v7\"
+export TAR_OPTIONS
+rm -rf *
+
+
+test -z \"\`sort < /dev/null 2>&1\`\" || exit 77
+
+touch file1
+mkdir directory
+mkdir directory/subdirectory
+touch directory/file1
+touch directory/file2
+touch directory/subdirectory/file1
+touch directory/subdirectory/file2
+tar -cf archive ./file1 directory
+tar -tf archive \\
+ --exclude='./*1' \\
+ --exclude='d*/*1' \\
+ --exclude='d*/s*/*2' | sort
+)"
+at_fn_check_prepare_notrace 'a `...` command substitution' "extrac04.at:26"
+( $at_check_trace;
+mkdir v7
+(cd v7
+TEST_TAR_FORMAT=v7
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H v7"
+export TAR_OPTIONS
+rm -rf *
+
+
+test -z "`sort < /dev/null 2>&1`" || exit 77
+
+touch file1
+mkdir directory
+mkdir directory/subdirectory
+touch directory/file1
+touch directory/file2
+touch directory/subdirectory/file1
+touch directory/subdirectory/file2
+tar -cf archive ./file1 directory
+tar -tf archive \
+ --exclude='./*1' \
+ --exclude='d*/*1' \
+ --exclude='d*/s*/*2' | sort
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "directory/
+directory/file2
+directory/subdirectory/
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/extrac04.at:26"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/extrac04.at:26:
+mkdir oldgnu
+(cd oldgnu
+TEST_TAR_FORMAT=oldgnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H oldgnu\"
+export TAR_OPTIONS
+rm -rf *
+
+
+test -z \"\`sort < /dev/null 2>&1\`\" || exit 77
+
+touch file1
+mkdir directory
+mkdir directory/subdirectory
+touch directory/file1
+touch directory/file2
+touch directory/subdirectory/file1
+touch directory/subdirectory/file2
+tar -cf archive ./file1 directory
+tar -tf archive \\
+ --exclude='./*1' \\
+ --exclude='d*/*1' \\
+ --exclude='d*/s*/*2' | sort
+)"
+at_fn_check_prepare_notrace 'a `...` command substitution' "extrac04.at:26"
+( $at_check_trace;
+mkdir oldgnu
+(cd oldgnu
+TEST_TAR_FORMAT=oldgnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H oldgnu"
+export TAR_OPTIONS
+rm -rf *
+
+
+test -z "`sort < /dev/null 2>&1`" || exit 77
+
+touch file1
+mkdir directory
+mkdir directory/subdirectory
+touch directory/file1
+touch directory/file2
+touch directory/subdirectory/file1
+touch directory/subdirectory/file2
+tar -cf archive ./file1 directory
+tar -tf archive \
+ --exclude='./*1' \
+ --exclude='d*/*1' \
+ --exclude='d*/s*/*2' | sort
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "directory/
+directory/file2
+directory/subdirectory/
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/extrac04.at:26"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/extrac04.at:26:
+mkdir ustar
+(cd ustar
+TEST_TAR_FORMAT=ustar
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H ustar\"
+export TAR_OPTIONS
+rm -rf *
+
+
+test -z \"\`sort < /dev/null 2>&1\`\" || exit 77
+
+touch file1
+mkdir directory
+mkdir directory/subdirectory
+touch directory/file1
+touch directory/file2
+touch directory/subdirectory/file1
+touch directory/subdirectory/file2
+tar -cf archive ./file1 directory
+tar -tf archive \\
+ --exclude='./*1' \\
+ --exclude='d*/*1' \\
+ --exclude='d*/s*/*2' | sort
+)"
+at_fn_check_prepare_notrace 'a `...` command substitution' "extrac04.at:26"
+( $at_check_trace;
+mkdir ustar
+(cd ustar
+TEST_TAR_FORMAT=ustar
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H ustar"
+export TAR_OPTIONS
+rm -rf *
+
+
+test -z "`sort < /dev/null 2>&1`" || exit 77
+
+touch file1
+mkdir directory
+mkdir directory/subdirectory
+touch directory/file1
+touch directory/file2
+touch directory/subdirectory/file1
+touch directory/subdirectory/file2
+tar -cf archive ./file1 directory
+tar -tf archive \
+ --exclude='./*1' \
+ --exclude='d*/*1' \
+ --exclude='d*/s*/*2' | sort
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "directory/
+directory/file2
+directory/subdirectory/
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/extrac04.at:26"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/extrac04.at:26:
+mkdir posix
+(cd posix
+TEST_TAR_FORMAT=posix
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H posix\"
+export TAR_OPTIONS
+rm -rf *
+
+
+test -z \"\`sort < /dev/null 2>&1\`\" || exit 77
+
+touch file1
+mkdir directory
+mkdir directory/subdirectory
+touch directory/file1
+touch directory/file2
+touch directory/subdirectory/file1
+touch directory/subdirectory/file2
+tar -cf archive ./file1 directory
+tar -tf archive \\
+ --exclude='./*1' \\
+ --exclude='d*/*1' \\
+ --exclude='d*/s*/*2' | sort
+)"
+at_fn_check_prepare_notrace 'a `...` command substitution' "extrac04.at:26"
+( $at_check_trace;
+mkdir posix
+(cd posix
+TEST_TAR_FORMAT=posix
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H posix"
+export TAR_OPTIONS
+rm -rf *
+
+
+test -z "`sort < /dev/null 2>&1`" || exit 77
+
+touch file1
+mkdir directory
+mkdir directory/subdirectory
+touch directory/file1
+touch directory/file2
+touch directory/subdirectory/file1
+touch directory/subdirectory/file2
+tar -cf archive ./file1 directory
+tar -tf archive \
+ --exclude='./*1' \
+ --exclude='d*/*1' \
+ --exclude='d*/s*/*2' | sort
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "directory/
+directory/file2
+directory/subdirectory/
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/extrac04.at:26"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/extrac04.at:26:
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H gnu\"
+export TAR_OPTIONS
+rm -rf *
+
+
+test -z \"\`sort < /dev/null 2>&1\`\" || exit 77
+
+touch file1
+mkdir directory
+mkdir directory/subdirectory
+touch directory/file1
+touch directory/file2
+touch directory/subdirectory/file1
+touch directory/subdirectory/file2
+tar -cf archive ./file1 directory
+tar -tf archive \\
+ --exclude='./*1' \\
+ --exclude='d*/*1' \\
+ --exclude='d*/s*/*2' | sort
+)"
+at_fn_check_prepare_notrace 'a `...` command substitution' "extrac04.at:26"
+( $at_check_trace;
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H gnu"
+export TAR_OPTIONS
+rm -rf *
+
+
+test -z "`sort < /dev/null 2>&1`" || exit 77
+
+touch file1
+mkdir directory
+mkdir directory/subdirectory
+touch directory/file1
+touch directory/file2
+touch directory/subdirectory/file1
+touch directory/subdirectory/file2
+tar -cf archive ./file1 directory
+tar -tf archive \
+ --exclude='./*1' \
+ --exclude='d*/*1' \
+ --exclude='d*/s*/*2' | sort
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "directory/
+directory/file2
+directory/subdirectory/
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/extrac04.at:26"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_58
+#AT_START_59
+at_fn_group_banner 59 'extrac05.at:30' \
+ "extracting selected members from pax" " " 9
+at_xfail=no
+ test -f $XFAILFILE && at_xfail=yes
+(
+ $as_echo "59. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+
+cat >list <<'_ATEOF'
+jeden
+cztery
+_ATEOF
+
+
+
+
+ { set +x
+$as_echo "$at_srcdir/extrac05.at:38:
+mkdir posix
+(cd posix
+TEST_TAR_FORMAT=posix
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H posix\"
+export TAR_OPTIONS
+rm -rf *
+
+genfile --sparse --file sparsefile 0 ABCD 1M EFGH 2000K IJKL || exit 77
+genfile --length 118 --file jeden
+genfile --length 223 --file dwa
+genfile --length 517 --file trzy
+genfile --length 110 --file cztery
+
+tar cf archive jeden dwa trzy cztery || exit 1
+
+mkdir dir
+cd dir
+
+tar xvfT ../archive ../../list --warning=no-timestamp || exit 1
+
+cd ..
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "extrac05.at:38"
+( $at_check_trace;
+mkdir posix
+(cd posix
+TEST_TAR_FORMAT=posix
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H posix"
+export TAR_OPTIONS
+rm -rf *
+
+genfile --sparse --file sparsefile 0 ABCD 1M EFGH 2000K IJKL || exit 77
+genfile --length 118 --file jeden
+genfile --length 223 --file dwa
+genfile --length 517 --file trzy
+genfile --length 110 --file cztery
+
+tar cf archive jeden dwa trzy cztery || exit 1
+
+mkdir dir
+cd dir
+
+tar xvfT ../archive ../../list --warning=no-timestamp || exit 1
+
+cd ..
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "jeden
+cztery
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/extrac05.at:38"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_59
+#AT_START_60
+at_fn_group_banner 60 'extrac06.at:34' \
+ "mode of extracted directories" " " 9
+at_xfail=no
+ test -f $XFAILFILE && at_xfail=yes
+(
+ $as_echo "60. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+
+
+
+ { set +x
+$as_echo "$at_srcdir/extrac06.at:37:
+mkdir v7
+(cd v7
+TEST_TAR_FORMAT=v7
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H v7\"
+export TAR_OPTIONS
+rm -rf *
+
+
+# Force umask
+umask 022
+
+# Make sure user's umask is honored, even if we are superuser
+TAR_OPTIONS=\"\$TAR_OPTIONS --no-same-permissions\"
+
+# Create a directory
+mkdir directory
+chmod 777 directory
+genfile --stat=mode:777 directory
+
+# Archive it
+tar cf arc directory
+
+# Change its permissions ...
+chmod 755 directory
+genfile --stat=mode:777 directory
+
+# ... and attempt to restore it twice
+tar xf arc directory --warning=no-timestamp
+genfile --stat=mode:777 directory
+
+tar xf arc directory --warning=no-timestamp
+genfile --stat=mode:777 directory
+
+# After both restores, the directory mode should be 755
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "extrac06.at:37"
+( $at_check_trace;
+mkdir v7
+(cd v7
+TEST_TAR_FORMAT=v7
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H v7"
+export TAR_OPTIONS
+rm -rf *
+
+
+# Force umask
+umask 022
+
+# Make sure user's umask is honored, even if we are superuser
+TAR_OPTIONS="$TAR_OPTIONS --no-same-permissions"
+
+# Create a directory
+mkdir directory
+chmod 777 directory
+genfile --stat=mode:777 directory
+
+# Archive it
+tar cf arc directory
+
+# Change its permissions ...
+chmod 755 directory
+genfile --stat=mode:777 directory
+
+# ... and attempt to restore it twice
+tar xf arc directory --warning=no-timestamp
+genfile --stat=mode:777 directory
+
+tar xf arc directory --warning=no-timestamp
+genfile --stat=mode:777 directory
+
+# After both restores, the directory mode should be 755
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "777
+755
+755
+755
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/extrac06.at:37"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/extrac06.at:37:
+mkdir oldgnu
+(cd oldgnu
+TEST_TAR_FORMAT=oldgnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H oldgnu\"
+export TAR_OPTIONS
+rm -rf *
+
+
+# Force umask
+umask 022
+
+# Make sure user's umask is honored, even if we are superuser
+TAR_OPTIONS=\"\$TAR_OPTIONS --no-same-permissions\"
+
+# Create a directory
+mkdir directory
+chmod 777 directory
+genfile --stat=mode:777 directory
+
+# Archive it
+tar cf arc directory
+
+# Change its permissions ...
+chmod 755 directory
+genfile --stat=mode:777 directory
+
+# ... and attempt to restore it twice
+tar xf arc directory --warning=no-timestamp
+genfile --stat=mode:777 directory
+
+tar xf arc directory --warning=no-timestamp
+genfile --stat=mode:777 directory
+
+# After both restores, the directory mode should be 755
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "extrac06.at:37"
+( $at_check_trace;
+mkdir oldgnu
+(cd oldgnu
+TEST_TAR_FORMAT=oldgnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H oldgnu"
+export TAR_OPTIONS
+rm -rf *
+
+
+# Force umask
+umask 022
+
+# Make sure user's umask is honored, even if we are superuser
+TAR_OPTIONS="$TAR_OPTIONS --no-same-permissions"
+
+# Create a directory
+mkdir directory
+chmod 777 directory
+genfile --stat=mode:777 directory
+
+# Archive it
+tar cf arc directory
+
+# Change its permissions ...
+chmod 755 directory
+genfile --stat=mode:777 directory
+
+# ... and attempt to restore it twice
+tar xf arc directory --warning=no-timestamp
+genfile --stat=mode:777 directory
+
+tar xf arc directory --warning=no-timestamp
+genfile --stat=mode:777 directory
+
+# After both restores, the directory mode should be 755
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "777
+755
+755
+755
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/extrac06.at:37"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/extrac06.at:37:
+mkdir ustar
+(cd ustar
+TEST_TAR_FORMAT=ustar
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H ustar\"
+export TAR_OPTIONS
+rm -rf *
+
+
+# Force umask
+umask 022
+
+# Make sure user's umask is honored, even if we are superuser
+TAR_OPTIONS=\"\$TAR_OPTIONS --no-same-permissions\"
+
+# Create a directory
+mkdir directory
+chmod 777 directory
+genfile --stat=mode:777 directory
+
+# Archive it
+tar cf arc directory
+
+# Change its permissions ...
+chmod 755 directory
+genfile --stat=mode:777 directory
+
+# ... and attempt to restore it twice
+tar xf arc directory --warning=no-timestamp
+genfile --stat=mode:777 directory
+
+tar xf arc directory --warning=no-timestamp
+genfile --stat=mode:777 directory
+
+# After both restores, the directory mode should be 755
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "extrac06.at:37"
+( $at_check_trace;
+mkdir ustar
+(cd ustar
+TEST_TAR_FORMAT=ustar
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H ustar"
+export TAR_OPTIONS
+rm -rf *
+
+
+# Force umask
+umask 022
+
+# Make sure user's umask is honored, even if we are superuser
+TAR_OPTIONS="$TAR_OPTIONS --no-same-permissions"
+
+# Create a directory
+mkdir directory
+chmod 777 directory
+genfile --stat=mode:777 directory
+
+# Archive it
+tar cf arc directory
+
+# Change its permissions ...
+chmod 755 directory
+genfile --stat=mode:777 directory
+
+# ... and attempt to restore it twice
+tar xf arc directory --warning=no-timestamp
+genfile --stat=mode:777 directory
+
+tar xf arc directory --warning=no-timestamp
+genfile --stat=mode:777 directory
+
+# After both restores, the directory mode should be 755
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "777
+755
+755
+755
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/extrac06.at:37"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/extrac06.at:37:
+mkdir posix
+(cd posix
+TEST_TAR_FORMAT=posix
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H posix\"
+export TAR_OPTIONS
+rm -rf *
+
+
+# Force umask
+umask 022
+
+# Make sure user's umask is honored, even if we are superuser
+TAR_OPTIONS=\"\$TAR_OPTIONS --no-same-permissions\"
+
+# Create a directory
+mkdir directory
+chmod 777 directory
+genfile --stat=mode:777 directory
+
+# Archive it
+tar cf arc directory
+
+# Change its permissions ...
+chmod 755 directory
+genfile --stat=mode:777 directory
+
+# ... and attempt to restore it twice
+tar xf arc directory --warning=no-timestamp
+genfile --stat=mode:777 directory
+
+tar xf arc directory --warning=no-timestamp
+genfile --stat=mode:777 directory
+
+# After both restores, the directory mode should be 755
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "extrac06.at:37"
+( $at_check_trace;
+mkdir posix
+(cd posix
+TEST_TAR_FORMAT=posix
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H posix"
+export TAR_OPTIONS
+rm -rf *
+
+
+# Force umask
+umask 022
+
+# Make sure user's umask is honored, even if we are superuser
+TAR_OPTIONS="$TAR_OPTIONS --no-same-permissions"
+
+# Create a directory
+mkdir directory
+chmod 777 directory
+genfile --stat=mode:777 directory
+
+# Archive it
+tar cf arc directory
+
+# Change its permissions ...
+chmod 755 directory
+genfile --stat=mode:777 directory
+
+# ... and attempt to restore it twice
+tar xf arc directory --warning=no-timestamp
+genfile --stat=mode:777 directory
+
+tar xf arc directory --warning=no-timestamp
+genfile --stat=mode:777 directory
+
+# After both restores, the directory mode should be 755
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "777
+755
+755
+755
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/extrac06.at:37"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/extrac06.at:37:
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H gnu\"
+export TAR_OPTIONS
+rm -rf *
+
+
+# Force umask
+umask 022
+
+# Make sure user's umask is honored, even if we are superuser
+TAR_OPTIONS=\"\$TAR_OPTIONS --no-same-permissions\"
+
+# Create a directory
+mkdir directory
+chmod 777 directory
+genfile --stat=mode:777 directory
+
+# Archive it
+tar cf arc directory
+
+# Change its permissions ...
+chmod 755 directory
+genfile --stat=mode:777 directory
+
+# ... and attempt to restore it twice
+tar xf arc directory --warning=no-timestamp
+genfile --stat=mode:777 directory
+
+tar xf arc directory --warning=no-timestamp
+genfile --stat=mode:777 directory
+
+# After both restores, the directory mode should be 755
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "extrac06.at:37"
+( $at_check_trace;
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H gnu"
+export TAR_OPTIONS
+rm -rf *
+
+
+# Force umask
+umask 022
+
+# Make sure user's umask is honored, even if we are superuser
+TAR_OPTIONS="$TAR_OPTIONS --no-same-permissions"
+
+# Create a directory
+mkdir directory
+chmod 777 directory
+genfile --stat=mode:777 directory
+
+# Archive it
+tar cf arc directory
+
+# Change its permissions ...
+chmod 755 directory
+genfile --stat=mode:777 directory
+
+# ... and attempt to restore it twice
+tar xf arc directory --warning=no-timestamp
+genfile --stat=mode:777 directory
+
+tar xf arc directory --warning=no-timestamp
+genfile --stat=mode:777 directory
+
+# After both restores, the directory mode should be 755
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "777
+755
+755
+755
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/extrac06.at:37"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_60
+#AT_START_61
+at_fn_group_banner 61 'extrac07.at:27' \
+ "extracting symlinks to a read-only dir" " " 9
+at_xfail=no
+ test -f $XFAILFILE && at_xfail=yes
+(
+ $as_echo "61. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+
+
+
+ { set +x
+$as_echo "$at_srcdir/extrac07.at:30:
+mkdir ustar
+(cd ustar
+TEST_TAR_FORMAT=ustar
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H ustar\"
+export TAR_OPTIONS
+rm -rf *
+
+
+echo \"test\" > \$\$
+chmod 0 \$\$
+cat \$\$ > /dev/null 2>&1
+result=\$?
+rm -f \$\$
+test \$result -eq 0 && exit 77
+
+
+echo Prepare the directory
+mkdir dir
+genfile -f foo
+cd dir
+ln -s ../foo .
+cd ..
+chmod a-w dir
+
+echo Create the archive
+tar cf archive dir || exit 1
+
+chmod +w dir
+
+echo Extract
+mkdir out
+tar -C out -xvf archive
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "extrac07.at:30"
+( $at_check_trace;
+mkdir ustar
+(cd ustar
+TEST_TAR_FORMAT=ustar
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H ustar"
+export TAR_OPTIONS
+rm -rf *
+
+
+echo "test" > $$
+chmod 0 $$
+cat $$ > /dev/null 2>&1
+result=$?
+rm -f $$
+test $result -eq 0 && exit 77
+
+
+echo Prepare the directory
+mkdir dir
+genfile -f foo
+cd dir
+ln -s ../foo .
+cd ..
+chmod a-w dir
+
+echo Create the archive
+tar cf archive dir || exit 1
+
+chmod +w dir
+
+echo Extract
+mkdir out
+tar -C out -xvf archive
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "Prepare the directory
+Create the archive
+Extract
+dir/
+dir/foo
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/extrac07.at:30"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+ # Testing one format is enough
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_61
+#AT_START_62
+at_fn_group_banner 62 'extrac08.at:33' \
+ "restoring mode on existing directory" " " 9
+at_xfail=no
+ test -f $XFAILFILE && at_xfail=yes
+(
+ $as_echo "62. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+
+
+
+ { set +x
+$as_echo "$at_srcdir/extrac08.at:36:
+mkdir v7
+(cd v7
+TEST_TAR_FORMAT=v7
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H v7\"
+export TAR_OPTIONS
+rm -rf *
+
+umask 000
+mkdir dir
+chmod 755 dir
+echo bla > dir/file
+tar cf test.tar dir
+chmod 700 dir
+tar xfv test.tar --warning=no-timestamp
+genfile --stat=mode.777 dir
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "extrac08.at:36"
+( $at_check_trace;
+mkdir v7
+(cd v7
+TEST_TAR_FORMAT=v7
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H v7"
+export TAR_OPTIONS
+rm -rf *
+
+umask 000
+mkdir dir
+chmod 755 dir
+echo bla > dir/file
+tar cf test.tar dir
+chmod 700 dir
+tar xfv test.tar --warning=no-timestamp
+genfile --stat=mode.777 dir
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "dir/
+dir/file
+755
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/extrac08.at:36"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/extrac08.at:36:
+mkdir oldgnu
+(cd oldgnu
+TEST_TAR_FORMAT=oldgnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H oldgnu\"
+export TAR_OPTIONS
+rm -rf *
+
+umask 000
+mkdir dir
+chmod 755 dir
+echo bla > dir/file
+tar cf test.tar dir
+chmod 700 dir
+tar xfv test.tar --warning=no-timestamp
+genfile --stat=mode.777 dir
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "extrac08.at:36"
+( $at_check_trace;
+mkdir oldgnu
+(cd oldgnu
+TEST_TAR_FORMAT=oldgnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H oldgnu"
+export TAR_OPTIONS
+rm -rf *
+
+umask 000
+mkdir dir
+chmod 755 dir
+echo bla > dir/file
+tar cf test.tar dir
+chmod 700 dir
+tar xfv test.tar --warning=no-timestamp
+genfile --stat=mode.777 dir
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "dir/
+dir/file
+755
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/extrac08.at:36"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/extrac08.at:36:
+mkdir ustar
+(cd ustar
+TEST_TAR_FORMAT=ustar
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H ustar\"
+export TAR_OPTIONS
+rm -rf *
+
+umask 000
+mkdir dir
+chmod 755 dir
+echo bla > dir/file
+tar cf test.tar dir
+chmod 700 dir
+tar xfv test.tar --warning=no-timestamp
+genfile --stat=mode.777 dir
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "extrac08.at:36"
+( $at_check_trace;
+mkdir ustar
+(cd ustar
+TEST_TAR_FORMAT=ustar
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H ustar"
+export TAR_OPTIONS
+rm -rf *
+
+umask 000
+mkdir dir
+chmod 755 dir
+echo bla > dir/file
+tar cf test.tar dir
+chmod 700 dir
+tar xfv test.tar --warning=no-timestamp
+genfile --stat=mode.777 dir
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "dir/
+dir/file
+755
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/extrac08.at:36"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/extrac08.at:36:
+mkdir posix
+(cd posix
+TEST_TAR_FORMAT=posix
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H posix\"
+export TAR_OPTIONS
+rm -rf *
+
+umask 000
+mkdir dir
+chmod 755 dir
+echo bla > dir/file
+tar cf test.tar dir
+chmod 700 dir
+tar xfv test.tar --warning=no-timestamp
+genfile --stat=mode.777 dir
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "extrac08.at:36"
+( $at_check_trace;
+mkdir posix
+(cd posix
+TEST_TAR_FORMAT=posix
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H posix"
+export TAR_OPTIONS
+rm -rf *
+
+umask 000
+mkdir dir
+chmod 755 dir
+echo bla > dir/file
+tar cf test.tar dir
+chmod 700 dir
+tar xfv test.tar --warning=no-timestamp
+genfile --stat=mode.777 dir
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "dir/
+dir/file
+755
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/extrac08.at:36"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/extrac08.at:36:
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H gnu\"
+export TAR_OPTIONS
+rm -rf *
+
+umask 000
+mkdir dir
+chmod 755 dir
+echo bla > dir/file
+tar cf test.tar dir
+chmod 700 dir
+tar xfv test.tar --warning=no-timestamp
+genfile --stat=mode.777 dir
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "extrac08.at:36"
+( $at_check_trace;
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H gnu"
+export TAR_OPTIONS
+rm -rf *
+
+umask 000
+mkdir dir
+chmod 755 dir
+echo bla > dir/file
+tar cf test.tar dir
+chmod 700 dir
+tar xfv test.tar --warning=no-timestamp
+genfile --stat=mode.777 dir
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "dir/
+dir/file
+755
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/extrac08.at:36"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_62
+#AT_START_63
+at_fn_group_banner 63 'extrac09.at:24' \
+ "no need to save dir with unreadable . and .." " " 9
+at_xfail=no
+ test -f $XFAILFILE && at_xfail=yes
+(
+ $as_echo "63. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+
+
+
+ { set +x
+$as_echo "$at_srcdir/extrac09.at:27:
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H gnu\"
+export TAR_OPTIONS
+rm -rf *
+
+
+echo \"test\" > \$\$
+chmod 0 \$\$
+cat \$\$ > /dev/null 2>&1
+result=\$?
+rm -f \$\$
+test \$result -eq 0 && exit 77
+
+
+mkdir dir
+mkdir dir/sub
+mkdir dir/sub/extract
+genfile --file dir/sub/f
+cd dir/sub
+
+tar -cf archive.tar f
+
+chmod a-r . ..
+tar -xvf archive.tar -C extract f
+status=\$?
+chmod a+r . ..
+cmp f extract/f || status=\$?
+exit \$status
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "extrac09.at:27"
+( $at_check_trace;
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H gnu"
+export TAR_OPTIONS
+rm -rf *
+
+
+echo "test" > $$
+chmod 0 $$
+cat $$ > /dev/null 2>&1
+result=$?
+rm -f $$
+test $result -eq 0 && exit 77
+
+
+mkdir dir
+mkdir dir/sub
+mkdir dir/sub/extract
+genfile --file dir/sub/f
+cd dir/sub
+
+tar -cf archive.tar f
+
+chmod a-r . ..
+tar -xvf archive.tar -C extract f
+status=$?
+chmod a+r . ..
+cmp f extract/f || status=$?
+exit $status
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "f
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/extrac09.at:27"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_63
+#AT_START_64
+at_fn_group_banner 64 'extrac10.at:29' \
+ "-C and delayed setting of metadata" " " 9
+at_xfail=no
+ test -f $XFAILFILE && at_xfail=yes
+(
+ $as_echo "64. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+
+
+
+ { set +x
+$as_echo "$at_srcdir/extrac10.at:32:
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H gnu\"
+export TAR_OPTIONS
+rm -rf *
+
+mkdir d x x/y
+echo foo >d/d1
+echo bar >e
+
+tar -cf archive.tar d e &&
+tar -xf archive.tar -C x d -C y e &&
+diff -r d x/d &&
+diff e x/y/e
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "extrac10.at:32"
+( $at_check_trace;
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H gnu"
+export TAR_OPTIONS
+rm -rf *
+
+mkdir d x x/y
+echo foo >d/d1
+echo bar >e
+
+tar -cf archive.tar d e &&
+tar -xf archive.tar -C x d -C y e &&
+diff -r d x/d &&
+diff e x/y/e
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/extrac10.at:32"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_64
+#AT_START_65
+at_fn_group_banner 65 'extrac11.at:25' \
+ "scarce file descriptors" " " 9
+at_xfail=no
+ test -f $XFAILFILE && at_xfail=yes
+(
+ $as_echo "65. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+
+
+
+ { set +x
+$as_echo "$at_srcdir/extrac11.at:28:
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H gnu\"
+export TAR_OPTIONS
+rm -rf *
+
+exec </dev/null
+dirs='a
+ a/b
+ a/b/c
+ a/b/c/d
+ a/b/c/d/e
+ a/b/c/d/e/f
+ a/b/c/d/e/f/g
+ a/b/c/d/e/f/g/h
+ a/b/c/d/e/f/g/h/i
+ a/b/c/d/e/f/g/h/i/j
+ a/b/c/d/e/f/g/h/i/j/k
+'
+files=
+mkdir \$dirs dest1 dest2 dest3 || exit
+for dir in \$dirs; do
+ for file in X Y Z; do
+ echo \$file >\$dir/\$file || exit
+ files=\"\$files \$file\"
+ done
+done
+
+# Check that \"ulimit\" itself works. Close file descriptors before
+# invoking ulimit, to work around a bug (or a \"feature\") in some shells,
+# where they squirrel away dups of file descriptors into FD 10 and up
+# before closing the originals.
+( (exec 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&- &&
+ ulimit -n 100 &&
+ tar -cf archive1.tar a &&
+ tar -xf archive1.tar -C dest1 a
+ ) &&
+ diff -r a dest1/a
+) >/dev/null 2>&1 ||
+ exit 77
+
+# Another test that \"ulimit\" itself works:
+# tar should fail when completely starved of file descriptors.
+( (exec 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&- &&
+ ulimit -n 4 &&
+ tar -cf archive2.tar a &&
+ tar -xf archive2.tar -C dest2 a
+ ) &&
+ diff -r a dest2/a
+) >/dev/null 2>&1 &&
+ exit 77
+
+# Tar should work when there are few, but enough, file descriptors.
+( (exec 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&- &&
+ ulimit -n 10 &&
+ tar -cf archive3.tar a &&
+ tar -xf archive3.tar -C dest3 a
+ ) &&
+ diff -r a dest3/a >/dev/null 2>&1
+) || { diff -r a dest3/a; exit 1; }
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "extrac11.at:28"
+( $at_check_trace;
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H gnu"
+export TAR_OPTIONS
+rm -rf *
+
+exec </dev/null
+dirs='a
+ a/b
+ a/b/c
+ a/b/c/d
+ a/b/c/d/e
+ a/b/c/d/e/f
+ a/b/c/d/e/f/g
+ a/b/c/d/e/f/g/h
+ a/b/c/d/e/f/g/h/i
+ a/b/c/d/e/f/g/h/i/j
+ a/b/c/d/e/f/g/h/i/j/k
+'
+files=
+mkdir $dirs dest1 dest2 dest3 || exit
+for dir in $dirs; do
+ for file in X Y Z; do
+ echo $file >$dir/$file || exit
+ files="$files $file"
+ done
+done
+
+# Check that "ulimit" itself works. Close file descriptors before
+# invoking ulimit, to work around a bug (or a "feature") in some shells,
+# where they squirrel away dups of file descriptors into FD 10 and up
+# before closing the originals.
+( (exec 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&- &&
+ ulimit -n 100 &&
+ tar -cf archive1.tar a &&
+ tar -xf archive1.tar -C dest1 a
+ ) &&
+ diff -r a dest1/a
+) >/dev/null 2>&1 ||
+ exit 77
+
+# Another test that "ulimit" itself works:
+# tar should fail when completely starved of file descriptors.
+( (exec 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&- &&
+ ulimit -n 4 &&
+ tar -cf archive2.tar a &&
+ tar -xf archive2.tar -C dest2 a
+ ) &&
+ diff -r a dest2/a
+) >/dev/null 2>&1 &&
+ exit 77
+
+# Tar should work when there are few, but enough, file descriptors.
+( (exec 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&- &&
+ ulimit -n 10 &&
+ tar -cf archive3.tar a &&
+ tar -xf archive3.tar -C dest3 a
+ ) &&
+ diff -r a dest3/a >/dev/null 2>&1
+) || { diff -r a dest3/a; exit 1; }
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/extrac11.at:28"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_65
+#AT_START_66
+at_fn_group_banner 66 'extrac12.at:25' \
+ "extract dot permissions" " " 9
+at_xfail=no
+ test -f $XFAILFILE && at_xfail=yes
+(
+ $as_echo "66. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+
+
+
+ { set +x
+$as_echo "$at_srcdir/extrac12.at:28:
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H gnu\"
+export TAR_OPTIONS
+rm -rf *
+
+mkdir src dst
+echo file1 >src/file1
+echo file2 >src/file2
+chmod a-w src
+
+tar --no-recursion -cf archive.tar -C src . ./file1 file2 &&
+tar -xf archive.tar -C dst &&
+cmp src/file1 dst/file1 &&
+cmp src/file2 dst/file2
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "extrac12.at:28"
+( $at_check_trace;
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H gnu"
+export TAR_OPTIONS
+rm -rf *
+
+mkdir src dst
+echo file1 >src/file1
+echo file2 >src/file2
+chmod a-w src
+
+tar --no-recursion -cf archive.tar -C src . ./file1 file2 &&
+tar -xf archive.tar -C dst &&
+cmp src/file1 dst/file1 &&
+cmp src/file2 dst/file2
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/extrac12.at:28"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_66
+#AT_START_67
+at_fn_group_banner 67 'extrac13.at:26' \
+ "extract over symlinks" " " 9
+at_xfail=no
+ test -f $XFAILFILE && at_xfail=yes
+(
+ $as_echo "67. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+
+
+
+ { set +x
+$as_echo "$at_srcdir/extrac13.at:29:
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H gnu\"
+export TAR_OPTIONS
+rm -rf *
+
+mkdir src dst1 dst2 dst3
+echo file1 >src/file1
+ln -s target1 dst1/file1
+echo target1 >dst1/target1
+echo target1 >target1
+
+tar -cf archive.tar -C src . &&
+tar -xf archive.tar -C dst1 --warning=no-timestamp &&
+diff src/file1 dst1/file1 &&
+diff target1 dst1/target1
+
+ln -s target1 dst2/file1
+echo target1 >dst2/target1
+tar --overwrite -xf archive.tar -C dst2 --warning=no-timestamp &&
+diff src/file1 dst2/file1 &&
+diff target1 dst2/target1
+
+ln -s target1 dst3/file1
+echo target1 >dst3/target1
+tar --overwrite -xhf archive.tar -C dst3 --warning=no-timestamp &&
+diff src/file1 dst3/file1 &&
+diff src/file1 dst3/target1
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "extrac13.at:29"
+( $at_check_trace;
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H gnu"
+export TAR_OPTIONS
+rm -rf *
+
+mkdir src dst1 dst2 dst3
+echo file1 >src/file1
+ln -s target1 dst1/file1
+echo target1 >dst1/target1
+echo target1 >target1
+
+tar -cf archive.tar -C src . &&
+tar -xf archive.tar -C dst1 --warning=no-timestamp &&
+diff src/file1 dst1/file1 &&
+diff target1 dst1/target1
+
+ln -s target1 dst2/file1
+echo target1 >dst2/target1
+tar --overwrite -xf archive.tar -C dst2 --warning=no-timestamp &&
+diff src/file1 dst2/file1 &&
+diff target1 dst2/target1
+
+ln -s target1 dst3/file1
+echo target1 >dst3/target1
+tar --overwrite -xhf archive.tar -C dst3 --warning=no-timestamp &&
+diff src/file1 dst3/file1 &&
+diff src/file1 dst3/target1
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/extrac13.at:29"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_67
+#AT_START_68
+at_fn_group_banner 68 'extrac14.at:25' \
+ "extract -C symlink" " " 9
+at_xfail=no
+ test -f $XFAILFILE && at_xfail=yes
+(
+ $as_echo "68. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+
+
+
+ { set +x
+$as_echo "$at_srcdir/extrac14.at:28:
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H gnu\"
+export TAR_OPTIONS
+rm -rf *
+
+mkdir dest
+ln -s dest symlink
+echo foo >foo
+tar -cf archive.tar foo &&
+tar -xf archive.tar -C symlink --warning=no-timestamp &&
+cmp foo dest/foo
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "extrac14.at:28"
+( $at_check_trace;
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H gnu"
+export TAR_OPTIONS
+rm -rf *
+
+mkdir dest
+ln -s dest symlink
+echo foo >foo
+tar -cf archive.tar foo &&
+tar -xf archive.tar -C symlink --warning=no-timestamp &&
+cmp foo dest/foo
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/extrac14.at:28"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_68
+#AT_START_69
+at_fn_group_banner 69 'extrac15.at:25' \
+ "extract parent mkdir failure" " " 9
+at_xfail=no
+ test -f $XFAILFILE && at_xfail=yes
+(
+ $as_echo "69. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+
+
+
+ { set +x
+$as_echo "$at_srcdir/extrac15.at:28:
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H gnu\"
+export TAR_OPTIONS
+rm -rf *
+
+
+echo \"test\" > \$\$
+chmod 0 \$\$
+cat \$\$ > /dev/null 2>&1
+result=\$?
+rm -f \$\$
+test \$result -eq 0 && exit 77
+
+
+mkdir src src/a src/a/b dest dest/a
+touch src/a/b/c
+chmod a-w dest/a
+
+tar -cf archive.tar -C src a/b/c &&
+if tar -xf archive.tar -C dest a/b/c
+then (exit 1)
+else (exit 0)
+fi
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "extrac15.at:28"
+( $at_check_trace;
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H gnu"
+export TAR_OPTIONS
+rm -rf *
+
+
+echo "test" > $$
+chmod 0 $$
+cat $$ > /dev/null 2>&1
+result=$?
+rm -f $$
+test $result -eq 0 && exit 77
+
+
+mkdir src src/a src/a/b dest dest/a
+touch src/a/b/c
+chmod a-w dest/a
+
+tar -cf archive.tar -C src a/b/c &&
+if tar -xf archive.tar -C dest a/b/c
+then (exit 1)
+else (exit 0)
+fi
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo "tar: a/b: Cannot mkdir: Permission denied
+tar: a/b/c: Cannot open: No such file or directory
+tar: Exiting with failure status due to previous errors
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/extrac15.at:28"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_69
+#AT_START_70
+at_fn_group_banner 70 'extrac16.at:26' \
+ "extract empty directory with -C" " " 9
+at_xfail=no
+ test -f $XFAILFILE && at_xfail=yes
+(
+ $as_echo "70. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+
+
+
+ { set +x
+$as_echo "$at_srcdir/extrac16.at:29:
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H gnu\"
+export TAR_OPTIONS
+rm -rf *
+
+mkdir src src/a src/a/b dest
+touch src/a/c
+
+tar -cf archive.tar -C src a &&
+tar -xf archive.tar -C dest
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "extrac16.at:29"
+( $at_check_trace;
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H gnu"
+export TAR_OPTIONS
+rm -rf *
+
+mkdir src src/a src/a/b dest
+touch src/a/c
+
+tar -cf archive.tar -C src a &&
+tar -xf archive.tar -C dest
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/extrac16.at:29"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_70
+#AT_START_71
+at_fn_group_banner 71 'extrac17.at:21' \
+ "name matching/transformation ordering" " " 9
+at_xfail=no
+ test -f $XFAILFILE && at_xfail=yes
+(
+ $as_echo "71. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+
+# Description: Tar 1.24 changed the ordering of name matching and
+# name transformation so that the former saw already transformed
+# file names (see commit 9c194c99 and exclude06.at). This reverted
+# ordering made it impossible to match file names in certain cases.
+# In particular, the testcase below would not extract anything.
+#
+# Reported-by: "Gabor Z. Papp" <gzp@papp.hu>
+# References: <x6r5fd9jye@gzp>, <20101026175126.29028@Pirx.gnu.org.ua>
+# http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00047.html
+
+
+
+ { set +x
+$as_echo "$at_srcdir/extrac17.at:34:
+mkdir v7
+(cd v7
+TEST_TAR_FORMAT=v7
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H v7\"
+export TAR_OPTIONS
+rm -rf *
+
+mkdir dir dir/subdir1 dir/subdir2 out
+genfile --file dir/subdir1/file1
+genfile --file dir/subdir2/file2
+
+tar cf dir.tar dir
+
+tar -x -v -f dir.tar -C out --strip-components=2 --warning=no-timestamp \\
+ dir/subdir1/
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "extrac17.at:34"
+( $at_check_trace;
+mkdir v7
+(cd v7
+TEST_TAR_FORMAT=v7
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H v7"
+export TAR_OPTIONS
+rm -rf *
+
+mkdir dir dir/subdir1 dir/subdir2 out
+genfile --file dir/subdir1/file1
+genfile --file dir/subdir2/file2
+
+tar cf dir.tar dir
+
+tar -x -v -f dir.tar -C out --strip-components=2 --warning=no-timestamp \
+ dir/subdir1/
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "dir/subdir1/file1
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/extrac17.at:34"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/extrac17.at:34:
+mkdir oldgnu
+(cd oldgnu
+TEST_TAR_FORMAT=oldgnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H oldgnu\"
+export TAR_OPTIONS
+rm -rf *
+
+mkdir dir dir/subdir1 dir/subdir2 out
+genfile --file dir/subdir1/file1
+genfile --file dir/subdir2/file2
+
+tar cf dir.tar dir
+
+tar -x -v -f dir.tar -C out --strip-components=2 --warning=no-timestamp \\
+ dir/subdir1/
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "extrac17.at:34"
+( $at_check_trace;
+mkdir oldgnu
+(cd oldgnu
+TEST_TAR_FORMAT=oldgnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H oldgnu"
+export TAR_OPTIONS
+rm -rf *
+
+mkdir dir dir/subdir1 dir/subdir2 out
+genfile --file dir/subdir1/file1
+genfile --file dir/subdir2/file2
+
+tar cf dir.tar dir
+
+tar -x -v -f dir.tar -C out --strip-components=2 --warning=no-timestamp \
+ dir/subdir1/
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "dir/subdir1/file1
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/extrac17.at:34"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/extrac17.at:34:
+mkdir ustar
+(cd ustar
+TEST_TAR_FORMAT=ustar
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H ustar\"
+export TAR_OPTIONS
+rm -rf *
+
+mkdir dir dir/subdir1 dir/subdir2 out
+genfile --file dir/subdir1/file1
+genfile --file dir/subdir2/file2
+
+tar cf dir.tar dir
+
+tar -x -v -f dir.tar -C out --strip-components=2 --warning=no-timestamp \\
+ dir/subdir1/
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "extrac17.at:34"
+( $at_check_trace;
+mkdir ustar
+(cd ustar
+TEST_TAR_FORMAT=ustar
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H ustar"
+export TAR_OPTIONS
+rm -rf *
+
+mkdir dir dir/subdir1 dir/subdir2 out
+genfile --file dir/subdir1/file1
+genfile --file dir/subdir2/file2
+
+tar cf dir.tar dir
+
+tar -x -v -f dir.tar -C out --strip-components=2 --warning=no-timestamp \
+ dir/subdir1/
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "dir/subdir1/file1
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/extrac17.at:34"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/extrac17.at:34:
+mkdir posix
+(cd posix
+TEST_TAR_FORMAT=posix
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H posix\"
+export TAR_OPTIONS
+rm -rf *
+
+mkdir dir dir/subdir1 dir/subdir2 out
+genfile --file dir/subdir1/file1
+genfile --file dir/subdir2/file2
+
+tar cf dir.tar dir
+
+tar -x -v -f dir.tar -C out --strip-components=2 --warning=no-timestamp \\
+ dir/subdir1/
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "extrac17.at:34"
+( $at_check_trace;
+mkdir posix
+(cd posix
+TEST_TAR_FORMAT=posix
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H posix"
+export TAR_OPTIONS
+rm -rf *
+
+mkdir dir dir/subdir1 dir/subdir2 out
+genfile --file dir/subdir1/file1
+genfile --file dir/subdir2/file2
+
+tar cf dir.tar dir
+
+tar -x -v -f dir.tar -C out --strip-components=2 --warning=no-timestamp \
+ dir/subdir1/
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "dir/subdir1/file1
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/extrac17.at:34"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/extrac17.at:34:
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H gnu\"
+export TAR_OPTIONS
+rm -rf *
+
+mkdir dir dir/subdir1 dir/subdir2 out
+genfile --file dir/subdir1/file1
+genfile --file dir/subdir2/file2
+
+tar cf dir.tar dir
+
+tar -x -v -f dir.tar -C out --strip-components=2 --warning=no-timestamp \\
+ dir/subdir1/
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "extrac17.at:34"
+( $at_check_trace;
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H gnu"
+export TAR_OPTIONS
+rm -rf *
+
+mkdir dir dir/subdir1 dir/subdir2 out
+genfile --file dir/subdir1/file1
+genfile --file dir/subdir2/file2
+
+tar cf dir.tar dir
+
+tar -x -v -f dir.tar -C out --strip-components=2 --warning=no-timestamp \
+ dir/subdir1/
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "dir/subdir1/file1
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/extrac17.at:34"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_71
+#AT_START_72
+at_fn_group_banner 72 'extrac18.at:34' \
+ "keep-old-files" " " 9
+at_xfail=no
+ test -f $XFAILFILE && at_xfail=yes
+(
+ $as_echo "72. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+
+
+
+ { set +x
+$as_echo "$at_srcdir/extrac18.at:37:
+mkdir v7
+(cd v7
+TEST_TAR_FORMAT=v7
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H v7\"
+export TAR_OPTIONS
+rm -rf *
+
+mkdir dir
+cd dir
+echo 'Old file a' > a
+echo 'Old file b' > b
+
+tar cf ../archive .
+
+rm b
+echo 'File a' > a
+
+tar -x -k -f ../archive
+echo status=\$?
+
+cat a
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "extrac18.at:37"
+( $at_check_trace;
+mkdir v7
+(cd v7
+TEST_TAR_FORMAT=v7
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H v7"
+export TAR_OPTIONS
+rm -rf *
+
+mkdir dir
+cd dir
+echo 'Old file a' > a
+echo 'Old file b' > b
+
+tar cf ../archive .
+
+rm b
+echo 'File a' > a
+
+tar -x -k -f ../archive
+echo status=$?
+
+cat a
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo "tar: ./a: Cannot open: File exists
+tar: Exiting with failure status due to previous errors
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "status=2
+File a
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/extrac18.at:37"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/extrac18.at:37:
+mkdir oldgnu
+(cd oldgnu
+TEST_TAR_FORMAT=oldgnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H oldgnu\"
+export TAR_OPTIONS
+rm -rf *
+
+mkdir dir
+cd dir
+echo 'Old file a' > a
+echo 'Old file b' > b
+
+tar cf ../archive .
+
+rm b
+echo 'File a' > a
+
+tar -x -k -f ../archive
+echo status=\$?
+
+cat a
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "extrac18.at:37"
+( $at_check_trace;
+mkdir oldgnu
+(cd oldgnu
+TEST_TAR_FORMAT=oldgnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H oldgnu"
+export TAR_OPTIONS
+rm -rf *
+
+mkdir dir
+cd dir
+echo 'Old file a' > a
+echo 'Old file b' > b
+
+tar cf ../archive .
+
+rm b
+echo 'File a' > a
+
+tar -x -k -f ../archive
+echo status=$?
+
+cat a
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo "tar: ./a: Cannot open: File exists
+tar: Exiting with failure status due to previous errors
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "status=2
+File a
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/extrac18.at:37"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/extrac18.at:37:
+mkdir ustar
+(cd ustar
+TEST_TAR_FORMAT=ustar
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H ustar\"
+export TAR_OPTIONS
+rm -rf *
+
+mkdir dir
+cd dir
+echo 'Old file a' > a
+echo 'Old file b' > b
+
+tar cf ../archive .
+
+rm b
+echo 'File a' > a
+
+tar -x -k -f ../archive
+echo status=\$?
+
+cat a
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "extrac18.at:37"
+( $at_check_trace;
+mkdir ustar
+(cd ustar
+TEST_TAR_FORMAT=ustar
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H ustar"
+export TAR_OPTIONS
+rm -rf *
+
+mkdir dir
+cd dir
+echo 'Old file a' > a
+echo 'Old file b' > b
+
+tar cf ../archive .
+
+rm b
+echo 'File a' > a
+
+tar -x -k -f ../archive
+echo status=$?
+
+cat a
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo "tar: ./a: Cannot open: File exists
+tar: Exiting with failure status due to previous errors
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "status=2
+File a
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/extrac18.at:37"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/extrac18.at:37:
+mkdir posix
+(cd posix
+TEST_TAR_FORMAT=posix
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H posix\"
+export TAR_OPTIONS
+rm -rf *
+
+mkdir dir
+cd dir
+echo 'Old file a' > a
+echo 'Old file b' > b
+
+tar cf ../archive .
+
+rm b
+echo 'File a' > a
+
+tar -x -k -f ../archive
+echo status=\$?
+
+cat a
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "extrac18.at:37"
+( $at_check_trace;
+mkdir posix
+(cd posix
+TEST_TAR_FORMAT=posix
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H posix"
+export TAR_OPTIONS
+rm -rf *
+
+mkdir dir
+cd dir
+echo 'Old file a' > a
+echo 'Old file b' > b
+
+tar cf ../archive .
+
+rm b
+echo 'File a' > a
+
+tar -x -k -f ../archive
+echo status=$?
+
+cat a
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo "tar: ./a: Cannot open: File exists
+tar: Exiting with failure status due to previous errors
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "status=2
+File a
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/extrac18.at:37"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/extrac18.at:37:
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H gnu\"
+export TAR_OPTIONS
+rm -rf *
+
+mkdir dir
+cd dir
+echo 'Old file a' > a
+echo 'Old file b' > b
+
+tar cf ../archive .
+
+rm b
+echo 'File a' > a
+
+tar -x -k -f ../archive
+echo status=\$?
+
+cat a
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "extrac18.at:37"
+( $at_check_trace;
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H gnu"
+export TAR_OPTIONS
+rm -rf *
+
+mkdir dir
+cd dir
+echo 'Old file a' > a
+echo 'Old file b' > b
+
+tar cf ../archive .
+
+rm b
+echo 'File a' > a
+
+tar -x -k -f ../archive
+echo status=$?
+
+cat a
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo "tar: ./a: Cannot open: File exists
+tar: Exiting with failure status due to previous errors
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "status=2
+File a
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/extrac18.at:37"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_72
+#AT_START_73
+at_fn_group_banner 73 'extrac19.at:21' \
+ "skip-old-files" " " 9
+at_xfail=no
+ test -f $XFAILFILE && at_xfail=yes
+(
+ $as_echo "73. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+
+
+
+ { set +x
+$as_echo "$at_srcdir/extrac19.at:24:
+mkdir v7
+(cd v7
+TEST_TAR_FORMAT=v7
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H v7\"
+export TAR_OPTIONS
+rm -rf *
+
+mkdir dir
+cd dir
+echo 'Old file a' > a
+echo 'Old file b' > b
+
+tar cf ../archive .
+
+rm b
+echo 'File a' > a
+
+tar -x --skip-old-files -f ../archive
+echo status=\$?
+
+cat a
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "extrac19.at:24"
+( $at_check_trace;
+mkdir v7
+(cd v7
+TEST_TAR_FORMAT=v7
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H v7"
+export TAR_OPTIONS
+rm -rf *
+
+mkdir dir
+cd dir
+echo 'Old file a' > a
+echo 'Old file b' > b
+
+tar cf ../archive .
+
+rm b
+echo 'File a' > a
+
+tar -x --skip-old-files -f ../archive
+echo status=$?
+
+cat a
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "status=0
+File a
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/extrac19.at:24"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/extrac19.at:24:
+mkdir oldgnu
+(cd oldgnu
+TEST_TAR_FORMAT=oldgnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H oldgnu\"
+export TAR_OPTIONS
+rm -rf *
+
+mkdir dir
+cd dir
+echo 'Old file a' > a
+echo 'Old file b' > b
+
+tar cf ../archive .
+
+rm b
+echo 'File a' > a
+
+tar -x --skip-old-files -f ../archive
+echo status=\$?
+
+cat a
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "extrac19.at:24"
+( $at_check_trace;
+mkdir oldgnu
+(cd oldgnu
+TEST_TAR_FORMAT=oldgnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H oldgnu"
+export TAR_OPTIONS
+rm -rf *
+
+mkdir dir
+cd dir
+echo 'Old file a' > a
+echo 'Old file b' > b
+
+tar cf ../archive .
+
+rm b
+echo 'File a' > a
+
+tar -x --skip-old-files -f ../archive
+echo status=$?
+
+cat a
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "status=0
+File a
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/extrac19.at:24"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/extrac19.at:24:
+mkdir ustar
+(cd ustar
+TEST_TAR_FORMAT=ustar
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H ustar\"
+export TAR_OPTIONS
+rm -rf *
+
+mkdir dir
+cd dir
+echo 'Old file a' > a
+echo 'Old file b' > b
+
+tar cf ../archive .
+
+rm b
+echo 'File a' > a
+
+tar -x --skip-old-files -f ../archive
+echo status=\$?
+
+cat a
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "extrac19.at:24"
+( $at_check_trace;
+mkdir ustar
+(cd ustar
+TEST_TAR_FORMAT=ustar
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H ustar"
+export TAR_OPTIONS
+rm -rf *
+
+mkdir dir
+cd dir
+echo 'Old file a' > a
+echo 'Old file b' > b
+
+tar cf ../archive .
+
+rm b
+echo 'File a' > a
+
+tar -x --skip-old-files -f ../archive
+echo status=$?
+
+cat a
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "status=0
+File a
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/extrac19.at:24"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/extrac19.at:24:
+mkdir posix
+(cd posix
+TEST_TAR_FORMAT=posix
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H posix\"
+export TAR_OPTIONS
+rm -rf *
+
+mkdir dir
+cd dir
+echo 'Old file a' > a
+echo 'Old file b' > b
+
+tar cf ../archive .
+
+rm b
+echo 'File a' > a
+
+tar -x --skip-old-files -f ../archive
+echo status=\$?
+
+cat a
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "extrac19.at:24"
+( $at_check_trace;
+mkdir posix
+(cd posix
+TEST_TAR_FORMAT=posix
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H posix"
+export TAR_OPTIONS
+rm -rf *
+
+mkdir dir
+cd dir
+echo 'Old file a' > a
+echo 'Old file b' > b
+
+tar cf ../archive .
+
+rm b
+echo 'File a' > a
+
+tar -x --skip-old-files -f ../archive
+echo status=$?
+
+cat a
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "status=0
+File a
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/extrac19.at:24"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/extrac19.at:24:
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H gnu\"
+export TAR_OPTIONS
+rm -rf *
+
+mkdir dir
+cd dir
+echo 'Old file a' > a
+echo 'Old file b' > b
+
+tar cf ../archive .
+
+rm b
+echo 'File a' > a
+
+tar -x --skip-old-files -f ../archive
+echo status=\$?
+
+cat a
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "extrac19.at:24"
+( $at_check_trace;
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H gnu"
+export TAR_OPTIONS
+rm -rf *
+
+mkdir dir
+cd dir
+echo 'Old file a' > a
+echo 'Old file b' > b
+
+tar cf ../archive .
+
+rm b
+echo 'File a' > a
+
+tar -x --skip-old-files -f ../archive
+echo status=$?
+
+cat a
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "status=0
+File a
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/extrac19.at:24"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_73
+#AT_START_74
+at_fn_group_banner 74 'backup01.at:33' \
+ "extracting existing dir with --backup" " " 9
+at_xfail=no
+ test -f $XFAILFILE && at_xfail=yes
+(
+ $as_echo "74. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+
+
+
+ { set +x
+$as_echo "$at_srcdir/backup01.at:36:
+mkdir v7
+(cd v7
+TEST_TAR_FORMAT=v7
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H v7\"
+export TAR_OPTIONS
+rm -rf *
+
+unset VERSION_CONTROL
+mkdir dir1 dir2
+echo bla > dir1/file1
+tar cf test.tar dir1 dir2
+tar xfv test.tar --backup --warning=no-timestamp
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "backup01.at:36"
+( $at_check_trace;
+mkdir v7
+(cd v7
+TEST_TAR_FORMAT=v7
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H v7"
+export TAR_OPTIONS
+rm -rf *
+
+unset VERSION_CONTROL
+mkdir dir1 dir2
+echo bla > dir1/file1
+tar cf test.tar dir1 dir2
+tar xfv test.tar --backup --warning=no-timestamp
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "dir1/
+dir1/file1
+Renaming 'dir1/file1' to 'dir1/file1~'
+dir2/
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/backup01.at:36"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/backup01.at:36:
+mkdir oldgnu
+(cd oldgnu
+TEST_TAR_FORMAT=oldgnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H oldgnu\"
+export TAR_OPTIONS
+rm -rf *
+
+unset VERSION_CONTROL
+mkdir dir1 dir2
+echo bla > dir1/file1
+tar cf test.tar dir1 dir2
+tar xfv test.tar --backup --warning=no-timestamp
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "backup01.at:36"
+( $at_check_trace;
+mkdir oldgnu
+(cd oldgnu
+TEST_TAR_FORMAT=oldgnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H oldgnu"
+export TAR_OPTIONS
+rm -rf *
+
+unset VERSION_CONTROL
+mkdir dir1 dir2
+echo bla > dir1/file1
+tar cf test.tar dir1 dir2
+tar xfv test.tar --backup --warning=no-timestamp
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "dir1/
+dir1/file1
+Renaming 'dir1/file1' to 'dir1/file1~'
+dir2/
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/backup01.at:36"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/backup01.at:36:
+mkdir ustar
+(cd ustar
+TEST_TAR_FORMAT=ustar
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H ustar\"
+export TAR_OPTIONS
+rm -rf *
+
+unset VERSION_CONTROL
+mkdir dir1 dir2
+echo bla > dir1/file1
+tar cf test.tar dir1 dir2
+tar xfv test.tar --backup --warning=no-timestamp
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "backup01.at:36"
+( $at_check_trace;
+mkdir ustar
+(cd ustar
+TEST_TAR_FORMAT=ustar
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H ustar"
+export TAR_OPTIONS
+rm -rf *
+
+unset VERSION_CONTROL
+mkdir dir1 dir2
+echo bla > dir1/file1
+tar cf test.tar dir1 dir2
+tar xfv test.tar --backup --warning=no-timestamp
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "dir1/
+dir1/file1
+Renaming 'dir1/file1' to 'dir1/file1~'
+dir2/
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/backup01.at:36"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/backup01.at:36:
+mkdir posix
+(cd posix
+TEST_TAR_FORMAT=posix
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H posix\"
+export TAR_OPTIONS
+rm -rf *
+
+unset VERSION_CONTROL
+mkdir dir1 dir2
+echo bla > dir1/file1
+tar cf test.tar dir1 dir2
+tar xfv test.tar --backup --warning=no-timestamp
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "backup01.at:36"
+( $at_check_trace;
+mkdir posix
+(cd posix
+TEST_TAR_FORMAT=posix
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H posix"
+export TAR_OPTIONS
+rm -rf *
+
+unset VERSION_CONTROL
+mkdir dir1 dir2
+echo bla > dir1/file1
+tar cf test.tar dir1 dir2
+tar xfv test.tar --backup --warning=no-timestamp
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "dir1/
+dir1/file1
+Renaming 'dir1/file1' to 'dir1/file1~'
+dir2/
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/backup01.at:36"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/backup01.at:36:
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H gnu\"
+export TAR_OPTIONS
+rm -rf *
+
+unset VERSION_CONTROL
+mkdir dir1 dir2
+echo bla > dir1/file1
+tar cf test.tar dir1 dir2
+tar xfv test.tar --backup --warning=no-timestamp
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "backup01.at:36"
+( $at_check_trace;
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H gnu"
+export TAR_OPTIONS
+rm -rf *
+
+unset VERSION_CONTROL
+mkdir dir1 dir2
+echo bla > dir1/file1
+tar cf test.tar dir1 dir2
+tar xfv test.tar --backup --warning=no-timestamp
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "dir1/
+dir1/file1
+Renaming 'dir1/file1' to 'dir1/file1~'
+dir2/
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/backup01.at:36"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_74
+#AT_START_75
+at_fn_group_banner 75 'label01.at:21' \
+ "single-volume label" " " 10
+at_xfail=no
+ test -f $XFAILFILE && at_xfail=yes
+(
+ $as_echo "75. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+
+
+
+ { set +x
+$as_echo "$at_srcdir/label01.at:24:
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H gnu\"
+export TAR_OPTIONS
+rm -rf *
+
+genfile --file foo
+genfile --file bar
+tar -cf archive --label=Test foo bar
+tar tf archive
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "label01.at:24"
+( $at_check_trace;
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H gnu"
+export TAR_OPTIONS
+rm -rf *
+
+genfile --file foo
+genfile --file bar
+tar -cf archive --label=Test foo bar
+tar tf archive
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "Test
+foo
+bar
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/label01.at:24"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/label01.at:24:
+mkdir oldgnu
+(cd oldgnu
+TEST_TAR_FORMAT=oldgnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H oldgnu\"
+export TAR_OPTIONS
+rm -rf *
+
+genfile --file foo
+genfile --file bar
+tar -cf archive --label=Test foo bar
+tar tf archive
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "label01.at:24"
+( $at_check_trace;
+mkdir oldgnu
+(cd oldgnu
+TEST_TAR_FORMAT=oldgnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H oldgnu"
+export TAR_OPTIONS
+rm -rf *
+
+genfile --file foo
+genfile --file bar
+tar -cf archive --label=Test foo bar
+tar tf archive
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "Test
+foo
+bar
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/label01.at:24"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/label01.at:24:
+mkdir posix
+(cd posix
+TEST_TAR_FORMAT=posix
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H posix\"
+export TAR_OPTIONS
+rm -rf *
+
+genfile --file foo
+genfile --file bar
+tar -cf archive --label=Test foo bar
+tar tf archive
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "label01.at:24"
+( $at_check_trace;
+mkdir posix
+(cd posix
+TEST_TAR_FORMAT=posix
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H posix"
+export TAR_OPTIONS
+rm -rf *
+
+genfile --file foo
+genfile --file bar
+tar -cf archive --label=Test foo bar
+tar tf archive
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "Test
+foo
+bar
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/label01.at:24"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_75
+#AT_START_76
+at_fn_group_banner 76 'label02.at:21' \
+ "multi-volume label" " " 10
+at_xfail=no
+ test -f $XFAILFILE && at_xfail=yes
+(
+ $as_echo "76. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+
+
+
+ { set +x
+$as_echo "$at_srcdir/label02.at:24:
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H gnu\"
+export TAR_OPTIONS
+rm -rf *
+
+exec <&-
+genfile --length 0 --file foo
+genfile --length 12288 --file bar
+genfile --length 12288 --file baz
+tar --label=Test -cM -L10 -f 1.tar -f 2.tar -f 3.tar -f 4.tar foo bar baz
+tar -Mt -f 1.tar -f 2.tar -f 3.tar -f 4.tar
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "label02.at:24"
+( $at_check_trace;
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H gnu"
+export TAR_OPTIONS
+rm -rf *
+
+exec <&-
+genfile --length 0 --file foo
+genfile --length 12288 --file bar
+genfile --length 12288 --file baz
+tar --label=Test -cM -L10 -f 1.tar -f 2.tar -f 3.tar -f 4.tar foo bar baz
+tar -Mt -f 1.tar -f 2.tar -f 3.tar -f 4.tar
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "Test Volume 1
+foo
+bar
+baz
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/label02.at:24"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/label02.at:24:
+mkdir oldgnu
+(cd oldgnu
+TEST_TAR_FORMAT=oldgnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H oldgnu\"
+export TAR_OPTIONS
+rm -rf *
+
+exec <&-
+genfile --length 0 --file foo
+genfile --length 12288 --file bar
+genfile --length 12288 --file baz
+tar --label=Test -cM -L10 -f 1.tar -f 2.tar -f 3.tar -f 4.tar foo bar baz
+tar -Mt -f 1.tar -f 2.tar -f 3.tar -f 4.tar
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "label02.at:24"
+( $at_check_trace;
+mkdir oldgnu
+(cd oldgnu
+TEST_TAR_FORMAT=oldgnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H oldgnu"
+export TAR_OPTIONS
+rm -rf *
+
+exec <&-
+genfile --length 0 --file foo
+genfile --length 12288 --file bar
+genfile --length 12288 --file baz
+tar --label=Test -cM -L10 -f 1.tar -f 2.tar -f 3.tar -f 4.tar foo bar baz
+tar -Mt -f 1.tar -f 2.tar -f 3.tar -f 4.tar
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "Test Volume 1
+foo
+bar
+baz
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/label02.at:24"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/label02.at:24:
+mkdir posix
+(cd posix
+TEST_TAR_FORMAT=posix
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H posix\"
+export TAR_OPTIONS
+rm -rf *
+
+exec <&-
+genfile --length 0 --file foo
+genfile --length 12288 --file bar
+genfile --length 12288 --file baz
+tar --label=Test -cM -L10 -f 1.tar -f 2.tar -f 3.tar -f 4.tar foo bar baz
+tar -Mt -f 1.tar -f 2.tar -f 3.tar -f 4.tar
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "label02.at:24"
+( $at_check_trace;
+mkdir posix
+(cd posix
+TEST_TAR_FORMAT=posix
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H posix"
+export TAR_OPTIONS
+rm -rf *
+
+exec <&-
+genfile --length 0 --file foo
+genfile --length 12288 --file bar
+genfile --length 12288 --file baz
+tar --label=Test -cM -L10 -f 1.tar -f 2.tar -f 3.tar -f 4.tar foo bar baz
+tar -Mt -f 1.tar -f 2.tar -f 3.tar -f 4.tar
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "Test Volume 1
+foo
+bar
+baz
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/label02.at:24"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_76
+#AT_START_77
+at_fn_group_banner 77 'label03.at:27' \
+ "test-label option" " " 10
+at_xfail=no
+ test -f $XFAILFILE && at_xfail=yes
+(
+ $as_echo "77. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+
+
+
+ { set +x
+$as_echo "$at_srcdir/label03.at:30:
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H gnu\"
+export TAR_OPTIONS
+rm -rf *
+
+exec <&-
+genfile --file file
+tar -c --label='iamalabel' --file iamanarchive file
+tar -c --file unlabeled.tar file
+decho \"# Display label\"
+tar --test-label --file=iamanarchive; echo \$?
+decho \"# Display label: unlabeled\"
+tar --test-label --file=unlabeled.tar; echo \$?
+decho \"# Test label: success\"
+tar --test-label --file=iamanarchive 'iamalabel'; echo \$?
+decho \"# Test label: failure\"
+tar --test-label --file=iamanarchive 'amalabel'; echo \$?
+decho \"# Test label: unlabeled\"
+tar --test-label --file=unlabeled.tar 'amalabel'; echo \$?
+decho \"# Test label, verbose: success\"
+tar --test-label --verbose --file=iamanarchive 'iamalabel'; echo \$?
+decho \"# Test label, verbose: failure\"
+tar --test-label --verbose --file=iamanarchive 'amalabel'; echo \$?
+decho \"# Test label: multiple arguments\"
+tar --test-label --file=iamanarchive a iamalabel b; echo \$?
+decho \"# Test label: wildcards\"
+tar --test-label --file=iamanarchive --wildcards '*label'; echo \$?
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "label03.at:30"
+( $at_check_trace;
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H gnu"
+export TAR_OPTIONS
+rm -rf *
+
+exec <&-
+genfile --file file
+tar -c --label='iamalabel' --file iamanarchive file
+tar -c --file unlabeled.tar file
+decho "# Display label"
+tar --test-label --file=iamanarchive; echo $?
+decho "# Display label: unlabeled"
+tar --test-label --file=unlabeled.tar; echo $?
+decho "# Test label: success"
+tar --test-label --file=iamanarchive 'iamalabel'; echo $?
+decho "# Test label: failure"
+tar --test-label --file=iamanarchive 'amalabel'; echo $?
+decho "# Test label: unlabeled"
+tar --test-label --file=unlabeled.tar 'amalabel'; echo $?
+decho "# Test label, verbose: success"
+tar --test-label --verbose --file=iamanarchive 'iamalabel'; echo $?
+decho "# Test label, verbose: failure"
+tar --test-label --verbose --file=iamanarchive 'amalabel'; echo $?
+decho "# Test label: multiple arguments"
+tar --test-label --file=iamanarchive a iamalabel b; echo $?
+decho "# Test label: wildcards"
+tar --test-label --file=iamanarchive --wildcards '*label'; echo $?
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo "# Display label
+# Display label: unlabeled
+# Test label: success
+# Test label: failure
+# Test label: unlabeled
+# Test label, verbose: success
+# Test label, verbose: failure
+tar: Archive label mismatch
+# Test label: multiple arguments
+# Test label: wildcards
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "# Display label
+iamalabel
+0
+# Display label: unlabeled
+0
+# Test label: success
+0
+# Test label: failure
+1
+# Test label: unlabeled
+1
+# Test label, verbose: success
+iamalabel
+0
+# Test label, verbose: failure
+iamalabel
+1
+# Test label: multiple arguments
+0
+# Test label: wildcards
+0
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/label03.at:30"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/label03.at:30:
+mkdir oldgnu
+(cd oldgnu
+TEST_TAR_FORMAT=oldgnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H oldgnu\"
+export TAR_OPTIONS
+rm -rf *
+
+exec <&-
+genfile --file file
+tar -c --label='iamalabel' --file iamanarchive file
+tar -c --file unlabeled.tar file
+decho \"# Display label\"
+tar --test-label --file=iamanarchive; echo \$?
+decho \"# Display label: unlabeled\"
+tar --test-label --file=unlabeled.tar; echo \$?
+decho \"# Test label: success\"
+tar --test-label --file=iamanarchive 'iamalabel'; echo \$?
+decho \"# Test label: failure\"
+tar --test-label --file=iamanarchive 'amalabel'; echo \$?
+decho \"# Test label: unlabeled\"
+tar --test-label --file=unlabeled.tar 'amalabel'; echo \$?
+decho \"# Test label, verbose: success\"
+tar --test-label --verbose --file=iamanarchive 'iamalabel'; echo \$?
+decho \"# Test label, verbose: failure\"
+tar --test-label --verbose --file=iamanarchive 'amalabel'; echo \$?
+decho \"# Test label: multiple arguments\"
+tar --test-label --file=iamanarchive a iamalabel b; echo \$?
+decho \"# Test label: wildcards\"
+tar --test-label --file=iamanarchive --wildcards '*label'; echo \$?
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "label03.at:30"
+( $at_check_trace;
+mkdir oldgnu
+(cd oldgnu
+TEST_TAR_FORMAT=oldgnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H oldgnu"
+export TAR_OPTIONS
+rm -rf *
+
+exec <&-
+genfile --file file
+tar -c --label='iamalabel' --file iamanarchive file
+tar -c --file unlabeled.tar file
+decho "# Display label"
+tar --test-label --file=iamanarchive; echo $?
+decho "# Display label: unlabeled"
+tar --test-label --file=unlabeled.tar; echo $?
+decho "# Test label: success"
+tar --test-label --file=iamanarchive 'iamalabel'; echo $?
+decho "# Test label: failure"
+tar --test-label --file=iamanarchive 'amalabel'; echo $?
+decho "# Test label: unlabeled"
+tar --test-label --file=unlabeled.tar 'amalabel'; echo $?
+decho "# Test label, verbose: success"
+tar --test-label --verbose --file=iamanarchive 'iamalabel'; echo $?
+decho "# Test label, verbose: failure"
+tar --test-label --verbose --file=iamanarchive 'amalabel'; echo $?
+decho "# Test label: multiple arguments"
+tar --test-label --file=iamanarchive a iamalabel b; echo $?
+decho "# Test label: wildcards"
+tar --test-label --file=iamanarchive --wildcards '*label'; echo $?
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo "# Display label
+# Display label: unlabeled
+# Test label: success
+# Test label: failure
+# Test label: unlabeled
+# Test label, verbose: success
+# Test label, verbose: failure
+tar: Archive label mismatch
+# Test label: multiple arguments
+# Test label: wildcards
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "# Display label
+iamalabel
+0
+# Display label: unlabeled
+0
+# Test label: success
+0
+# Test label: failure
+1
+# Test label: unlabeled
+1
+# Test label, verbose: success
+iamalabel
+0
+# Test label, verbose: failure
+iamalabel
+1
+# Test label: multiple arguments
+0
+# Test label: wildcards
+0
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/label03.at:30"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/label03.at:30:
+mkdir posix
+(cd posix
+TEST_TAR_FORMAT=posix
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H posix\"
+export TAR_OPTIONS
+rm -rf *
+
+exec <&-
+genfile --file file
+tar -c --label='iamalabel' --file iamanarchive file
+tar -c --file unlabeled.tar file
+decho \"# Display label\"
+tar --test-label --file=iamanarchive; echo \$?
+decho \"# Display label: unlabeled\"
+tar --test-label --file=unlabeled.tar; echo \$?
+decho \"# Test label: success\"
+tar --test-label --file=iamanarchive 'iamalabel'; echo \$?
+decho \"# Test label: failure\"
+tar --test-label --file=iamanarchive 'amalabel'; echo \$?
+decho \"# Test label: unlabeled\"
+tar --test-label --file=unlabeled.tar 'amalabel'; echo \$?
+decho \"# Test label, verbose: success\"
+tar --test-label --verbose --file=iamanarchive 'iamalabel'; echo \$?
+decho \"# Test label, verbose: failure\"
+tar --test-label --verbose --file=iamanarchive 'amalabel'; echo \$?
+decho \"# Test label: multiple arguments\"
+tar --test-label --file=iamanarchive a iamalabel b; echo \$?
+decho \"# Test label: wildcards\"
+tar --test-label --file=iamanarchive --wildcards '*label'; echo \$?
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "label03.at:30"
+( $at_check_trace;
+mkdir posix
+(cd posix
+TEST_TAR_FORMAT=posix
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H posix"
+export TAR_OPTIONS
+rm -rf *
+
+exec <&-
+genfile --file file
+tar -c --label='iamalabel' --file iamanarchive file
+tar -c --file unlabeled.tar file
+decho "# Display label"
+tar --test-label --file=iamanarchive; echo $?
+decho "# Display label: unlabeled"
+tar --test-label --file=unlabeled.tar; echo $?
+decho "# Test label: success"
+tar --test-label --file=iamanarchive 'iamalabel'; echo $?
+decho "# Test label: failure"
+tar --test-label --file=iamanarchive 'amalabel'; echo $?
+decho "# Test label: unlabeled"
+tar --test-label --file=unlabeled.tar 'amalabel'; echo $?
+decho "# Test label, verbose: success"
+tar --test-label --verbose --file=iamanarchive 'iamalabel'; echo $?
+decho "# Test label, verbose: failure"
+tar --test-label --verbose --file=iamanarchive 'amalabel'; echo $?
+decho "# Test label: multiple arguments"
+tar --test-label --file=iamanarchive a iamalabel b; echo $?
+decho "# Test label: wildcards"
+tar --test-label --file=iamanarchive --wildcards '*label'; echo $?
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo "# Display label
+# Display label: unlabeled
+# Test label: success
+# Test label: failure
+# Test label: unlabeled
+# Test label, verbose: success
+# Test label, verbose: failure
+tar: Archive label mismatch
+# Test label: multiple arguments
+# Test label: wildcards
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "# Display label
+iamalabel
+0
+# Display label: unlabeled
+0
+# Test label: success
+0
+# Test label: failure
+1
+# Test label: unlabeled
+1
+# Test label, verbose: success
+iamalabel
+0
+# Test label, verbose: failure
+iamalabel
+1
+# Test label: multiple arguments
+0
+# Test label: wildcards
+0
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/label03.at:30"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_77
+#AT_START_78
+at_fn_group_banner 78 'label04.at:27' \
+ "label with non-create option" " " 10
+at_xfail=no
+ test -f $XFAILFILE && at_xfail=yes
+(
+ $as_echo "78. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+
+
+
+ { set +x
+$as_echo "$at_srcdir/label04.at:30:
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H gnu\"
+export TAR_OPTIONS
+rm -rf *
+
+exec <&-
+genfile --file file
+decho \"# Create volume\"
+tar -c -f archive --label='New volume' file
+decho \"# Update: wrong label\"
+tar -rf archive --label='My volume' file; echo \$?
+decho \"# Update: right label\"
+tar -rf archive --label='New volume' file
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "label04.at:30"
+( $at_check_trace;
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H gnu"
+export TAR_OPTIONS
+rm -rf *
+
+exec <&-
+genfile --file file
+decho "# Create volume"
+tar -c -f archive --label='New volume' file
+decho "# Update: wrong label"
+tar -rf archive --label='My volume' file; echo $?
+decho "# Update: right label"
+tar -rf archive --label='New volume' file
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo "# Create volume
+# Update: wrong label
+tar: Volume 'New volume' does not match 'My volume'
+tar: Error is not recoverable: exiting now
+# Update: right label
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "# Create volume
+# Update: wrong label
+2
+# Update: right label
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/label04.at:30"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/label04.at:30:
+mkdir oldgnu
+(cd oldgnu
+TEST_TAR_FORMAT=oldgnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H oldgnu\"
+export TAR_OPTIONS
+rm -rf *
+
+exec <&-
+genfile --file file
+decho \"# Create volume\"
+tar -c -f archive --label='New volume' file
+decho \"# Update: wrong label\"
+tar -rf archive --label='My volume' file; echo \$?
+decho \"# Update: right label\"
+tar -rf archive --label='New volume' file
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "label04.at:30"
+( $at_check_trace;
+mkdir oldgnu
+(cd oldgnu
+TEST_TAR_FORMAT=oldgnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H oldgnu"
+export TAR_OPTIONS
+rm -rf *
+
+exec <&-
+genfile --file file
+decho "# Create volume"
+tar -c -f archive --label='New volume' file
+decho "# Update: wrong label"
+tar -rf archive --label='My volume' file; echo $?
+decho "# Update: right label"
+tar -rf archive --label='New volume' file
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo "# Create volume
+# Update: wrong label
+tar: Volume 'New volume' does not match 'My volume'
+tar: Error is not recoverable: exiting now
+# Update: right label
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "# Create volume
+# Update: wrong label
+2
+# Update: right label
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/label04.at:30"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/label04.at:30:
+mkdir posix
+(cd posix
+TEST_TAR_FORMAT=posix
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H posix\"
+export TAR_OPTIONS
+rm -rf *
+
+exec <&-
+genfile --file file
+decho \"# Create volume\"
+tar -c -f archive --label='New volume' file
+decho \"# Update: wrong label\"
+tar -rf archive --label='My volume' file; echo \$?
+decho \"# Update: right label\"
+tar -rf archive --label='New volume' file
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "label04.at:30"
+( $at_check_trace;
+mkdir posix
+(cd posix
+TEST_TAR_FORMAT=posix
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H posix"
+export TAR_OPTIONS
+rm -rf *
+
+exec <&-
+genfile --file file
+decho "# Create volume"
+tar -c -f archive --label='New volume' file
+decho "# Update: wrong label"
+tar -rf archive --label='My volume' file; echo $?
+decho "# Update: right label"
+tar -rf archive --label='New volume' file
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo "# Create volume
+# Update: wrong label
+tar: Volume 'New volume' does not match 'My volume'
+tar: Error is not recoverable: exiting now
+# Update: right label
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "# Create volume
+# Update: wrong label
+2
+# Update: right label
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/label04.at:30"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_78
+#AT_START_79
+at_fn_group_banner 79 'label05.at:24' \
+ "label with non-create option" " " 10
+at_xfail=no
+ test -f $XFAILFILE && at_xfail=yes
+(
+ $as_echo "79. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+
+
+
+ { set +x
+$as_echo "$at_srcdir/label05.at:27:
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H gnu\"
+export TAR_OPTIONS
+rm -rf *
+
+exec <&-
+genfile --file file
+decho \"# Create volume\"
+tar -c -f archive file
+decho \"# Update: wrong label\"
+tar -rf archive --label='My volume' file; echo \$?
+decho \"# Update: right label\"
+tar -rf archive file
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "label05.at:27"
+( $at_check_trace;
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H gnu"
+export TAR_OPTIONS
+rm -rf *
+
+exec <&-
+genfile --file file
+decho "# Create volume"
+tar -c -f archive file
+decho "# Update: wrong label"
+tar -rf archive --label='My volume' file; echo $?
+decho "# Update: right label"
+tar -rf archive file
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo "# Create volume
+# Update: wrong label
+tar: Archive not labeled to match 'My volume'
+tar: Error is not recoverable: exiting now
+# Update: right label
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "# Create volume
+# Update: wrong label
+2
+# Update: right label
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/label05.at:27"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/label05.at:27:
+mkdir oldgnu
+(cd oldgnu
+TEST_TAR_FORMAT=oldgnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H oldgnu\"
+export TAR_OPTIONS
+rm -rf *
+
+exec <&-
+genfile --file file
+decho \"# Create volume\"
+tar -c -f archive file
+decho \"# Update: wrong label\"
+tar -rf archive --label='My volume' file; echo \$?
+decho \"# Update: right label\"
+tar -rf archive file
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "label05.at:27"
+( $at_check_trace;
+mkdir oldgnu
+(cd oldgnu
+TEST_TAR_FORMAT=oldgnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H oldgnu"
+export TAR_OPTIONS
+rm -rf *
+
+exec <&-
+genfile --file file
+decho "# Create volume"
+tar -c -f archive file
+decho "# Update: wrong label"
+tar -rf archive --label='My volume' file; echo $?
+decho "# Update: right label"
+tar -rf archive file
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo "# Create volume
+# Update: wrong label
+tar: Archive not labeled to match 'My volume'
+tar: Error is not recoverable: exiting now
+# Update: right label
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "# Create volume
+# Update: wrong label
+2
+# Update: right label
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/label05.at:27"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/label05.at:27:
+mkdir posix
+(cd posix
+TEST_TAR_FORMAT=posix
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H posix\"
+export TAR_OPTIONS
+rm -rf *
+
+exec <&-
+genfile --file file
+decho \"# Create volume\"
+tar -c -f archive file
+decho \"# Update: wrong label\"
+tar -rf archive --label='My volume' file; echo \$?
+decho \"# Update: right label\"
+tar -rf archive file
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "label05.at:27"
+( $at_check_trace;
+mkdir posix
+(cd posix
+TEST_TAR_FORMAT=posix
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H posix"
+export TAR_OPTIONS
+rm -rf *
+
+exec <&-
+genfile --file file
+decho "# Create volume"
+tar -c -f archive file
+decho "# Update: wrong label"
+tar -rf archive --label='My volume' file; echo $?
+decho "# Update: right label"
+tar -rf archive file
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+echo >>"$at_stderr"; $as_echo "# Create volume
+# Update: wrong label
+tar: Archive not labeled to match 'My volume'
+tar: Error is not recoverable: exiting now
+# Update: right label
+" | \
+ $at_diff - "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "# Create volume
+# Update: wrong label
+2
+# Update: right label
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/label05.at:27"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_79
+#AT_START_80
+at_fn_group_banner 80 'incremental.at:23' \
+ "incremental" " " 11
+at_xfail=no
+ test -f $XFAILFILE && at_xfail=yes
+(
+ $as_echo "80. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+
+
+
+ { set +x
+$as_echo "$at_srcdir/incremental.at:26:
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H gnu\"
+export TAR_OPTIONS
+rm -rf *
+
+mkdir structure
+echo x >structure/file
+
+# On Nextstep (and perhaps other 4.3BSD systems),
+# a newly created file's ctime isn't updated
+# until the next sync or stat operation on the file.
+ls -l structure/file >/dev/null
+
+# If the time of an initial backup and the creation time of a file contained
+# in that backup are the same, the file will be backed up again when an
+# incremental backup is done, because the incremental backup backs up
+# files created \"on or after\" the initial backup time. Without the sleep
+# command, behaviour of tar becomes variable, depending whether the system
+# clock ticked over to the next second between creating the file and
+# backing it up.
+sleep 1
+
+tar cf archive --listed=list structure
+tar cfv archive --listed=list structure
+echo separator
+# ReiserFS often offsets the timestamps of newly created files
+# 1 second to the past. Try to compensate for it, until a better
+# solution is found.
+sleep 2
+echo y >structure/file
+tar cfv archive --listed=list structure
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "incremental.at:26"
+( $at_check_trace;
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H gnu"
+export TAR_OPTIONS
+rm -rf *
+
+mkdir structure
+echo x >structure/file
+
+# On Nextstep (and perhaps other 4.3BSD systems),
+# a newly created file's ctime isn't updated
+# until the next sync or stat operation on the file.
+ls -l structure/file >/dev/null
+
+# If the time of an initial backup and the creation time of a file contained
+# in that backup are the same, the file will be backed up again when an
+# incremental backup is done, because the incremental backup backs up
+# files created "on or after" the initial backup time. Without the sleep
+# command, behaviour of tar becomes variable, depending whether the system
+# clock ticked over to the next second between creating the file and
+# backing it up.
+sleep 1
+
+tar cf archive --listed=list structure
+tar cfv archive --listed=list structure
+echo separator
+# ReiserFS often offsets the timestamps of newly created files
+# 1 second to the past. Try to compensate for it, until a better
+# solution is found.
+sleep 2
+echo y >structure/file
+tar cfv archive --listed=list structure
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "structure/
+separator
+structure/
+structure/file
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/incremental.at:26"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/incremental.at:26:
+mkdir oldgnu
+(cd oldgnu
+TEST_TAR_FORMAT=oldgnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H oldgnu\"
+export TAR_OPTIONS
+rm -rf *
+
+mkdir structure
+echo x >structure/file
+
+# On Nextstep (and perhaps other 4.3BSD systems),
+# a newly created file's ctime isn't updated
+# until the next sync or stat operation on the file.
+ls -l structure/file >/dev/null
+
+# If the time of an initial backup and the creation time of a file contained
+# in that backup are the same, the file will be backed up again when an
+# incremental backup is done, because the incremental backup backs up
+# files created \"on or after\" the initial backup time. Without the sleep
+# command, behaviour of tar becomes variable, depending whether the system
+# clock ticked over to the next second between creating the file and
+# backing it up.
+sleep 1
+
+tar cf archive --listed=list structure
+tar cfv archive --listed=list structure
+echo separator
+# ReiserFS often offsets the timestamps of newly created files
+# 1 second to the past. Try to compensate for it, until a better
+# solution is found.
+sleep 2
+echo y >structure/file
+tar cfv archive --listed=list structure
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "incremental.at:26"
+( $at_check_trace;
+mkdir oldgnu
+(cd oldgnu
+TEST_TAR_FORMAT=oldgnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H oldgnu"
+export TAR_OPTIONS
+rm -rf *
+
+mkdir structure
+echo x >structure/file
+
+# On Nextstep (and perhaps other 4.3BSD systems),
+# a newly created file's ctime isn't updated
+# until the next sync or stat operation on the file.
+ls -l structure/file >/dev/null
+
+# If the time of an initial backup and the creation time of a file contained
+# in that backup are the same, the file will be backed up again when an
+# incremental backup is done, because the incremental backup backs up
+# files created "on or after" the initial backup time. Without the sleep
+# command, behaviour of tar becomes variable, depending whether the system
+# clock ticked over to the next second between creating the file and
+# backing it up.
+sleep 1
+
+tar cf archive --listed=list structure
+tar cfv archive --listed=list structure
+echo separator
+# ReiserFS often offsets the timestamps of newly created files
+# 1 second to the past. Try to compensate for it, until a better
+# solution is found.
+sleep 2
+echo y >structure/file
+tar cfv archive --listed=list structure
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "structure/
+separator
+structure/
+structure/file
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/incremental.at:26"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/incremental.at:26:
+mkdir posix
+(cd posix
+TEST_TAR_FORMAT=posix
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H posix\"
+export TAR_OPTIONS
+rm -rf *
+
+mkdir structure
+echo x >structure/file
+
+# On Nextstep (and perhaps other 4.3BSD systems),
+# a newly created file's ctime isn't updated
+# until the next sync or stat operation on the file.
+ls -l structure/file >/dev/null
+
+# If the time of an initial backup and the creation time of a file contained
+# in that backup are the same, the file will be backed up again when an
+# incremental backup is done, because the incremental backup backs up
+# files created \"on or after\" the initial backup time. Without the sleep
+# command, behaviour of tar becomes variable, depending whether the system
+# clock ticked over to the next second between creating the file and
+# backing it up.
+sleep 1
+
+tar cf archive --listed=list structure
+tar cfv archive --listed=list structure
+echo separator
+# ReiserFS often offsets the timestamps of newly created files
+# 1 second to the past. Try to compensate for it, until a better
+# solution is found.
+sleep 2
+echo y >structure/file
+tar cfv archive --listed=list structure
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "incremental.at:26"
+( $at_check_trace;
+mkdir posix
+(cd posix
+TEST_TAR_FORMAT=posix
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H posix"
+export TAR_OPTIONS
+rm -rf *
+
+mkdir structure
+echo x >structure/file
+
+# On Nextstep (and perhaps other 4.3BSD systems),
+# a newly created file's ctime isn't updated
+# until the next sync or stat operation on the file.
+ls -l structure/file >/dev/null
+
+# If the time of an initial backup and the creation time of a file contained
+# in that backup are the same, the file will be backed up again when an
+# incremental backup is done, because the incremental backup backs up
+# files created "on or after" the initial backup time. Without the sleep
+# command, behaviour of tar becomes variable, depending whether the system
+# clock ticked over to the next second between creating the file and
+# backing it up.
+sleep 1
+
+tar cf archive --listed=list structure
+tar cfv archive --listed=list structure
+echo separator
+# ReiserFS often offsets the timestamps of newly created files
+# 1 second to the past. Try to compensate for it, until a better
+# solution is found.
+sleep 2
+echo y >structure/file
+tar cfv archive --listed=list structure
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "structure/
+separator
+structure/
+structure/file
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/incremental.at:26"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_80
+#AT_START_81
+at_fn_group_banner 81 'incr01.at:27' \
+ "restore broken symlinks from incremental" " " 11
+at_xfail=no
+ test -f $XFAILFILE && at_xfail=yes
+(
+ $as_echo "81. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+
+
+
+ { set +x
+$as_echo "$at_srcdir/incr01.at:30:
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H gnu\"
+export TAR_OPTIONS
+rm -rf *
+
+mkdir directory
+\$as_ln_s foo directory/bar
+
+tar -cf archive.0 -g db directory
+rm directory/bar
+tar -cf archive.1 -g db directory
+
+mv directory orig
+
+tar xvfg archive.0 /dev/null --warning=no-timestamp
+echo separator
+tar xvfg archive.1 /dev/null --warning=no-timestamp
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "incr01.at:30"
+( $at_check_trace;
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H gnu"
+export TAR_OPTIONS
+rm -rf *
+
+mkdir directory
+$as_ln_s foo directory/bar
+
+tar -cf archive.0 -g db directory
+rm directory/bar
+tar -cf archive.1 -g db directory
+
+mv directory orig
+
+tar xvfg archive.0 /dev/null --warning=no-timestamp
+echo separator
+tar xvfg archive.1 /dev/null --warning=no-timestamp
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "directory/
+directory/bar
+separator
+directory/
+tar: Deleting 'directory/bar'
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/incr01.at:30"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/incr01.at:30:
+mkdir oldgnu
+(cd oldgnu
+TEST_TAR_FORMAT=oldgnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H oldgnu\"
+export TAR_OPTIONS
+rm -rf *
+
+mkdir directory
+\$as_ln_s foo directory/bar
+
+tar -cf archive.0 -g db directory
+rm directory/bar
+tar -cf archive.1 -g db directory
+
+mv directory orig
+
+tar xvfg archive.0 /dev/null --warning=no-timestamp
+echo separator
+tar xvfg archive.1 /dev/null --warning=no-timestamp
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "incr01.at:30"
+( $at_check_trace;
+mkdir oldgnu
+(cd oldgnu
+TEST_TAR_FORMAT=oldgnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H oldgnu"
+export TAR_OPTIONS
+rm -rf *
+
+mkdir directory
+$as_ln_s foo directory/bar
+
+tar -cf archive.0 -g db directory
+rm directory/bar
+tar -cf archive.1 -g db directory
+
+mv directory orig
+
+tar xvfg archive.0 /dev/null --warning=no-timestamp
+echo separator
+tar xvfg archive.1 /dev/null --warning=no-timestamp
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "directory/
+directory/bar
+separator
+directory/
+tar: Deleting 'directory/bar'
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/incr01.at:30"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/incr01.at:30:
+mkdir posix
+(cd posix
+TEST_TAR_FORMAT=posix
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H posix\"
+export TAR_OPTIONS
+rm -rf *
+
+mkdir directory
+\$as_ln_s foo directory/bar
+
+tar -cf archive.0 -g db directory
+rm directory/bar
+tar -cf archive.1 -g db directory
+
+mv directory orig
+
+tar xvfg archive.0 /dev/null --warning=no-timestamp
+echo separator
+tar xvfg archive.1 /dev/null --warning=no-timestamp
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "incr01.at:30"
+( $at_check_trace;
+mkdir posix
+(cd posix
+TEST_TAR_FORMAT=posix
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H posix"
+export TAR_OPTIONS
+rm -rf *
+
+mkdir directory
+$as_ln_s foo directory/bar
+
+tar -cf archive.0 -g db directory
+rm directory/bar
+tar -cf archive.1 -g db directory
+
+mv directory orig
+
+tar xvfg archive.0 /dev/null --warning=no-timestamp
+echo separator
+tar xvfg archive.1 /dev/null --warning=no-timestamp
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "directory/
+directory/bar
+separator
+directory/
+tar: Deleting 'directory/bar'
+" | \
+ $at_diff - "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/incr01.at:30"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+
+
+
+ set +x
+ $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 7>&- | eval $at_tee_pipe
+read at_status <"$at_status_file"
+#AT_STOP_81
+#AT_START_82
+at_fn_group_banner 82 'incr02.at:32' \
+ "restoring timestamps from incremental" " " 11
+at_xfail=no
+ test -f $XFAILFILE && at_xfail=yes
+(
+ $as_echo "82. $at_setup_line: testing $at_desc ..."
+ $at_traceon
+
+
+
+
+
+ { set +x
+$as_echo "$at_srcdir/incr02.at:35:
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H gnu\"
+export TAR_OPTIONS
+rm -rf *
+
+# Create directory structure
+mkdir dir
+mkdir dir/subdir1
+mkdir dir/subdir2
+genfile --length 10 --file dir/subdir1/file
+
+# Save mtime for later comparison
+genfile --stat=mtime dir/subdir1 > ts
+
+# Create an archive. Using incremental mode makes sure the
+# archive will have a directory-first member ordering,
+# i.e.:
+# dir/
+# dir/subdir1/
+# dir/subdir2/
+# dir/subdir1/foofile
+#
+# When restoring from this directory structure, 'dir/subdir2/' used to
+# trigger apply_nonancestor_delayed_set_stat() which restored stats for
+# 'subdir1' prior to restoring 'dir/subdir1/foofile'. Then, restoring the
+# latter clobbered the directory timestamp.
+
+tar -cf archive -g db dir
+
+# Move away the directory
+mv dir orig
+
+# Wait enough time for timestamps to differ in case of failure.
+sleep 5
+
+# Restore the directory
+tar -xf archive dir
+
+# Check the timestamp
+genfile --stat=mtime dir/subdir1 | diff ts -
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "incr02.at:35"
+( $at_check_trace;
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H gnu"
+export TAR_OPTIONS
+rm -rf *
+
+# Create directory structure
+mkdir dir
+mkdir dir/subdir1
+mkdir dir/subdir2
+genfile --length 10 --file dir/subdir1/file
+
+# Save mtime for later comparison
+genfile --stat=mtime dir/subdir1 > ts
+
+# Create an archive. Using incremental mode makes sure the
+# archive will have a directory-first member ordering,
+# i.e.:
+# dir/
+# dir/subdir1/
+# dir/subdir2/
+# dir/subdir1/foofile
+#
+# When restoring from this directory structure, 'dir/subdir2/' used to
+# trigger apply_nonancestor_delayed_set_stat() which restored stats for
+# 'subdir1' prior to restoring 'dir/subdir1/foofile'. Then, restoring the
+# latter clobbered the directory timestamp.
+
+tar -cf archive -g db dir
+
+# Move away the directory
+mv dir orig
+
+# Wait enough time for timestamps to differ in case of failure.
+sleep 5
+
+# Restore the directory
+tar -xf archive dir
+
+# Check the timestamp
+genfile --stat=mtime dir/subdir1 | diff ts -
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/incr02.at:35"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/incr02.at:35:
+mkdir oldgnu
+(cd oldgnu
+TEST_TAR_FORMAT=oldgnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H oldgnu\"
+export TAR_OPTIONS
+rm -rf *
+
+# Create directory structure
+mkdir dir
+mkdir dir/subdir1
+mkdir dir/subdir2
+genfile --length 10 --file dir/subdir1/file
+
+# Save mtime for later comparison
+genfile --stat=mtime dir/subdir1 > ts
+
+# Create an archive. Using incremental mode makes sure the
+# archive will have a directory-first member ordering,
+# i.e.:
+# dir/
+# dir/subdir1/
+# dir/subdir2/
+# dir/subdir1/foofile
+#
+# When restoring from this directory structure, 'dir/subdir2/' used to
+# trigger apply_nonancestor_delayed_set_stat() which restored stats for
+# 'subdir1' prior to restoring 'dir/subdir1/foofile'. Then, restoring the
+# latter clobbered the directory timestamp.
+
+tar -cf archive -g db dir
+
+# Move away the directory
+mv dir orig
+
+# Wait enough time for timestamps to differ in case of failure.
+sleep 5
+
+# Restore the directory
+tar -xf archive dir
+
+# Check the timestamp
+genfile --stat=mtime dir/subdir1 | diff ts -
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "incr02.at:35"
+( $at_check_trace;
+mkdir oldgnu
+(cd oldgnu
+TEST_TAR_FORMAT=oldgnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H oldgnu"
+export TAR_OPTIONS
+rm -rf *
+
+# Create directory structure
+mkdir dir
+mkdir dir/subdir1
+mkdir dir/subdir2
+genfile --length 10 --file dir/subdir1/file
+
+# Save mtime for later comparison
+genfile --stat=mtime dir/subdir1 > ts
+
+# Create an archive. Using incremental mode makes sure the
+# archive will have a directory-first member ordering,
+# i.e.:
+# dir/
+# dir/subdir1/
+# dir/subdir2/
+# dir/subdir1/foofile
+#
+# When restoring from this directory structure, 'dir/subdir2/' used to
+# trigger apply_nonancestor_delayed_set_stat() which restored stats for
+# 'subdir1' prior to restoring 'dir/subdir1/foofile'. Then, restoring the
+# latter clobbered the directory timestamp.
+
+tar -cf archive -g db dir
+
+# Move away the directory
+mv dir orig
+
+# Wait enough time for timestamps to differ in case of failure.
+sleep 5
+
+# Restore the directory
+tar -xf archive dir
+
+# Check the timestamp
+genfile --stat=mtime dir/subdir1 | diff ts -
+)
+) >>"$at_stdout" 2>>"$at_stderr" 5>&-
+at_status=$? at_failed=false
+$at_check_filter
+at_fn_diff_devnull "$at_stderr" || at_failed=:
+at_fn_diff_devnull "$at_stdout" || at_failed=:
+at_fn_check_status 0 $at_status "$at_srcdir/incr02.at:35"
+$at_failed && at_fn_log_failure
+$at_traceon; }
+
+ { set +x
+$as_echo "$at_srcdir/incr02.at:35:
+mkdir posix
+(cd posix
+TEST_TAR_FORMAT=posix
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H posix\"
+export TAR_OPTIONS
+rm -rf *
+
+# Create directory structure
+mkdir dir
+mkdir dir/subdir1
+mkdir dir/subdir2
+genfile --length 10 --file dir/subdir1/file
+
+# Save mtime for later comparison
+genfile --stat=mtime dir/subdir1 > ts
+
+# Create an archive. Using incremental mode makes sure the
+# archive will have a directory-first member ordering,
+# i.e.:
+# dir/
+# dir/subdir1/
+# dir/subdir2/
+# dir/subdir1/foofile
+#
+# When restoring from this directory structure, 'dir/subdir2/' used to
+# trigger apply_nonancestor_delayed_set_stat() which restored stats for
+# 'subdir1' prior to restoring 'dir/subdir1/foofile'. Then, restoring the
+# latter clobbered the directory timestamp.
+
+tar -cf archive -g db dir
+
+# Move away the directory
+mv dir orig
+
+# Wait enough time for timestamps to differ in case of failure.
+sleep 5
+
+# Restore the directory
+tar -xf archive dir
+
+# Check the timestamp
+genfile --stat=mtime dir/subdir1 | diff ts -
+)"
+at_fn_check_prepare_notrace 'an embedded newline' "incr02.at:35"
+( $at_check_trace;
+mkdir posix
+(cd posix
+TEST_TAR_FORMAT=posix
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H posix"
+export TAR_OPTIONS
+rm -rf *
+
+# Create directory structure
+mkdir dir
+mkdir dir/subdir1
+mkdir dir/subdir2
+genfile --length 10 --file dir/subdir1/file
+
+# Save mtime for later comparison
+genfile --stat=mtime dir/subdir1 > ts
+
+# Create an archive. Using incremental mode makes sure the
+# archive will have a directory-first member ordering,
+# i.e.:
+# dir/
+# dir/subdir1/