Imported Upstream version 1.25
[debian/tar] / tests / testsuite
index c2242601658387ef7e666de2a1d5c9af64c54037..d6c964784082e69073e78feb3b2f1ed6836d8a0c 100755 (executable)
@@ -621,7 +621,7 @@ at_change_dir=false
 # List of the tested programs.
 at_tested='tar'
 # List of the all the test groups.
-at_groups_all=' 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115'
+at_groups_all=' 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118'
 # As many question marks as there are digits in the last test group number.
 # Used to normalize the test group numbers so that `ls' lists them in
 # numerical order.
@@ -638,110 +638,113 @@ at_help_all="1;version.at:19;tar version;;
 9;append.at:21;append;append append00;
 10;append01.at:29;appending files with long names;append append01;
 11;append02.at:54;append vs. create;append append02 append-gnu;
-12;xform-h.at:30;transforming hard links on create;transform xform xform-h;
-13;xform01.at:26;transformations and GNU volume labels;transform xform xform01 volume;
-14;exclude.at:23;exclude;exclude;
-15;exclude01.at:17;exclude wildcards;exclude exclude01;
-16;exclude02.at:17;exclude: anchoring;exclude exclude02;
-17;exclude03.at:17;exclude: wildcards match slash;exclude exclude03;
-18;exclude04.at:17;exclude: case insensitive;exclude exclude04;
-19;exclude05.at:19;exclude: lots of excludes;exclude exclude05;
-20;exclude06.at:24;exclude: long files in pax archives;exclude exclude06;
-21;delete01.at:23;deleting a member after a big one;delete delete01;
-22;delete02.at:23;deleting a member from stdin archive;delete delete02;
-23;delete03.at:21;deleting members with long names;delete delete03;
-24;delete04.at:23;deleting a large last member;delete delete04;
-25;delete05.at:27;deleting non-existing member;delete delete05;
-26;extrac01.at:23;extract over an existing directory;extract extract01;
-27;extrac02.at:23;extracting symlinks over an existing file;extract extract02 symlink;
-28;extrac03.at:23;extraction loops;extract extract03;
-29;extrac04.at:23;extract + fnmatch;extract extract04 fnmatch;
-30;extrac05.at:30;extracting selected members from pax;extract extract05;
-31;extrac06.at:33;mode of extracted directories;extract extract06 directory mode;
-32;extrac07.at:27;extracting symlinks to a read-only dir;extract extract07 read-only symlink;
-33;extrac08.at:33;restoring mode on existing directory;extract extrac08;
-34;extrac09.at:22;no need to save dir with unreadable . and ..;extract extrac09;
-35;extrac10.at:27;-C and delayed setting of metadata;extract extrac10;
-36;extrac11.at:23;scarce file descriptors;extract extrac11;
-37;extrac12.at:23;extract dot permissions;extract extrac12;
-38;extrac13.at:24;extract over symlinks;extract extrac13;
-39;extrac14.at:23;extract -C symlink;extract extrac14;
-40;extrac15.at:23;extract parent mkdir failure;extract extrac15;
-41;label01.at:19;single-volume label;label label01;
-42;label02.at:19;multi-volume label;label label02 multi-label multivolume multiv;
-43;label03.at:25;test-label option;label label03 test-label;
-44;label04.at:25;label with non-create option;label label04;
-45;label05.at:22;label with non-create option;label label05;
-46;backup01.at:33;extracting existing dir with --backup;extract backup backup01;
-47;gzip.at:23;gzip;gzip;
-48;incremental.at:23;incremental;incremental incr00;
-49;incr01.at:27;restore broken symlinks from incremental;incremental incr01;
-50;incr02.at:32;restoring timestamps from incremental;incremental timestamp restore incr02;
-51;listed01.at:26;--listed for individual files;listed incremental listed01;
-52;listed02.at:28;working --listed;listed incremental listed02;
-53;listed03.at:22;incremental dump when the parent directory is unreadable;listed incremental listed03;
-54;incr03.at:28;renamed files in incrementals;incremental incr03 rename;
-55;incr04.at:29;proper icontents initialization;incremental incr04 icontents;
-56;incr05.at:19;incremental dumps with -C;incremental incr05;
-57;incr06.at:19;incremental dumps of nested directories;incremental incr06;
-58;filerem01.at:34;file removed as we read it (ca. 22 seconds);create incremental filechange filerem filerem01;
-59;filerem02.at:24;toplevel file removed (ca. 24 seconds);create incremental filechange filerem filerem02;
-60;rename01.at:24;renamed dirs in incrementals;incremental rename rename01;
-61;rename02.at:24;move between hierarchies;incremental rename rename02;
-62;rename03.at:23;cyclic renames;incremental rename rename03 cyclic-rename;
-63;rename04.at:27;renamed directory containing subdirectories;incremental rename04 rename;
-64;rename05.at:24;renamed subdirectories;incremental rename05 rename;
-65;chtype.at:27;changed file types in incrementals;incremental chtype;
-66;ignfail.at:23;ignfail;ignfail;
-67;link01.at:33;link count gt 2;hardlinks link01;
-68;link02.at:32;preserve hard links with --remove-files;hardlinks link02;
-69;link03.at:24;working -l with --remove-files;hardlinks link03;
-70;link04.at:29;link count is 1 but multiple occurrences;hardlinks link04;
-71;longv7.at:24;long names in V7 archives;longname longv7;
-72;long01.at:28;long file names divisible by block size;longname long512;
-73;lustar01.at:21;ustar: unsplittable file name;longname ustar lustar01;
-74;lustar02.at:21;ustar: unsplittable path name;longname ustar lustar02;
-75;lustar03.at:21;ustar: splitting long names;longname ustar lustar03;
-76;multiv01.at:23;multivolume dumps from pipes;multivolume multiv multiv01;
-77;multiv02.at:28;skipping a straddling member;multivolume multiv multiv02;
-78;multiv03.at:30;MV archive & long filenames;multivolume multiv multiv03;
-79;multiv04.at:36;split directory members in a MV archive;multivolume multiv incremental multiv04;
-80;multiv05.at:26;Restoring after an out of sync volume;multivolume multiv multiv05 sync;
-81;multiv06.at:27;Multivolumes with L=record_size;multivolume multiv multiv06;
-82;multiv07.at:26;volumes split at an extended header;multivolume multiv multiv07 xsplit;
-83;multiv08.at:23;multivolume header creation;multivolume multiv multiv08;
-84;old.at:23;old archives;old;
-85;recurse.at:21;recurse;recurse;
-86;same-order01.at:26;working -C with --same-order;same-order same-order01;
-87;same-order02.at:25;multiple -C options;same-order same-order02;
-88;shortrec.at:25;short records;shortrec;
-89;sparse01.at:21;sparse files;sparse sparse01;
-90;sparse02.at:21;extracting sparse file over a pipe;sparse sparse02;
-91;sparse03.at:21;storing sparse files > 8G;sparse sparse03;
-92;sparsemv.at:21;sparse files in MV archives;sparse multiv sparsemv;
-93;spmvp00.at:21;sparse files in PAX MV archives, v.0.0;sparse multivolume multiv sparsemvp sparsemvp00;
-94;spmvp01.at:21;sparse files in PAX MV archives, v.0.1;sparse multiv sparsemvp sparsemvp01;
-95;spmvp10.at:21;sparse files in PAX MV archives, v.1.0;sparse multivolume multiv sparsemvp sparsemvp10;
-96;update.at:28;update unchanged directories;update update00;
-97;update01.at:29;update directories;update update01;
-98;update02.at:26;update changed files;update update02;
-99;volume.at:23;volume;volume volcheck;
-100;volsize.at:29;volume header size;volume volsize;
-101;comprec.at:21;compressed format recognition;comprec;
-102;shortfile.at:26;short input files;shortfile shortfile0;
-103;shortupd.at:29;updating short archives;shortfile shortfile1 shortupd;
-104;truncate.at:29;truncate;truncate filechange;
-105;grow.at:24;grow;grow filechange;
-106;remfiles01.at:28;remove-files with compression;create remove-files remfiles01 gzip;
-107;remfiles02.at:28;remove-files with compression: grand-child;create remove-files remfiles02 gzip;
-108;remfiles03.at:28;remove-files with symbolic links;create remove-files remfiles03;
-109;sigpipe.at:19;sigpipe handling;sigpipe;
-110;gtarfail.at:21;gtarfail;star gtarfail;
-111;gtarfail2.at:21;gtarfail2;star gtarfail2;
-112;multi-fail.at:21;multi-fail;star multivolume multiv multi-fail;
-113;ustar-big-2g.at:21;ustar-big-2g;star ustar-big-2g;
-114;ustar-big-8g.at:21;ustar-big-8g;star ustar-big-8g;
-115;pax-big-10g.at:21;pax-big-10g;star pax-big-10g;
+12;append03.at:19;append with name transformation;append append03;
+13;xform-h.at:30;transforming hard links on create;transform xform xform-h;
+14;xform01.at:26;transformations and GNU volume labels;transform xform xform01 volume;
+15;exclude.at:23;exclude;exclude;
+16;exclude01.at:17;exclude wildcards;exclude exclude01;
+17;exclude02.at:17;exclude: anchoring;exclude exclude02;
+18;exclude03.at:17;exclude: wildcards match slash;exclude exclude03;
+19;exclude04.at:17;exclude: case insensitive;exclude exclude04;
+20;exclude05.at:19;exclude: lots of excludes;exclude exclude05;
+21;exclude06.at:24;exclude: long files in pax archives;exclude exclude06;
+22;delete01.at:23;deleting a member after a big one;delete delete01;
+23;delete02.at:23;deleting a member from stdin archive;delete delete02;
+24;delete03.at:21;deleting members with long names;delete delete03;
+25;delete04.at:23;deleting a large last member;delete delete04;
+26;delete05.at:27;deleting non-existing member;delete delete05;
+27;extrac01.at:23;extract over an existing directory;extract extract01;
+28;extrac02.at:23;extracting symlinks over an existing file;extract extract02 symlink;
+29;extrac03.at:23;extraction loops;extract extract03;
+30;extrac04.at:23;extract + fnmatch;extract extract04 fnmatch;
+31;extrac05.at:30;extracting selected members from pax;extract extract05;
+32;extrac06.at:33;mode of extracted directories;extract extract06 directory mode;
+33;extrac07.at:27;extracting symlinks to a read-only dir;extract extract07 read-only symlink;
+34;extrac08.at:33;restoring mode on existing directory;extract extrac08;
+35;extrac09.at:22;no need to save dir with unreadable . and ..;extract extrac09;
+36;extrac10.at:27;-C and delayed setting of metadata;extract extrac10;
+37;extrac11.at:23;scarce file descriptors;extract extrac11;
+38;extrac12.at:23;extract dot permissions;extract extrac12;
+39;extrac13.at:24;extract over symlinks;extract extrac13;
+40;extrac14.at:23;extract -C symlink;extract extrac14;
+41;extrac15.at:23;extract parent mkdir failure;extract extrac15;
+42;extrac16.at:24;extract empty directory with -C;extract extrac16;
+43;extrac17.at:19;name matching/transformation ordering;extract extrac17;
+44;label01.at:19;single-volume label;label label01;
+45;label02.at:19;multi-volume label;label label02 multi-label multivolume multiv;
+46;label03.at:25;test-label option;label label03 test-label;
+47;label04.at:25;label with non-create option;label label04;
+48;label05.at:22;label with non-create option;label label05;
+49;backup01.at:33;extracting existing dir with --backup;extract backup backup01;
+50;gzip.at:23;gzip;gzip;
+51;incremental.at:23;incremental;incremental incr00;
+52;incr01.at:27;restore broken symlinks from incremental;incremental incr01;
+53;incr02.at:32;restoring timestamps from incremental;incremental timestamp restore incr02;
+54;listed01.at:26;--listed for individual files;listed incremental listed01;
+55;listed02.at:28;working --listed;listed incremental listed02;
+56;listed03.at:22;incremental dump when the parent directory is unreadable;listed incremental listed03;
+57;incr03.at:28;renamed files in incrementals;incremental incr03 rename;
+58;incr04.at:29;proper icontents initialization;incremental incr04 icontents;
+59;incr05.at:19;incremental dumps with -C;incremental incr05;
+60;incr06.at:19;incremental dumps of nested directories;incremental incr06;
+61;filerem01.at:34;file removed as we read it (ca. 22 seconds);create incremental filechange filerem filerem01;
+62;filerem02.at:24;toplevel file removed (ca. 24 seconds);create incremental filechange filerem filerem02;
+63;rename01.at:24;renamed dirs in incrementals;incremental rename rename01;
+64;rename02.at:24;move between hierarchies;incremental rename rename02;
+65;rename03.at:23;cyclic renames;incremental rename rename03 cyclic-rename;
+66;rename04.at:27;renamed directory containing subdirectories;incremental rename04 rename;
+67;rename05.at:24;renamed subdirectories;incremental rename05 rename;
+68;chtype.at:27;changed file types in incrementals;incremental chtype;
+69;ignfail.at:23;ignfail;ignfail;
+70;link01.at:33;link count gt 2;hardlinks link01;
+71;link02.at:32;preserve hard links with --remove-files;hardlinks link02;
+72;link03.at:24;working -l with --remove-files;hardlinks link03;
+73;link04.at:29;link count is 1 but multiple occurrences;hardlinks link04;
+74;longv7.at:24;long names in V7 archives;longname longv7;
+75;long01.at:28;long file names divisible by block size;longname long512;
+76;lustar01.at:21;ustar: unsplittable file name;longname ustar lustar01;
+77;lustar02.at:21;ustar: unsplittable path name;longname ustar lustar02;
+78;lustar03.at:21;ustar: splitting long names;longname ustar lustar03;
+79;multiv01.at:23;multivolume dumps from pipes;multivolume multiv multiv01;
+80;multiv02.at:28;skipping a straddling member;multivolume multiv multiv02;
+81;multiv03.at:30;MV archive & long filenames;multivolume multiv multiv03;
+82;multiv04.at:36;split directory members in a MV archive;multivolume multiv incremental multiv04;
+83;multiv05.at:26;Restoring after an out of sync volume;multivolume multiv multiv05 sync;
+84;multiv06.at:27;Multivolumes with L=record_size;multivolume multiv multiv06;
+85;multiv07.at:26;volumes split at an extended header;multivolume multiv multiv07 xsplit;
+86;multiv08.at:23;multivolume header creation;multivolume multiv multiv08;
+87;old.at:23;old archives;old;
+88;recurse.at:21;recurse;recurse;
+89;same-order01.at:26;working -C with --same-order;same-order same-order01;
+90;same-order02.at:25;multiple -C options;same-order same-order02;
+91;shortrec.at:25;short records;shortrec;
+92;sparse01.at:21;sparse files;sparse sparse01;
+93;sparse02.at:21;extracting sparse file over a pipe;sparse sparse02;
+94;sparse03.at:21;storing sparse files > 8G;sparse sparse03;
+95;sparsemv.at:21;sparse files in MV archives;sparse multiv sparsemv;
+96;spmvp00.at:21;sparse files in PAX MV archives, v.0.0;sparse multivolume multiv sparsemvp sparsemvp00;
+97;spmvp01.at:21;sparse files in PAX MV archives, v.0.1;sparse multiv sparsemvp sparsemvp01;
+98;spmvp10.at:21;sparse files in PAX MV archives, v.1.0;sparse multivolume multiv sparsemvp sparsemvp10;
+99;update.at:28;update unchanged directories;update update00;
+100;update01.at:29;update directories;update update01;
+101;update02.at:26;update changed files;update update02;
+102;volume.at:23;volume;volume volcheck;
+103;volsize.at:29;volume header size;volume volsize;
+104;comprec.at:21;compressed format recognition;comprec;
+105;shortfile.at:26;short input files;shortfile shortfile0;
+106;shortupd.at:29;updating short archives;shortfile shortfile1 shortupd;
+107;truncate.at:29;truncate;truncate filechange;
+108;grow.at:24;grow;grow filechange;
+109;remfiles01.at:28;remove-files with compression;create remove-files remfiles01 gzip;
+110;remfiles02.at:28;remove-files with compression: grand-child;create remove-files remfiles02 gzip;
+111;remfiles03.at:28;remove-files with symbolic links;create remove-files remfiles03;
+112;sigpipe.at:19;sigpipe handling;sigpipe;
+113;gtarfail.at:21;gtarfail;star gtarfail;
+114;gtarfail2.at:21;gtarfail2;star gtarfail2;
+115;multi-fail.at:21;multi-fail;star multivolume multiv multi-fail;
+116;ustar-big-2g.at:21;ustar-big-2g;star ustar-big-2g;
+117;ustar-big-8g.at:21;ustar-big-8g;star ustar-big-8g;
+118;pax-big-10g.at:21;pax-big-10g;star pax-big-10g;
 "
 
 # at_func_validate_ranges [NAME...]
@@ -753,7 +756,7 @@ at_func_validate_ranges ()
   for at_grp
   do
     eval at_value=\$$at_grp
-    if test $at_value -lt 1 || test $at_value -gt 115; then
+    if test $at_value -lt 1 || test $at_value -gt 118; then
       $as_echo "invalid test group: $at_value" >&2
       exit 1
     fi
@@ -990,7 +993,7 @@ fi
 # List of tests.
 if $at_list_p; then
   cat <<_ATEOF || at_write_fail=1
-GNU tar 1.24 test suite test groups:
+GNU tar 1.25 test suite test groups:
 
  NUM: FILE-NAME:LINE     TEST-GROUP-NAME
       KEYWORDS
@@ -1019,7 +1022,7 @@ _ATEOF
   exit $at_write_fail
 fi
 if $at_version_p; then
-  $as_echo "$as_me (GNU tar 1.24)" &&
+  $as_echo "$as_me (GNU tar 1.25)" &&
   cat <<\_ACEOF || at_write_fail=1
 
 Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
@@ -1202,13 +1205,13 @@ exec 5>>"$at_suite_log"
 # Banners and logs.
 cat <<\_ASBOX
 ## ------------------------ ##
-## GNU tar 1.24 test suite. ##
+## GNU tar 1.25 test suite. ##
 ## ------------------------ ##
 _ASBOX
 {
   cat <<\_ASBOX
 ## ------------------------ ##
-## GNU tar 1.24 test suite. ##
+## GNU tar 1.25 test suite. ##
 ## ------------------------ ##
 _ASBOX
   echo
@@ -1940,7 +1943,7 @@ _ASBOX
   $as_echo "Please send \`${at_testdir+${at_testdir}/}$as_me.log' and all information you think might help:
 
    To: <bug-tar@gnu.org>
-   Subject: [GNU tar 1.24] $as_me: $at_fail_list${at_fail_list:+ failed${at_xpass_list:+, }}$at_xpass_list${at_xpass_list:+ passed unexpectedly}
+   Subject: [GNU tar 1.25] $as_me: $at_fail_list${at_fail_list:+ failed${at_xpass_list:+, }}$at_xpass_list${at_xpass_list:+ passed unexpectedly}
 "
   if test $at_debug_p = false; then
     echo
@@ -1982,7 +1985,7 @@ fi
 at_status=$?
 at_failed=false
 at_func_diff_devnull "$at_stderr" || at_failed=:
-echo >>"$at_stdout"; $as_echo "tar (GNU tar) 1.24
+echo >>"$at_stdout"; $as_echo "tar (GNU tar) 1.25
 " | \
   $at_diff - "$at_stdout" || at_failed=:
 at_func_check_status 0 $at_status "$at_srcdir/version.at:21"
@@ -4830,15 +4833,431 @@ $at_traceon; }
 at_status=`cat "$at_status_file"`
 #AT_STOP_11
 #AT_START_12
-# 12. xform-h.at:30: transforming hard links on create
+# 12. append03.at:19: append with name transformation
+at_setup_line='append03.at:19'
+at_desc="append with name transformation"
+$at_quiet $as_echo_n " 12: $at_desc                "
+at_xfail=no
+      test -f $XFAILFILE && at_xfail=yes
+echo "#                             -*- compilation -*-" >> "$at_group_log"
+(
+  $as_echo "12. append03.at:19: testing ..."
+  $at_traceon
+
+
+
+# Description: Make sure filenames are transformed during append.
+
+
+
+  { $at_traceoff
+$as_echo "$at_srcdir/append03.at:24:
+mkdir v7
+(cd v7
+TEST_TAR_FORMAT=v7
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H v7\"
+export TAR_OPTIONS
+rm -rf *
+
+genfile --file file.1
+genfile --file file.2
+
+tar -c -f archive --transform 's/file/plik/' file.*
+echo Appending
+tar -r -f archive --transform 's/file/plik/' -v --show-transformed-names file.1
+echo Testing
+tar tf archive
+)"
+echo append03.at:24 >"$at_check_line_file"
+
+if { echo 'Not enabling shell tracing (command contains an embedded newline)'
+   false; }; then
+  ( $at_traceon;
+mkdir v7
+(cd v7
+TEST_TAR_FORMAT=v7
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H v7"
+export TAR_OPTIONS
+rm -rf *
+
+genfile --file file.1
+genfile --file file.2
+
+tar -c -f archive --transform 's/file/plik/' file.*
+echo Appending
+tar -r -f archive --transform 's/file/plik/' -v --show-transformed-names file.1
+echo Testing
+tar tf archive
+) ) >"$at_stdout" 2>"$at_stder1"
+  at_func_filter_trace $?
+else
+  ( :;
+mkdir v7
+(cd v7
+TEST_TAR_FORMAT=v7
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H v7"
+export TAR_OPTIONS
+rm -rf *
+
+genfile --file file.1
+genfile --file file.2
+
+tar -c -f archive --transform 's/file/plik/' file.*
+echo Appending
+tar -r -f archive --transform 's/file/plik/' -v --show-transformed-names file.1
+echo Testing
+tar tf archive
+) ) >"$at_stdout" 2>"$at_stderr"
+fi
+at_status=$?
+at_failed=false
+at_func_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "Appending
+plik.1
+Testing
+plik.1
+plik.2
+plik.1
+" | \
+  $at_diff - "$at_stdout" || at_failed=:
+at_func_check_status 0 $at_status "$at_srcdir/append03.at:24"
+
+$at_failed && at_func_log_failure
+$at_traceon; }
+
+              { $at_traceoff
+$as_echo "$at_srcdir/append03.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 file.1
+genfile --file file.2
+
+tar -c -f archive --transform 's/file/plik/' file.*
+echo Appending
+tar -r -f archive --transform 's/file/plik/' -v --show-transformed-names file.1
+echo Testing
+tar tf archive
+)"
+echo append03.at:24 >"$at_check_line_file"
+
+if { echo 'Not enabling shell tracing (command contains an embedded newline)'
+   false; }; then
+  ( $at_traceon;
+mkdir oldgnu
+(cd oldgnu
+TEST_TAR_FORMAT=oldgnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H oldgnu"
+export TAR_OPTIONS
+rm -rf *
+
+genfile --file file.1
+genfile --file file.2
+
+tar -c -f archive --transform 's/file/plik/' file.*
+echo Appending
+tar -r -f archive --transform 's/file/plik/' -v --show-transformed-names file.1
+echo Testing
+tar tf archive
+) ) >"$at_stdout" 2>"$at_stder1"
+  at_func_filter_trace $?
+else
+  ( :;
+mkdir oldgnu
+(cd oldgnu
+TEST_TAR_FORMAT=oldgnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H oldgnu"
+export TAR_OPTIONS
+rm -rf *
+
+genfile --file file.1
+genfile --file file.2
+
+tar -c -f archive --transform 's/file/plik/' file.*
+echo Appending
+tar -r -f archive --transform 's/file/plik/' -v --show-transformed-names file.1
+echo Testing
+tar tf archive
+) ) >"$at_stdout" 2>"$at_stderr"
+fi
+at_status=$?
+at_failed=false
+at_func_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "Appending
+plik.1
+Testing
+plik.1
+plik.2
+plik.1
+" | \
+  $at_diff - "$at_stdout" || at_failed=:
+at_func_check_status 0 $at_status "$at_srcdir/append03.at:24"
+
+$at_failed && at_func_log_failure
+$at_traceon; }
+
+              { $at_traceoff
+$as_echo "$at_srcdir/append03.at:24:
+mkdir ustar
+(cd ustar
+TEST_TAR_FORMAT=ustar
+export TEST_TAR_FORMAT
+TAR_OPTIONS=\"-H ustar\"
+export TAR_OPTIONS
+rm -rf *
+
+genfile --file file.1
+genfile --file file.2
+
+tar -c -f archive --transform 's/file/plik/' file.*
+echo Appending
+tar -r -f archive --transform 's/file/plik/' -v --show-transformed-names file.1
+echo Testing
+tar tf archive
+)"
+echo append03.at:24 >"$at_check_line_file"
+
+if { echo 'Not enabling shell tracing (command contains an embedded newline)'
+   false; }; then
+  ( $at_traceon;
+mkdir ustar
+(cd ustar
+TEST_TAR_FORMAT=ustar
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H ustar"
+export TAR_OPTIONS
+rm -rf *
+
+genfile --file file.1
+genfile --file file.2
+
+tar -c -f archive --transform 's/file/plik/' file.*
+echo Appending
+tar -r -f archive --transform 's/file/plik/' -v --show-transformed-names file.1
+echo Testing
+tar tf archive
+) ) >"$at_stdout" 2>"$at_stder1"
+  at_func_filter_trace $?
+else
+  ( :;
+mkdir ustar
+(cd ustar
+TEST_TAR_FORMAT=ustar
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H ustar"
+export TAR_OPTIONS
+rm -rf *
+
+genfile --file file.1
+genfile --file file.2
+
+tar -c -f archive --transform 's/file/plik/' file.*
+echo Appending
+tar -r -f archive --transform 's/file/plik/' -v --show-transformed-names file.1
+echo Testing
+tar tf archive
+) ) >"$at_stdout" 2>"$at_stderr"
+fi
+at_status=$?
+at_failed=false
+at_func_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "Appending
+plik.1
+Testing
+plik.1
+plik.2
+plik.1
+" | \
+  $at_diff - "$at_stdout" || at_failed=:
+at_func_check_status 0 $at_status "$at_srcdir/append03.at:24"
+
+$at_failed && at_func_log_failure
+$at_traceon; }
+
+              { $at_traceoff
+$as_echo "$at_srcdir/append03.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 file.1
+genfile --file file.2
+
+tar -c -f archive --transform 's/file/plik/' file.*
+echo Appending
+tar -r -f archive --transform 's/file/plik/' -v --show-transformed-names file.1
+echo Testing
+tar tf archive
+)"
+echo append03.at:24 >"$at_check_line_file"
+
+if { echo 'Not enabling shell tracing (command contains an embedded newline)'
+   false; }; then
+  ( $at_traceon;
+mkdir posix
+(cd posix
+TEST_TAR_FORMAT=posix
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H posix"
+export TAR_OPTIONS
+rm -rf *
+
+genfile --file file.1
+genfile --file file.2
+
+tar -c -f archive --transform 's/file/plik/' file.*
+echo Appending
+tar -r -f archive --transform 's/file/plik/' -v --show-transformed-names file.1
+echo Testing
+tar tf archive
+) ) >"$at_stdout" 2>"$at_stder1"
+  at_func_filter_trace $?
+else
+  ( :;
+mkdir posix
+(cd posix
+TEST_TAR_FORMAT=posix
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H posix"
+export TAR_OPTIONS
+rm -rf *
+
+genfile --file file.1
+genfile --file file.2
+
+tar -c -f archive --transform 's/file/plik/' file.*
+echo Appending
+tar -r -f archive --transform 's/file/plik/' -v --show-transformed-names file.1
+echo Testing
+tar tf archive
+) ) >"$at_stdout" 2>"$at_stderr"
+fi
+at_status=$?
+at_failed=false
+at_func_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "Appending
+plik.1
+Testing
+plik.1
+plik.2
+plik.1
+" | \
+  $at_diff - "$at_stdout" || at_failed=:
+at_func_check_status 0 $at_status "$at_srcdir/append03.at:24"
+
+$at_failed && at_func_log_failure
+$at_traceon; }
+
+              { $at_traceoff
+$as_echo "$at_srcdir/append03.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 file.1
+genfile --file file.2
+
+tar -c -f archive --transform 's/file/plik/' file.*
+echo Appending
+tar -r -f archive --transform 's/file/plik/' -v --show-transformed-names file.1
+echo Testing
+tar tf archive
+)"
+echo append03.at:24 >"$at_check_line_file"
+
+if { echo 'Not enabling shell tracing (command contains an embedded newline)'
+   false; }; then
+  ( $at_traceon;
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H gnu"
+export TAR_OPTIONS
+rm -rf *
+
+genfile --file file.1
+genfile --file file.2
+
+tar -c -f archive --transform 's/file/plik/' file.*
+echo Appending
+tar -r -f archive --transform 's/file/plik/' -v --show-transformed-names file.1
+echo Testing
+tar tf archive
+) ) >"$at_stdout" 2>"$at_stder1"
+  at_func_filter_trace $?
+else
+  ( :;
+mkdir gnu
+(cd gnu
+TEST_TAR_FORMAT=gnu
+export TEST_TAR_FORMAT
+TAR_OPTIONS="-H gnu"
+export TAR_OPTIONS
+rm -rf *
+
+genfile --file file.1
+genfile --file file.2
+
+tar -c -f archive --transform 's/file/plik/' file.*
+echo Appending
+tar -r -f archive --transform 's/file/plik/' -v --show-transformed-names file.1
+echo Testing
+tar tf archive
+) ) >"$at_stdout" 2>"$at_stderr"
+fi
+at_status=$?
+at_failed=false
+at_func_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "Appending
+plik.1
+Testing
+plik.1
+plik.2
+plik.1
+" | \
+  $at_diff - "$at_stdout" || at_failed=:
+at_func_check_status 0 $at_status "$at_srcdir/append03.at:24"
+
+$at_failed && at_func_log_failure
+$at_traceon; }
+
+
+
+
+  $at_traceoff
+  $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 | eval $at_tee_pipe
+at_status=`cat "$at_status_file"`
+#AT_STOP_12
+#AT_START_13
+# 13. xform-h.at:30: transforming hard links on create
 at_setup_line='xform-h.at:30'
 at_desc="transforming hard links on create"
-$at_quiet $as_echo_n " 12: $at_desc              "
+$at_quiet $as_echo_n " 13: $at_desc              "
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "12. xform-h.at:30: testing ..."
+  $as_echo "13. xform-h.at:30: testing ..."
   $at_traceon
 
 
@@ -5411,17 +5830,17 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_12
-#AT_START_13
-# 13. xform01.at:26: transformations and GNU volume labels
+#AT_STOP_13
+#AT_START_14
+# 14. xform01.at:26: transformations and GNU volume labels
 at_setup_line='xform01.at:26'
 at_desc="transformations and GNU volume labels"
-$at_quiet $as_echo_n " 13: $at_desc          "
+$at_quiet $as_echo_n " 14: $at_desc          "
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "13. xform01.at:26: testing ..."
+  $as_echo "14. xform01.at:26: testing ..."
   $at_traceon
 
 
@@ -5494,17 +5913,17 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_13
-#AT_START_14
-# 14. exclude.at:23: exclude
+#AT_STOP_14
+#AT_START_15
+# 15. exclude.at:23: exclude
 at_setup_line='exclude.at:23'
 at_desc="exclude"
-$at_quiet $as_echo_n " 14: $at_desc                                        "
+$at_quiet $as_echo_n " 15: $at_desc                                        "
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "14. exclude.at:23: testing ..."
+  $as_echo "15. exclude.at:23: testing ..."
   $at_traceon
 
 
@@ -5761,17 +6180,17 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_14
-#AT_START_15
-# 15. exclude01.at:17: exclude wildcards
+#AT_STOP_15
+#AT_START_16
+# 16. exclude01.at:17: exclude wildcards
 at_setup_line='exclude01.at:17'
 at_desc="exclude wildcards"
-$at_quiet $as_echo_n " 15: $at_desc                              "
+$at_quiet $as_echo_n " 16: $at_desc                              "
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "15. exclude01.at:17: testing ..."
+  $as_echo "16. exclude01.at:17: testing ..."
   $at_traceon
 
 
@@ -6595,17 +7014,17 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_15
-#AT_START_16
-# 16. exclude02.at:17: exclude: anchoring
+#AT_STOP_16
+#AT_START_17
+# 17. exclude02.at:17: exclude: anchoring
 at_setup_line='exclude02.at:17'
 at_desc="exclude: anchoring"
-$at_quiet $as_echo_n " 16: $at_desc                             "
+$at_quiet $as_echo_n " 17: $at_desc                             "
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "16. exclude02.at:17: testing ..."
+  $as_echo "17. exclude02.at:17: testing ..."
   $at_traceon
 
 
@@ -7509,17 +7928,17 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_16
-#AT_START_17
-# 17. exclude03.at:17: exclude: wildcards match slash
+#AT_STOP_17
+#AT_START_18
+# 18. exclude03.at:17: exclude: wildcards match slash
 at_setup_line='exclude03.at:17'
 at_desc="exclude: wildcards match slash"
-$at_quiet $as_echo_n " 17: $at_desc                 "
+$at_quiet $as_echo_n " 18: $at_desc                 "
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "17. exclude03.at:17: testing ..."
+  $as_echo "18. exclude03.at:17: testing ..."
   $at_traceon
 
 
@@ -8363,17 +8782,17 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_17
-#AT_START_18
-# 18. exclude04.at:17: exclude: case insensitive
+#AT_STOP_18
+#AT_START_19
+# 19. exclude04.at:17: exclude: case insensitive
 at_setup_line='exclude04.at:17'
 at_desc="exclude: case insensitive"
-$at_quiet $as_echo_n " 18: $at_desc                      "
+$at_quiet $as_echo_n " 19: $at_desc                      "
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "18. exclude04.at:17: testing ..."
+  $as_echo "19. exclude04.at:17: testing ..."
   $at_traceon
 
 
@@ -9247,17 +9666,17 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_18
-#AT_START_19
-# 19. exclude05.at:19: exclude: lots of excludes
+#AT_STOP_19
+#AT_START_20
+# 20. exclude05.at:19: exclude: lots of excludes
 at_setup_line='exclude05.at:19'
 at_desc="exclude: lots of excludes"
-$at_quiet $as_echo_n " 19: $at_desc                      "
+$at_quiet $as_echo_n " 20: $at_desc                      "
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "19. exclude05.at:19: testing ..."
+  $as_echo "20. exclude05.at:19: testing ..."
   $at_traceon
 
 
@@ -9931,17 +10350,17 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_19
-#AT_START_20
-# 20. exclude06.at:24: exclude: long files in pax archives
+#AT_STOP_20
+#AT_START_21
+# 21. exclude06.at:24: exclude: long files in pax archives
 at_setup_line='exclude06.at:24'
 at_desc="exclude: long files in pax archives"
-$at_quiet $as_echo_n " 20: $at_desc            "
+$at_quiet $as_echo_n " 21: $at_desc            "
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "20. exclude06.at:24: testing ..."
+  $as_echo "21. exclude06.at:24: testing ..."
   $at_traceon
 
 
@@ -10033,17 +10452,17 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_20
-#AT_START_21
-# 21. delete01.at:23: deleting a member after a big one
+#AT_STOP_21
+#AT_START_22
+# 22. delete01.at:23: deleting a member after a big one
 at_setup_line='delete01.at:23'
 at_desc="deleting a member after a big one"
-$at_quiet $as_echo_n " 21: $at_desc              "
+$at_quiet $as_echo_n " 22: $at_desc              "
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "21. delete01.at:23: testing ..."
+  $as_echo "22. delete01.at:23: testing ..."
   $at_traceon
 
 
@@ -10362,17 +10781,17 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_21
-#AT_START_22
-# 22. delete02.at:23: deleting a member from stdin archive
+#AT_STOP_22
+#AT_START_23
+# 23. delete02.at:23: deleting a member from stdin archive
 at_setup_line='delete02.at:23'
 at_desc="deleting a member from stdin archive"
-$at_quiet $as_echo_n " 22: $at_desc           "
+$at_quiet $as_echo_n " 23: $at_desc           "
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "22. delete02.at:23: testing ..."
+  $as_echo "23. delete02.at:23: testing ..."
   $at_traceon
 
 
@@ -10761,17 +11180,17 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_22
-#AT_START_23
-# 23. delete03.at:21: deleting members with long names
+#AT_STOP_23
+#AT_START_24
+# 24. delete03.at:21: deleting members with long names
 at_setup_line='delete03.at:21'
 at_desc="deleting members with long names"
-$at_quiet $as_echo_n " 23: $at_desc               "
+$at_quiet $as_echo_n " 24: $at_desc               "
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "23. delete03.at:21: testing ..."
+  $as_echo "24. delete03.at:21: testing ..."
   $at_traceon
 
 
@@ -11036,17 +11455,17 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_23
-#AT_START_24
-# 24. delete04.at:23: deleting a large last member
+#AT_STOP_24
+#AT_START_25
+# 25. delete04.at:23: deleting a large last member
 at_setup_line='delete04.at:23'
 at_desc="deleting a large last member"
-$at_quiet $as_echo_n " 24: $at_desc                   "
+$at_quiet $as_echo_n " 25: $at_desc                   "
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "24. delete04.at:23: testing ..."
+  $as_echo "25. delete04.at:23: testing ..."
   $at_traceon
 
 
@@ -11540,17 +11959,17 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_24
-#AT_START_25
-# 25. delete05.at:27: deleting non-existing member
+#AT_STOP_25
+#AT_START_26
+# 26. delete05.at:27: deleting non-existing member
 at_setup_line='delete05.at:27'
 at_desc="deleting non-existing member"
-$at_quiet $as_echo_n " 25: $at_desc                   "
+$at_quiet $as_echo_n " 26: $at_desc                   "
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "25. delete05.at:27: testing ..."
+  $as_echo "26. delete05.at:27: testing ..."
   $at_traceon
 
 
@@ -11949,17 +12368,17 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_25
-#AT_START_26
-# 26. extrac01.at:23: extract over an existing directory
+#AT_STOP_26
+#AT_START_27
+# 27. extrac01.at:23: extract over an existing directory
 at_setup_line='extrac01.at:23'
 at_desc="extract over an existing directory"
-$at_quiet $as_echo_n " 26: $at_desc             "
+$at_quiet $as_echo_n " 27: $at_desc             "
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "26. extrac01.at:23: testing ..."
+  $as_echo "27. extrac01.at:23: testing ..."
   $at_traceon
 
 
@@ -12268,17 +12687,17 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_26
-#AT_START_27
-# 27. extrac02.at:23: extracting symlinks over an existing file
+#AT_STOP_27
+#AT_START_28
+# 28. extrac02.at:23: extracting symlinks over an existing file
 at_setup_line='extrac02.at:23'
 at_desc="extracting symlinks over an existing file"
-$at_quiet $as_echo_n " 27: $at_desc      "
+$at_quiet $as_echo_n " 28: $at_desc      "
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "27. extrac02.at:23: testing ..."
+  $as_echo "28. extrac02.at:23: testing ..."
   $at_traceon
 
 
@@ -12619,17 +13038,17 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_27
-#AT_START_28
-# 28. extrac03.at:23: extraction loops
+#AT_STOP_28
+#AT_START_29
+# 29. extrac03.at:23: extraction loops
 at_setup_line='extrac03.at:23'
 at_desc="extraction loops"
-$at_quiet $as_echo_n " 28: $at_desc                               "
+$at_quiet $as_echo_n " 29: $at_desc                               "
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "28. extrac03.at:23: testing ..."
+  $as_echo "29. extrac03.at:23: testing ..."
   $at_traceon
 
 
@@ -12943,17 +13362,17 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_28
-#AT_START_29
-# 29. extrac04.at:23: extract + fnmatch
+#AT_STOP_29
+#AT_START_30
+# 30. extrac04.at:23: extract + fnmatch
 at_setup_line='extrac04.at:23'
 at_desc="extract + fnmatch"
-$at_quiet $as_echo_n " 29: $at_desc                              "
+$at_quiet $as_echo_n " 30: $at_desc                              "
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "29. extrac04.at:23: testing ..."
+  $as_echo "30. extrac04.at:23: testing ..."
   $at_traceon
 
 
@@ -13447,17 +13866,17 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_29
-#AT_START_30
-# 30. extrac05.at:30: extracting selected members from pax
+#AT_STOP_30
+#AT_START_31
+# 31. extrac05.at:30: extracting selected members from pax
 at_setup_line='extrac05.at:30'
 at_desc="extracting selected members from pax"
-$at_quiet $as_echo_n " 30: $at_desc           "
+$at_quiet $as_echo_n " 31: $at_desc           "
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "30. extrac05.at:30: testing ..."
+  $as_echo "31. extrac05.at:30: testing ..."
   $at_traceon
 
 
@@ -13569,17 +13988,17 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_30
-#AT_START_31
-# 31. extrac06.at:33: mode of extracted directories
+#AT_STOP_31
+#AT_START_32
+# 32. extrac06.at:33: mode of extracted directories
 at_setup_line='extrac06.at:33'
 at_desc="mode of extracted directories"
-$at_quiet $as_echo_n " 31: $at_desc                  "
+$at_quiet $as_echo_n " 32: $at_desc                  "
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "31. extrac06.at:33: testing ..."
+  $as_echo "32. extrac06.at:33: testing ..."
   $at_traceon
 
 
@@ -14258,17 +14677,17 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_31
-#AT_START_32
-# 32. extrac07.at:27: extracting symlinks to a read-only dir
+#AT_STOP_32
+#AT_START_33
+# 33. extrac07.at:27: extracting symlinks to a read-only dir
 at_setup_line='extrac07.at:27'
 at_desc="extracting symlinks to a read-only dir"
-$at_quiet $as_echo_n " 32: $at_desc         "
+$at_quiet $as_echo_n " 33: $at_desc         "
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "32. extrac07.at:27: testing ..."
+  $as_echo "33. extrac07.at:27: testing ..."
   $at_traceon
 
 
@@ -14410,17 +14829,17 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_32
-#AT_START_33
-# 33. extrac08.at:33: restoring mode on existing directory
+#AT_STOP_33
+#AT_START_34
+# 34. extrac08.at:33: restoring mode on existing directory
 at_setup_line='extrac08.at:33'
 at_desc="restoring mode on existing directory"
-$at_quiet $as_echo_n " 33: $at_desc           "
+$at_quiet $as_echo_n " 34: $at_desc           "
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "33. extrac08.at:33: testing ..."
+  $as_echo "34. extrac08.at:33: testing ..."
   $at_traceon
 
 
@@ -14809,17 +15228,17 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_33
-#AT_START_34
-# 34. extrac09.at:22: no need to save dir with unreadable . and ..
+#AT_STOP_34
+#AT_START_35
+# 35. extrac09.at:22: no need to save dir with unreadable . and ..
 at_setup_line='extrac09.at:22'
 at_desc="no need to save dir with unreadable . and .."
-$at_quiet $as_echo_n " 34: $at_desc   "
+$at_quiet $as_echo_n " 35: $at_desc   "
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "34. extrac09.at:22: testing ..."
+  $as_echo "35. extrac09.at:22: testing ..."
   $at_traceon
 
 
@@ -14951,17 +15370,17 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_34
-#AT_START_35
-# 35. extrac10.at:27: -C and delayed setting of metadata
+#AT_STOP_35
+#AT_START_36
+# 36. extrac10.at:27: -C and delayed setting of metadata
 at_setup_line='extrac10.at:27'
 at_desc="-C and delayed setting of metadata"
-$at_quiet $as_echo_n " 35: $at_desc             "
+$at_quiet $as_echo_n " 36: $at_desc             "
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "35. extrac10.at:27: testing ..."
+  $as_echo "36. extrac10.at:27: testing ..."
   $at_traceon
 
 
@@ -15046,17 +15465,17 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_35
-#AT_START_36
-# 36. extrac11.at:23: scarce file descriptors
+#AT_STOP_36
+#AT_START_37
+# 37. extrac11.at:23: scarce file descriptors
 at_setup_line='extrac11.at:23'
 at_desc="scarce file descriptors"
-$at_quiet $as_echo_n " 36: $at_desc                        "
+$at_quiet $as_echo_n " 37: $at_desc                        "
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "36. extrac11.at:23: testing ..."
+  $as_echo "37. extrac11.at:23: testing ..."
   $at_traceon
 
 
@@ -15073,6 +15492,7 @@ TAR_OPTIONS=\"-H gnu\"
 export TAR_OPTIONS
 rm -rf *
 
+exec </dev/null
 dirs='a
       a/b
       a/b/c
@@ -15094,31 +15514,37 @@ for dir in \$dirs; do
   done
 done
 
-# Check that \"ulimit\" itself works.
-((ulimit -n 100 &&
-  tar -cf archive1.tar a 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&- &&
-  tar -xf archive1.tar -C dest1 a 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&-
- ) &&
- diff -r a dest1/a
+# 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.
-((ulimit -n 4 &&
-  tar -cf archive2.tar a 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&- &&
-  tar -xf archive2.tar -C dest2 a 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&-
- ) &&
- diff -r a dest2/a
+( (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.
-((ulimit -n 10 &&
-  tar -cf archive3.tar a 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&- &&
-  tar -xf archive3.tar -C dest3 a 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&-
- ) &&
- diff -r a dest3/a >/dev/null 2>&1
+( (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; }
 )"
 echo extrac11.at:26 >"$at_check_line_file"
@@ -15134,6 +15560,7 @@ TAR_OPTIONS="-H gnu"
 export TAR_OPTIONS
 rm -rf *
 
+exec </dev/null
 dirs='a
       a/b
       a/b/c
@@ -15155,31 +15582,37 @@ for dir in $dirs; do
   done
 done
 
-# Check that "ulimit" itself works.
-((ulimit -n 100 &&
-  tar -cf archive1.tar a 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&- &&
-  tar -xf archive1.tar -C dest1 a 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&-
- ) &&
- diff -r a dest1/a
+# 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.
-((ulimit -n 4 &&
-  tar -cf archive2.tar a 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&- &&
-  tar -xf archive2.tar -C dest2 a 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&-
- ) &&
- diff -r a dest2/a
+( (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.
-((ulimit -n 10 &&
-  tar -cf archive3.tar a 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&- &&
-  tar -xf archive3.tar -C dest3 a 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&-
- ) &&
- diff -r a dest3/a >/dev/null 2>&1
+( (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_stder1"
   at_func_filter_trace $?
@@ -15193,6 +15626,7 @@ TAR_OPTIONS="-H gnu"
 export TAR_OPTIONS
 rm -rf *
 
+exec </dev/null
 dirs='a
       a/b
       a/b/c
@@ -15214,31 +15648,37 @@ for dir in $dirs; do
   done
 done
 
-# Check that "ulimit" itself works.
-((ulimit -n 100 &&
-  tar -cf archive1.tar a 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&- &&
-  tar -xf archive1.tar -C dest1 a 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&-
- ) &&
- diff -r a dest1/a
+# 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.
-((ulimit -n 4 &&
-  tar -cf archive2.tar a 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&- &&
-  tar -xf archive2.tar -C dest2 a 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&-
- ) &&
- diff -r a dest2/a
+( (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.
-((ulimit -n 10 &&
-  tar -cf archive3.tar a 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&- &&
-  tar -xf archive3.tar -C dest3 a 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&-
- ) &&
- diff -r a dest3/a >/dev/null 2>&1
+( (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"
 fi
@@ -15258,17 +15698,17 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_36
-#AT_START_37
-# 37. extrac12.at:23: extract dot permissions
+#AT_STOP_37
+#AT_START_38
+# 38. extrac12.at:23: extract dot permissions
 at_setup_line='extrac12.at:23'
 at_desc="extract dot permissions"
-$at_quiet $as_echo_n " 37: $at_desc                        "
+$at_quiet $as_echo_n " 38: $at_desc                        "
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "37. extrac12.at:23: testing ..."
+  $as_echo "38. extrac12.at:23: testing ..."
   $at_traceon
 
 
@@ -15356,17 +15796,17 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_37
-#AT_START_38
-# 38. extrac13.at:24: extract over symlinks
+#AT_STOP_38
+#AT_START_39
+# 39. extrac13.at:24: extract over symlinks
 at_setup_line='extrac13.at:24'
 at_desc="extract over symlinks"
-$at_quiet $as_echo_n " 38: $at_desc                          "
+$at_quiet $as_echo_n " 39: $at_desc                          "
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "38. extrac13.at:24: testing ..."
+  $as_echo "39. extrac13.at:24: testing ..."
   $at_traceon
 
 
@@ -15391,20 +15831,20 @@ echo target1 >target1
 
 tar -cf archive.tar -C src . &&
 tar -xf archive.tar -C dst1 --warning=no-timestamp &&
-diff -c src/file1 dst1/file1 &&
-diff -c target1 dst1/target1
+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 -c src/file1 dst2/file1 &&
-diff -c target1 dst2/target1
+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 -c src/file1 dst3/file1 &&
-diff -c src/file1 dst3/target1
+diff src/file1 dst3/file1 &&
+diff src/file1 dst3/target1
 )"
 echo extrac13.at:27 >"$at_check_line_file"
 
@@ -15427,20 +15867,20 @@ echo target1 >target1
 
 tar -cf archive.tar -C src . &&
 tar -xf archive.tar -C dst1 --warning=no-timestamp &&
-diff -c src/file1 dst1/file1 &&
-diff -c target1 dst1/target1
+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 -c src/file1 dst2/file1 &&
-diff -c target1 dst2/target1
+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 -c src/file1 dst3/file1 &&
-diff -c src/file1 dst3/target1
+diff src/file1 dst3/file1 &&
+diff src/file1 dst3/target1
 ) ) >"$at_stdout" 2>"$at_stder1"
   at_func_filter_trace $?
 else
@@ -15461,20 +15901,20 @@ echo target1 >target1
 
 tar -cf archive.tar -C src . &&
 tar -xf archive.tar -C dst1 --warning=no-timestamp &&
-diff -c src/file1 dst1/file1 &&
-diff -c target1 dst1/target1
+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 -c src/file1 dst2/file1 &&
-diff -c target1 dst2/target1
+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 -c src/file1 dst3/file1 &&
-diff -c src/file1 dst3/target1
+diff src/file1 dst3/file1 &&
+diff src/file1 dst3/target1
 ) ) >"$at_stdout" 2>"$at_stderr"
 fi
 at_status=$?
@@ -15493,17 +15933,17 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_38
-#AT_START_39
-# 39. extrac14.at:23: extract -C symlink
+#AT_STOP_39
+#AT_START_40
+# 40. extrac14.at:23: extract -C symlink
 at_setup_line='extrac14.at:23'
 at_desc="extract -C symlink"
-$at_quiet $as_echo_n " 39: $at_desc                             "
+$at_quiet $as_echo_n " 40: $at_desc                             "
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "39. extrac14.at:23: testing ..."
+  $as_echo "40. extrac14.at:23: testing ..."
   $at_traceon
 
 
@@ -15582,17 +16022,17 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_39
-#AT_START_40
-# 40. extrac15.at:23: extract parent mkdir failure
+#AT_STOP_40
+#AT_START_41
+# 41. extrac15.at:23: extract parent mkdir failure
 at_setup_line='extrac15.at:23'
 at_desc="extract parent mkdir failure"
-$at_quiet $as_echo_n " 40: $at_desc                   "
+$at_quiet $as_echo_n " 41: $at_desc                   "
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "40. extrac15.at:23: testing ..."
+  $as_echo "41. extrac15.at:23: testing ..."
   $at_traceon
 
 
@@ -15711,17 +16151,502 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_40
-#AT_START_41
-# 41. label01.at:19: single-volume label
+#AT_STOP_41
+#AT_START_42
+# 42. extrac16.at:24: extract empty directory with -C
+at_setup_line='extrac16.at:24'
+at_desc="extract empty directory with -C"
+$at_quiet $as_echo_n " 42: $at_desc                "
+at_xfail=no
+      test -f $XFAILFILE && at_xfail=yes
+echo "#                             -*- compilation -*-" >> "$at_group_log"
+(
+  $as_echo "42. extrac16.at:24: testing ..."
+  $at_traceon
+
+
+
+
+
+  { $at_traceoff
+$as_echo "$at_srcdir/extrac16.at:27:
+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
+)"
+echo extrac16.at:27 >"$at_check_line_file"
+
+if { echo 'Not enabling shell tracing (command contains an embedded newline)'
+   false; }; then
+  ( $at_traceon;
+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_stder1"
+  at_func_filter_trace $?
+else
+  ( :;
+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"
+fi
+at_status=$?
+at_failed=false
+at_func_diff_devnull "$at_stderr" || at_failed=:
+at_func_diff_devnull "$at_stdout" || at_failed=:
+at_func_check_status 0 $at_status "$at_srcdir/extrac16.at:27"
+
+$at_failed && at_func_log_failure
+$at_traceon; }
+
+
+
+
+  $at_traceoff
+  $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 | eval $at_tee_pipe
+at_status=`cat "$at_status_file"`
+#AT_STOP_42
+#AT_START_43
+# 43. extrac17.at:19: name matching/transformation ordering
+at_setup_line='extrac17.at:19'
+at_desc="name matching/transformation ordering"
+$at_quiet $as_echo_n " 43: $at_desc          "
+at_xfail=no
+      test -f $XFAILFILE && at_xfail=yes
+echo "#                             -*- compilation -*-" >> "$at_group_log"
+(
+  $as_echo "43. extrac17.at:19: testing ..."
+  $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
+
+
+
+  { $at_traceoff
+$as_echo "$at_srcdir/extrac17.at:32:
+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/
+)"
+echo extrac17.at:32 >"$at_check_line_file"
+
+if { echo 'Not enabling shell tracing (command contains an embedded newline)'
+   false; }; then
+  ( $at_traceon;
+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_stder1"
+  at_func_filter_trace $?
+else
+  ( :;
+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"
+fi
+at_status=$?
+at_failed=false
+at_func_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "dir/subdir1/file1
+" | \
+  $at_diff - "$at_stdout" || at_failed=:
+at_func_check_status 0 $at_status "$at_srcdir/extrac17.at:32"
+
+$at_failed && at_func_log_failure
+$at_traceon; }
+
+              { $at_traceoff
+$as_echo "$at_srcdir/extrac17.at:32:
+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/
+)"
+echo extrac17.at:32 >"$at_check_line_file"
+
+if { echo 'Not enabling shell tracing (command contains an embedded newline)'
+   false; }; then
+  ( $at_traceon;
+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_stder1"
+  at_func_filter_trace $?
+else
+  ( :;
+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"
+fi
+at_status=$?
+at_failed=false
+at_func_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "dir/subdir1/file1
+" | \
+  $at_diff - "$at_stdout" || at_failed=:
+at_func_check_status 0 $at_status "$at_srcdir/extrac17.at:32"
+
+$at_failed && at_func_log_failure
+$at_traceon; }
+
+              { $at_traceoff
+$as_echo "$at_srcdir/extrac17.at:32:
+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/
+)"
+echo extrac17.at:32 >"$at_check_line_file"
+
+if { echo 'Not enabling shell tracing (command contains an embedded newline)'
+   false; }; then
+  ( $at_traceon;
+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_stder1"
+  at_func_filter_trace $?
+else
+  ( :;
+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"
+fi
+at_status=$?
+at_failed=false
+at_func_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "dir/subdir1/file1
+" | \
+  $at_diff - "$at_stdout" || at_failed=:
+at_func_check_status 0 $at_status "$at_srcdir/extrac17.at:32"
+
+$at_failed && at_func_log_failure
+$at_traceon; }
+
+              { $at_traceoff
+$as_echo "$at_srcdir/extrac17.at:32:
+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/
+)"
+echo extrac17.at:32 >"$at_check_line_file"
+
+if { echo 'Not enabling shell tracing (command contains an embedded newline)'
+   false; }; then
+  ( $at_traceon;
+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_stder1"
+  at_func_filter_trace $?
+else
+  ( :;
+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"
+fi
+at_status=$?
+at_failed=false
+at_func_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "dir/subdir1/file1
+" | \
+  $at_diff - "$at_stdout" || at_failed=:
+at_func_check_status 0 $at_status "$at_srcdir/extrac17.at:32"
+
+$at_failed && at_func_log_failure
+$at_traceon; }
+
+              { $at_traceoff
+$as_echo "$at_srcdir/extrac17.at:32:
+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/
+)"
+echo extrac17.at:32 >"$at_check_line_file"
+
+if { echo 'Not enabling shell tracing (command contains an embedded newline)'
+   false; }; then
+  ( $at_traceon;
+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_stder1"
+  at_func_filter_trace $?
+else
+  ( :;
+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"
+fi
+at_status=$?
+at_failed=false
+at_func_diff_devnull "$at_stderr" || at_failed=:
+echo >>"$at_stdout"; $as_echo "dir/subdir1/file1
+" | \
+  $at_diff - "$at_stdout" || at_failed=:
+at_func_check_status 0 $at_status "$at_srcdir/extrac17.at:32"
+
+$at_failed && at_func_log_failure
+$at_traceon; }
+
+
+
+
+  $at_traceoff
+  $at_times_p && times >"$at_times_file"
+) 5>&1 2>&1 | eval $at_tee_pipe
+at_status=`cat "$at_status_file"`
+#AT_STOP_43
+#AT_START_44
+# 44. label01.at:19: single-volume label
 at_setup_line='label01.at:19'
 at_desc="single-volume label"
-$at_quiet $as_echo_n " 41: $at_desc                            "
+$at_quiet $as_echo_n " 44: $at_desc                            "
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "41. label01.at:19: testing ..."
+  $as_echo "44. label01.at:19: testing ..."
   $at_traceon
 
 
@@ -15924,17 +16849,17 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_41
-#AT_START_42
-# 42. label02.at:19: multi-volume label
+#AT_STOP_44
+#AT_START_45
+# 45. label02.at:19: multi-volume label
 at_setup_line='label02.at:19'
 at_desc="multi-volume label"
-$at_quiet $as_echo_n " 42: $at_desc                             "
+$at_quiet $as_echo_n " 45: $at_desc                             "
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "42. label02.at:19: testing ..."
+  $as_echo "45. label02.at:19: testing ..."
   $at_traceon
 
 
@@ -16158,17 +17083,17 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_42
-#AT_START_43
-# 43. label03.at:25: test-label option
+#AT_STOP_45
+#AT_START_46
+# 46. label03.at:25: test-label option
 at_setup_line='label03.at:25'
 at_desc="test-label option"
-$at_quiet $as_echo_n " 43: $at_desc                              "
+$at_quiet $as_echo_n " 46: $at_desc                              "
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "43. label03.at:25: testing ..."
+  $as_echo "46. label03.at:25: testing ..."
   $at_traceon
 
 
@@ -16620,17 +17545,17 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_43
-#AT_START_44
-# 44. label04.at:25: label with non-create option
+#AT_STOP_46
+#AT_START_47
+# 47. label04.at:25: label with non-create option
 at_setup_line='label04.at:25'
 at_desc="label with non-create option"
-$at_quiet $as_echo_n " 44: $at_desc                   "
+$at_quiet $as_echo_n " 47: $at_desc                   "
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "44. label04.at:25: testing ..."
+  $as_echo "47. label04.at:25: testing ..."
   $at_traceon
 
 
@@ -16890,17 +17815,17 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_44
-#AT_START_45
-# 45. label05.at:22: label with non-create option
+#AT_STOP_47
+#AT_START_48
+# 48. label05.at:22: label with non-create option
 at_setup_line='label05.at:22'
 at_desc="label with non-create option"
-$at_quiet $as_echo_n " 45: $at_desc                   "
+$at_quiet $as_echo_n " 48: $at_desc                   "
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "45. label05.at:22: testing ..."
+  $as_echo "48. label05.at:22: testing ..."
   $at_traceon
 
 
@@ -17160,17 +18085,17 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_45
-#AT_START_46
-# 46. backup01.at:33: extracting existing dir with --backup
+#AT_STOP_48
+#AT_START_49
+# 49. backup01.at:33: extracting existing dir with --backup
 at_setup_line='backup01.at:33'
 at_desc="extracting existing dir with --backup"
-$at_quiet $as_echo_n " 46: $at_desc          "
+$at_quiet $as_echo_n " 49: $at_desc          "
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "46. backup01.at:33: testing ..."
+  $as_echo "49. backup01.at:33: testing ..."
   $at_traceon
 
 
@@ -17504,16 +18429,16 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_46
-#AT_START_47
-# 47. gzip.at:23: gzip
+#AT_STOP_49
+#AT_START_50
+# 50. gzip.at:23: gzip
 at_setup_line='gzip.at:23'
 at_desc="gzip"
-$at_quiet $as_echo_n " 47: $at_desc                                           "
+$at_quiet $as_echo_n " 50: $at_desc                                           "
 at_xfail=no
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "47. gzip.at:23: testing ..."
+  $as_echo "50. gzip.at:23: testing ..."
   $at_traceon
 
 
@@ -17572,17 +18497,17 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_47
-#AT_START_48
-# 48. incremental.at:23: incremental
+#AT_STOP_50
+#AT_START_51
+# 51. incremental.at:23: incremental
 at_setup_line='incremental.at:23'
 at_desc="incremental"
-$at_quiet $as_echo_n " 48: $at_desc                                    "
+$at_quiet $as_echo_n " 51: $at_desc                                    "
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "48. incremental.at:23: testing ..."
+  $as_echo "51. incremental.at:23: testing ..."
   $at_traceon
 
 
@@ -17986,17 +18911,17 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_48
-#AT_START_49
-# 49. incr01.at:27: restore broken symlinks from incremental
+#AT_STOP_51
+#AT_START_52
+# 52. incr01.at:27: restore broken symlinks from incremental
 at_setup_line='incr01.at:27'
 at_desc="restore broken symlinks from incremental"
-$at_quiet $as_echo_n " 49: $at_desc       "
+$at_quiet $as_echo_n " 52: $at_desc       "
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "49. incr01.at:27: testing ..."
+  $as_echo "52. incr01.at:27: testing ..."
   $at_traceon
 
 
@@ -18277,17 +19202,17 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_49
-#AT_START_50
-# 50. incr02.at:32: restoring timestamps from incremental
+#AT_STOP_52
+#AT_START_53
+# 53. incr02.at:32: restoring timestamps from incremental
 at_setup_line='incr02.at:32'
 at_desc="restoring timestamps from incremental"
-$at_quiet $as_echo_n " 50: $at_desc          "
+$at_quiet $as_echo_n " 53: $at_desc          "
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "50. incr02.at:32: testing ..."
+  $as_echo "53. incr02.at:32: testing ..."
   $at_traceon
 
 
@@ -18757,17 +19682,17 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_50
-#AT_START_51
-# 51. listed01.at:26: --listed for individual files
+#AT_STOP_53
+#AT_START_54
+# 54. listed01.at:26: --listed for individual files
 at_setup_line='listed01.at:26'
 at_desc="--listed for individual files"
-$at_quiet $as_echo_n " 51: $at_desc                  "
+$at_quiet $as_echo_n " 54: $at_desc                  "
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "51. listed01.at:26: testing ..."
+  $as_echo "54. listed01.at:26: testing ..."
   $at_traceon
 
 
@@ -19027,17 +19952,17 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_51
-#AT_START_52
-# 52. listed02.at:28: working --listed
+#AT_STOP_54
+#AT_START_55
+# 55. listed02.at:28: working --listed
 at_setup_line='listed02.at:28'
 at_desc="working --listed"
-$at_quiet $as_echo_n " 52: $at_desc                               "
+$at_quiet $as_echo_n " 55: $at_desc                               "
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "52. listed02.at:28: testing ..."
+  $as_echo "55. listed02.at:28: testing ..."
   $at_traceon
 
 
@@ -19623,17 +20548,17 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_52
-#AT_START_53
-# 53. listed03.at:22: incremental dump when the parent directory is unreadable
+#AT_STOP_55
+#AT_START_56
+# 56. listed03.at:22: incremental dump when the parent directory is unreadable
 at_setup_line='listed03.at:22'
 at_desc="incremental dump when the parent directory is unreadable"
-$at_quiet $as_echo_n " 53: $at_desc"
+$at_quiet $as_echo_n " 56: $at_desc"
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "53. listed03.at:22: testing ..."
+  $as_echo "56. listed03.at:22: testing ..."
   $at_traceon
 
 
@@ -19759,17 +20684,17 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_53
-#AT_START_54
-# 54. incr03.at:28: renamed files in incrementals
+#AT_STOP_56
+#AT_START_57
+# 57. incr03.at:28: renamed files in incrementals
 at_setup_line='incr03.at:28'
 at_desc="renamed files in incrementals"
-$at_quiet $as_echo_n " 54: $at_desc                  "
+$at_quiet $as_echo_n " 57: $at_desc                  "
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "54. incr03.at:28: testing ..."
+  $as_echo "57. incr03.at:28: testing ..."
   $at_traceon
 
 
@@ -20233,17 +21158,17 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_54
-#AT_START_55
-# 55. incr04.at:29: proper icontents initialization
+#AT_STOP_57
+#AT_START_58
+# 58. incr04.at:29: proper icontents initialization
 at_setup_line='incr04.at:29'
 at_desc="proper icontents initialization"
-$at_quiet $as_echo_n " 55: $at_desc                "
+$at_quiet $as_echo_n " 58: $at_desc                "
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "55. incr04.at:29: testing ..."
+  $as_echo "58. incr04.at:29: testing ..."
   $at_traceon
 
 
@@ -20985,17 +21910,17 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_55
-#AT_START_56
-# 56. incr05.at:19: incremental dumps with -C
+#AT_STOP_58
+#AT_START_59
+# 59. incr05.at:19: incremental dumps with -C
 at_setup_line='incr05.at:19'
 at_desc="incremental dumps with -C"
-$at_quiet $as_echo_n " 56: $at_desc                      "
+$at_quiet $as_echo_n " 59: $at_desc                      "
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "56. incr05.at:19: testing ..."
+  $as_echo "59. incr05.at:19: testing ..."
   $at_traceon
 
 
@@ -21279,17 +22204,17 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_56
-#AT_START_57
-# 57. incr06.at:19: incremental dumps of nested directories
+#AT_STOP_59
+#AT_START_60
+# 60. incr06.at:19: incremental dumps of nested directories
 at_setup_line='incr06.at:19'
 at_desc="incremental dumps of nested directories"
-$at_quiet $as_echo_n " 57: $at_desc        "
+$at_quiet $as_echo_n " 60: $at_desc        "
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "57. incr06.at:19: testing ..."
+  $as_echo "60. incr06.at:19: testing ..."
   $at_traceon
 
 
@@ -21717,17 +22642,17 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_57
-#AT_START_58
-# 58. filerem01.at:34: file removed as we read it (ca. 22 seconds)
+#AT_STOP_60
+#AT_START_61
+# 61. filerem01.at:34: file removed as we read it (ca. 22 seconds)
 at_setup_line='filerem01.at:34'
 at_desc="file removed as we read it (ca. 22 seconds)"
-$at_quiet $as_echo_n " 58: $at_desc    "
+$at_quiet $as_echo_n " 61: $at_desc    "
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "58. filerem01.at:34: testing ..."
+  $as_echo "61. filerem01.at:34: testing ..."
   $at_traceon
 
 
@@ -21942,17 +22867,17 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_58
-#AT_START_59
-# 59. filerem02.at:24: toplevel file removed (ca. 24 seconds)
+#AT_STOP_61
+#AT_START_62
+# 62. filerem02.at:24: toplevel file removed (ca. 24 seconds)
 at_setup_line='filerem02.at:24'
 at_desc="toplevel file removed (ca. 24 seconds)"
-$at_quiet $as_echo_n " 59: $at_desc         "
+$at_quiet $as_echo_n " 62: $at_desc         "
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "59. filerem02.at:24: testing ..."
+  $as_echo "62. filerem02.at:24: testing ..."
   $at_traceon
 
 
@@ -22131,17 +23056,17 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_59
-#AT_START_60
-# 60. rename01.at:24: renamed dirs in incrementals
+#AT_STOP_62
+#AT_START_63
+# 63. rename01.at:24: renamed dirs in incrementals
 at_setup_line='rename01.at:24'
 at_desc="renamed dirs in incrementals"
-$at_quiet $as_echo_n " 60: $at_desc                   "
+$at_quiet $as_echo_n " 63: $at_desc                   "
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "60. rename01.at:24: testing ..."
+  $as_echo "63. rename01.at:24: testing ..."
   $at_traceon
 
 
@@ -22650,17 +23575,17 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_60
-#AT_START_61
-# 61. rename02.at:24: move between hierarchies
+#AT_STOP_63
+#AT_START_64
+# 64. rename02.at:24: move between hierarchies
 at_setup_line='rename02.at:24'
 at_desc="move between hierarchies"
-$at_quiet $as_echo_n " 61: $at_desc                       "
+$at_quiet $as_echo_n " 64: $at_desc                       "
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "61. rename02.at:24: testing ..."
+  $as_echo "64. rename02.at:24: testing ..."
   $at_traceon
 
 
@@ -23238,17 +24163,17 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_61
-#AT_START_62
-# 62. rename03.at:23: cyclic renames
+#AT_STOP_64
+#AT_START_65
+# 65. rename03.at:23: cyclic renames
 at_setup_line='rename03.at:23'
 at_desc="cyclic renames"
-$at_quiet $as_echo_n " 62: $at_desc                                 "
+$at_quiet $as_echo_n " 65: $at_desc                                 "
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "62. rename03.at:23: testing ..."
+  $as_echo "65. rename03.at:23: testing ..."
   $at_traceon
 
 
@@ -23973,17 +24898,17 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_62
-#AT_START_63
-# 63. rename04.at:27: renamed directory containing subdirectories
+#AT_STOP_65
+#AT_START_66
+# 66. rename04.at:27: renamed directory containing subdirectories
 at_setup_line='rename04.at:27'
 at_desc="renamed directory containing subdirectories"
-$at_quiet $as_echo_n " 63: $at_desc    "
+$at_quiet $as_echo_n " 66: $at_desc    "
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "63. rename04.at:27: testing ..."
+  $as_echo "66. rename04.at:27: testing ..."
   $at_traceon
 
 
@@ -24447,17 +25372,17 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_63
-#AT_START_64
-# 64. rename05.at:24: renamed subdirectories
+#AT_STOP_66
+#AT_START_67
+# 67. rename05.at:24: renamed subdirectories
 at_setup_line='rename05.at:24'
 at_desc="renamed subdirectories"
-$at_quiet $as_echo_n " 64: $at_desc                         "
+$at_quiet $as_echo_n " 67: $at_desc                         "
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "64. rename05.at:24: testing ..."
+  $as_echo "67. rename05.at:24: testing ..."
   $at_traceon
 
 
@@ -24930,17 +25855,17 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_64
-#AT_START_65
-# 65. chtype.at:27: changed file types in incrementals
+#AT_STOP_67
+#AT_START_68
+# 68. chtype.at:27: changed file types in incrementals
 at_setup_line='chtype.at:27'
 at_desc="changed file types in incrementals"
-$at_quiet $as_echo_n " 65: $at_desc             "
+$at_quiet $as_echo_n " 68: $at_desc             "
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "65. chtype.at:27: testing ..."
+  $as_echo "68. chtype.at:27: testing ..."
   $at_traceon
 
 
@@ -25395,17 +26320,17 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_65
-#AT_START_66
-# 66. ignfail.at:23: ignfail
+#AT_STOP_68
+#AT_START_69
+# 69. ignfail.at:23: ignfail
 at_setup_line='ignfail.at:23'
 at_desc="ignfail"
-$at_quiet $as_echo_n " 66: $at_desc                                        "
+$at_quiet $as_echo_n " 69: $at_desc                                        "
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "66. ignfail.at:23: testing ..."
+  $as_echo "69. ignfail.at:23: testing ..."
   $at_traceon
 
 
@@ -26324,17 +27249,17 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_66
-#AT_START_67
-# 67. link01.at:33: link count gt 2
+#AT_STOP_69
+#AT_START_70
+# 70. link01.at:33: link count gt 2
 at_setup_line='link01.at:33'
 at_desc="link count gt 2"
-$at_quiet $as_echo_n " 67: $at_desc                                "
+$at_quiet $as_echo_n " 70: $at_desc                                "
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "67. link01.at:33: testing ..."
+  $as_echo "70. link01.at:33: testing ..."
   $at_traceon
 
 
@@ -26788,17 +27713,17 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_67
-#AT_START_68
-# 68. link02.at:32: preserve hard links with --remove-files
+#AT_STOP_70
+#AT_START_71
+# 71. link02.at:32: preserve hard links with --remove-files
 at_setup_line='link02.at:32'
 at_desc="preserve hard links with --remove-files"
-$at_quiet $as_echo_n " 68: $at_desc        "
+$at_quiet $as_echo_n " 71: $at_desc        "
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "68. link02.at:32: testing ..."
+  $as_echo "71. link02.at:32: testing ..."
   $at_traceon
 
 
@@ -27157,17 +28082,17 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_68
-#AT_START_69
-# 69. link03.at:24: working -l with --remove-files
+#AT_STOP_71
+#AT_START_72
+# 72. link03.at:24: working -l with --remove-files
 at_setup_line='link03.at:24'
 at_desc="working -l with --remove-files"
-$at_quiet $as_echo_n " 69: $at_desc                 "
+$at_quiet $as_echo_n " 72: $at_desc                 "
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "69. link03.at:24: testing ..."
+  $as_echo "72. link03.at:24: testing ..."
   $at_traceon
 
 
@@ -27728,17 +28653,17 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_69
-#AT_START_70
-# 70. link04.at:29: link count is 1 but multiple occurrences
+#AT_STOP_72
+#AT_START_73
+# 73. link04.at:29: link count is 1 but multiple occurrences
 at_setup_line='link04.at:29'
 at_desc="link count is 1 but multiple occurrences"
-$at_quiet $as_echo_n " 70: $at_desc       "
+$at_quiet $as_echo_n " 73: $at_desc       "
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "70. link04.at:29: testing ..."
+  $as_echo "73. link04.at:29: testing ..."
   $at_traceon
 
 
@@ -28297,17 +29222,17 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_70
-#AT_START_71
-# 71. longv7.at:24: long names in V7 archives
+#AT_STOP_73
+#AT_START_74
+# 74. longv7.at:24: long names in V7 archives
 at_setup_line='longv7.at:24'
 at_desc="long names in V7 archives"
-$at_quiet $as_echo_n " 71: $at_desc                      "
+$at_quiet $as_echo_n " 74: $at_desc                      "
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "71. longv7.at:24: testing ..."
+  $as_echo "74. longv7.at:24: testing ..."
   $at_traceon
 
 
@@ -28395,17 +29320,17 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_71
-#AT_START_72
-# 72. long01.at:28: long file names divisible by block size
+#AT_STOP_74
+#AT_START_75
+# 75. long01.at:28: long file names divisible by block size
 at_setup_line='long01.at:28'
 at_desc="long file names divisible by block size"
-$at_quiet $as_echo_n " 72: $at_desc        "
+$at_quiet $as_echo_n " 75: $at_desc        "
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "72. long01.at:28: testing ..."
+  $as_echo "75. long01.at:28: testing ..."
   $at_traceon
 
 
@@ -28553,17 +29478,17 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_72
-#AT_START_73
-# 73. lustar01.at:21: ustar: unsplittable file name
+#AT_STOP_75
+#AT_START_76
+# 76. lustar01.at:21: ustar: unsplittable file name
 at_setup_line='lustar01.at:21'
 at_desc="ustar: unsplittable file name"
-$at_quiet $as_echo_n " 73: $at_desc                  "
+$at_quiet $as_echo_n " 76: $at_desc                  "
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "73. lustar01.at:21: testing ..."
+  $as_echo "76. lustar01.at:21: testing ..."
   $at_traceon
 
 
@@ -28635,17 +29560,17 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_73
-#AT_START_74
-# 74. lustar02.at:21: ustar: unsplittable path name
+#AT_STOP_76
+#AT_START_77
+# 77. lustar02.at:21: ustar: unsplittable path name
 at_setup_line='lustar02.at:21'
 at_desc="ustar: unsplittable path name"
-$at_quiet $as_echo_n " 74: $at_desc                  "
+$at_quiet $as_echo_n " 77: $at_desc                  "
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "74. lustar02.at:21: testing ..."
+  $as_echo "77. lustar02.at:21: testing ..."
   $at_traceon
 
 
@@ -28724,17 +29649,17 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_74
-#AT_START_75
-# 75. lustar03.at:21: ustar: splitting long names
+#AT_STOP_77
+#AT_START_78
+# 78. lustar03.at:21: ustar: splitting long names
 at_setup_line='lustar03.at:21'
 at_desc="ustar: splitting long names"
-$at_quiet $as_echo_n " 75: $at_desc                    "
+$at_quiet $as_echo_n " 78: $at_desc                    "
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "75. lustar03.at:21: testing ..."
+  $as_echo "78. lustar03.at:21: testing ..."
   $at_traceon
 
 
@@ -28819,17 +29744,17 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_75
-#AT_START_76
-# 76. multiv01.at:23: multivolume dumps from pipes
+#AT_STOP_78
+#AT_START_79
+# 79. multiv01.at:23: multivolume dumps from pipes
 at_setup_line='multiv01.at:23'
 at_desc="multivolume dumps from pipes"
-$at_quiet $as_echo_n " 76: $at_desc                   "
+$at_quiet $as_echo_n " 79: $at_desc                   "
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "76. multiv01.at:23: testing ..."
+  $as_echo "79. multiv01.at:23: testing ..."
   $at_traceon
 
 
@@ -29240,17 +30165,17 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_76
-#AT_START_77
-# 77. multiv02.at:28: skipping a straddling member
+#AT_STOP_79
+#AT_START_80
+# 80. multiv02.at:28: skipping a straddling member
 at_setup_line='multiv02.at:28'
 at_desc="skipping a straddling member"
-$at_quiet $as_echo_n " 77: $at_desc                   "
+$at_quiet $as_echo_n " 80: $at_desc                   "
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "77. multiv02.at:28: testing ..."
+  $as_echo "80. multiv02.at:28: testing ..."
   $at_traceon
 
 
@@ -29504,17 +30429,17 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_77
-#AT_START_78
-# 78. multiv03.at:30: MV archive & long filenames
+#AT_STOP_80
+#AT_START_81
+# 81. multiv03.at:30: MV archive & long filenames
 at_setup_line='multiv03.at:30'
 at_desc="MV archive & long filenames"
-$at_quiet $as_echo_n " 78: $at_desc                    "
+$at_quiet $as_echo_n " 81: $at_desc                    "
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "78. multiv03.at:30: testing ..."
+  $as_echo "81. multiv03.at:30: testing ..."
   $at_traceon
 
 
@@ -29802,17 +30727,17 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_78
-#AT_START_79
-# 79. multiv04.at:36: split directory members in a MV archive
+#AT_STOP_81
+#AT_START_82
+# 82. multiv04.at:36: split directory members in a MV archive
 at_setup_line='multiv04.at:36'
 at_desc="split directory members in a MV archive"
-$at_quiet $as_echo_n " 79: $at_desc        "
+$at_quiet $as_echo_n " 82: $at_desc        "
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "79. multiv04.at:36: testing ..."
+  $as_echo "82. multiv04.at:36: testing ..."
   $at_traceon
 
 
@@ -30026,17 +30951,17 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_79
-#AT_START_80
-# 80. multiv05.at:26: Restoring after an out of sync volume
+#AT_STOP_82
+#AT_START_83
+# 83. multiv05.at:26: Restoring after an out of sync volume
 at_setup_line='multiv05.at:26'
 at_desc="Restoring after an out of sync volume"
-$at_quiet $as_echo_n " 80: $at_desc          "
+$at_quiet $as_echo_n " 83: $at_desc          "
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "80. multiv05.at:26: testing ..."
+  $as_echo "83. multiv05.at:26: testing ..."
   $at_traceon
 
 
@@ -30199,17 +31124,17 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_80
-#AT_START_81
-# 81. multiv06.at:27: Multivolumes with L=record_size
+#AT_STOP_83
+#AT_START_84
+# 84. multiv06.at:27: Multivolumes with L=record_size
 at_setup_line='multiv06.at:27'
 at_desc="Multivolumes with L=record_size"
-$at_quiet $as_echo_n " 81: $at_desc                "
+$at_quiet $as_echo_n " 84: $at_desc                "
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "81. multiv06.at:27: testing ..."
+  $as_echo "84. multiv06.at:27: testing ..."
   $at_traceon
 
 
@@ -30371,19 +31296,19 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_81
-#AT_START_82
-# 82. multiv07.at:26: volumes split at an extended header
+#AT_STOP_84
+#AT_START_85
+# 85. multiv07.at:26: volumes split at an extended header
 at_setup_line='multiv07.at:26'
 at_desc="volumes split at an extended header"
-$at_quiet $as_echo_n " 82: $at_desc            "
+$at_quiet $as_echo_n " 85: $at_desc            "
 at_xfail=no
       test -f \$XFAILFILE && at_xfail=yes
       test -f $XFAILFILE && at_xfail=yes
       test -f $XFAILFILE && at_xfail=yes
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "82. multiv07.at:26: testing ..."
+  $as_echo "85. multiv07.at:26: testing ..."
   $at_traceon
 
 
@@ -30456,17 +31381,17 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_82
-#AT_START_83
-# 83. multiv08.at:23: multivolume header creation
+#AT_STOP_85
+#AT_START_86
+# 86. multiv08.at:23: multivolume header creation
 at_setup_line='multiv08.at:23'
 at_desc="multivolume header creation"
-$at_quiet $as_echo_n " 83: $at_desc                    "
+$at_quiet $as_echo_n " 86: $at_desc                    "
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "83. multiv08.at:23: testing ..."
+  $as_echo "86. multiv08.at:23: testing ..."
   $at_traceon
 
 
@@ -30554,16 +31479,16 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_83
-#AT_START_84
-# 84. old.at:23: old archives
+#AT_STOP_86
+#AT_START_87
+# 87. old.at:23: old archives
 at_setup_line='old.at:23'
 at_desc="old archives"
-$at_quiet $as_echo_n " 84: $at_desc                                   "
+$at_quiet $as_echo_n " 87: $at_desc                                   "
 at_xfail=no
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "84. old.at:23: testing ..."
+  $as_echo "87. old.at:23: testing ..."
   $at_traceon
 
 
@@ -30609,17 +31534,17 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_84
-#AT_START_85
-# 85. recurse.at:21: recurse
+#AT_STOP_87
+#AT_START_88
+# 88. recurse.at:21: recurse
 at_setup_line='recurse.at:21'
 at_desc="recurse"
-$at_quiet $as_echo_n " 85: $at_desc                                        "
+$at_quiet $as_echo_n " 88: $at_desc                                        "
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "85. recurse.at:21: testing ..."
+  $as_echo "88. recurse.at:21: testing ..."
   $at_traceon
 
 
@@ -30938,17 +31863,17 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_85
-#AT_START_86
-# 86. same-order01.at:26: working -C with --same-order
+#AT_STOP_88
+#AT_START_89
+# 89. same-order01.at:26: working -C with --same-order
 at_setup_line='same-order01.at:26'
 at_desc="working -C with --same-order"
-$at_quiet $as_echo_n " 86: $at_desc                   "
+$at_quiet $as_echo_n " 89: $at_desc                   "
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "86. same-order01.at:26: testing ..."
+  $as_echo "89. same-order01.at:26: testing ..."
   $at_traceon
 
 
@@ -31392,17 +32317,17 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_86
-#AT_START_87
-# 87. same-order02.at:25: multiple -C options
+#AT_STOP_89
+#AT_START_90
+# 90. same-order02.at:25: multiple -C options
 at_setup_line='same-order02.at:25'
 at_desc="multiple -C options"
-$at_quiet $as_echo_n " 87: $at_desc                            "
+$at_quiet $as_echo_n " 90: $at_desc                            "
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "87. same-order02.at:25: testing ..."
+  $as_echo "90. same-order02.at:25: testing ..."
   $at_traceon
 
 
@@ -31896,17 +32821,17 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_87
-#AT_START_88
-# 88. shortrec.at:25: short records
+#AT_STOP_90
+#AT_START_91
+# 91. shortrec.at:25: short records
 at_setup_line='shortrec.at:25'
 at_desc="short records"
-$at_quiet $as_echo_n " 88: $at_desc                                  "
+$at_quiet $as_echo_n " 91: $at_desc                                  "
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "88. shortrec.at:25: testing ..."
+  $as_echo "91. shortrec.at:25: testing ..."
   $at_traceon
 
 
@@ -32275,17 +33200,17 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_88
-#AT_START_89
-# 89. sparse01.at:21: sparse files
+#AT_STOP_91
+#AT_START_92
+# 92. sparse01.at:21: sparse files
 at_setup_line='sparse01.at:21'
 at_desc="sparse files"
-$at_quiet $as_echo_n " 89: $at_desc                                   "
+$at_quiet $as_echo_n " 92: $at_desc                                   "
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "89. sparse01.at:21: testing ..."
+  $as_echo "92. sparse01.at:21: testing ..."
   $at_traceon
 
 
@@ -32566,17 +33491,17 @@ done
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_89
-#AT_START_90
-# 90. sparse02.at:21: extracting sparse file over a pipe
+#AT_STOP_92
+#AT_START_93
+# 93. sparse02.at:21: extracting sparse file over a pipe
 at_setup_line='sparse02.at:21'
 at_desc="extracting sparse file over a pipe"
-$at_quiet $as_echo_n " 90: $at_desc             "
+$at_quiet $as_echo_n " 93: $at_desc             "
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "90. sparse02.at:21: testing ..."
+  $as_echo "93. sparse02.at:21: testing ..."
   $at_traceon
 
 
@@ -32795,17 +33720,17 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_90
-#AT_START_91
-# 91. sparse03.at:21: storing sparse files > 8G
+#AT_STOP_93
+#AT_START_94
+# 94. sparse03.at:21: storing sparse files > 8G
 at_setup_line='sparse03.at:21'
 at_desc="storing sparse files > 8G"
-$at_quiet $as_echo_n " 91: $at_desc                      "
+$at_quiet $as_echo_n " 94: $at_desc                      "
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "91. sparse03.at:21: testing ..."
+  $as_echo "94. sparse03.at:21: testing ..."
   $at_traceon
 
 
@@ -32925,17 +33850,17 @@ done
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_91
-#AT_START_92
-# 92. sparsemv.at:21: sparse files in MV archives
+#AT_STOP_94
+#AT_START_95
+# 95. sparsemv.at:21: sparse files in MV archives
 at_setup_line='sparsemv.at:21'
 at_desc="sparse files in MV archives"
-$at_quiet $as_echo_n " 92: $at_desc                    "
+$at_quiet $as_echo_n " 95: $at_desc                    "
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "92. sparsemv.at:21: testing ..."
+  $as_echo "95. sparsemv.at:21: testing ..."
   $at_traceon
 
 
@@ -33180,17 +34105,17 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_92
-#AT_START_93
-# 93. spmvp00.at:21: sparse files in PAX MV archives, v.0.0
+#AT_STOP_95
+#AT_START_96
+# 96. spmvp00.at:21: sparse files in PAX MV archives, v.0.0
 at_setup_line='spmvp00.at:21'
 at_desc="sparse files in PAX MV archives, v.0.0"
-$at_quiet $as_echo_n " 93: $at_desc         "
+$at_quiet $as_echo_n " 96: $at_desc         "
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "93. spmvp00.at:21: testing ..."
+  $as_echo "96. spmvp00.at:21: testing ..."
   $at_traceon
 
 
@@ -33317,17 +34242,17 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_93
-#AT_START_94
-# 94. spmvp01.at:21: sparse files in PAX MV archives, v.0.1
+#AT_STOP_96
+#AT_START_97
+# 97. spmvp01.at:21: sparse files in PAX MV archives, v.0.1
 at_setup_line='spmvp01.at:21'
 at_desc="sparse files in PAX MV archives, v.0.1"
-$at_quiet $as_echo_n " 94: $at_desc         "
+$at_quiet $as_echo_n " 97: $at_desc         "
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "94. spmvp01.at:21: testing ..."
+  $as_echo "97. spmvp01.at:21: testing ..."
   $at_traceon
 
 
@@ -33454,17 +34379,17 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_94
-#AT_START_95
-# 95. spmvp10.at:21: sparse files in PAX MV archives, v.1.0
+#AT_STOP_97
+#AT_START_98
+# 98. spmvp10.at:21: sparse files in PAX MV archives, v.1.0
 at_setup_line='spmvp10.at:21'
 at_desc="sparse files in PAX MV archives, v.1.0"
-$at_quiet $as_echo_n " 95: $at_desc         "
+$at_quiet $as_echo_n " 98: $at_desc         "
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "95. spmvp10.at:21: testing ..."
+  $as_echo "98. spmvp10.at:21: testing ..."
   $at_traceon
 
 
@@ -33591,17 +34516,17 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_95
-#AT_START_96
-# 96. update.at:28: update unchanged directories
+#AT_STOP_98
+#AT_START_99
+# 99. update.at:28: update unchanged directories
 at_setup_line='update.at:28'
 at_desc="update unchanged directories"
-$at_quiet $as_echo_n " 96: $at_desc                   "
+$at_quiet $as_echo_n " 99: $at_desc                   "
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "96. update.at:28: testing ..."
+  $as_echo "99. update.at:28: testing ..."
   $at_traceon
 
 
@@ -34060,17 +34985,17 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_96
-#AT_START_97
-# 97. update01.at:29: update directories
+#AT_STOP_99
+#AT_START_100
+# 100. update01.at:29: update directories
 at_setup_line='update01.at:29'
 at_desc="update directories"
-$at_quiet $as_echo_n " 97: $at_desc                             "
+$at_quiet $as_echo_n "100: $at_desc                             "
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "97. update01.at:29: testing ..."
+  $as_echo "100. update01.at:29: testing ..."
   $at_traceon
 
 
@@ -34594,17 +35519,17 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_97
-#AT_START_98
-# 98. update02.at:26: update changed files
+#AT_STOP_100
+#AT_START_101
+# 101. update02.at:26: update changed files
 at_setup_line='update02.at:26'
 at_desc="update changed files"
-$at_quiet $as_echo_n " 98: $at_desc                           "
+$at_quiet $as_echo_n "101: $at_desc                           "
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "98. update02.at:26: testing ..."
+  $as_echo "101. update02.at:26: testing ..."
   $at_traceon
 
 
@@ -35128,17 +36053,17 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_98
-#AT_START_99
-# 99. volume.at:23: volume
+#AT_STOP_101
+#AT_START_102
+# 102. volume.at:23: volume
 at_setup_line='volume.at:23'
 at_desc="volume"
-$at_quiet $as_echo_n " 99: $at_desc                                         "
+$at_quiet $as_echo_n "102: $at_desc                                         "
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "99. volume.at:23: testing ..."
+  $as_echo "102. volume.at:23: testing ..."
   $at_traceon
 
 
@@ -35356,17 +36281,17 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_99
-#AT_START_100
-# 100. volsize.at:29: volume header size
+#AT_STOP_102
+#AT_START_103
+# 103. volsize.at:29: volume header size
 at_setup_line='volsize.at:29'
 at_desc="volume header size"
-$at_quiet $as_echo_n "100: $at_desc                             "
+$at_quiet $as_echo_n "103: $at_desc                             "
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "100. volsize.at:29: testing ..."
+  $as_echo "103. volsize.at:29: testing ..."
   $at_traceon
 
 
@@ -35875,17 +36800,17 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_100
-#AT_START_101
-# 101. comprec.at:21: compressed format recognition
+#AT_STOP_103
+#AT_START_104
+# 104. comprec.at:21: compressed format recognition
 at_setup_line='comprec.at:21'
 at_desc="compressed format recognition"
-$at_quiet $as_echo_n "101: $at_desc                  "
+$at_quiet $as_echo_n "104: $at_desc                  "
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "101. comprec.at:21: testing ..."
+  $as_echo "104. comprec.at:21: testing ..."
   $at_traceon
 
 
@@ -36305,17 +37230,17 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_101
-#AT_START_102
-# 102. shortfile.at:26: short input files
+#AT_STOP_104
+#AT_START_105
+# 105. shortfile.at:26: short input files
 at_setup_line='shortfile.at:26'
 at_desc="short input files"
-$at_quiet $as_echo_n "102: $at_desc                              "
+$at_quiet $as_echo_n "105: $at_desc                              "
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "102. shortfile.at:26: testing ..."
+  $as_echo "105. shortfile.at:26: testing ..."
   $at_traceon
 
 
@@ -36385,17 +37310,17 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_102
-#AT_START_103
-# 103. shortupd.at:29: updating short archives
+#AT_STOP_105
+#AT_START_106
+# 106. shortupd.at:29: updating short archives
 at_setup_line='shortupd.at:29'
 at_desc="updating short archives"
-$at_quiet $as_echo_n "103: $at_desc                        "
+$at_quiet $as_echo_n "106: $at_desc                        "
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "103. shortupd.at:29: testing ..."
+  $as_echo "106. shortupd.at:29: testing ..."
   $at_traceon
 
 
@@ -36674,17 +37599,17 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_103
-#AT_START_104
-# 104. truncate.at:29: truncate
+#AT_STOP_106
+#AT_START_107
+# 107. truncate.at:29: truncate
 at_setup_line='truncate.at:29'
 at_desc="truncate"
-$at_quiet $as_echo_n "104: $at_desc                                       "
+$at_quiet $as_echo_n "107: $at_desc                                       "
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "104. truncate.at:29: testing ..."
+  $as_echo "107. truncate.at:29: testing ..."
   $at_traceon
 
 
@@ -37088,17 +38013,17 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_104
-#AT_START_105
-# 105. grow.at:24: grow
+#AT_STOP_107
+#AT_START_108
+# 108. grow.at:24: grow
 at_setup_line='grow.at:24'
 at_desc="grow"
-$at_quiet $as_echo_n "105: $at_desc                                           "
+$at_quiet $as_echo_n "108: $at_desc                                           "
 at_xfail=no
       test -f $XFAILFILE && at_xfail=yes
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "105. grow.at:24: testing ..."
+  $as_echo "108. grow.at:24: testing ..."
   $at_traceon
 
 
@@ -37417,16 +38342,16 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_105
-#AT_START_106
-# 106. remfiles01.at:28: remove-files with compression
+#AT_STOP_108
+#AT_START_109
+# 109. remfiles01.at:28: remove-files with compression
 at_setup_line='remfiles01.at:28'
 at_desc="remove-files with compression"
-$at_quiet $as_echo_n "106: $at_desc                  "
+$at_quiet $as_echo_n "109: $at_desc                  "
 at_xfail=no
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "106. remfiles01.at:28: testing ..."
+  $as_echo "109. remfiles01.at:28: testing ..."
   $at_traceon
 
 
@@ -37462,14 +38387,16 @@ mkdir c
 # or
 #  tar: Child returned status 2
 
-tar -c -f a -z --remove-files b c 2>err
+# Discard diagnostics that some shells generate about broken pipes,
+# and discard all of tar's diagnostics except for the ones saying \"(child)\".
+# Gzip's exit code is propagated to the shell.  Usually it is 141.
+# Convert all non-zero exits to 2 to make it predictable.
+(tar -c -f a -z --remove-files b c 2>err || (exit 2) ) 2>/dev/null
 EC=\$?
 sed -n '/(child)/p' err >&2
 rm err
 find . | sort
-# Gzip exit code is propagated to the shell. Usually it is
-# 141.  We convert all non-zero exits to 2 to make it predictable.
-test \$EC && exit 2
+exit \$EC
 "
 echo remfiles01.at:32 >"$at_check_line_file"
 
@@ -37504,14 +38431,16 @@ mkdir c
 # or
 #  tar: Child returned status 2
 
-tar -c -f a -z --remove-files b c 2>err
+# Discard diagnostics that some shells generate about broken pipes,
+# and discard all of tar's diagnostics except for the ones saying "(child)".
+# Gzip's exit code is propagated to the shell.  Usually it is 141.
+# Convert all non-zero exits to 2 to make it predictable.
+(tar -c -f a -z --remove-files b c 2>err || (exit 2) ) 2>/dev/null
 EC=$?
 sed -n '/(child)/p' err >&2
 rm err
 find . | sort
-# Gzip exit code is propagated to the shell. Usually it is
-# 141.  We convert all non-zero exits to 2 to make it predictable.
-test $EC && exit 2
+exit $EC
  ) >"$at_stdout" 2>"$at_stder1"
   at_func_filter_trace $?
 else
@@ -37544,14 +38473,16 @@ mkdir c
 # or
 #  tar: Child returned status 2
 
-tar -c -f a -z --remove-files b c 2>err
+# Discard diagnostics that some shells generate about broken pipes,
+# and discard all of tar's diagnostics except for the ones saying "(child)".
+# Gzip's exit code is propagated to the shell.  Usually it is 141.
+# Convert all non-zero exits to 2 to make it predictable.
+(tar -c -f a -z --remove-files b c 2>err || (exit 2) ) 2>/dev/null
 EC=$?
 sed -n '/(child)/p' err >&2
 rm err
 find . | sort
-# Gzip exit code is propagated to the shell. Usually it is
-# 141.  We convert all non-zero exits to 2 to make it predictable.
-test $EC && exit 2
+exit $EC
  ) >"$at_stdout" 2>"$at_stderr"
 fi
 at_status=$?
@@ -37576,16 +38507,16 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_106
-#AT_START_107
-# 107. remfiles02.at:28: remove-files with compression: grand-child
+#AT_STOP_109
+#AT_START_110
+# 110. remfiles02.at:28: remove-files with compression: grand-child
 at_setup_line='remfiles02.at:28'
 at_desc="remove-files with compression: grand-child"
-$at_quiet $as_echo_n "107: $at_desc     "
+$at_quiet $as_echo_n "110: $at_desc     "
 at_xfail=no
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "107. remfiles02.at:28: testing ..."
+  $as_echo "110. remfiles02.at:28: testing ..."
   $at_traceon
 
 
@@ -37684,16 +38615,16 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_107
-#AT_START_108
-# 108. remfiles03.at:28: remove-files with symbolic links
+#AT_STOP_110
+#AT_START_111
+# 111. remfiles03.at:28: remove-files with symbolic links
 at_setup_line='remfiles03.at:28'
 at_desc="remove-files with symbolic links"
-$at_quiet $as_echo_n "108: $at_desc               "
+$at_quiet $as_echo_n "111: $at_desc               "
 at_xfail=no
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "108. remfiles03.at:28: testing ..."
+  $as_echo "111. remfiles03.at:28: testing ..."
   $at_traceon
 
 
@@ -37743,16 +38674,16 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_108
-#AT_START_109
-# 109. sigpipe.at:19: sigpipe handling
+#AT_STOP_111
+#AT_START_112
+# 112. sigpipe.at:19: sigpipe handling
 at_setup_line='sigpipe.at:19'
 at_desc="sigpipe handling"
-$at_quiet $as_echo_n "109: $at_desc                               "
+$at_quiet $as_echo_n "112: $at_desc                               "
 at_xfail=no
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "109. sigpipe.at:19: testing ..."
+  $as_echo "112. sigpipe.at:19: testing ..."
   $at_traceon
 
 
@@ -37771,7 +38702,8 @@ genfile --length 2049 --file third
 
 tar cf archive first second third
 
-tar tf archive | :
+# Discard diagnostics that some shells generate about broken pipes.
+(tar tf archive 2>&3 | :) 3>&2 2>/dev/null
 "
 echo sigpipe.at:28 >"$at_check_line_file"
 
@@ -37784,7 +38716,8 @@ genfile --length 2049 --file third
 
 tar cf archive first second third
 
-tar tf archive | :
+# Discard diagnostics that some shells generate about broken pipes.
+(tar tf archive 2>&3 | :) 3>&2 2>/dev/null
  ) >"$at_stdout" 2>"$at_stder1"
   at_func_filter_trace $?
 else
@@ -37795,7 +38728,8 @@ genfile --length 2049 --file third
 
 tar cf archive first second third
 
-tar tf archive | :
+# Discard diagnostics that some shells generate about broken pipes.
+(tar tf archive 2>&3 | :) 3>&2 2>/dev/null
  ) >"$at_stdout" 2>"$at_stderr"
 fi
 at_status=$?
@@ -37812,16 +38746,16 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_109
-#AT_START_110
-# 110. gtarfail.at:21: gtarfail
+#AT_STOP_112
+#AT_START_113
+# 113. gtarfail.at:21: gtarfail
 at_setup_line='gtarfail.at:21'
 at_desc="gtarfail"
-$at_quiet $as_echo_n "110: $at_desc                                       "
+$at_quiet $as_echo_n "113: $at_desc                                       "
 at_xfail=no
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "110. gtarfail.at:21: testing ..."
+  $as_echo "113. gtarfail.at:21: testing ..."
   $at_traceon
 
 
@@ -37881,16 +38815,16 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_110
-#AT_START_111
-# 111. gtarfail2.at:21: gtarfail2
+#AT_STOP_113
+#AT_START_114
+# 114. gtarfail2.at:21: gtarfail2
 at_setup_line='gtarfail2.at:21'
 at_desc="gtarfail2"
-$at_quiet $as_echo_n "111: $at_desc                                      "
+$at_quiet $as_echo_n "114: $at_desc                                      "
 at_xfail=no
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "111. gtarfail2.at:21: testing ..."
+  $as_echo "114. gtarfail2.at:21: testing ..."
   $at_traceon
 
 
@@ -37951,16 +38885,16 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_111
-#AT_START_112
-# 112. multi-fail.at:21: multi-fail
+#AT_STOP_114
+#AT_START_115
+# 115. multi-fail.at:21: multi-fail
 at_setup_line='multi-fail.at:21'
 at_desc="multi-fail"
-$at_quiet $as_echo_n "112: $at_desc                                     "
+$at_quiet $as_echo_n "115: $at_desc                                     "
 at_xfail=no
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "112. multi-fail.at:21: testing ..."
+  $as_echo "115. multi-fail.at:21: testing ..."
   $at_traceon
 
 
@@ -38081,16 +39015,16 @@ $at_traceon; }
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_112
-#AT_START_113
-# 113. ustar-big-2g.at:21: ustar-big-2g
+#AT_STOP_115
+#AT_START_116
+# 116. ustar-big-2g.at:21: ustar-big-2g
 at_setup_line='ustar-big-2g.at:21'
 at_desc="ustar-big-2g"
-$at_quiet $as_echo_n "113: $at_desc                                   "
+$at_quiet $as_echo_n "116: $at_desc                                   "
 at_xfail=no
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "113. ustar-big-2g.at:21: testing ..."
+  $as_echo "116. ustar-big-2g.at:21: testing ..."
   $at_traceon
 
 
@@ -38168,16 +39102,16 @@ done
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_113
-#AT_START_114
-# 114. ustar-big-8g.at:21: ustar-big-8g
+#AT_STOP_116
+#AT_START_117
+# 117. ustar-big-8g.at:21: ustar-big-8g
 at_setup_line='ustar-big-8g.at:21'
 at_desc="ustar-big-8g"
-$at_quiet $as_echo_n "114: $at_desc                                   "
+$at_quiet $as_echo_n "117: $at_desc                                   "
 at_xfail=no
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "114. ustar-big-8g.at:21: testing ..."
+  $as_echo "117. ustar-big-8g.at:21: testing ..."
   $at_traceon
 
 
@@ -38255,16 +39189,16 @@ done
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_114
-#AT_START_115
-# 115. pax-big-10g.at:21: pax-big-10g
+#AT_STOP_117
+#AT_START_118
+# 118. pax-big-10g.at:21: pax-big-10g
 at_setup_line='pax-big-10g.at:21'
 at_desc="pax-big-10g"
-$at_quiet $as_echo_n "115: $at_desc                                    "
+$at_quiet $as_echo_n "118: $at_desc                                    "
 at_xfail=no
 echo "#                             -*- compilation -*-" >> "$at_group_log"
 (
-  $as_echo "115. pax-big-10g.at:21: testing ..."
+  $as_echo "118. pax-big-10g.at:21: testing ..."
   $at_traceon
 
 
@@ -38342,4 +39276,4 @@ done
   $at_times_p && times >"$at_times_file"
 ) 5>&1 2>&1 | eval $at_tee_pipe
 at_status=`cat "$at_status_file"`
-#AT_STOP_115
+#AT_STOP_118