X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=tests%2Ftestsuite;h=89cc84e79c235710c25370a2a37d783e4ffc474d;hb=1a44d77d50f4fb37c0410eed04b82303624ea2ec;hp=f846810c31dddc8043d025c5ffcfa4e7e28255d1;hpb=22f1eb8bc17e5be72dd23d42d6aaa60196ac22e6;p=debian%2Ftar diff --git a/tests/testsuite b/tests/testsuite index f846810c..89cc84e7 100755 --- a/tests/testsuite +++ b/tests/testsuite @@ -621,11 +621,11 @@ 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' +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 119 120 121' # 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. -at_format='??' +at_format='???' # Description of all the test groups. at_help_all="1;version.at:19;tar version;; 2;pipe.at:30;decompressing from stdin;pipe; @@ -638,93 +638,116 @@ 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;exclude.at:23;exclude;exclude; -14;exclude01.at:17;exclude wildcards;exclude exclude01; -15;exclude02.at:17;exclude: anchoring;exclude exclude02; -16;exclude03.at:17;exclude: wildcards match slash;exclude exclude03; -17;exclude04.at:17;exclude: case insensitive;exclude exclude04; -18;exclude05.at:19;exclude: lots of excludes;exclude exclude05; -19;delete01.at:23;deleting a member after a big one;delete delete01; -20;delete02.at:23;deleting a member from stdin archive;delete delete02; -21;delete03.at:21;deleting members with long names;delete delete03; -22;delete04.at:23;deleting a large last member;delete delete04; -23;delete05.at:27;deleting non-existing member;delete delete05; -24;extrac01.at:23;extract over an existing directory;extract extract01; -25;extrac02.at:23;extracting symlinks over an existing file;extract extract02 symlink; -26;extrac03.at:23;extraction loops;extract extract03; -27;extrac04.at:23;extract + fnmatch;extract extract04 fnmatch; -28;extrac05.at:30;extracting selected members from pax;extract extract05; -29;extrac06.at:33;mode of extracted directories;extract extract06 directory mode; -30;extrac07.at:27;extracting symlinks to a read-only dir;extract extract07 read-only symlink; -31;extrac08.at:33;restoring mode on existing directory;extract extrac08; -32;label01.at:19;single-volume label;label label01; -33;label02.at:19;multi-volume label;label label02 multi-label multivolume multiv; -34;backup01.at:33;extracting existing dir with --backup;extract backup backup01; -35;gzip.at:23;gzip;gzip; -36;incremental.at:23;incremental;incremental incr00; -37;incr01.at:27;restore broken symlinks from incremental;incremental incr01; -38;incr02.at:32;restoring timestamps from incremental;incremental timestamp restore incr02; -39;listed01.at:26;--listed for individual files;listed incremental listed01; -40;listed02.at:28;working --listed;listed incremental listed02; -41;incr03.at:28;renamed files in incrementals;incremental incr03 rename; -42;incr04.at:29;proper icontents initialization;incremental incr04 icontents; -43;incr05.at:19;incremental dumps with -C;incremental incr05; -44;incr06.at:19;incremental dumps of nested directories;incremental incr06; -45;filerem01.at:34;file removed as we read it (ca. 22 seconds);create incremental filechange filerem filerem01; -46;filerem02.at:24;toplevel file removed (ca. 24 seconds);create incremental filechange filerem filerem02; -47;rename01.at:24;renamed dirs in incrementals;incremental rename rename01; -48;rename02.at:24;move between hierarchies;incremental rename rename02; -49;rename03.at:23;cyclic renames;incremental rename rename03 cyclic-rename; -50;rename04.at:27;renamed directory containing subdirectories;incremental rename04 rename; -51;rename05.at:24;renamed subdirectories;incremental rename05 rename; -52;chtype.at:27;changed file types in incrementals;incremental chtype; -53;ignfail.at:23;ignfail;ignfail; -54;link01.at:33;link count gt 2;hardlinks link01; -55;link02.at:32;preserve hard links with --remove-files;hardlinks link02; -56;link03.at:24;working -l with --remove-files;hardlinks link03; -57;longv7.at:24;long names in V7 archives;longname longv7; -58;long01.at:28;long file names divisible by block size;longname long512; -59;lustar01.at:21;ustar: unsplittable file name;longname ustar lustar01; -60;lustar02.at:21;ustar: unsplittable path name;longname ustar lustar02; -61;lustar03.at:21;ustar: splitting long names;longname ustar lustar03; -62;multiv01.at:23;multivolume dumps from pipes;multivolume multiv multiv01; -63;multiv02.at:28;skipping a straddling member;multivolume multiv multiv02; -64;multiv03.at:30;MV archive & long filenames;multivolume multiv multiv03; -65;multiv04.at:36;split directory members in a MV archive;multivolume multiv incremental multiv04; -66;multiv05.at:26;Restoring after an out of sync volume;multivolume multiv multiv05 sync; -67;multiv06.at:27;Multivolumes with L=record_size;multivolume multiv multiv06; -68;multiv07.at:26;volumes split at an extended header;multivolume multiv multiv07 xsplit; -69;old.at:23;old archives;old; -70;recurse.at:21;recurse;recurse; -71;same-order01.at:26;working -C with --same-order;same-order same-order01; -72;same-order02.at:25;multiple -C options;same-order same-order02; -73;shortrec.at:25;short records;shortrec; -74;sparse01.at:21;sparse files;sparse sparse01; -75;sparse02.at:21;extracting sparse file over a pipe;sparse sparse02; -76;sparse03.at:21;storing sparse files > 8G;sparse sparse03; -77;sparsemv.at:21;sparse files in MV archives;sparse multiv sparsemv; -78;spmvp00.at:21;sparse files in PAX MV archives, v.0.0;sparse multiv sparsemvp sparsemvp00; -79;spmvp01.at:21;sparse files in PAX MV archives, v.0.1;sparse multiv sparsemvp sparsemvp01; -80;spmvp10.at:21;sparse files in PAX MV archives, v.1.0;sparse multiv sparsemvp sparsemvp10; -81;update.at:28;update unchanged directories;update update00; -82;update01.at:29;update directories;update update01; -83;update02.at:26;update changed files;update update02; -84;volume.at:23;volume;volume volcheck; -85;volsize.at:29;volume header size;volume volsize; -86;comprec.at:21;compressed format recognition;comprec; -87;shortfile.at:26;short input files;shortfile shortfile0; -88;shortupd.at:29;updating short archives;shortfile shortfile1 shortupd; -89;truncate.at:29;truncate;truncate filechange; -90;grow.at:24;grow;grow filechange; -91;remfiles01.at:28;remove-files with compression;create remove-files remfiles01 gzip; -92;remfiles02.at:28;remove-files with compression: grand-child;create remove-files remfiles02 gzip; -93;gtarfail.at:21;gtarfail;star gtarfail; -94;gtarfail2.at:21;gtarfail2;star gtarfail2; -95;multi-fail.at:21;multi-fail;star multivolume multiv multi-fail; -96;ustar-big-2g.at:21;ustar-big-2g;star ustar-big-2g; -97;ustar-big-8g.at:21;ustar-big-8g;star ustar-big-8g; -98;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;listed04.at:24;--listed-incremental and --one-file-system;listed incremental listed04; +58;incr03.at:28;renamed files in incrementals;incremental incr03 rename; +59;incr04.at:29;proper icontents initialization;incremental incr04 icontents; +60;incr05.at:19;incremental dumps with -C;incremental incr05; +61;incr06.at:19;incremental dumps of nested directories;incremental incr06; +62;filerem01.at:34;file removed as we read it (ca. 22 seconds);create incremental filechange filerem filerem01; +63;filerem02.at:24;toplevel file removed (ca. 24 seconds);create incremental filechange filerem filerem02; +64;rename01.at:24;renamed dirs in incrementals;incremental rename rename01; +65;rename02.at:24;move between hierarchies;incremental rename rename02; +66;rename03.at:23;cyclic renames;incremental rename rename03 cyclic-rename; +67;rename04.at:27;renamed directory containing subdirectories;incremental rename04 rename; +68;rename05.at:24;renamed subdirectories;incremental rename05 rename; +69;chtype.at:27;changed file types in incrementals;incremental chtype; +70;ignfail.at:23;ignfail;ignfail; +71;link01.at:33;link count gt 2;hardlinks link01; +72;link02.at:32;preserve hard links with --remove-files;hardlinks link02; +73;link03.at:24;working -l with --remove-files;hardlinks link03; +74;link04.at:29;link count is 1 but multiple occurrences;hardlinks link04; +75;longv7.at:24;long names in V7 archives;longname longv7; +76;long01.at:28;long file names divisible by block size;longname long512; +77;lustar01.at:21;ustar: unsplittable file name;longname ustar lustar01; +78;lustar02.at:21;ustar: unsplittable path name;longname ustar lustar02; +79;lustar03.at:21;ustar: splitting long names;longname ustar lustar03; +80;multiv01.at:23;multivolume dumps from pipes;multivolume multiv multiv01; +81;multiv02.at:28;skipping a straddling member;multivolume multiv multiv02; +82;multiv03.at:30;MV archive & long filenames;multivolume multiv multiv03; +83;multiv04.at:36;split directory members in a MV archive;multivolume multiv incremental multiv04; +84;multiv05.at:26;Restoring after an out of sync volume;multivolume multiv multiv05 sync; +85;multiv06.at:27;Multivolumes with L=record_size;multivolume multiv multiv06; +86;multiv07.at:26;volumes split at an extended header;multivolume multiv multiv07 xsplit; +87;multiv08.at:23;multivolume header creation;multivolume multiv multiv08; +88;old.at:23;old archives;old; +89;recurse.at:21;recurse;recurse; +90;same-order01.at:26;working -C with --same-order;same-order same-order01; +91;same-order02.at:25;multiple -C options;same-order same-order02; +92;shortrec.at:25;short records;shortrec; +93;sparse01.at:21;sparse files;sparse sparse01; +94;sparse02.at:21;extracting sparse file over a pipe;sparse sparse02; +95;sparse03.at:21;storing sparse files > 8G;sparse sparse03; +96;sparse04.at:21;storing long sparse file names;sparse sparse04; +97;sparsemv.at:21;sparse files in MV archives;sparse multiv sparsemv; +98;spmvp00.at:21;sparse files in PAX MV archives, v.0.0;sparse multivolume multiv sparsemvp sparsemvp00; +99;spmvp01.at:21;sparse files in PAX MV archives, v.0.1;sparse multiv sparsemvp sparsemvp01; +100;spmvp10.at:21;sparse files in PAX MV archives, v.1.0;sparse multivolume multiv sparsemvp sparsemvp10; +101;update.at:28;update unchanged directories;update update00; +102;update01.at:29;update directories;update update01; +103;update02.at:26;update changed files;update update02; +104;verify.at:25;verify;verify; +105;volume.at:23;volume;volume volcheck; +106;volsize.at:29;volume header size;volume volsize; +107;comprec.at:21;compressed format recognition;comprec; +108;shortfile.at:26;short input files;shortfile shortfile0; +109;shortupd.at:29;updating short archives;shortfile shortfile1 shortupd; +110;truncate.at:29;truncate;truncate filechange; +111;grow.at:24;grow;grow filechange; +112;remfiles01.at:28;remove-files with compression;create remove-files remfiles01 gzip; +113;remfiles02.at:28;remove-files with compression: grand-child;create remove-files remfiles02 gzip; +114;remfiles03.at:28;remove-files with symbolic links;create remove-files remfiles03; +115;sigpipe.at:19;sigpipe handling;sigpipe; +116;gtarfail.at:21;gtarfail;star gtarfail; +117;gtarfail2.at:21;gtarfail2;star gtarfail2; +118;multi-fail.at:21;multi-fail;star multivolume multiv multi-fail; +119;ustar-big-2g.at:21;ustar-big-2g;star ustar-big-2g; +120;ustar-big-8g.at:21;ustar-big-8g;star ustar-big-8g; +121;pax-big-10g.at:21;pax-big-10g;star pax-big-10g; " # at_func_validate_ranges [NAME...] @@ -736,7 +759,7 @@ at_func_validate_ranges () for at_grp do eval at_value=\$$at_grp - if test $at_value -lt 1 || test $at_value -gt 98; then + if test $at_value -lt 1 || test $at_value -gt 121; then $as_echo "invalid test group: $at_value" >&2 exit 1 fi @@ -973,7 +996,7 @@ fi # List of tests. if $at_list_p; then cat <<_ATEOF || at_write_fail=1 -GNU tar 1.23 test suite test groups: +GNU tar 1.26 test suite test groups: NUM: FILE-NAME:LINE TEST-GROUP-NAME KEYWORDS @@ -1002,7 +1025,7 @@ _ATEOF exit $at_write_fail fi if $at_version_p; then - $as_echo "$as_me (GNU tar 1.23)" && + $as_echo "$as_me (GNU tar 1.26)" && cat <<\_ACEOF || at_write_fail=1 Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 @@ -1185,13 +1208,13 @@ exec 5>>"$at_suite_log" # Banners and logs. cat <<\_ASBOX ## ------------------------ ## -## GNU tar 1.23 test suite. ## +## GNU tar 1.26 test suite. ## ## ------------------------ ## _ASBOX { cat <<\_ASBOX ## ------------------------ ## -## GNU tar 1.23 test suite. ## +## GNU tar 1.26 test suite. ## ## ------------------------ ## _ASBOX echo @@ -1431,7 +1454,7 @@ IFS=$as_save_IFS if test -f "$as_dir/$at_program"; then { - $as_echo "$at_srcdir/testsuite.at:104: $as_dir/$at_program --version" + $as_echo "$at_srcdir/testsuite.at:112: $as_dir/$at_program --version" "$as_dir/$at_program" --version &5 2>&1 @@ -1923,7 +1946,7 @@ _ASBOX $as_echo "Please send \`${at_testdir+${at_testdir}/}$as_me.log' and all information you think might help: To: - Subject: [GNU tar 1.23] $as_me: $at_fail_list${at_fail_list:+ failed${at_xpass_list:+, }}$at_xpass_list${at_xpass_list:+ passed unexpectedly} + Subject: [GNU tar 1.26] $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 @@ -1965,7 +1988,7 @@ fi at_status=$? at_failed=false at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "tar (GNU tar) 1.23 +echo >>"$at_stdout"; $as_echo "tar (GNU tar) 1.26 " | \ $at_diff - "$at_stdout" || at_failed=: at_func_check_status 0 $at_status "$at_srcdir/version.at:21" @@ -2026,7 +2049,7 @@ genfile --length 10240 --pattern zeros --file directory/file1 genfile --length 13 --file directory/file2 tar cf archive directory mv directory orig -cat archive | tar xfv - | sort +cat archive | tar xfv - --warning=no-timestamp | sort echo \"separator\" cmp orig/file1 directory/file1 echo \"separator\" @@ -2053,7 +2076,7 @@ genfile --length 10240 --pattern zeros --file directory/file1 genfile --length 13 --file directory/file2 tar cf archive directory mv directory orig -cat archive | tar xfv - | sort +cat archive | tar xfv - --warning=no-timestamp | sort echo "separator" cmp orig/file1 directory/file1 echo "separator" @@ -2078,7 +2101,7 @@ genfile --length 10240 --pattern zeros --file directory/file1 genfile --length 13 --file directory/file2 tar cf archive directory mv directory orig -cat archive | tar xfv - | sort +cat archive | tar xfv - --warning=no-timestamp | sort echo "separator" cmp orig/file1 directory/file1 echo "separator" @@ -2118,7 +2141,7 @@ genfile --length 10240 --pattern zeros --file directory/file1 genfile --length 13 --file directory/file2 tar cf archive directory mv directory orig -cat archive | tar xfv - | sort +cat archive | tar xfv - --warning=no-timestamp | sort echo \"separator\" cmp orig/file1 directory/file1 echo \"separator\" @@ -2145,7 +2168,7 @@ genfile --length 10240 --pattern zeros --file directory/file1 genfile --length 13 --file directory/file2 tar cf archive directory mv directory orig -cat archive | tar xfv - | sort +cat archive | tar xfv - --warning=no-timestamp | sort echo "separator" cmp orig/file1 directory/file1 echo "separator" @@ -2170,7 +2193,7 @@ genfile --length 10240 --pattern zeros --file directory/file1 genfile --length 13 --file directory/file2 tar cf archive directory mv directory orig -cat archive | tar xfv - | sort +cat archive | tar xfv - --warning=no-timestamp | sort echo "separator" cmp orig/file1 directory/file1 echo "separator" @@ -2210,7 +2233,7 @@ genfile --length 10240 --pattern zeros --file directory/file1 genfile --length 13 --file directory/file2 tar cf archive directory mv directory orig -cat archive | tar xfv - | sort +cat archive | tar xfv - --warning=no-timestamp | sort echo \"separator\" cmp orig/file1 directory/file1 echo \"separator\" @@ -2237,7 +2260,7 @@ genfile --length 10240 --pattern zeros --file directory/file1 genfile --length 13 --file directory/file2 tar cf archive directory mv directory orig -cat archive | tar xfv - | sort +cat archive | tar xfv - --warning=no-timestamp | sort echo "separator" cmp orig/file1 directory/file1 echo "separator" @@ -2262,7 +2285,7 @@ genfile --length 10240 --pattern zeros --file directory/file1 genfile --length 13 --file directory/file2 tar cf archive directory mv directory orig -cat archive | tar xfv - | sort +cat archive | tar xfv - --warning=no-timestamp | sort echo "separator" cmp orig/file1 directory/file1 echo "separator" @@ -2302,7 +2325,7 @@ genfile --length 10240 --pattern zeros --file directory/file1 genfile --length 13 --file directory/file2 tar cf archive directory mv directory orig -cat archive | tar xfv - | sort +cat archive | tar xfv - --warning=no-timestamp | sort echo \"separator\" cmp orig/file1 directory/file1 echo \"separator\" @@ -2329,7 +2352,7 @@ genfile --length 10240 --pattern zeros --file directory/file1 genfile --length 13 --file directory/file2 tar cf archive directory mv directory orig -cat archive | tar xfv - | sort +cat archive | tar xfv - --warning=no-timestamp | sort echo "separator" cmp orig/file1 directory/file1 echo "separator" @@ -2354,7 +2377,7 @@ genfile --length 10240 --pattern zeros --file directory/file1 genfile --length 13 --file directory/file2 tar cf archive directory mv directory orig -cat archive | tar xfv - | sort +cat archive | tar xfv - --warning=no-timestamp | sort echo "separator" cmp orig/file1 directory/file1 echo "separator" @@ -2394,7 +2417,7 @@ genfile --length 10240 --pattern zeros --file directory/file1 genfile --length 13 --file directory/file2 tar cf archive directory mv directory orig -cat archive | tar xfv - | sort +cat archive | tar xfv - --warning=no-timestamp | sort echo \"separator\" cmp orig/file1 directory/file1 echo \"separator\" @@ -2421,7 +2444,7 @@ genfile --length 10240 --pattern zeros --file directory/file1 genfile --length 13 --file directory/file2 tar cf archive directory mv directory orig -cat archive | tar xfv - | sort +cat archive | tar xfv - --warning=no-timestamp | sort echo "separator" cmp orig/file1 directory/file1 echo "separator" @@ -2446,7 +2469,7 @@ genfile --length 10240 --pattern zeros --file directory/file1 genfile --length 13 --file directory/file2 tar cf archive directory mv directory orig -cat archive | tar xfv - | sort +cat archive | tar xfv - --warning=no-timestamp | sort echo "separator" cmp orig/file1 directory/file1 echo "separator" @@ -4813,15 +4836,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 @@ -5388,21 +5827,106 @@ $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. exclude.at:23: exclude +#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 " 14: $at_desc " +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "14. xform01.at:26: testing ..." + $at_traceon + + + + + + { $at_traceoff +$as_echo "$at_srcdir/xform01.at:29: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H gnu\" +export TAR_OPTIONS +rm -rf * + +genfile --file file +tar -cf archive.tar -V /label/ file +tar tf archive.tar +)" +echo xform01.at:29 >"$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 +tar -cf archive.tar -V /label/ file +tar tf archive.tar +) ) >"$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 +tar -cf archive.tar -V /label/ file +tar tf archive.tar +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "/label/ +file +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/xform01.at:29" + +$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_14 +#AT_START_15 +# 15. exclude.at:23: exclude at_setup_line='exclude.at:23' at_desc="exclude" -$at_quiet $as_echo_n " 13: $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 "13. exclude.at:23: testing ..." + $as_echo "15. exclude.at:23: testing ..." $at_traceon @@ -5659,17 +6183,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. 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 " 14: $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 "14. exclude01.at:17: testing ..." + $as_echo "16. exclude01.at:17: testing ..." $at_traceon @@ -6493,17 +7017,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. 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 " 15: $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 "15. exclude02.at:17: testing ..." + $as_echo "17. exclude02.at:17: testing ..." $at_traceon @@ -7407,17 +7931,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. 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 " 16: $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 "16. exclude03.at:17: testing ..." + $as_echo "18. exclude03.at:17: testing ..." $at_traceon @@ -8261,17 +8785,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. 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 " 17: $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 "17. exclude04.at:17: testing ..." + $as_echo "19. exclude04.at:17: testing ..." $at_traceon @@ -9145,17 +9669,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. 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 " 18: $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 "18. exclude05.at:19: testing ..." + $as_echo "20. exclude05.at:19: testing ..." $at_traceon @@ -9829,17 +10353,119 @@ $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. delete01.at:23: deleting a member after a big one +#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 " 21: $at_desc " +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "21. exclude06.at:24: testing ..." + $at_traceon + + + + + + + + { $at_traceoff +$as_echo "$at_srcdir/exclude06.at:29: +mkdir pax +(cd pax +TEST_TAR_FORMAT=pax +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H pax\" +export TAR_OPTIONS +rm -rf * + + +install-sh -d one/two/three/four/five/six/seven/eight/nine/ten/eleven/twelve/thirteen/fourteen/fifteen/sixteen/seventeen >/dev/null || exit 77 +genfile --length 20 -f one/two/three/four/five/six/seven/eight/nine/ten/eleven/twelve/thirteen/fourteen/fifteen/sixteen/seventeen/1.txt +genfile --length 20 -f one/two/three/four/five/six/seven/eight/nine/ten/eleven/twelve/thirteen/fourteen/fifteen/sixteen/seventeen/1.c + +tar cf archive.tar one/two/three/four/five/six/seven/eight/nine/ten/eleven/twelve/thirteen/fourteen/fifteen/sixteen/seventeen +mkdir out +tar -C out -xf archive.tar --exclude='*.txt' --warning=no-timestamp +find out -type f +)" +echo exclude06.at:29 >"$at_check_line_file" + +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; +mkdir pax +(cd pax +TEST_TAR_FORMAT=pax +export TEST_TAR_FORMAT +TAR_OPTIONS="-H pax" +export TAR_OPTIONS +rm -rf * + + +install-sh -d one/two/three/four/five/six/seven/eight/nine/ten/eleven/twelve/thirteen/fourteen/fifteen/sixteen/seventeen >/dev/null || exit 77 +genfile --length 20 -f one/two/three/four/five/six/seven/eight/nine/ten/eleven/twelve/thirteen/fourteen/fifteen/sixteen/seventeen/1.txt +genfile --length 20 -f one/two/three/four/five/six/seven/eight/nine/ten/eleven/twelve/thirteen/fourteen/fifteen/sixteen/seventeen/1.c + +tar cf archive.tar one/two/three/four/five/six/seven/eight/nine/ten/eleven/twelve/thirteen/fourteen/fifteen/sixteen/seventeen +mkdir out +tar -C out -xf archive.tar --exclude='*.txt' --warning=no-timestamp +find out -type f +) ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; +mkdir pax +(cd pax +TEST_TAR_FORMAT=pax +export TEST_TAR_FORMAT +TAR_OPTIONS="-H pax" +export TAR_OPTIONS +rm -rf * + + +install-sh -d one/two/three/four/five/six/seven/eight/nine/ten/eleven/twelve/thirteen/fourteen/fifteen/sixteen/seventeen >/dev/null || exit 77 +genfile --length 20 -f one/two/three/four/five/six/seven/eight/nine/ten/eleven/twelve/thirteen/fourteen/fifteen/sixteen/seventeen/1.txt +genfile --length 20 -f one/two/three/four/five/six/seven/eight/nine/ten/eleven/twelve/thirteen/fourteen/fifteen/sixteen/seventeen/1.c + +tar cf archive.tar one/two/three/four/five/six/seven/eight/nine/ten/eleven/twelve/thirteen/fourteen/fifteen/sixteen/seventeen +mkdir out +tar -C out -xf archive.tar --exclude='*.txt' --warning=no-timestamp +find out -type f +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "out/one/two/three/four/five/six/seven/eight/nine/ten/eleven/twelve/thirteen/fourteen/fifteen/sixteen/seventeen/1.c +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/exclude06.at:29" + +$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_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 " 19: $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 "19. delete01.at:23: testing ..." + $as_echo "22. delete01.at:23: testing ..." $at_traceon @@ -10158,17 +10784,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. 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 " 20: $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 "20. delete02.at:23: testing ..." + $as_echo "23. delete02.at:23: testing ..." $at_traceon @@ -10557,17 +11183,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. 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 " 21: $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 "21. delete03.at:21: testing ..." + $as_echo "24. delete03.at:21: testing ..." $at_traceon @@ -10832,17 +11458,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. 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 " 22: $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 "22. delete04.at:23: testing ..." + $as_echo "25. delete04.at:23: testing ..." $at_traceon @@ -11336,17 +11962,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. 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 " 23: $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 "23. delete05.at:27: testing ..." + $as_echo "26. delete05.at:27: testing ..." $at_traceon @@ -11745,17 +12371,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. 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 " 24: $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 "24. extrac01.at:23: testing ..." + $as_echo "27. extrac01.at:23: testing ..." $at_traceon @@ -11775,7 +12401,7 @@ rm -rf * mkdir directory touch directory/file tar cf archive directory || exit 1 -tar xf archive || exit 1 +tar xf archive --warning=no-timestamp || exit 1 )" echo extrac01.at:26 >"$at_check_line_file" @@ -11793,7 +12419,7 @@ rm -rf * mkdir directory touch directory/file tar cf archive directory || exit 1 -tar xf archive || exit 1 +tar xf archive --warning=no-timestamp || exit 1 ) ) >"$at_stdout" 2>"$at_stder1" at_func_filter_trace $? else @@ -11809,7 +12435,7 @@ rm -rf * mkdir directory touch directory/file tar cf archive directory || exit 1 -tar xf archive || exit 1 +tar xf archive --warning=no-timestamp || exit 1 ) ) >"$at_stdout" 2>"$at_stderr" fi at_status=$? @@ -11834,7 +12460,7 @@ rm -rf * mkdir directory touch directory/file tar cf archive directory || exit 1 -tar xf archive || exit 1 +tar xf archive --warning=no-timestamp || exit 1 )" echo extrac01.at:26 >"$at_check_line_file" @@ -11852,7 +12478,7 @@ rm -rf * mkdir directory touch directory/file tar cf archive directory || exit 1 -tar xf archive || exit 1 +tar xf archive --warning=no-timestamp || exit 1 ) ) >"$at_stdout" 2>"$at_stder1" at_func_filter_trace $? else @@ -11868,7 +12494,7 @@ rm -rf * mkdir directory touch directory/file tar cf archive directory || exit 1 -tar xf archive || exit 1 +tar xf archive --warning=no-timestamp || exit 1 ) ) >"$at_stdout" 2>"$at_stderr" fi at_status=$? @@ -11893,7 +12519,7 @@ rm -rf * mkdir directory touch directory/file tar cf archive directory || exit 1 -tar xf archive || exit 1 +tar xf archive --warning=no-timestamp || exit 1 )" echo extrac01.at:26 >"$at_check_line_file" @@ -11911,7 +12537,7 @@ rm -rf * mkdir directory touch directory/file tar cf archive directory || exit 1 -tar xf archive || exit 1 +tar xf archive --warning=no-timestamp || exit 1 ) ) >"$at_stdout" 2>"$at_stder1" at_func_filter_trace $? else @@ -11927,7 +12553,7 @@ rm -rf * mkdir directory touch directory/file tar cf archive directory || exit 1 -tar xf archive || exit 1 +tar xf archive --warning=no-timestamp || exit 1 ) ) >"$at_stdout" 2>"$at_stderr" fi at_status=$? @@ -11952,7 +12578,7 @@ rm -rf * mkdir directory touch directory/file tar cf archive directory || exit 1 -tar xf archive || exit 1 +tar xf archive --warning=no-timestamp || exit 1 )" echo extrac01.at:26 >"$at_check_line_file" @@ -11970,7 +12596,7 @@ rm -rf * mkdir directory touch directory/file tar cf archive directory || exit 1 -tar xf archive || exit 1 +tar xf archive --warning=no-timestamp || exit 1 ) ) >"$at_stdout" 2>"$at_stder1" at_func_filter_trace $? else @@ -11986,7 +12612,7 @@ rm -rf * mkdir directory touch directory/file tar cf archive directory || exit 1 -tar xf archive || exit 1 +tar xf archive --warning=no-timestamp || exit 1 ) ) >"$at_stdout" 2>"$at_stderr" fi at_status=$? @@ -12011,7 +12637,7 @@ rm -rf * mkdir directory touch directory/file tar cf archive directory || exit 1 -tar xf archive || exit 1 +tar xf archive --warning=no-timestamp || exit 1 )" echo extrac01.at:26 >"$at_check_line_file" @@ -12029,7 +12655,7 @@ rm -rf * mkdir directory touch directory/file tar cf archive directory || exit 1 -tar xf archive || exit 1 +tar xf archive --warning=no-timestamp || exit 1 ) ) >"$at_stdout" 2>"$at_stder1" at_func_filter_trace $? else @@ -12045,7 +12671,7 @@ rm -rf * mkdir directory touch directory/file tar cf archive directory || exit 1 -tar xf archive || exit 1 +tar xf archive --warning=no-timestamp || exit 1 ) ) >"$at_stdout" 2>"$at_stderr" fi at_status=$? @@ -12064,17 +12690,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. 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 " 25: $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 "25. extrac02.at:23: testing ..." + $as_echo "28. extrac02.at:23: testing ..." $at_traceon @@ -12415,17 +13041,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. 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 " 26: $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 "26. extrac03.at:23: testing ..." + $as_echo "29. extrac03.at:23: testing ..." $at_traceon @@ -12445,7 +13071,7 @@ rm -rf * mkdir directory tar -cPvf archive directory/../directory echo separator -tar -xPvf archive)" +tar -xPvf archive --warning=no-timestamp)" echo extrac03.at:26 >"$at_check_line_file" if { echo 'Not enabling shell tracing (command contains an embedded newline)' @@ -12462,7 +13088,7 @@ rm -rf * mkdir directory tar -cPvf archive directory/../directory echo separator -tar -xPvf archive) ) >"$at_stdout" 2>"$at_stder1" +tar -xPvf archive --warning=no-timestamp) ) >"$at_stdout" 2>"$at_stder1" at_func_filter_trace $? else ( :; @@ -12477,7 +13103,7 @@ rm -rf * mkdir directory tar -cPvf archive directory/../directory echo separator -tar -xPvf archive) ) >"$at_stdout" 2>"$at_stderr" +tar -xPvf archive --warning=no-timestamp) ) >"$at_stdout" 2>"$at_stderr" fi at_status=$? at_failed=false @@ -12505,7 +13131,7 @@ rm -rf * mkdir directory tar -cPvf archive directory/../directory echo separator -tar -xPvf archive)" +tar -xPvf archive --warning=no-timestamp)" echo extrac03.at:26 >"$at_check_line_file" if { echo 'Not enabling shell tracing (command contains an embedded newline)' @@ -12522,7 +13148,7 @@ rm -rf * mkdir directory tar -cPvf archive directory/../directory echo separator -tar -xPvf archive) ) >"$at_stdout" 2>"$at_stder1" +tar -xPvf archive --warning=no-timestamp) ) >"$at_stdout" 2>"$at_stder1" at_func_filter_trace $? else ( :; @@ -12537,7 +13163,7 @@ rm -rf * mkdir directory tar -cPvf archive directory/../directory echo separator -tar -xPvf archive) ) >"$at_stdout" 2>"$at_stderr" +tar -xPvf archive --warning=no-timestamp) ) >"$at_stdout" 2>"$at_stderr" fi at_status=$? at_failed=false @@ -12565,7 +13191,7 @@ rm -rf * mkdir directory tar -cPvf archive directory/../directory echo separator -tar -xPvf archive)" +tar -xPvf archive --warning=no-timestamp)" echo extrac03.at:26 >"$at_check_line_file" if { echo 'Not enabling shell tracing (command contains an embedded newline)' @@ -12582,7 +13208,7 @@ rm -rf * mkdir directory tar -cPvf archive directory/../directory echo separator -tar -xPvf archive) ) >"$at_stdout" 2>"$at_stder1" +tar -xPvf archive --warning=no-timestamp) ) >"$at_stdout" 2>"$at_stder1" at_func_filter_trace $? else ( :; @@ -12597,7 +13223,7 @@ rm -rf * mkdir directory tar -cPvf archive directory/../directory echo separator -tar -xPvf archive) ) >"$at_stdout" 2>"$at_stderr" +tar -xPvf archive --warning=no-timestamp) ) >"$at_stdout" 2>"$at_stderr" fi at_status=$? at_failed=false @@ -12625,7 +13251,7 @@ rm -rf * mkdir directory tar -cPvf archive directory/../directory echo separator -tar -xPvf archive)" +tar -xPvf archive --warning=no-timestamp)" echo extrac03.at:26 >"$at_check_line_file" if { echo 'Not enabling shell tracing (command contains an embedded newline)' @@ -12642,7 +13268,7 @@ rm -rf * mkdir directory tar -cPvf archive directory/../directory echo separator -tar -xPvf archive) ) >"$at_stdout" 2>"$at_stder1" +tar -xPvf archive --warning=no-timestamp) ) >"$at_stdout" 2>"$at_stder1" at_func_filter_trace $? else ( :; @@ -12657,7 +13283,7 @@ rm -rf * mkdir directory tar -cPvf archive directory/../directory echo separator -tar -xPvf archive) ) >"$at_stdout" 2>"$at_stderr" +tar -xPvf archive --warning=no-timestamp) ) >"$at_stdout" 2>"$at_stderr" fi at_status=$? at_failed=false @@ -12685,7 +13311,7 @@ rm -rf * mkdir directory tar -cPvf archive directory/../directory echo separator -tar -xPvf archive)" +tar -xPvf archive --warning=no-timestamp)" echo extrac03.at:26 >"$at_check_line_file" if { echo 'Not enabling shell tracing (command contains an embedded newline)' @@ -12702,7 +13328,7 @@ rm -rf * mkdir directory tar -cPvf archive directory/../directory echo separator -tar -xPvf archive) ) >"$at_stdout" 2>"$at_stder1" +tar -xPvf archive --warning=no-timestamp) ) >"$at_stdout" 2>"$at_stder1" at_func_filter_trace $? else ( :; @@ -12717,7 +13343,7 @@ rm -rf * mkdir directory tar -cPvf archive directory/../directory echo separator -tar -xPvf archive) ) >"$at_stdout" 2>"$at_stderr" +tar -xPvf archive --warning=no-timestamp) ) >"$at_stdout" 2>"$at_stderr" fi at_status=$? at_failed=false @@ -12739,17 +13365,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. 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 " 27: $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 "27. extrac04.at:23: testing ..." + $as_echo "30. extrac04.at:23: testing ..." $at_traceon @@ -13243,17 +13869,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. 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 " 28: $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 "28. extrac05.at:30: testing ..." + $as_echo "31. extrac05.at:30: testing ..." $at_traceon @@ -13287,7 +13913,7 @@ tar cf archive jeden dwa trzy cztery || exit 1 mkdir dir cd dir -tar xvfT ../archive ../../list || exit 1 +tar xvfT ../archive ../../list --warning=no-timestamp || exit 1 cd .. )" @@ -13315,7 +13941,7 @@ tar cf archive jeden dwa trzy cztery || exit 1 mkdir dir cd dir -tar xvfT ../archive ../../list || exit 1 +tar xvfT ../archive ../../list --warning=no-timestamp || exit 1 cd .. ) ) >"$at_stdout" 2>"$at_stder1" @@ -13341,7 +13967,7 @@ tar cf archive jeden dwa trzy cztery || exit 1 mkdir dir cd dir -tar xvfT ../archive ../../list || exit 1 +tar xvfT ../archive ../../list --warning=no-timestamp || exit 1 cd .. ) ) >"$at_stdout" 2>"$at_stderr" @@ -13365,17 +13991,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. 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 " 29: $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 "29. extrac06.at:33: testing ..." + $as_echo "32. extrac06.at:33: testing ..." $at_traceon @@ -13412,10 +14038,10 @@ chmod 755 directory genfile --stat=mode:777 directory # ... and attempt to restore it twice -tar xf arc directory +tar xf arc directory --warning=no-timestamp genfile --stat=mode:777 directory -tar xf arc directory +tar xf arc directory --warning=no-timestamp genfile --stat=mode:777 directory # After both restores, the directory mode should be 755 @@ -13453,10 +14079,10 @@ chmod 755 directory genfile --stat=mode:777 directory # ... and attempt to restore it twice -tar xf arc directory +tar xf arc directory --warning=no-timestamp genfile --stat=mode:777 directory -tar xf arc directory +tar xf arc directory --warning=no-timestamp genfile --stat=mode:777 directory # After both restores, the directory mode should be 755 @@ -13492,10 +14118,10 @@ chmod 755 directory genfile --stat=mode:777 directory # ... and attempt to restore it twice -tar xf arc directory +tar xf arc directory --warning=no-timestamp genfile --stat=mode:777 directory -tar xf arc directory +tar xf arc directory --warning=no-timestamp genfile --stat=mode:777 directory # After both restores, the directory mode should be 755 @@ -13545,10 +14171,10 @@ chmod 755 directory genfile --stat=mode:777 directory # ... and attempt to restore it twice -tar xf arc directory +tar xf arc directory --warning=no-timestamp genfile --stat=mode:777 directory -tar xf arc directory +tar xf arc directory --warning=no-timestamp genfile --stat=mode:777 directory # After both restores, the directory mode should be 755 @@ -13586,10 +14212,10 @@ chmod 755 directory genfile --stat=mode:777 directory # ... and attempt to restore it twice -tar xf arc directory +tar xf arc directory --warning=no-timestamp genfile --stat=mode:777 directory -tar xf arc directory +tar xf arc directory --warning=no-timestamp genfile --stat=mode:777 directory # After both restores, the directory mode should be 755 @@ -13625,10 +14251,10 @@ chmod 755 directory genfile --stat=mode:777 directory # ... and attempt to restore it twice -tar xf arc directory +tar xf arc directory --warning=no-timestamp genfile --stat=mode:777 directory -tar xf arc directory +tar xf arc directory --warning=no-timestamp genfile --stat=mode:777 directory # After both restores, the directory mode should be 755 @@ -13678,10 +14304,10 @@ chmod 755 directory genfile --stat=mode:777 directory # ... and attempt to restore it twice -tar xf arc directory +tar xf arc directory --warning=no-timestamp genfile --stat=mode:777 directory -tar xf arc directory +tar xf arc directory --warning=no-timestamp genfile --stat=mode:777 directory # After both restores, the directory mode should be 755 @@ -13719,10 +14345,10 @@ chmod 755 directory genfile --stat=mode:777 directory # ... and attempt to restore it twice -tar xf arc directory +tar xf arc directory --warning=no-timestamp genfile --stat=mode:777 directory -tar xf arc directory +tar xf arc directory --warning=no-timestamp genfile --stat=mode:777 directory # After both restores, the directory mode should be 755 @@ -13758,10 +14384,10 @@ chmod 755 directory genfile --stat=mode:777 directory # ... and attempt to restore it twice -tar xf arc directory +tar xf arc directory --warning=no-timestamp genfile --stat=mode:777 directory -tar xf arc directory +tar xf arc directory --warning=no-timestamp genfile --stat=mode:777 directory # After both restores, the directory mode should be 755 @@ -13811,10 +14437,10 @@ chmod 755 directory genfile --stat=mode:777 directory # ... and attempt to restore it twice -tar xf arc directory +tar xf arc directory --warning=no-timestamp genfile --stat=mode:777 directory -tar xf arc directory +tar xf arc directory --warning=no-timestamp genfile --stat=mode:777 directory # After both restores, the directory mode should be 755 @@ -13852,10 +14478,10 @@ chmod 755 directory genfile --stat=mode:777 directory # ... and attempt to restore it twice -tar xf arc directory +tar xf arc directory --warning=no-timestamp genfile --stat=mode:777 directory -tar xf arc directory +tar xf arc directory --warning=no-timestamp genfile --stat=mode:777 directory # After both restores, the directory mode should be 755 @@ -13891,10 +14517,10 @@ chmod 755 directory genfile --stat=mode:777 directory # ... and attempt to restore it twice -tar xf arc directory +tar xf arc directory --warning=no-timestamp genfile --stat=mode:777 directory -tar xf arc directory +tar xf arc directory --warning=no-timestamp genfile --stat=mode:777 directory # After both restores, the directory mode should be 755 @@ -13944,10 +14570,10 @@ chmod 755 directory genfile --stat=mode:777 directory # ... and attempt to restore it twice -tar xf arc directory +tar xf arc directory --warning=no-timestamp genfile --stat=mode:777 directory -tar xf arc directory +tar xf arc directory --warning=no-timestamp genfile --stat=mode:777 directory # After both restores, the directory mode should be 755 @@ -13985,10 +14611,10 @@ chmod 755 directory genfile --stat=mode:777 directory # ... and attempt to restore it twice -tar xf arc directory +tar xf arc directory --warning=no-timestamp genfile --stat=mode:777 directory -tar xf arc directory +tar xf arc directory --warning=no-timestamp genfile --stat=mode:777 directory # After both restores, the directory mode should be 755 @@ -14024,10 +14650,10 @@ chmod 755 directory genfile --stat=mode:777 directory # ... and attempt to restore it twice -tar xf arc directory +tar xf arc directory --warning=no-timestamp genfile --stat=mode:777 directory -tar xf arc directory +tar xf arc directory --warning=no-timestamp genfile --stat=mode:777 directory # After both restores, the directory mode should be 755 @@ -14054,17 +14680,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. 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 " 30: $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 "30. extrac07.at:27: testing ..." + $as_echo "33. extrac07.at:27: testing ..." $at_traceon @@ -14073,21 +14699,30 @@ echo "# -*- compilation -*-" >> "$at_group_log" { $at_traceoff $as_echo "$at_srcdir/extrac07.at:30: -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H v7\" +TAR_OPTIONS=\"-H ustar\" export TAR_OPTIONS rm -rf * + +echo "test" > $$ +chmod 0 $$ +cat $$ > /dev/null 2>&1 +result=$? +rm -f $$ +test $result -eq 0 && exit 77 + + echo Prepare the directory mkdir dir genfile -f foo cd dir ln -s ../foo . cd .. -chmod -w dir +chmod a-w dir echo Create the archive tar cf archive dir || exit 1 @@ -14103,21 +14738,30 @@ echo extrac07.at:30 >"$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 +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT -TAR_OPTIONS="-H v7" +TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * + +echo "test" > $$ +chmod 0 $$ +cat $$ > /dev/null 2>&1 +result=$? +rm -f $$ +test $result -eq 0 && exit 77 + + echo Prepare the directory mkdir dir genfile -f foo cd dir ln -s ../foo . cd .. -chmod -w dir +chmod a-w dir echo Create the archive tar cf archive dir || exit 1 @@ -14131,21 +14775,30 @@ tar -C out -xvf archive at_func_filter_trace $? else ( :; -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT -TAR_OPTIONS="-H v7" +TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * + +echo "test" > $$ +chmod 0 $$ +cat $$ > /dev/null 2>&1 +result=$? +rm -f $$ +test $result -eq 0 && exit 77 + + echo Prepare the directory mkdir dir genfile -f foo cd dir ln -s ../foo . cd .. -chmod -w dir +chmod a-w dir echo Create the archive tar cf archive dir || exit 1 @@ -14168,17 +14821,111 @@ dir/foo " | \ $at_diff - "$at_stdout" || at_failed=: at_func_check_status 0 $at_status "$at_srcdir/extrac07.at:30" -if $at_failed; then - : + +$at_failed && at_func_log_failure +$at_traceon; } + + + # Testing one format is enough + + $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_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 " 34: $at_desc " +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "34. extrac08.at:33: testing ..." + $at_traceon + + + + + + { $at_traceoff +$as_echo "$at_srcdir/extrac08.at:36: +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H v7\" +export TAR_OPTIONS +rm -rf * + +umask 000 +mkdir dir +chmod 755 dir +echo bla > dir/file +tar cf test.tar dir +chmod 700 dir +tar xfv test.tar --warning=no-timestamp +genfile --stat=mode.777 dir +)" +echo extrac08.at:36 >"$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 * + +umask 000 +mkdir dir +chmod 755 dir +echo bla > dir/file +tar cf test.tar dir +chmod 700 dir +tar xfv test.tar --warning=no-timestamp +genfile --stat=mode.777 dir +) ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? else - ustar + ( :; +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 +export TEST_TAR_FORMAT +TAR_OPTIONS="-H v7" +export TAR_OPTIONS +rm -rf * + +umask 000 +mkdir dir +chmod 755 dir +echo bla > dir/file +tar cf test.tar dir +chmod 700 dir +tar xfv test.tar --warning=no-timestamp +genfile --stat=mode.777 dir +) ) >"$at_stdout" 2>"$at_stderr" fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "dir/ +dir/file +755 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/extrac08.at:36" $at_failed && at_func_log_failure $at_traceon; } { $at_traceoff -$as_echo "$at_srcdir/extrac07.at:30: +$as_echo "$at_srcdir/extrac08.at:36: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -14187,24 +14934,16 @@ TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * -echo Prepare the directory +umask 000 mkdir dir -genfile -f foo -cd dir -ln -s ../foo . -cd .. -chmod -w dir - -echo Create the archive -tar cf archive dir || exit 1 - -chmod +w dir - -echo Extract -mkdir out -tar -C out -xvf archive +chmod 755 dir +echo bla > dir/file +tar cf test.tar dir +chmod 700 dir +tar xfv test.tar --warning=no-timestamp +genfile --stat=mode.777 dir )" -echo extrac07.at:30 >"$at_check_line_file" +echo extrac08.at:36 >"$at_check_line_file" if { echo 'Not enabling shell tracing (command contains an embedded newline)' false; }; then @@ -14217,22 +14956,14 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * -echo Prepare the directory +umask 000 mkdir dir -genfile -f foo -cd dir -ln -s ../foo . -cd .. -chmod -w dir - -echo Create the archive -tar cf archive dir || exit 1 - -chmod +w dir - -echo Extract -mkdir out -tar -C out -xvf archive +chmod 755 dir +echo bla > dir/file +tar cf test.tar dir +chmod 700 dir +tar xfv test.tar --warning=no-timestamp +genfile --stat=mode.777 dir ) ) >"$at_stdout" 2>"$at_stder1" at_func_filter_trace $? else @@ -14245,46 +14976,31 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * -echo Prepare the directory +umask 000 mkdir dir -genfile -f foo -cd dir -ln -s ../foo . -cd .. -chmod -w dir - -echo Create the archive -tar cf archive dir || exit 1 - -chmod +w dir - -echo Extract -mkdir out -tar -C out -xvf archive +chmod 755 dir +echo bla > dir/file +tar cf test.tar dir +chmod 700 dir +tar xfv test.tar --warning=no-timestamp +genfile --stat=mode.777 dir ) ) >"$at_stdout" 2>"$at_stderr" fi at_status=$? at_failed=false at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "Prepare the directory -Create the archive -Extract -dir/ -dir/foo +echo >>"$at_stdout"; $as_echo "dir/ +dir/file +755 " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/extrac07.at:30" -if $at_failed; then - : -else - ustar -fi +at_func_check_status 0 $at_status "$at_srcdir/extrac08.at:36" $at_failed && at_func_log_failure $at_traceon; } { $at_traceoff -$as_echo "$at_srcdir/extrac07.at:30: +$as_echo "$at_srcdir/extrac08.at:36: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -14293,24 +15009,16 @@ TAR_OPTIONS=\"-H ustar\" export TAR_OPTIONS rm -rf * -echo Prepare the directory +umask 000 mkdir dir -genfile -f foo -cd dir -ln -s ../foo . -cd .. -chmod -w dir - -echo Create the archive -tar cf archive dir || exit 1 - -chmod +w dir - -echo Extract -mkdir out -tar -C out -xvf archive +chmod 755 dir +echo bla > dir/file +tar cf test.tar dir +chmod 700 dir +tar xfv test.tar --warning=no-timestamp +genfile --stat=mode.777 dir )" -echo extrac07.at:30 >"$at_check_line_file" +echo extrac08.at:36 >"$at_check_line_file" if { echo 'Not enabling shell tracing (command contains an embedded newline)' false; }; then @@ -14323,22 +15031,14 @@ TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * -echo Prepare the directory +umask 000 mkdir dir -genfile -f foo -cd dir -ln -s ../foo . -cd .. -chmod -w dir - -echo Create the archive -tar cf archive dir || exit 1 - -chmod +w dir - -echo Extract -mkdir out -tar -C out -xvf archive +chmod 755 dir +echo bla > dir/file +tar cf test.tar dir +chmod 700 dir +tar xfv test.tar --warning=no-timestamp +genfile --stat=mode.777 dir ) ) >"$at_stdout" 2>"$at_stder1" at_func_filter_trace $? else @@ -14351,152 +15051,1128 @@ TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * -echo Prepare the directory +umask 000 mkdir dir -genfile -f foo -cd dir -ln -s ../foo . -cd .. -chmod -w dir +chmod 755 dir +echo bla > dir/file +tar cf test.tar dir +chmod 700 dir +tar xfv test.tar --warning=no-timestamp +genfile --stat=mode.777 dir +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "dir/ +dir/file +755 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/extrac08.at:36" -echo Create the archive -tar cf archive dir || exit 1 +$at_failed && at_func_log_failure +$at_traceon; } -chmod +w dir + { $at_traceoff +$as_echo "$at_srcdir/extrac08.at:36: +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H posix\" +export TAR_OPTIONS +rm -rf * -echo Extract -mkdir out -tar -C out -xvf archive +umask 000 +mkdir dir +chmod 755 dir +echo bla > dir/file +tar cf test.tar dir +chmod 700 dir +tar xfv test.tar --warning=no-timestamp +genfile --stat=mode.777 dir +)" +echo extrac08.at:36 >"$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 * + +umask 000 +mkdir dir +chmod 755 dir +echo bla > dir/file +tar cf test.tar dir +chmod 700 dir +tar xfv test.tar --warning=no-timestamp +genfile --stat=mode.777 dir +) ) >"$at_stdout" 2>"$at_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 * + +umask 000 +mkdir dir +chmod 755 dir +echo bla > dir/file +tar cf test.tar dir +chmod 700 dir +tar xfv test.tar --warning=no-timestamp +genfile --stat=mode.777 dir ) ) >"$at_stdout" 2>"$at_stderr" fi at_status=$? at_failed=false at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "Prepare the directory -Create the archive -Extract -dir/ -dir/foo +echo >>"$at_stdout"; $as_echo "dir/ +dir/file +755 " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/extrac07.at:30" -if $at_failed; then - : +at_func_check_status 0 $at_status "$at_srcdir/extrac08.at:36" + +$at_failed && at_func_log_failure +$at_traceon; } + + { $at_traceoff +$as_echo "$at_srcdir/extrac08.at:36: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H gnu\" +export TAR_OPTIONS +rm -rf * + +umask 000 +mkdir dir +chmod 755 dir +echo bla > dir/file +tar cf test.tar dir +chmod 700 dir +tar xfv test.tar --warning=no-timestamp +genfile --stat=mode.777 dir +)" +echo extrac08.at:36 >"$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 * + +umask 000 +mkdir dir +chmod 755 dir +echo bla > dir/file +tar cf test.tar dir +chmod 700 dir +tar xfv test.tar --warning=no-timestamp +genfile --stat=mode.777 dir +) ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? else - ustar + ( :; +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H gnu" +export TAR_OPTIONS +rm -rf * + +umask 000 +mkdir dir +chmod 755 dir +echo bla > dir/file +tar cf test.tar dir +chmod 700 dir +tar xfv test.tar --warning=no-timestamp +genfile --stat=mode.777 dir +) ) >"$at_stdout" 2>"$at_stderr" fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "dir/ +dir/file +755 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/extrac08.at:36" + +$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_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 " 35: $at_desc " +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "35. extrac09.at:22: testing ..." + $at_traceon + + + + + + { $at_traceoff +$as_echo "$at_srcdir/extrac09.at:25: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H gnu\" +export TAR_OPTIONS +rm -rf * + + +echo "test" > $$ +chmod 0 $$ +cat $$ > /dev/null 2>&1 +result=$? +rm -f $$ +test $result -eq 0 && exit 77 + + +mkdir dir +mkdir dir/sub +mkdir dir/sub/extract +genfile --file dir/sub/f +cd dir/sub + +tar -cf archive.tar f + +chmod a-r . .. +tar -xvf archive.tar -C extract f +status=\$? +chmod a+r . .. +cmp f extract/f || status=\$? +exit \$status +)" +echo extrac09.at:25 >"$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 * + + +echo "test" > $$ +chmod 0 $$ +cat $$ > /dev/null 2>&1 +result=$? +rm -f $$ +test $result -eq 0 && exit 77 + + +mkdir dir +mkdir dir/sub +mkdir dir/sub/extract +genfile --file dir/sub/f +cd dir/sub + +tar -cf archive.tar f + +chmod a-r . .. +tar -xvf archive.tar -C extract f +status=$? +chmod a+r . .. +cmp f extract/f || status=$? +exit $status +) ) >"$at_stdout" 2>"$at_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 * + + +echo "test" > $$ +chmod 0 $$ +cat $$ > /dev/null 2>&1 +result=$? +rm -f $$ +test $result -eq 0 && exit 77 + + +mkdir dir +mkdir dir/sub +mkdir dir/sub/extract +genfile --file dir/sub/f +cd dir/sub + +tar -cf archive.tar f + +chmod a-r . .. +tar -xvf archive.tar -C extract f +status=$? +chmod a+r . .. +cmp f extract/f || status=$? +exit $status +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "f +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/extrac09.at:25" + +$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_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 " 36: $at_desc " +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "36. extrac10.at:27: testing ..." + $at_traceon + + + + + + { $at_traceoff +$as_echo "$at_srcdir/extrac10.at:30: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H gnu\" +export TAR_OPTIONS +rm -rf * + +mkdir d x x/y +echo foo >d/d1 +echo bar >e + +tar -cf archive.tar d e && +tar -xf archive.tar -C x d -C y e && +diff -r d x/d && +diff e x/y/e +)" +echo extrac10.at:30 >"$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 d x x/y +echo foo >d/d1 +echo bar >e + +tar -cf archive.tar d e && +tar -xf archive.tar -C x d -C y e && +diff -r d x/d && +diff e x/y/e +) ) >"$at_stdout" 2>"$at_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 d x x/y +echo foo >d/d1 +echo bar >e + +tar -cf archive.tar d e && +tar -xf archive.tar -C x d -C y e && +diff -r d x/d && +diff e x/y/e +) ) >"$at_stdout" 2>"$at_stderr" +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/extrac10.at:30" + +$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_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 " 37: $at_desc " +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "37. extrac11.at:23: testing ..." + $at_traceon + + + + + + { $at_traceoff +$as_echo "$at_srcdir/extrac11.at:26: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H gnu\" +export TAR_OPTIONS +rm -rf * + +exec \$dir/\$file || exit + files=\"\$files \$file\" + done +done + +# Check that \"ulimit\" itself works. Close file descriptors before +# invoking ulimit, to work around a bug (or a \"feature\") in some shells, +# where they squirrel away dups of file descriptors into FD 10 and up +# before closing the originals. +( (exec 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&- && + ulimit -n 100 && + tar -cf archive1.tar a && + tar -xf archive1.tar -C dest1 a + ) && + diff -r a dest1/a +) >/dev/null 2>&1 || + exit 77 + +# Another test that \"ulimit\" itself works: +# tar should fail when completely starved of file descriptors. +( (exec 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&- && + ulimit -n 4 && + tar -cf archive2.tar a && + tar -xf archive2.tar -C dest2 a + ) && + diff -r a dest2/a +) >/dev/null 2>&1 && + exit 77 + +# Tar should work when there are few, but enough, file descriptors. +( (exec 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&- && + ulimit -n 10 && + tar -cf archive3.tar a && + tar -xf archive3.tar -C dest3 a + ) && + diff -r a dest3/a >/dev/null 2>&1 +) || { diff -r a dest3/a; exit 1; } +)" +echo extrac11.at:26 >"$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 * + +exec $dir/$file || exit + files="$files $file" + done +done + +# Check that "ulimit" itself works. Close file descriptors before +# invoking ulimit, to work around a bug (or a "feature") in some shells, +# where they squirrel away dups of file descriptors into FD 10 and up +# before closing the originals. +( (exec 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&- && + ulimit -n 100 && + tar -cf archive1.tar a && + tar -xf archive1.tar -C dest1 a + ) && + diff -r a dest1/a +) >/dev/null 2>&1 || + exit 77 + +# Another test that "ulimit" itself works: +# tar should fail when completely starved of file descriptors. +( (exec 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&- && + ulimit -n 4 && + tar -cf archive2.tar a && + tar -xf archive2.tar -C dest2 a + ) && + diff -r a dest2/a +) >/dev/null 2>&1 && + exit 77 + +# Tar should work when there are few, but enough, file descriptors. +( (exec 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&- && + ulimit -n 10 && + tar -cf archive3.tar a && + tar -xf archive3.tar -C dest3 a + ) && + diff -r a dest3/a >/dev/null 2>&1 +) || { diff -r a dest3/a; exit 1; } +) ) >"$at_stdout" 2>"$at_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 * + +exec $dir/$file || exit + files="$files $file" + done +done + +# Check that "ulimit" itself works. Close file descriptors before +# invoking ulimit, to work around a bug (or a "feature") in some shells, +# where they squirrel away dups of file descriptors into FD 10 and up +# before closing the originals. +( (exec 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&- && + ulimit -n 100 && + tar -cf archive1.tar a && + tar -xf archive1.tar -C dest1 a + ) && + diff -r a dest1/a +) >/dev/null 2>&1 || + exit 77 + +# Another test that "ulimit" itself works: +# tar should fail when completely starved of file descriptors. +( (exec 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&- && + ulimit -n 4 && + tar -cf archive2.tar a && + tar -xf archive2.tar -C dest2 a + ) && + diff -r a dest2/a +) >/dev/null 2>&1 && + exit 77 + +# Tar should work when there are few, but enough, file descriptors. +( (exec 3<&- 4<&- 5<&- 6<&- 7<&- 8<&- 9<&- && + ulimit -n 10 && + tar -cf archive3.tar a && + tar -xf archive3.tar -C dest3 a + ) && + diff -r a dest3/a >/dev/null 2>&1 +) || { diff -r a dest3/a; exit 1; } +) ) >"$at_stdout" 2>"$at_stderr" +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/extrac11.at:26" + +$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_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 " 38: $at_desc " +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "38. extrac12.at:23: testing ..." + $at_traceon + + + + + + { $at_traceoff +$as_echo "$at_srcdir/extrac12.at:26: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H gnu\" +export TAR_OPTIONS +rm -rf * + +mkdir src dst +echo file1 >src/file1 +echo file2 >src/file2 +chmod a-w src + +tar --no-recursion -cf archive.tar -C src . ./file1 file2 && +tar -xf archive.tar -C dst && +cmp src/file1 dst/file1 && +cmp src/file2 dst/file2 +)" +echo extrac12.at:26 >"$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 dst +echo file1 >src/file1 +echo file2 >src/file2 +chmod a-w src + +tar --no-recursion -cf archive.tar -C src . ./file1 file2 && +tar -xf archive.tar -C dst && +cmp src/file1 dst/file1 && +cmp src/file2 dst/file2 +) ) >"$at_stdout" 2>"$at_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 dst +echo file1 >src/file1 +echo file2 >src/file2 +chmod a-w src + +tar --no-recursion -cf archive.tar -C src . ./file1 file2 && +tar -xf archive.tar -C dst && +cmp src/file1 dst/file1 && +cmp src/file2 dst/file2 +) ) >"$at_stdout" 2>"$at_stderr" +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/extrac12.at:26" + +$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_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 " 39: $at_desc " +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "39. extrac13.at:24: testing ..." + $at_traceon + + + + + + { $at_traceoff +$as_echo "$at_srcdir/extrac13.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 dst1 dst2 dst3 +echo file1 >src/file1 +ln -s target1 dst1/file1 +echo target1 >dst1/target1 +echo target1 >target1 + +tar -cf archive.tar -C src . && +tar -xf archive.tar -C dst1 --warning=no-timestamp && +diff src/file1 dst1/file1 && +diff target1 dst1/target1 + +ln -s target1 dst2/file1 +echo target1 >dst2/target1 +tar --overwrite -xf archive.tar -C dst2 --warning=no-timestamp && +diff src/file1 dst2/file1 && +diff target1 dst2/target1 + +ln -s target1 dst3/file1 +echo target1 >dst3/target1 +tar --overwrite -xhf archive.tar -C dst3 --warning=no-timestamp && +diff src/file1 dst3/file1 && +diff src/file1 dst3/target1 +)" +echo extrac13.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 dst1 dst2 dst3 +echo file1 >src/file1 +ln -s target1 dst1/file1 +echo target1 >dst1/target1 +echo target1 >target1 + +tar -cf archive.tar -C src . && +tar -xf archive.tar -C dst1 --warning=no-timestamp && +diff src/file1 dst1/file1 && +diff target1 dst1/target1 + +ln -s target1 dst2/file1 +echo target1 >dst2/target1 +tar --overwrite -xf archive.tar -C dst2 --warning=no-timestamp && +diff src/file1 dst2/file1 && +diff target1 dst2/target1 + +ln -s target1 dst3/file1 +echo target1 >dst3/target1 +tar --overwrite -xhf archive.tar -C dst3 --warning=no-timestamp && +diff src/file1 dst3/file1 && +diff src/file1 dst3/target1 +) ) >"$at_stdout" 2>"$at_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 dst1 dst2 dst3 +echo file1 >src/file1 +ln -s target1 dst1/file1 +echo target1 >dst1/target1 +echo target1 >target1 + +tar -cf archive.tar -C src . && +tar -xf archive.tar -C dst1 --warning=no-timestamp && +diff src/file1 dst1/file1 && +diff target1 dst1/target1 + +ln -s target1 dst2/file1 +echo target1 >dst2/target1 +tar --overwrite -xf archive.tar -C dst2 --warning=no-timestamp && +diff src/file1 dst2/file1 && +diff target1 dst2/target1 + +ln -s target1 dst3/file1 +echo target1 >dst3/target1 +tar --overwrite -xhf archive.tar -C dst3 --warning=no-timestamp && +diff src/file1 dst3/file1 && +diff src/file1 dst3/target1 +) ) >"$at_stdout" 2>"$at_stderr" +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/extrac13.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_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 " 40: $at_desc " +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "40. extrac14.at:23: testing ..." + $at_traceon + + + + + + { $at_traceoff +$as_echo "$at_srcdir/extrac14.at:26: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H gnu\" +export TAR_OPTIONS +rm -rf * + +mkdir dest +ln -s dest symlink +echo foo >foo +tar -cf archive.tar foo && +tar -xf archive.tar -C symlink --warning=no-timestamp && +cmp foo dest/foo +)" +echo extrac14.at:26 >"$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 dest +ln -s dest symlink +echo foo >foo +tar -cf archive.tar foo && +tar -xf archive.tar -C symlink --warning=no-timestamp && +cmp foo dest/foo +) ) >"$at_stdout" 2>"$at_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 dest +ln -s dest symlink +echo foo >foo +tar -cf archive.tar foo && +tar -xf archive.tar -C symlink --warning=no-timestamp && +cmp foo dest/foo +) ) >"$at_stdout" 2>"$at_stderr" +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/extrac14.at:26" + +$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_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 " 41: $at_desc " +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "41. extrac15.at:23: testing ..." + $at_traceon -$at_failed && at_func_log_failure -$at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/extrac07.at:30: -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix + + + + { $at_traceoff +$as_echo "$at_srcdir/extrac15.at:26: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H posix\" +TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -echo Prepare the directory -mkdir dir -genfile -f foo -cd dir -ln -s ../foo . -cd .. -chmod -w dir -echo Create the archive -tar cf archive dir || exit 1 +echo "test" > $$ +chmod 0 $$ +cat $$ > /dev/null 2>&1 +result=$? +rm -f $$ +test $result -eq 0 && exit 77 -chmod +w dir -echo Extract -mkdir out -tar -C out -xvf archive +mkdir src src/a src/a/b dest dest/a +touch src/a/b/c +chmod a-w dest/a + +tar -cf archive.tar -C src a/b/c && +if tar -xf archive.tar -C dest a/b/c +then (exit 1) +else (exit 0) +fi )" -echo extrac07.at:30 >"$at_check_line_file" +echo extrac15.at:26 >"$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 +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" +TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -echo Prepare the directory -mkdir dir -genfile -f foo -cd dir -ln -s ../foo . -cd .. -chmod -w dir -echo Create the archive -tar cf archive dir || exit 1 +echo "test" > $$ +chmod 0 $$ +cat $$ > /dev/null 2>&1 +result=$? +rm -f $$ +test $result -eq 0 && exit 77 -chmod +w dir -echo Extract -mkdir out -tar -C out -xvf archive +mkdir src src/a src/a/b dest dest/a +touch src/a/b/c +chmod a-w dest/a + +tar -cf archive.tar -C src a/b/c && +if tar -xf archive.tar -C dest a/b/c +then (exit 1) +else (exit 0) +fi ) ) >"$at_stdout" 2>"$at_stder1" at_func_filter_trace $? else ( :; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" +TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -echo Prepare the directory -mkdir dir -genfile -f foo -cd dir -ln -s ../foo . -cd .. -chmod -w dir -echo Create the archive -tar cf archive dir || exit 1 +echo "test" > $$ +chmod 0 $$ +cat $$ > /dev/null 2>&1 +result=$? +rm -f $$ +test $result -eq 0 && exit 77 -chmod +w dir -echo Extract -mkdir out -tar -C out -xvf archive +mkdir src src/a src/a/b dest dest/a +touch src/a/b/c +chmod a-w dest/a + +tar -cf archive.tar -C src a/b/c && +if tar -xf archive.tar -C dest a/b/c +then (exit 1) +else (exit 0) +fi ) ) >"$at_stdout" 2>"$at_stderr" fi at_status=$? at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "Prepare the directory -Create the archive -Extract -dir/ -dir/foo +echo >>"$at_stderr"; $as_echo "tar: a/b: Cannot mkdir: Permission denied +tar: a/b/c: Cannot open: No such file or directory +tar: Exiting with failure status due to previous errors " | \ - $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/extrac07.at:30" -if $at_failed; then - : -else - ustar -fi + $at_diff - "$at_stderr" || at_failed=: +at_func_diff_devnull "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/extrac15.at:26" $at_failed && at_func_log_failure $at_traceon; } - { $at_traceoff -$as_echo "$at_srcdir/extrac07.at:30: + + + + $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_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 @@ -14505,24 +16181,13 @@ TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -echo Prepare the directory -mkdir dir -genfile -f foo -cd dir -ln -s ../foo . -cd .. -chmod -w dir - -echo Create the archive -tar cf archive dir || exit 1 - -chmod +w dir +mkdir src src/a src/a/b dest +touch src/a/c -echo Extract -mkdir out -tar -C out -xvf archive +tar -cf archive.tar -C src a && +tar -xf archive.tar -C dest )" -echo extrac07.at:30 >"$at_check_line_file" +echo extrac16.at:27 >"$at_check_line_file" if { echo 'Not enabling shell tracing (command contains an embedded newline)' false; }; then @@ -14535,22 +16200,11 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -echo Prepare the directory -mkdir dir -genfile -f foo -cd dir -ln -s ../foo . -cd .. -chmod -w dir - -echo Create the archive -tar cf archive dir || exit 1 - -chmod +w dir +mkdir src src/a src/a/b dest +touch src/a/c -echo Extract -mkdir out -tar -C out -xvf archive +tar -cf archive.tar -C src a && +tar -xf archive.tar -C dest ) ) >"$at_stdout" 2>"$at_stder1" at_func_filter_trace $? else @@ -14563,70 +16217,58 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -echo Prepare the directory -mkdir dir -genfile -f foo -cd dir -ln -s ../foo . -cd .. -chmod -w dir - -echo Create the archive -tar cf archive dir || exit 1 - -chmod +w dir +mkdir src src/a src/a/b dest +touch src/a/c -echo Extract -mkdir out -tar -C out -xvf archive +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=: -echo >>"$at_stdout"; $as_echo "Prepare the directory -Create the archive -Extract -dir/ -dir/foo -" | \ - $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/extrac07.at:30" -if $at_failed; then - : -else - ustar -fi +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; } - # Testing one format is enough + $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_30 -#AT_START_31 -# 31. 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 " 31: $at_desc " +#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 "31. extrac08.at:33: testing ..." + $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" +# References: , <20101026175126.29028@Pirx.gnu.org.ua> +# http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00047.html + { $at_traceoff -$as_echo "$at_srcdir/extrac08.at:36: +$as_echo "$at_srcdir/extrac17.at:32: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -14635,16 +16277,16 @@ TAR_OPTIONS=\"-H v7\" export TAR_OPTIONS rm -rf * -umask 000 -mkdir dir -chmod 755 dir -echo bla > dir/file -tar cf test.tar dir -chmod 700 dir -tar xfv test.tar -genfile --stat=mode.777 dir +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 extrac08.at:36 >"$at_check_line_file" +echo extrac17.at:32 >"$at_check_line_file" if { echo 'Not enabling shell tracing (command contains an embedded newline)' false; }; then @@ -14657,14 +16299,14 @@ TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * -umask 000 -mkdir dir -chmod 755 dir -echo bla > dir/file -tar cf test.tar dir -chmod 700 dir -tar xfv test.tar -genfile --stat=mode.777 dir +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 @@ -14677,31 +16319,29 @@ TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * -umask 000 -mkdir dir -chmod 755 dir -echo bla > dir/file -tar cf test.tar dir -chmod 700 dir -tar xfv test.tar -genfile --stat=mode.777 dir +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/ -dir/file -755 +echo >>"$at_stdout"; $as_echo "dir/subdir1/file1 " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/extrac08.at:36" +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/extrac08.at:36: +$as_echo "$at_srcdir/extrac17.at:32: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -14710,16 +16350,16 @@ TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * -umask 000 -mkdir dir -chmod 755 dir -echo bla > dir/file -tar cf test.tar dir -chmod 700 dir -tar xfv test.tar -genfile --stat=mode.777 dir +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 extrac08.at:36 >"$at_check_line_file" +echo extrac17.at:32 >"$at_check_line_file" if { echo 'Not enabling shell tracing (command contains an embedded newline)' false; }; then @@ -14732,14 +16372,14 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * -umask 000 -mkdir dir -chmod 755 dir -echo bla > dir/file -tar cf test.tar dir -chmod 700 dir -tar xfv test.tar -genfile --stat=mode.777 dir +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 @@ -14752,31 +16392,29 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * -umask 000 -mkdir dir -chmod 755 dir -echo bla > dir/file -tar cf test.tar dir -chmod 700 dir -tar xfv test.tar -genfile --stat=mode.777 dir +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/ -dir/file -755 +echo >>"$at_stdout"; $as_echo "dir/subdir1/file1 " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/extrac08.at:36" +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/extrac08.at:36: +$as_echo "$at_srcdir/extrac17.at:32: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -14785,16 +16423,16 @@ TAR_OPTIONS=\"-H ustar\" export TAR_OPTIONS rm -rf * -umask 000 -mkdir dir -chmod 755 dir -echo bla > dir/file -tar cf test.tar dir -chmod 700 dir -tar xfv test.tar -genfile --stat=mode.777 dir +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 extrac08.at:36 >"$at_check_line_file" +echo extrac17.at:32 >"$at_check_line_file" if { echo 'Not enabling shell tracing (command contains an embedded newline)' false; }; then @@ -14807,14 +16445,14 @@ TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * -umask 000 -mkdir dir -chmod 755 dir -echo bla > dir/file -tar cf test.tar dir -chmod 700 dir -tar xfv test.tar -genfile --stat=mode.777 dir +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 @@ -14827,31 +16465,29 @@ TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * -umask 000 -mkdir dir -chmod 755 dir -echo bla > dir/file -tar cf test.tar dir -chmod 700 dir -tar xfv test.tar -genfile --stat=mode.777 dir +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/ -dir/file -755 +echo >>"$at_stdout"; $as_echo "dir/subdir1/file1 " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/extrac08.at:36" +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/extrac08.at:36: +$as_echo "$at_srcdir/extrac17.at:32: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -14860,16 +16496,16 @@ TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * -umask 000 -mkdir dir -chmod 755 dir -echo bla > dir/file -tar cf test.tar dir -chmod 700 dir -tar xfv test.tar -genfile --stat=mode.777 dir +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 extrac08.at:36 >"$at_check_line_file" +echo extrac17.at:32 >"$at_check_line_file" if { echo 'Not enabling shell tracing (command contains an embedded newline)' false; }; then @@ -14882,14 +16518,14 @@ TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * -umask 000 -mkdir dir -chmod 755 dir -echo bla > dir/file -tar cf test.tar dir -chmod 700 dir -tar xfv test.tar -genfile --stat=mode.777 dir +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 @@ -14902,31 +16538,29 @@ TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * -umask 000 -mkdir dir -chmod 755 dir -echo bla > dir/file -tar cf test.tar dir -chmod 700 dir -tar xfv test.tar -genfile --stat=mode.777 dir +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/ -dir/file -755 +echo >>"$at_stdout"; $as_echo "dir/subdir1/file1 " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/extrac08.at:36" +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/extrac08.at:36: +$as_echo "$at_srcdir/extrac17.at:32: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -14935,16 +16569,16 @@ TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -umask 000 -mkdir dir -chmod 755 dir -echo bla > dir/file -tar cf test.tar dir -chmod 700 dir -tar xfv test.tar -genfile --stat=mode.777 dir +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 extrac08.at:36 >"$at_check_line_file" +echo extrac17.at:32 >"$at_check_line_file" if { echo 'Not enabling shell tracing (command contains an embedded newline)' false; }; then @@ -14957,14 +16591,14 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -umask 000 -mkdir dir -chmod 755 dir -echo bla > dir/file -tar cf test.tar dir -chmod 700 dir -tar xfv test.tar -genfile --stat=mode.777 dir +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 @@ -14977,25 +16611,23 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -umask 000 -mkdir dir -chmod 755 dir -echo bla > dir/file -tar cf test.tar dir -chmod 700 dir -tar xfv test.tar -genfile --stat=mode.777 dir +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/ -dir/file -755 +echo >>"$at_stdout"; $as_echo "dir/subdir1/file1 " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/extrac08.at:36" +at_func_check_status 0 $at_status "$at_srcdir/extrac17.at:32" $at_failed && at_func_log_failure $at_traceon; } @@ -15007,17 +16639,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. label01.at:19: single-volume label +#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 " 32: $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 "32. label01.at:19: testing ..." + $as_echo "44. label01.at:19: testing ..." $at_traceon @@ -15220,17 +16852,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. 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 " 33: $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 "33. label02.at:19: testing ..." + $as_echo "45. label02.at:19: testing ..." $at_traceon @@ -15308,7 +16940,317 @@ $at_failed && at_func_log_failure $at_traceon; } { $at_traceoff -$as_echo "$at_srcdir/label02.at:22: +$as_echo "$at_srcdir/label02.at:22: +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H oldgnu\" +export TAR_OPTIONS +rm -rf * + +exec <&- +genfile --length 0 --file foo +genfile --length 12288 --file bar +genfile --length 12288 --file baz +tar --label=Test -cM -L10 -f 1.tar -f 2.tar -f 3.tar -f 4.tar foo bar baz +tar -Mt -f 1.tar -f 2.tar -f 3.tar -f 4.tar +)" +echo label02.at:22 >"$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 * + +exec <&- +genfile --length 0 --file foo +genfile --length 12288 --file bar +genfile --length 12288 --file baz +tar --label=Test -cM -L10 -f 1.tar -f 2.tar -f 3.tar -f 4.tar foo bar baz +tar -Mt -f 1.tar -f 2.tar -f 3.tar -f 4.tar +) ) >"$at_stdout" 2>"$at_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 * + +exec <&- +genfile --length 0 --file foo +genfile --length 12288 --file bar +genfile --length 12288 --file baz +tar --label=Test -cM -L10 -f 1.tar -f 2.tar -f 3.tar -f 4.tar foo bar baz +tar -Mt -f 1.tar -f 2.tar -f 3.tar -f 4.tar +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Test Volume 1 +foo +bar +baz +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/label02.at:22" + +$at_failed && at_func_log_failure +$at_traceon; } + + { $at_traceoff +$as_echo "$at_srcdir/label02.at:22: +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H posix\" +export TAR_OPTIONS +rm -rf * + +exec <&- +genfile --length 0 --file foo +genfile --length 12288 --file bar +genfile --length 12288 --file baz +tar --label=Test -cM -L10 -f 1.tar -f 2.tar -f 3.tar -f 4.tar foo bar baz +tar -Mt -f 1.tar -f 2.tar -f 3.tar -f 4.tar +)" +echo label02.at:22 >"$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 * + +exec <&- +genfile --length 0 --file foo +genfile --length 12288 --file bar +genfile --length 12288 --file baz +tar --label=Test -cM -L10 -f 1.tar -f 2.tar -f 3.tar -f 4.tar foo bar baz +tar -Mt -f 1.tar -f 2.tar -f 3.tar -f 4.tar +) ) >"$at_stdout" 2>"$at_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 * + +exec <&- +genfile --length 0 --file foo +genfile --length 12288 --file bar +genfile --length 12288 --file baz +tar --label=Test -cM -L10 -f 1.tar -f 2.tar -f 3.tar -f 4.tar foo bar baz +tar -Mt -f 1.tar -f 2.tar -f 3.tar -f 4.tar +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Test Volume 1 +foo +bar +baz +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/label02.at:22" + +$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_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 " 46: $at_desc " +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "46. label03.at:25: testing ..." + $at_traceon + + + + + + { $at_traceoff +$as_echo "$at_srcdir/label03.at:28: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H gnu\" +export TAR_OPTIONS +rm -rf * + +exec <&- +genfile --file file +tar -c --label='iamalabel' --file iamanarchive file +tar -c --file unlabeled.tar file +decho \"# Display label\" +tar --test-label --file=iamanarchive; echo \$? +decho \"# Display label: unlabeled\" +tar --test-label --file=unlabeled.tar; echo \$? +decho \"# Test label: success\" +tar --test-label --file=iamanarchive 'iamalabel'; echo \$? +decho \"# Test label: failure\" +tar --test-label --file=iamanarchive 'amalabel'; echo \$? +decho \"# Test label: unlabeled\" +tar --test-label --file=unlabeled.tar 'amalabel'; echo \$? +decho \"# Test label, verbose: success\" +tar --test-label --verbose --file=iamanarchive 'iamalabel'; echo \$? +decho \"# Test label, verbose: failure\" +tar --test-label --verbose --file=iamanarchive 'amalabel'; echo \$? +decho \"# Test label: multiple arguments\" +tar --test-label --file=iamanarchive a iamalabel b; echo \$? +decho \"# Test label: wildcards\" +tar --test-label --file=iamanarchive --wildcards '*label'; echo \$? +)" +echo label03.at:28 >"$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 * + +exec <&- +genfile --file file +tar -c --label='iamalabel' --file iamanarchive file +tar -c --file unlabeled.tar file +decho "# Display label" +tar --test-label --file=iamanarchive; echo $? +decho "# Display label: unlabeled" +tar --test-label --file=unlabeled.tar; echo $? +decho "# Test label: success" +tar --test-label --file=iamanarchive 'iamalabel'; echo $? +decho "# Test label: failure" +tar --test-label --file=iamanarchive 'amalabel'; echo $? +decho "# Test label: unlabeled" +tar --test-label --file=unlabeled.tar 'amalabel'; echo $? +decho "# Test label, verbose: success" +tar --test-label --verbose --file=iamanarchive 'iamalabel'; echo $? +decho "# Test label, verbose: failure" +tar --test-label --verbose --file=iamanarchive 'amalabel'; echo $? +decho "# Test label: multiple arguments" +tar --test-label --file=iamanarchive a iamalabel b; echo $? +decho "# Test label: wildcards" +tar --test-label --file=iamanarchive --wildcards '*label'; echo $? +) ) >"$at_stdout" 2>"$at_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 * + +exec <&- +genfile --file file +tar -c --label='iamalabel' --file iamanarchive file +tar -c --file unlabeled.tar file +decho "# Display label" +tar --test-label --file=iamanarchive; echo $? +decho "# Display label: unlabeled" +tar --test-label --file=unlabeled.tar; echo $? +decho "# Test label: success" +tar --test-label --file=iamanarchive 'iamalabel'; echo $? +decho "# Test label: failure" +tar --test-label --file=iamanarchive 'amalabel'; echo $? +decho "# Test label: unlabeled" +tar --test-label --file=unlabeled.tar 'amalabel'; echo $? +decho "# Test label, verbose: success" +tar --test-label --verbose --file=iamanarchive 'iamalabel'; echo $? +decho "# Test label, verbose: failure" +tar --test-label --verbose --file=iamanarchive 'amalabel'; echo $? +decho "# Test label: multiple arguments" +tar --test-label --file=iamanarchive a iamalabel b; echo $? +decho "# Test label: wildcards" +tar --test-label --file=iamanarchive --wildcards '*label'; echo $? +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +echo >>"$at_stderr"; $as_echo "# Display label +# Display label: unlabeled +# Test label: success +# Test label: failure +# Test label: unlabeled +# Test label, verbose: success +# Test label, verbose: failure +tar: Archive label mismatch +# Test label: multiple arguments +# Test label: wildcards +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "# Display label +iamalabel +0 +# Display label: unlabeled +0 +# Test label: success +0 +# Test label: failure +1 +# Test label: unlabeled +1 +# Test label, verbose: success +iamalabel +0 +# Test label, verbose: failure +iamalabel +1 +# Test label: multiple arguments +0 +# Test label: wildcards +0 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/label03.at:28" + +$at_failed && at_func_log_failure +$at_traceon; } + + { $at_traceoff +$as_echo "$at_srcdir/label03.at:28: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -15318,13 +17260,413 @@ export TAR_OPTIONS rm -rf * exec <&- -genfile --length 0 --file foo -genfile --length 12288 --file bar -genfile --length 12288 --file baz -tar --label=Test -cM -L10 -f 1.tar -f 2.tar -f 3.tar -f 4.tar foo bar baz -tar -Mt -f 1.tar -f 2.tar -f 3.tar -f 4.tar +genfile --file file +tar -c --label='iamalabel' --file iamanarchive file +tar -c --file unlabeled.tar file +decho \"# Display label\" +tar --test-label --file=iamanarchive; echo \$? +decho \"# Display label: unlabeled\" +tar --test-label --file=unlabeled.tar; echo \$? +decho \"# Test label: success\" +tar --test-label --file=iamanarchive 'iamalabel'; echo \$? +decho \"# Test label: failure\" +tar --test-label --file=iamanarchive 'amalabel'; echo \$? +decho \"# Test label: unlabeled\" +tar --test-label --file=unlabeled.tar 'amalabel'; echo \$? +decho \"# Test label, verbose: success\" +tar --test-label --verbose --file=iamanarchive 'iamalabel'; echo \$? +decho \"# Test label, verbose: failure\" +tar --test-label --verbose --file=iamanarchive 'amalabel'; echo \$? +decho \"# Test label: multiple arguments\" +tar --test-label --file=iamanarchive a iamalabel b; echo \$? +decho \"# Test label: wildcards\" +tar --test-label --file=iamanarchive --wildcards '*label'; echo \$? +)" +echo label03.at:28 >"$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 * + +exec <&- +genfile --file file +tar -c --label='iamalabel' --file iamanarchive file +tar -c --file unlabeled.tar file +decho "# Display label" +tar --test-label --file=iamanarchive; echo $? +decho "# Display label: unlabeled" +tar --test-label --file=unlabeled.tar; echo $? +decho "# Test label: success" +tar --test-label --file=iamanarchive 'iamalabel'; echo $? +decho "# Test label: failure" +tar --test-label --file=iamanarchive 'amalabel'; echo $? +decho "# Test label: unlabeled" +tar --test-label --file=unlabeled.tar 'amalabel'; echo $? +decho "# Test label, verbose: success" +tar --test-label --verbose --file=iamanarchive 'iamalabel'; echo $? +decho "# Test label, verbose: failure" +tar --test-label --verbose --file=iamanarchive 'amalabel'; echo $? +decho "# Test label: multiple arguments" +tar --test-label --file=iamanarchive a iamalabel b; echo $? +decho "# Test label: wildcards" +tar --test-label --file=iamanarchive --wildcards '*label'; echo $? +) ) >"$at_stdout" 2>"$at_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 * + +exec <&- +genfile --file file +tar -c --label='iamalabel' --file iamanarchive file +tar -c --file unlabeled.tar file +decho "# Display label" +tar --test-label --file=iamanarchive; echo $? +decho "# Display label: unlabeled" +tar --test-label --file=unlabeled.tar; echo $? +decho "# Test label: success" +tar --test-label --file=iamanarchive 'iamalabel'; echo $? +decho "# Test label: failure" +tar --test-label --file=iamanarchive 'amalabel'; echo $? +decho "# Test label: unlabeled" +tar --test-label --file=unlabeled.tar 'amalabel'; echo $? +decho "# Test label, verbose: success" +tar --test-label --verbose --file=iamanarchive 'iamalabel'; echo $? +decho "# Test label, verbose: failure" +tar --test-label --verbose --file=iamanarchive 'amalabel'; echo $? +decho "# Test label: multiple arguments" +tar --test-label --file=iamanarchive a iamalabel b; echo $? +decho "# Test label: wildcards" +tar --test-label --file=iamanarchive --wildcards '*label'; echo $? +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +echo >>"$at_stderr"; $as_echo "# Display label +# Display label: unlabeled +# Test label: success +# Test label: failure +# Test label: unlabeled +# Test label, verbose: success +# Test label, verbose: failure +tar: Archive label mismatch +# Test label: multiple arguments +# Test label: wildcards +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "# Display label +iamalabel +0 +# Display label: unlabeled +0 +# Test label: success +0 +# Test label: failure +1 +# Test label: unlabeled +1 +# Test label, verbose: success +iamalabel +0 +# Test label, verbose: failure +iamalabel +1 +# Test label: multiple arguments +0 +# Test label: wildcards +0 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/label03.at:28" + +$at_failed && at_func_log_failure +$at_traceon; } + + { $at_traceoff +$as_echo "$at_srcdir/label03.at:28: +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H posix\" +export TAR_OPTIONS +rm -rf * + +exec <&- +genfile --file file +tar -c --label='iamalabel' --file iamanarchive file +tar -c --file unlabeled.tar file +decho \"# Display label\" +tar --test-label --file=iamanarchive; echo \$? +decho \"# Display label: unlabeled\" +tar --test-label --file=unlabeled.tar; echo \$? +decho \"# Test label: success\" +tar --test-label --file=iamanarchive 'iamalabel'; echo \$? +decho \"# Test label: failure\" +tar --test-label --file=iamanarchive 'amalabel'; echo \$? +decho \"# Test label: unlabeled\" +tar --test-label --file=unlabeled.tar 'amalabel'; echo \$? +decho \"# Test label, verbose: success\" +tar --test-label --verbose --file=iamanarchive 'iamalabel'; echo \$? +decho \"# Test label, verbose: failure\" +tar --test-label --verbose --file=iamanarchive 'amalabel'; echo \$? +decho \"# Test label: multiple arguments\" +tar --test-label --file=iamanarchive a iamalabel b; echo \$? +decho \"# Test label: wildcards\" +tar --test-label --file=iamanarchive --wildcards '*label'; echo \$? +)" +echo label03.at:28 >"$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 * + +exec <&- +genfile --file file +tar -c --label='iamalabel' --file iamanarchive file +tar -c --file unlabeled.tar file +decho "# Display label" +tar --test-label --file=iamanarchive; echo $? +decho "# Display label: unlabeled" +tar --test-label --file=unlabeled.tar; echo $? +decho "# Test label: success" +tar --test-label --file=iamanarchive 'iamalabel'; echo $? +decho "# Test label: failure" +tar --test-label --file=iamanarchive 'amalabel'; echo $? +decho "# Test label: unlabeled" +tar --test-label --file=unlabeled.tar 'amalabel'; echo $? +decho "# Test label, verbose: success" +tar --test-label --verbose --file=iamanarchive 'iamalabel'; echo $? +decho "# Test label, verbose: failure" +tar --test-label --verbose --file=iamanarchive 'amalabel'; echo $? +decho "# Test label: multiple arguments" +tar --test-label --file=iamanarchive a iamalabel b; echo $? +decho "# Test label: wildcards" +tar --test-label --file=iamanarchive --wildcards '*label'; echo $? +) ) >"$at_stdout" 2>"$at_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 * + +exec <&- +genfile --file file +tar -c --label='iamalabel' --file iamanarchive file +tar -c --file unlabeled.tar file +decho "# Display label" +tar --test-label --file=iamanarchive; echo $? +decho "# Display label: unlabeled" +tar --test-label --file=unlabeled.tar; echo $? +decho "# Test label: success" +tar --test-label --file=iamanarchive 'iamalabel'; echo $? +decho "# Test label: failure" +tar --test-label --file=iamanarchive 'amalabel'; echo $? +decho "# Test label: unlabeled" +tar --test-label --file=unlabeled.tar 'amalabel'; echo $? +decho "# Test label, verbose: success" +tar --test-label --verbose --file=iamanarchive 'iamalabel'; echo $? +decho "# Test label, verbose: failure" +tar --test-label --verbose --file=iamanarchive 'amalabel'; echo $? +decho "# Test label: multiple arguments" +tar --test-label --file=iamanarchive a iamalabel b; echo $? +decho "# Test label: wildcards" +tar --test-label --file=iamanarchive --wildcards '*label'; echo $? +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +echo >>"$at_stderr"; $as_echo "# Display label +# Display label: unlabeled +# Test label: success +# Test label: failure +# Test label: unlabeled +# Test label, verbose: success +# Test label, verbose: failure +tar: Archive label mismatch +# Test label: multiple arguments +# Test label: wildcards +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "# Display label +iamalabel +0 +# Display label: unlabeled +0 +# Test label: success +0 +# Test label: failure +1 +# Test label: unlabeled +1 +# Test label, verbose: success +iamalabel +0 +# Test label, verbose: failure +iamalabel +1 +# Test label: multiple arguments +0 +# Test label: wildcards +0 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/label03.at:28" + +$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_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 " 47: $at_desc " +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "47. label04.at:25: testing ..." + $at_traceon + + + + + + { $at_traceoff +$as_echo "$at_srcdir/label04.at:28: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H gnu\" +export TAR_OPTIONS +rm -rf * + +exec <&- +genfile --file file +decho \"# Create volume\" +tar -c -f archive --label='New volume' file +decho \"# Update: wrong label\" +tar -rf archive --label='My volume' file; echo \$? +decho \"# Update: right label\" +tar -rf archive --label='New volume' file )" -echo label02.at:22 >"$at_check_line_file" +echo label04.at:28 >"$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 * + +exec <&- +genfile --file file +decho "# Create volume" +tar -c -f archive --label='New volume' file +decho "# Update: wrong label" +tar -rf archive --label='My volume' file; echo $? +decho "# Update: right label" +tar -rf archive --label='New volume' file +) ) >"$at_stdout" 2>"$at_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 * + +exec <&- +genfile --file file +decho "# Create volume" +tar -c -f archive --label='New volume' file +decho "# Update: wrong label" +tar -rf archive --label='My volume' file; echo $? +decho "# Update: right label" +tar -rf archive --label='New volume' file +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +echo >>"$at_stderr"; $as_echo "# Create volume +# Update: wrong label +tar: Volume \`New volume' does not match \`My volume' +tar: Error is not recoverable: exiting now +# Update: right label +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "# Create volume +# Update: wrong label +2 +# Update: right label +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/label04.at:28" + +$at_failed && at_func_log_failure +$at_traceon; } + + { $at_traceoff +$as_echo "$at_srcdir/label04.at:28: +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H oldgnu\" +export TAR_OPTIONS +rm -rf * + +exec <&- +genfile --file file +decho \"# Create volume\" +tar -c -f archive --label='New volume' file +decho \"# Update: wrong label\" +tar -rf archive --label='My volume' file; echo \$? +decho \"# Update: right label\" +tar -rf archive --label='New volume' file +)" +echo label04.at:28 >"$at_check_line_file" if { echo 'Not enabling shell tracing (command contains an embedded newline)' false; }; then @@ -15338,11 +17680,13 @@ export TAR_OPTIONS rm -rf * exec <&- -genfile --length 0 --file foo -genfile --length 12288 --file bar -genfile --length 12288 --file baz -tar --label=Test -cM -L10 -f 1.tar -f 2.tar -f 3.tar -f 4.tar foo bar baz -tar -Mt -f 1.tar -f 2.tar -f 3.tar -f 4.tar +genfile --file file +decho "# Create volume" +tar -c -f archive --label='New volume' file +decho "# Update: wrong label" +tar -rf archive --label='My volume' file; echo $? +decho "# Update: right label" +tar -rf archive --label='New volume' file ) ) >"$at_stdout" 2>"$at_stder1" at_func_filter_trace $? else @@ -15356,29 +17700,37 @@ export TAR_OPTIONS rm -rf * exec <&- -genfile --length 0 --file foo -genfile --length 12288 --file bar -genfile --length 12288 --file baz -tar --label=Test -cM -L10 -f 1.tar -f 2.tar -f 3.tar -f 4.tar foo bar baz -tar -Mt -f 1.tar -f 2.tar -f 3.tar -f 4.tar +genfile --file file +decho "# Create volume" +tar -c -f archive --label='New volume' file +decho "# Update: wrong label" +tar -rf archive --label='My volume' file; echo $? +decho "# Update: right label" +tar -rf archive --label='New volume' file ) ) >"$at_stdout" 2>"$at_stderr" fi at_status=$? at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "Test Volume 1 -foo -bar -baz +echo >>"$at_stderr"; $as_echo "# Create volume +# Update: wrong label +tar: Volume \`New volume' does not match \`My volume' +tar: Error is not recoverable: exiting now +# Update: right label +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "# Create volume +# Update: wrong label +2 +# Update: right label " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/label02.at:22" +at_func_check_status 0 $at_status "$at_srcdir/label04.at:28" $at_failed && at_func_log_failure $at_traceon; } { $at_traceoff -$as_echo "$at_srcdir/label02.at:22: +$as_echo "$at_srcdir/label04.at:28: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -15388,13 +17740,15 @@ export TAR_OPTIONS rm -rf * exec <&- -genfile --length 0 --file foo -genfile --length 12288 --file bar -genfile --length 12288 --file baz -tar --label=Test -cM -L10 -f 1.tar -f 2.tar -f 3.tar -f 4.tar foo bar baz -tar -Mt -f 1.tar -f 2.tar -f 3.tar -f 4.tar +genfile --file file +decho \"# Create volume\" +tar -c -f archive --label='New volume' file +decho \"# Update: wrong label\" +tar -rf archive --label='My volume' file; echo \$? +decho \"# Update: right label\" +tar -rf archive --label='New volume' file )" -echo label02.at:22 >"$at_check_line_file" +echo label04.at:28 >"$at_check_line_file" if { echo 'Not enabling shell tracing (command contains an embedded newline)' false; }; then @@ -15408,11 +17762,13 @@ export TAR_OPTIONS rm -rf * exec <&- -genfile --length 0 --file foo -genfile --length 12288 --file bar -genfile --length 12288 --file baz -tar --label=Test -cM -L10 -f 1.tar -f 2.tar -f 3.tar -f 4.tar foo bar baz -tar -Mt -f 1.tar -f 2.tar -f 3.tar -f 4.tar +genfile --file file +decho "# Create volume" +tar -c -f archive --label='New volume' file +decho "# Update: wrong label" +tar -rf archive --label='My volume' file; echo $? +decho "# Update: right label" +tar -rf archive --label='New volume' file ) ) >"$at_stdout" 2>"$at_stder1" at_func_filter_trace $? else @@ -15426,23 +17782,31 @@ export TAR_OPTIONS rm -rf * exec <&- -genfile --length 0 --file foo -genfile --length 12288 --file bar -genfile --length 12288 --file baz -tar --label=Test -cM -L10 -f 1.tar -f 2.tar -f 3.tar -f 4.tar foo bar baz -tar -Mt -f 1.tar -f 2.tar -f 3.tar -f 4.tar +genfile --file file +decho "# Create volume" +tar -c -f archive --label='New volume' file +decho "# Update: wrong label" +tar -rf archive --label='My volume' file; echo $? +decho "# Update: right label" +tar -rf archive --label='New volume' file ) ) >"$at_stdout" 2>"$at_stderr" fi at_status=$? at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "Test Volume 1 -foo -bar -baz +echo >>"$at_stderr"; $as_echo "# Create volume +# Update: wrong label +tar: Volume \`New volume' does not match \`My volume' +tar: Error is not recoverable: exiting now +# Update: right label +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "# Create volume +# Update: wrong label +2 +# Update: right label " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/label02.at:22" +at_func_check_status 0 $at_status "$at_srcdir/label04.at:28" $at_failed && at_func_log_failure $at_traceon; } @@ -15454,17 +17818,287 @@ $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. backup01.at:33: extracting existing dir with --backup +#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 " 48: $at_desc " +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "48. label05.at:22: testing ..." + $at_traceon + + + + + + { $at_traceoff +$as_echo "$at_srcdir/label05.at:25: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H gnu\" +export TAR_OPTIONS +rm -rf * + +exec <&- +genfile --file file +decho \"# Create volume\" +tar -c -f archive file +decho \"# Update: wrong label\" +tar -rf archive --label='My volume' file; echo \$? +decho \"# Update: right label\" +tar -rf archive file +)" +echo label05.at:25 >"$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 * + +exec <&- +genfile --file file +decho "# Create volume" +tar -c -f archive file +decho "# Update: wrong label" +tar -rf archive --label='My volume' file; echo $? +decho "# Update: right label" +tar -rf archive file +) ) >"$at_stdout" 2>"$at_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 * + +exec <&- +genfile --file file +decho "# Create volume" +tar -c -f archive file +decho "# Update: wrong label" +tar -rf archive --label='My volume' file; echo $? +decho "# Update: right label" +tar -rf archive file +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +echo >>"$at_stderr"; $as_echo "# Create volume +# Update: wrong label +tar: Archive not labeled to match \`My volume' +tar: Error is not recoverable: exiting now +# Update: right label +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "# Create volume +# Update: wrong label +2 +# Update: right label +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/label05.at:25" + +$at_failed && at_func_log_failure +$at_traceon; } + + { $at_traceoff +$as_echo "$at_srcdir/label05.at:25: +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H oldgnu\" +export TAR_OPTIONS +rm -rf * + +exec <&- +genfile --file file +decho \"# Create volume\" +tar -c -f archive file +decho \"# Update: wrong label\" +tar -rf archive --label='My volume' file; echo \$? +decho \"# Update: right label\" +tar -rf archive file +)" +echo label05.at:25 >"$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 * + +exec <&- +genfile --file file +decho "# Create volume" +tar -c -f archive file +decho "# Update: wrong label" +tar -rf archive --label='My volume' file; echo $? +decho "# Update: right label" +tar -rf archive file +) ) >"$at_stdout" 2>"$at_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 * + +exec <&- +genfile --file file +decho "# Create volume" +tar -c -f archive file +decho "# Update: wrong label" +tar -rf archive --label='My volume' file; echo $? +decho "# Update: right label" +tar -rf archive file +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +echo >>"$at_stderr"; $as_echo "# Create volume +# Update: wrong label +tar: Archive not labeled to match \`My volume' +tar: Error is not recoverable: exiting now +# Update: right label +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "# Create volume +# Update: wrong label +2 +# Update: right label +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/label05.at:25" + +$at_failed && at_func_log_failure +$at_traceon; } + + { $at_traceoff +$as_echo "$at_srcdir/label05.at:25: +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H posix\" +export TAR_OPTIONS +rm -rf * + +exec <&- +genfile --file file +decho \"# Create volume\" +tar -c -f archive file +decho \"# Update: wrong label\" +tar -rf archive --label='My volume' file; echo \$? +decho \"# Update: right label\" +tar -rf archive file +)" +echo label05.at:25 >"$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 * + +exec <&- +genfile --file file +decho "# Create volume" +tar -c -f archive file +decho "# Update: wrong label" +tar -rf archive --label='My volume' file; echo $? +decho "# Update: right label" +tar -rf archive file +) ) >"$at_stdout" 2>"$at_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 * + +exec <&- +genfile --file file +decho "# Create volume" +tar -c -f archive file +decho "# Update: wrong label" +tar -rf archive --label='My volume' file; echo $? +decho "# Update: right label" +tar -rf archive file +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +echo >>"$at_stderr"; $as_echo "# Create volume +# Update: wrong label +tar: Archive not labeled to match \`My volume' +tar: Error is not recoverable: exiting now +# Update: right label +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "# Create volume +# Update: wrong label +2 +# Update: right label +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/label05.at:25" + +$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_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 " 34: $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 "34. backup01.at:33: testing ..." + $as_echo "49. backup01.at:33: testing ..." $at_traceon @@ -15481,10 +18115,11 @@ TAR_OPTIONS=\"-H v7\" export TAR_OPTIONS rm -rf * +unset VERSION_CONTROL mkdir dir1 dir2 echo bla > dir1/file1 tar cf test.tar dir1 dir2 -tar xfv test.tar --backup +tar xfv test.tar --backup --warning=no-timestamp )" echo backup01.at:36 >"$at_check_line_file" @@ -15499,10 +18134,11 @@ TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * +unset VERSION_CONTROL mkdir dir1 dir2 echo bla > dir1/file1 tar cf test.tar dir1 dir2 -tar xfv test.tar --backup +tar xfv test.tar --backup --warning=no-timestamp ) ) >"$at_stdout" 2>"$at_stder1" at_func_filter_trace $? else @@ -15515,10 +18151,11 @@ TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * +unset VERSION_CONTROL mkdir dir1 dir2 echo bla > dir1/file1 tar cf test.tar dir1 dir2 -tar xfv test.tar --backup +tar xfv test.tar --backup --warning=no-timestamp ) ) >"$at_stdout" 2>"$at_stderr" fi at_status=$? @@ -15545,10 +18182,11 @@ TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * +unset VERSION_CONTROL mkdir dir1 dir2 echo bla > dir1/file1 tar cf test.tar dir1 dir2 -tar xfv test.tar --backup +tar xfv test.tar --backup --warning=no-timestamp )" echo backup01.at:36 >"$at_check_line_file" @@ -15563,10 +18201,11 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * +unset VERSION_CONTROL mkdir dir1 dir2 echo bla > dir1/file1 tar cf test.tar dir1 dir2 -tar xfv test.tar --backup +tar xfv test.tar --backup --warning=no-timestamp ) ) >"$at_stdout" 2>"$at_stder1" at_func_filter_trace $? else @@ -15579,10 +18218,11 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * +unset VERSION_CONTROL mkdir dir1 dir2 echo bla > dir1/file1 tar cf test.tar dir1 dir2 -tar xfv test.tar --backup +tar xfv test.tar --backup --warning=no-timestamp ) ) >"$at_stdout" 2>"$at_stderr" fi at_status=$? @@ -15609,10 +18249,11 @@ TAR_OPTIONS=\"-H ustar\" export TAR_OPTIONS rm -rf * +unset VERSION_CONTROL mkdir dir1 dir2 echo bla > dir1/file1 tar cf test.tar dir1 dir2 -tar xfv test.tar --backup +tar xfv test.tar --backup --warning=no-timestamp )" echo backup01.at:36 >"$at_check_line_file" @@ -15627,10 +18268,11 @@ TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * +unset VERSION_CONTROL mkdir dir1 dir2 echo bla > dir1/file1 tar cf test.tar dir1 dir2 -tar xfv test.tar --backup +tar xfv test.tar --backup --warning=no-timestamp ) ) >"$at_stdout" 2>"$at_stder1" at_func_filter_trace $? else @@ -15643,10 +18285,11 @@ TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * +unset VERSION_CONTROL mkdir dir1 dir2 echo bla > dir1/file1 tar cf test.tar dir1 dir2 -tar xfv test.tar --backup +tar xfv test.tar --backup --warning=no-timestamp ) ) >"$at_stdout" 2>"$at_stderr" fi at_status=$? @@ -15673,10 +18316,11 @@ TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * +unset VERSION_CONTROL mkdir dir1 dir2 echo bla > dir1/file1 tar cf test.tar dir1 dir2 -tar xfv test.tar --backup +tar xfv test.tar --backup --warning=no-timestamp )" echo backup01.at:36 >"$at_check_line_file" @@ -15691,10 +18335,11 @@ TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * +unset VERSION_CONTROL mkdir dir1 dir2 echo bla > dir1/file1 tar cf test.tar dir1 dir2 -tar xfv test.tar --backup +tar xfv test.tar --backup --warning=no-timestamp ) ) >"$at_stdout" 2>"$at_stder1" at_func_filter_trace $? else @@ -15707,10 +18352,11 @@ TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * +unset VERSION_CONTROL mkdir dir1 dir2 echo bla > dir1/file1 tar cf test.tar dir1 dir2 -tar xfv test.tar --backup +tar xfv test.tar --backup --warning=no-timestamp ) ) >"$at_stdout" 2>"$at_stderr" fi at_status=$? @@ -15737,10 +18383,11 @@ TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * +unset VERSION_CONTROL mkdir dir1 dir2 echo bla > dir1/file1 tar cf test.tar dir1 dir2 -tar xfv test.tar --backup +tar xfv test.tar --backup --warning=no-timestamp )" echo backup01.at:36 >"$at_check_line_file" @@ -15755,10 +18402,11 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * +unset VERSION_CONTROL mkdir dir1 dir2 echo bla > dir1/file1 tar cf test.tar dir1 dir2 -tar xfv test.tar --backup +tar xfv test.tar --backup --warning=no-timestamp ) ) >"$at_stdout" 2>"$at_stder1" at_func_filter_trace $? else @@ -15771,10 +18419,11 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * +unset VERSION_CONTROL mkdir dir1 dir2 echo bla > dir1/file1 tar cf test.tar dir1 dir2 -tar xfv test.tar --backup +tar xfv test.tar --backup --warning=no-timestamp ) ) >"$at_stdout" 2>"$at_stderr" fi at_status=$? @@ -15798,16 +18447,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_34 -#AT_START_35 -# 35. 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 " 35: $at_desc " +$at_quiet $as_echo_n " 50: $at_desc " at_xfail=no echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "35. gzip.at:23: testing ..." + $as_echo "50. gzip.at:23: testing ..." $at_traceon @@ -15819,7 +18468,10 @@ $as_echo "$at_srcdir/gzip.at:28: cat /dev/null | gzip - > /dev/null 2>&1 || exit 77 -tar xfvz /dev/null +tar xfvz /dev/null 2>err +RC=\$? +sed -n '/^tar:/p' err >&2 +exit \$RC " echo gzip.at:28 >"$at_check_line_file" @@ -15829,7 +18481,10 @@ if { echo 'Not enabling shell tracing (command contains an embedded newline)' cat /dev/null | gzip - > /dev/null 2>&1 || exit 77 -tar xfvz /dev/null +tar xfvz /dev/null 2>err +RC=$? +sed -n '/^tar:/p' err >&2 +exit $RC ) >"$at_stdout" 2>"$at_stder1" at_func_filter_trace $? else @@ -15837,14 +18492,15 @@ else cat /dev/null | gzip - > /dev/null 2>&1 || exit 77 -tar xfvz /dev/null +tar xfvz /dev/null 2>err +RC=$? +sed -n '/^tar:/p' err >&2 +exit $RC ) >"$at_stdout" 2>"$at_stderr" fi at_status=$? at_failed=false -echo >>"$at_stderr"; $as_echo " -gzip: stdin: unexpected end of file -tar: Child returned status 1 +echo >>"$at_stderr"; $as_echo "tar: Child returned status 1 tar: Error is not recoverable: exiting now " | \ $at_diff - "$at_stderr" || at_failed=: @@ -15859,17 +18515,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. 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 " 36: $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 "36. incremental.at:23: testing ..." + $as_echo "51. incremental.at:23: testing ..." $at_traceon @@ -16273,17 +18929,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. 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 " 37: $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 "37. incr01.at:27: testing ..." + $as_echo "52. incr01.at:27: testing ..." $at_traceon @@ -16309,9 +18965,9 @@ tar -cf archive.1 -g db directory mv directory orig -tar xvfg archive.0 /dev/null +tar xvfg archive.0 /dev/null --warning=no-timestamp echo separator -tar xvfg archive.1 /dev/null +tar xvfg archive.1 /dev/null --warning=no-timestamp )" echo incr01.at:30 >"$at_check_line_file" @@ -16335,9 +18991,9 @@ tar -cf archive.1 -g db directory mv directory orig -tar xvfg archive.0 /dev/null +tar xvfg archive.0 /dev/null --warning=no-timestamp echo separator -tar xvfg archive.1 /dev/null +tar xvfg archive.1 /dev/null --warning=no-timestamp ) ) >"$at_stdout" 2>"$at_stder1" at_func_filter_trace $? else @@ -16359,9 +19015,9 @@ tar -cf archive.1 -g db directory mv directory orig -tar xvfg archive.0 /dev/null +tar xvfg archive.0 /dev/null --warning=no-timestamp echo separator -tar xvfg archive.1 /dev/null +tar xvfg archive.1 /dev/null --warning=no-timestamp ) ) >"$at_stdout" 2>"$at_stderr" fi at_status=$? @@ -16398,9 +19054,9 @@ tar -cf archive.1 -g db directory mv directory orig -tar xvfg archive.0 /dev/null +tar xvfg archive.0 /dev/null --warning=no-timestamp echo separator -tar xvfg archive.1 /dev/null +tar xvfg archive.1 /dev/null --warning=no-timestamp )" echo incr01.at:30 >"$at_check_line_file" @@ -16424,9 +19080,9 @@ tar -cf archive.1 -g db directory mv directory orig -tar xvfg archive.0 /dev/null +tar xvfg archive.0 /dev/null --warning=no-timestamp echo separator -tar xvfg archive.1 /dev/null +tar xvfg archive.1 /dev/null --warning=no-timestamp ) ) >"$at_stdout" 2>"$at_stder1" at_func_filter_trace $? else @@ -16448,9 +19104,9 @@ tar -cf archive.1 -g db directory mv directory orig -tar xvfg archive.0 /dev/null +tar xvfg archive.0 /dev/null --warning=no-timestamp echo separator -tar xvfg archive.1 /dev/null +tar xvfg archive.1 /dev/null --warning=no-timestamp ) ) >"$at_stdout" 2>"$at_stderr" fi at_status=$? @@ -16487,9 +19143,9 @@ tar -cf archive.1 -g db directory mv directory orig -tar xvfg archive.0 /dev/null +tar xvfg archive.0 /dev/null --warning=no-timestamp echo separator -tar xvfg archive.1 /dev/null +tar xvfg archive.1 /dev/null --warning=no-timestamp )" echo incr01.at:30 >"$at_check_line_file" @@ -16513,9 +19169,9 @@ tar -cf archive.1 -g db directory mv directory orig -tar xvfg archive.0 /dev/null +tar xvfg archive.0 /dev/null --warning=no-timestamp echo separator -tar xvfg archive.1 /dev/null +tar xvfg archive.1 /dev/null --warning=no-timestamp ) ) >"$at_stdout" 2>"$at_stder1" at_func_filter_trace $? else @@ -16537,9 +19193,9 @@ tar -cf archive.1 -g db directory mv directory orig -tar xvfg archive.0 /dev/null +tar xvfg archive.0 /dev/null --warning=no-timestamp echo separator -tar xvfg archive.1 /dev/null +tar xvfg archive.1 /dev/null --warning=no-timestamp ) ) >"$at_stdout" 2>"$at_stderr" fi at_status=$? @@ -16564,17 +19220,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. 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 " 38: $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 "38. incr02.at:32: testing ..." + $as_echo "53. incr02.at:32: testing ..." $at_traceon @@ -17044,17 +19700,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. 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 " 39: $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 "39. listed01.at:26: testing ..." + $as_echo "54. listed01.at:26: testing ..." $at_traceon @@ -17314,17 +19970,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. 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 " 40: $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 "40. listed02.at:28: testing ..." + $as_echo "55. listed02.at:28: testing ..." $at_traceon @@ -17910,17 +20566,254 @@ $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. incr03.at:28: renamed files in incrementals +#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 " 56: $at_desc" +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "56. listed03.at:22: testing ..." + $at_traceon + + + + + + { $at_traceoff +$as_echo "$at_srcdir/listed03.at:25: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H gnu\" +export TAR_OPTIONS +rm -rf * + + +echo "test" > $$ +chmod 0 $$ +cat $$ > /dev/null 2>&1 +result=$? +rm -f $$ +test $result -eq 0 && exit 77 + + +mkdir dir +mkdir dir/sub +mkdir dir/sub/a +genfile --file dir/sub/a/file +cd dir/sub + +chmod a-r .. +tar -c -f archive.tar --listed-incremental=db.1 -v a +status=\$? +chmod a+r .. +exit \$status +)" +echo listed03.at:25 >"$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 * + + +echo "test" > $$ +chmod 0 $$ +cat $$ > /dev/null 2>&1 +result=$? +rm -f $$ +test $result -eq 0 && exit 77 + + +mkdir dir +mkdir dir/sub +mkdir dir/sub/a +genfile --file dir/sub/a/file +cd dir/sub + +chmod a-r .. +tar -c -f archive.tar --listed-incremental=db.1 -v a +status=$? +chmod a+r .. +exit $status +) ) >"$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 * + + +echo "test" > $$ +chmod 0 $$ +cat $$ > /dev/null 2>&1 +result=$? +rm -f $$ +test $result -eq 0 && exit 77 + + +mkdir dir +mkdir dir/sub +mkdir dir/sub/a +genfile --file dir/sub/a/file +cd dir/sub + +chmod a-r .. +tar -c -f archive.tar --listed-incremental=db.1 -v a +status=$? +chmod a+r .. +exit $status +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +echo >>"$at_stderr"; $as_echo "tar: a: Directory is new +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "a/ +a/file +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/listed03.at:25" + +$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_56 +#AT_START_57 +# 57. listed04.at:24: --listed-incremental and --one-file-system +at_setup_line='listed04.at:24' +at_desc="--listed-incremental and --one-file-system" +$at_quiet $as_echo_n " 57: $at_desc " +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "57. listed04.at:24: testing ..." + $at_traceon + + + + + + { $at_traceoff +$as_echo "$at_srcdir/listed04.at:27: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H gnu\" +export TAR_OPTIONS +rm -rf * + + +mkdir dir +echo a >dir/a +echo b >dir/b + +tar --one-file-system -cvf archive.tar -g archive.incr dir || exit +tar -tf archive.tar || exit +)" +echo listed04.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 dir +echo a >dir/a +echo b >dir/b + +tar --one-file-system -cvf archive.tar -g archive.incr dir || exit +tar -tf archive.tar || exit +) ) >"$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 +echo a >dir/a +echo b >dir/b + +tar --one-file-system -cvf archive.tar -g archive.incr dir || exit +tar -tf archive.tar || exit +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +echo >>"$at_stderr"; $as_echo "tar: dir: Directory is new +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "dir/ +dir/a +dir/b +dir/ +dir/a +dir/b +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/listed04.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_57 +#AT_START_58 +# 58. incr03.at:28: renamed files in incrementals at_setup_line='incr03.at:28' at_desc="renamed files in incrementals" -$at_quiet $as_echo_n " 41: $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 "41. incr03.at:28: testing ..." + $as_echo "58. incr03.at:28: testing ..." $at_traceon @@ -17960,11 +20853,11 @@ echo Listing of archive.2 tar -tf archive.2 | sort echo Directory after first restore -tar -xf archive.1 -g db +tar -xf archive.1 -g db --warning=no-timestamp find directory | sort echo Directory after second restore -tar -xf archive.2 -g db +tar -xf archive.2 -g db --warning=no-timestamp find directory | sort )" echo incr03.at:31 >"$at_check_line_file" @@ -18003,11 +20896,11 @@ echo Listing of archive.2 tar -tf archive.2 | sort echo Directory after first restore -tar -xf archive.1 -g db +tar -xf archive.1 -g db --warning=no-timestamp find directory | sort echo Directory after second restore -tar -xf archive.2 -g db +tar -xf archive.2 -g db --warning=no-timestamp find directory | sort ) ) >"$at_stdout" 2>"$at_stder1" at_func_filter_trace $? @@ -18044,11 +20937,11 @@ echo Listing of archive.2 tar -tf archive.2 | sort echo Directory after first restore -tar -xf archive.1 -g db +tar -xf archive.1 -g db --warning=no-timestamp find directory | sort echo Directory after second restore -tar -xf archive.2 -g db +tar -xf archive.2 -g db --warning=no-timestamp find directory | sort ) ) >"$at_stdout" 2>"$at_stderr" fi @@ -18110,11 +21003,11 @@ echo Listing of archive.2 tar -tf archive.2 | sort echo Directory after first restore -tar -xf archive.1 -g db +tar -xf archive.1 -g db --warning=no-timestamp find directory | sort echo Directory after second restore -tar -xf archive.2 -g db +tar -xf archive.2 -g db --warning=no-timestamp find directory | sort )" echo incr03.at:31 >"$at_check_line_file" @@ -18153,11 +21046,11 @@ echo Listing of archive.2 tar -tf archive.2 | sort echo Directory after first restore -tar -xf archive.1 -g db +tar -xf archive.1 -g db --warning=no-timestamp find directory | sort echo Directory after second restore -tar -xf archive.2 -g db +tar -xf archive.2 -g db --warning=no-timestamp find directory | sort ) ) >"$at_stdout" 2>"$at_stder1" at_func_filter_trace $? @@ -18194,11 +21087,11 @@ echo Listing of archive.2 tar -tf archive.2 | sort echo Directory after first restore -tar -xf archive.1 -g db +tar -xf archive.1 -g db --warning=no-timestamp find directory | sort echo Directory after second restore -tar -xf archive.2 -g db +tar -xf archive.2 -g db --warning=no-timestamp find directory | sort ) ) >"$at_stdout" 2>"$at_stderr" fi @@ -18260,11 +21153,11 @@ echo Listing of archive.2 tar -tf archive.2 | sort echo Directory after first restore -tar -xf archive.1 -g db +tar -xf archive.1 -g db --warning=no-timestamp find directory | sort echo Directory after second restore -tar -xf archive.2 -g db +tar -xf archive.2 -g db --warning=no-timestamp find directory | sort )" echo incr03.at:31 >"$at_check_line_file" @@ -18303,11 +21196,11 @@ echo Listing of archive.2 tar -tf archive.2 | sort echo Directory after first restore -tar -xf archive.1 -g db +tar -xf archive.1 -g db --warning=no-timestamp find directory | sort echo Directory after second restore -tar -xf archive.2 -g db +tar -xf archive.2 -g db --warning=no-timestamp find directory | sort ) ) >"$at_stdout" 2>"$at_stder1" at_func_filter_trace $? @@ -18344,11 +21237,11 @@ echo Listing of archive.2 tar -tf archive.2 | sort echo Directory after first restore -tar -xf archive.1 -g db +tar -xf archive.1 -g db --warning=no-timestamp find directory | sort echo Directory after second restore -tar -xf archive.2 -g db +tar -xf archive.2 -g db --warning=no-timestamp find directory | sort ) ) >"$at_stdout" 2>"$at_stderr" fi @@ -18384,17 +21277,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. incr04.at:29: proper icontents initialization +#AT_STOP_58 +#AT_START_59 +# 59. incr04.at:29: proper icontents initialization at_setup_line='incr04.at:29' at_desc="proper icontents initialization" -$at_quiet $as_echo_n " 42: $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 "42. incr04.at:29: testing ..." + $as_echo "59. incr04.at:29: testing ..." $at_traceon @@ -19136,17 +22029,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. incr05.at:19: incremental dumps with -C +#AT_STOP_59 +#AT_START_60 +# 60. incr05.at:19: incremental dumps with -C at_setup_line='incr05.at:19' at_desc="incremental dumps with -C" -$at_quiet $as_echo_n " 43: $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 "43. incr05.at:19: testing ..." + $as_echo "60. incr05.at:19: testing ..." $at_traceon @@ -19430,17 +22323,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. incr06.at:19: incremental dumps of nested directories +#AT_STOP_60 +#AT_START_61 +# 61. 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 " 44: $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 "44. incr06.at:19: testing ..." + $as_echo "61. incr06.at:19: testing ..." $at_traceon @@ -19868,17 +22761,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. filerem01.at:34: file removed as we read it (ca. 22 seconds) +#AT_STOP_61 +#AT_START_62 +# 62. 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 " 45: $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 "45. filerem01.at:34: testing ..." + $as_echo "62. filerem01.at:34: testing ..." $at_traceon @@ -20093,17 +22986,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. filerem02.at:24: toplevel file removed (ca. 24 seconds) +#AT_STOP_62 +#AT_START_63 +# 63. 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 " 46: $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 "46. filerem02.at:24: testing ..." + $as_echo "63. filerem02.at:24: testing ..." $at_traceon @@ -20183,11 +23076,7 @@ genfile --run --checkpoint=3 --exec 'rm -rf dir2' -- \ fi at_status=$? at_failed=false -echo >>"$at_stderr"; $as_echo "tar: dir2: Cannot stat: No such file or directory -tar: dir2/file1: File removed before we read it -tar: Exiting with failure status due to previous errors -" | \ - $at_diff - "$at_stderr" || at_failed=: +echo stderr:; cat "$at_stderr" echo stdout:; cat "$at_stdout" at_func_check_status 2 $at_status "$at_srcdir/filerem02.at:27" @@ -20267,11 +23156,7 @@ genfile --run --checkpoint=3 --exec 'rm -rf dir2' -- \ fi at_status=$? at_failed=false -echo >>"$at_stderr"; $as_echo "tar: dir2: Cannot stat: No such file or directory -tar: dir2/file1: File removed before we read it -tar: Exiting with failure status due to previous errors -" | \ - $at_diff - "$at_stderr" || at_failed=: +echo stderr:; cat "$at_stderr" echo stdout:; cat "$at_stdout" at_func_check_status 2 $at_status "$at_srcdir/filerem02.at:27" @@ -20281,23 +23166,26 @@ $at_traceon; } +# Ignore stdout and stderr because their contents depend on +# the file system implementation. + # Timing information: see filerem01.at $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_46 -#AT_START_47 -# 47. rename01.at:24: renamed dirs in incrementals +#AT_STOP_63 +#AT_START_64 +# 64. rename01.at:24: renamed dirs in incrementals at_setup_line='rename01.at:24' at_desc="renamed dirs in incrementals" -$at_quiet $as_echo_n " 47: $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 "47. rename01.at:24: testing ..." + $as_echo "64. rename01.at:24: testing ..." $at_traceon @@ -20806,17 +23694,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. rename02.at:24: move between hierarchies +#AT_STOP_64 +#AT_START_65 +# 65. rename02.at:24: move between hierarchies at_setup_line='rename02.at:24' at_desc="move between hierarchies" -$at_quiet $as_echo_n " 48: $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 "48. rename02.at:24: testing ..." + $as_echo "65. rename02.at:24: testing ..." $at_traceon @@ -20856,14 +23744,14 @@ tar -g incr -cf arch.2 -v foo mv foo old -tar xfg arch.1 /dev/null 2>tmperr +tar xfg arch.1 /dev/null --warning=no-timestamp 2>tmperr sort tmperr >&2 echo \"Begin directory listing 1\" find foo | sort echo \"End directory listing 1\" -tar xfgv arch.2 /dev/null +tar xfgv arch.2 /dev/null --warning=no-timestamp echo Begin directory listing 2 find foo | sort echo End directory listing 2 @@ -20904,14 +23792,14 @@ tar -g incr -cf arch.2 -v foo mv foo old -tar xfg arch.1 /dev/null 2>tmperr +tar xfg arch.1 /dev/null --warning=no-timestamp 2>tmperr sort tmperr >&2 echo "Begin directory listing 1" find foo | sort echo "End directory listing 1" -tar xfgv arch.2 /dev/null +tar xfgv arch.2 /dev/null --warning=no-timestamp echo Begin directory listing 2 find foo | sort echo End directory listing 2 @@ -20950,14 +23838,14 @@ tar -g incr -cf arch.2 -v foo mv foo old -tar xfg arch.1 /dev/null 2>tmperr +tar xfg arch.1 /dev/null --warning=no-timestamp 2>tmperr sort tmperr >&2 echo "Begin directory listing 1" find foo | sort echo "End directory listing 1" -tar xfgv arch.2 /dev/null +tar xfgv arch.2 /dev/null --warning=no-timestamp echo Begin directory listing 2 find foo | sort echo End directory listing 2 @@ -21044,14 +23932,14 @@ tar -g incr -cf arch.2 -v foo mv foo old -tar xfg arch.1 /dev/null 2>tmperr +tar xfg arch.1 /dev/null --warning=no-timestamp 2>tmperr sort tmperr >&2 echo \"Begin directory listing 1\" find foo | sort echo \"End directory listing 1\" -tar xfgv arch.2 /dev/null +tar xfgv arch.2 /dev/null --warning=no-timestamp echo Begin directory listing 2 find foo | sort echo End directory listing 2 @@ -21092,14 +23980,14 @@ tar -g incr -cf arch.2 -v foo mv foo old -tar xfg arch.1 /dev/null 2>tmperr +tar xfg arch.1 /dev/null --warning=no-timestamp 2>tmperr sort tmperr >&2 echo "Begin directory listing 1" find foo | sort echo "End directory listing 1" -tar xfgv arch.2 /dev/null +tar xfgv arch.2 /dev/null --warning=no-timestamp echo Begin directory listing 2 find foo | sort echo End directory listing 2 @@ -21138,14 +24026,14 @@ tar -g incr -cf arch.2 -v foo mv foo old -tar xfg arch.1 /dev/null 2>tmperr +tar xfg arch.1 /dev/null --warning=no-timestamp 2>tmperr sort tmperr >&2 echo "Begin directory listing 1" find foo | sort echo "End directory listing 1" -tar xfgv arch.2 /dev/null +tar xfgv arch.2 /dev/null --warning=no-timestamp echo Begin directory listing 2 find foo | sort echo End directory listing 2 @@ -21232,14 +24120,14 @@ tar -g incr -cf arch.2 -v foo mv foo old -tar xfg arch.1 /dev/null 2>tmperr +tar xfg arch.1 /dev/null --warning=no-timestamp 2>tmperr sort tmperr >&2 echo \"Begin directory listing 1\" find foo | sort echo \"End directory listing 1\" -tar xfgv arch.2 /dev/null +tar xfgv arch.2 /dev/null --warning=no-timestamp echo Begin directory listing 2 find foo | sort echo End directory listing 2 @@ -21280,14 +24168,14 @@ tar -g incr -cf arch.2 -v foo mv foo old -tar xfg arch.1 /dev/null 2>tmperr +tar xfg arch.1 /dev/null --warning=no-timestamp 2>tmperr sort tmperr >&2 echo "Begin directory listing 1" find foo | sort echo "End directory listing 1" -tar xfgv arch.2 /dev/null +tar xfgv arch.2 /dev/null --warning=no-timestamp echo Begin directory listing 2 find foo | sort echo End directory listing 2 @@ -21326,14 +24214,14 @@ tar -g incr -cf arch.2 -v foo mv foo old -tar xfg arch.1 /dev/null 2>tmperr +tar xfg arch.1 /dev/null --warning=no-timestamp 2>tmperr sort tmperr >&2 echo "Begin directory listing 1" find foo | sort echo "End directory listing 1" -tar xfgv arch.2 /dev/null +tar xfgv arch.2 /dev/null --warning=no-timestamp echo Begin directory listing 2 find foo | sort echo End directory listing 2 @@ -21394,17 +24282,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. rename03.at:23: cyclic renames +#AT_STOP_65 +#AT_START_66 +# 66. rename03.at:23: cyclic renames at_setup_line='rename03.at:23' at_desc="cyclic renames" -$at_quiet $as_echo_n " 49: $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 "49. rename03.at:23: testing ..." + $as_echo "66. rename03.at:23: testing ..." $at_traceon @@ -21457,13 +24345,13 @@ echo \"Second dump\" >&2 tar -g incr -cf arch.2 -v foo 2>tmperr sort tmperr >&2 -tar xfg arch.1 /dev/null +tar xfg arch.1 /dev/null --warning=no-timestamp echo \"Begin directory listing 1\" find foo | sort echo \"End directory listing 1\" -tar xfgv arch.2 /dev/null +tar xfgv arch.2 /dev/null --warning=no-timestamp echo Begin directory listing 2 find foo | sort echo End directory listing 2 @@ -21517,13 +24405,13 @@ echo "Second dump" >&2 tar -g incr -cf arch.2 -v foo 2>tmperr sort tmperr >&2 -tar xfg arch.1 /dev/null +tar xfg arch.1 /dev/null --warning=no-timestamp echo "Begin directory listing 1" find foo | sort echo "End directory listing 1" -tar xfgv arch.2 /dev/null +tar xfgv arch.2 /dev/null --warning=no-timestamp echo Begin directory listing 2 find foo | sort echo End directory listing 2 @@ -21575,13 +24463,13 @@ echo "Second dump" >&2 tar -g incr -cf arch.2 -v foo 2>tmperr sort tmperr >&2 -tar xfg arch.1 /dev/null +tar xfg arch.1 /dev/null --warning=no-timestamp echo "Begin directory listing 1" find foo | sort echo "End directory listing 1" -tar xfgv arch.2 /dev/null +tar xfgv arch.2 /dev/null --warning=no-timestamp echo Begin directory listing 2 find foo | sort echo End directory listing 2 @@ -21694,13 +24582,13 @@ echo \"Second dump\" >&2 tar -g incr -cf arch.2 -v foo 2>tmperr sort tmperr >&2 -tar xfg arch.1 /dev/null +tar xfg arch.1 /dev/null --warning=no-timestamp echo \"Begin directory listing 1\" find foo | sort echo \"End directory listing 1\" -tar xfgv arch.2 /dev/null +tar xfgv arch.2 /dev/null --warning=no-timestamp echo Begin directory listing 2 find foo | sort echo End directory listing 2 @@ -21754,13 +24642,13 @@ echo "Second dump" >&2 tar -g incr -cf arch.2 -v foo 2>tmperr sort tmperr >&2 -tar xfg arch.1 /dev/null +tar xfg arch.1 /dev/null --warning=no-timestamp echo "Begin directory listing 1" find foo | sort echo "End directory listing 1" -tar xfgv arch.2 /dev/null +tar xfgv arch.2 /dev/null --warning=no-timestamp echo Begin directory listing 2 find foo | sort echo End directory listing 2 @@ -21812,13 +24700,13 @@ echo "Second dump" >&2 tar -g incr -cf arch.2 -v foo 2>tmperr sort tmperr >&2 -tar xfg arch.1 /dev/null +tar xfg arch.1 /dev/null --warning=no-timestamp echo "Begin directory listing 1" find foo | sort echo "End directory listing 1" -tar xfgv arch.2 /dev/null +tar xfgv arch.2 /dev/null --warning=no-timestamp echo Begin directory listing 2 find foo | sort echo End directory listing 2 @@ -21931,13 +24819,13 @@ echo \"Second dump\" >&2 tar -g incr -cf arch.2 -v foo 2>tmperr sort tmperr >&2 -tar xfg arch.1 /dev/null +tar xfg arch.1 /dev/null --warning=no-timestamp echo \"Begin directory listing 1\" find foo | sort echo \"End directory listing 1\" -tar xfgv arch.2 /dev/null +tar xfgv arch.2 /dev/null --warning=no-timestamp echo Begin directory listing 2 find foo | sort echo End directory listing 2 @@ -21991,13 +24879,13 @@ echo "Second dump" >&2 tar -g incr -cf arch.2 -v foo 2>tmperr sort tmperr >&2 -tar xfg arch.1 /dev/null +tar xfg arch.1 /dev/null --warning=no-timestamp echo "Begin directory listing 1" find foo | sort echo "End directory listing 1" -tar xfgv arch.2 /dev/null +tar xfgv arch.2 /dev/null --warning=no-timestamp echo Begin directory listing 2 find foo | sort echo End directory listing 2 @@ -22049,13 +24937,13 @@ echo "Second dump" >&2 tar -g incr -cf arch.2 -v foo 2>tmperr sort tmperr >&2 -tar xfg arch.1 /dev/null +tar xfg arch.1 /dev/null --warning=no-timestamp echo "Begin directory listing 1" find foo | sort echo "End directory listing 1" -tar xfgv arch.2 /dev/null +tar xfgv arch.2 /dev/null --warning=no-timestamp echo Begin directory listing 2 find foo | sort echo End directory listing 2 @@ -22129,17 +25017,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. rename04.at:27: renamed directory containing subdirectories +#AT_STOP_66 +#AT_START_67 +# 67. rename04.at:27: renamed directory containing subdirectories at_setup_line='rename04.at:27' at_desc="renamed directory containing subdirectories" -$at_quiet $as_echo_n " 50: $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 "50. rename04.at:27: testing ..." + $as_echo "67. rename04.at:27: testing ..." $at_traceon @@ -22603,17 +25491,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. rename05.at:24: renamed subdirectories +#AT_STOP_67 +#AT_START_68 +# 68. rename05.at:24: renamed subdirectories at_setup_line='rename05.at:24' at_desc="renamed subdirectories" -$at_quiet $as_echo_n " 51: $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 "51. rename05.at:24: testing ..." + $as_echo "68. rename05.at:24: testing ..." $at_traceon @@ -22653,11 +25541,11 @@ tar -cf archive.2 -g db.2 dir mv dir orig decho First restore -tar -xf archive.1 -g db.1 +tar -xf archive.1 -g db.1 --warning=no-timestamp find directory | sort decho Second restore -tar -xf archive.2 -g db.2 +tar -xf archive.2 -g db.2 --warning=no-timestamp find dir | sort )" echo rename05.at:27 >"$at_check_line_file" @@ -22696,11 +25584,11 @@ tar -cf archive.2 -g db.2 dir mv dir orig decho First restore -tar -xf archive.1 -g db.1 +tar -xf archive.1 -g db.1 --warning=no-timestamp find directory | sort decho Second restore -tar -xf archive.2 -g db.2 +tar -xf archive.2 -g db.2 --warning=no-timestamp find dir | sort ) ) >"$at_stdout" 2>"$at_stder1" at_func_filter_trace $? @@ -22737,11 +25625,11 @@ tar -cf archive.2 -g db.2 dir mv dir orig decho First restore -tar -xf archive.1 -g db.1 +tar -xf archive.1 -g db.1 --warning=no-timestamp find directory | sort decho Second restore -tar -xf archive.2 -g db.2 +tar -xf archive.2 -g db.2 --warning=no-timestamp find dir | sort ) ) >"$at_stdout" 2>"$at_stderr" fi @@ -22806,11 +25694,11 @@ tar -cf archive.2 -g db.2 dir mv dir orig decho First restore -tar -xf archive.1 -g db.1 +tar -xf archive.1 -g db.1 --warning=no-timestamp find directory | sort decho Second restore -tar -xf archive.2 -g db.2 +tar -xf archive.2 -g db.2 --warning=no-timestamp find dir | sort )" echo rename05.at:27 >"$at_check_line_file" @@ -22849,11 +25737,11 @@ tar -cf archive.2 -g db.2 dir mv dir orig decho First restore -tar -xf archive.1 -g db.1 +tar -xf archive.1 -g db.1 --warning=no-timestamp find directory | sort decho Second restore -tar -xf archive.2 -g db.2 +tar -xf archive.2 -g db.2 --warning=no-timestamp find dir | sort ) ) >"$at_stdout" 2>"$at_stder1" at_func_filter_trace $? @@ -22890,11 +25778,11 @@ tar -cf archive.2 -g db.2 dir mv dir orig decho First restore -tar -xf archive.1 -g db.1 +tar -xf archive.1 -g db.1 --warning=no-timestamp find directory | sort decho Second restore -tar -xf archive.2 -g db.2 +tar -xf archive.2 -g db.2 --warning=no-timestamp find dir | sort ) ) >"$at_stdout" 2>"$at_stderr" fi @@ -22959,11 +25847,11 @@ tar -cf archive.2 -g db.2 dir mv dir orig decho First restore -tar -xf archive.1 -g db.1 +tar -xf archive.1 -g db.1 --warning=no-timestamp find directory | sort decho Second restore -tar -xf archive.2 -g db.2 +tar -xf archive.2 -g db.2 --warning=no-timestamp find dir | sort )" echo rename05.at:27 >"$at_check_line_file" @@ -23002,11 +25890,11 @@ tar -cf archive.2 -g db.2 dir mv dir orig decho First restore -tar -xf archive.1 -g db.1 +tar -xf archive.1 -g db.1 --warning=no-timestamp find directory | sort decho Second restore -tar -xf archive.2 -g db.2 +tar -xf archive.2 -g db.2 --warning=no-timestamp find dir | sort ) ) >"$at_stdout" 2>"$at_stder1" at_func_filter_trace $? @@ -23043,11 +25931,11 @@ tar -cf archive.2 -g db.2 dir mv dir orig decho First restore -tar -xf archive.1 -g db.1 +tar -xf archive.1 -g db.1 --warning=no-timestamp find directory | sort decho Second restore -tar -xf archive.2 -g db.2 +tar -xf archive.2 -g db.2 --warning=no-timestamp find dir | sort ) ) >"$at_stdout" 2>"$at_stderr" fi @@ -23086,17 +25974,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. chtype.at:27: changed file types in incrementals +#AT_STOP_68 +#AT_START_69 +# 69. 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 " 52: $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 "52. chtype.at:27: testing ..." + $as_echo "69. chtype.at:27: testing ..." $at_traceon @@ -23139,9 +26027,9 @@ tar --create --file=archive.2 --listed-incremental=db.2 directory rm -r directory echo Restore archive.1 -tar -xf archive.1 --listed-incremental=/dev/null +tar -xf archive.1 --listed-incremental=/dev/null --warning=no-timestamp echo Restore archive.2 -tar -xf archive.2 --listed-incremental=/dev/null +tar -xf archive.2 --listed-incremental=/dev/null --warning=no-timestamp find directory | sort )" echo chtype.at:30 >"$at_check_line_file" @@ -23183,9 +26071,9 @@ tar --create --file=archive.2 --listed-incremental=db.2 directory rm -r directory echo Restore archive.1 -tar -xf archive.1 --listed-incremental=/dev/null +tar -xf archive.1 --listed-incremental=/dev/null --warning=no-timestamp echo Restore archive.2 -tar -xf archive.2 --listed-incremental=/dev/null +tar -xf archive.2 --listed-incremental=/dev/null --warning=no-timestamp find directory | sort ) ) >"$at_stdout" 2>"$at_stder1" at_func_filter_trace $? @@ -23225,9 +26113,9 @@ tar --create --file=archive.2 --listed-incremental=db.2 directory rm -r directory echo Restore archive.1 -tar -xf archive.1 --listed-incremental=/dev/null +tar -xf archive.1 --listed-incremental=/dev/null --warning=no-timestamp echo Restore archive.2 -tar -xf archive.2 --listed-incremental=/dev/null +tar -xf archive.2 --listed-incremental=/dev/null --warning=no-timestamp find directory | sort ) ) >"$at_stdout" 2>"$at_stderr" fi @@ -23286,9 +26174,9 @@ tar --create --file=archive.2 --listed-incremental=db.2 directory rm -r directory echo Restore archive.1 -tar -xf archive.1 --listed-incremental=/dev/null +tar -xf archive.1 --listed-incremental=/dev/null --warning=no-timestamp echo Restore archive.2 -tar -xf archive.2 --listed-incremental=/dev/null +tar -xf archive.2 --listed-incremental=/dev/null --warning=no-timestamp find directory | sort )" echo chtype.at:30 >"$at_check_line_file" @@ -23330,9 +26218,9 @@ tar --create --file=archive.2 --listed-incremental=db.2 directory rm -r directory echo Restore archive.1 -tar -xf archive.1 --listed-incremental=/dev/null +tar -xf archive.1 --listed-incremental=/dev/null --warning=no-timestamp echo Restore archive.2 -tar -xf archive.2 --listed-incremental=/dev/null +tar -xf archive.2 --listed-incremental=/dev/null --warning=no-timestamp find directory | sort ) ) >"$at_stdout" 2>"$at_stder1" at_func_filter_trace $? @@ -23372,9 +26260,9 @@ tar --create --file=archive.2 --listed-incremental=db.2 directory rm -r directory echo Restore archive.1 -tar -xf archive.1 --listed-incremental=/dev/null +tar -xf archive.1 --listed-incremental=/dev/null --warning=no-timestamp echo Restore archive.2 -tar -xf archive.2 --listed-incremental=/dev/null +tar -xf archive.2 --listed-incremental=/dev/null --warning=no-timestamp find directory | sort ) ) >"$at_stdout" 2>"$at_stderr" fi @@ -23433,9 +26321,9 @@ tar --create --file=archive.2 --listed-incremental=db.2 directory rm -r directory echo Restore archive.1 -tar -xf archive.1 --listed-incremental=/dev/null +tar -xf archive.1 --listed-incremental=/dev/null --warning=no-timestamp echo Restore archive.2 -tar -xf archive.2 --listed-incremental=/dev/null +tar -xf archive.2 --listed-incremental=/dev/null --warning=no-timestamp find directory | sort )" echo chtype.at:30 >"$at_check_line_file" @@ -23477,9 +26365,9 @@ tar --create --file=archive.2 --listed-incremental=db.2 directory rm -r directory echo Restore archive.1 -tar -xf archive.1 --listed-incremental=/dev/null +tar -xf archive.1 --listed-incremental=/dev/null --warning=no-timestamp echo Restore archive.2 -tar -xf archive.2 --listed-incremental=/dev/null +tar -xf archive.2 --listed-incremental=/dev/null --warning=no-timestamp find directory | sort ) ) >"$at_stdout" 2>"$at_stder1" at_func_filter_trace $? @@ -23519,9 +26407,9 @@ tar --create --file=archive.2 --listed-incremental=db.2 directory rm -r directory echo Restore archive.1 -tar -xf archive.1 --listed-incremental=/dev/null +tar -xf archive.1 --listed-incremental=/dev/null --warning=no-timestamp echo Restore archive.2 -tar -xf archive.2 --listed-incremental=/dev/null +tar -xf archive.2 --listed-incremental=/dev/null --warning=no-timestamp find directory | sort ) ) >"$at_stdout" 2>"$at_stderr" fi @@ -23551,17 +26439,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. ignfail.at:23: ignfail +#AT_STOP_69 +#AT_START_70 +# 70. ignfail.at:23: ignfail at_setup_line='ignfail.at:23' at_desc="ignfail" -$at_quiet $as_echo_n " 53: $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 "53. ignfail.at:23: testing ..." + $as_echo "70. ignfail.at:23: testing ..." $at_traceon @@ -24480,17 +27368,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. link01.at:33: link count gt 2 +#AT_STOP_70 +#AT_START_71 +# 71. link01.at:33: link count gt 2 at_setup_line='link01.at:33' at_desc="link count gt 2" -$at_quiet $as_echo_n " 54: $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 "54. link01.at:33: testing ..." + $as_echo "71. link01.at:33: testing ..." $at_traceon @@ -24517,7 +27405,7 @@ ln directory/test1/test.txt directory/test2/test.txt || exit 77 tar cf archive directory/test1/test.txt directory/test1/test.txt rm -r directory -tar xf archive +tar xf archive --warning=no-timestamp ls directory/test1 )" @@ -24544,7 +27432,7 @@ ln directory/test1/test.txt directory/test2/test.txt || exit 77 tar cf archive directory/test1/test.txt directory/test1/test.txt rm -r directory -tar xf archive +tar xf archive --warning=no-timestamp ls directory/test1 ) ) >"$at_stdout" 2>"$at_stder1" @@ -24569,7 +27457,7 @@ ln directory/test1/test.txt directory/test2/test.txt || exit 77 tar cf archive directory/test1/test.txt directory/test1/test.txt rm -r directory -tar xf archive +tar xf archive --warning=no-timestamp ls directory/test1 ) ) >"$at_stdout" 2>"$at_stderr" @@ -24605,7 +27493,7 @@ ln directory/test1/test.txt directory/test2/test.txt || exit 77 tar cf archive directory/test1/test.txt directory/test1/test.txt rm -r directory -tar xf archive +tar xf archive --warning=no-timestamp ls directory/test1 )" @@ -24632,7 +27520,7 @@ ln directory/test1/test.txt directory/test2/test.txt || exit 77 tar cf archive directory/test1/test.txt directory/test1/test.txt rm -r directory -tar xf archive +tar xf archive --warning=no-timestamp ls directory/test1 ) ) >"$at_stdout" 2>"$at_stder1" @@ -24657,7 +27545,7 @@ ln directory/test1/test.txt directory/test2/test.txt || exit 77 tar cf archive directory/test1/test.txt directory/test1/test.txt rm -r directory -tar xf archive +tar xf archive --warning=no-timestamp ls directory/test1 ) ) >"$at_stdout" 2>"$at_stderr" @@ -24693,7 +27581,7 @@ ln directory/test1/test.txt directory/test2/test.txt || exit 77 tar cf archive directory/test1/test.txt directory/test1/test.txt rm -r directory -tar xf archive +tar xf archive --warning=no-timestamp ls directory/test1 )" @@ -24720,7 +27608,7 @@ ln directory/test1/test.txt directory/test2/test.txt || exit 77 tar cf archive directory/test1/test.txt directory/test1/test.txt rm -r directory -tar xf archive +tar xf archive --warning=no-timestamp ls directory/test1 ) ) >"$at_stdout" 2>"$at_stder1" @@ -24745,7 +27633,7 @@ ln directory/test1/test.txt directory/test2/test.txt || exit 77 tar cf archive directory/test1/test.txt directory/test1/test.txt rm -r directory -tar xf archive +tar xf archive --warning=no-timestamp ls directory/test1 ) ) >"$at_stdout" 2>"$at_stderr" @@ -24781,7 +27669,7 @@ ln directory/test1/test.txt directory/test2/test.txt || exit 77 tar cf archive directory/test1/test.txt directory/test1/test.txt rm -r directory -tar xf archive +tar xf archive --warning=no-timestamp ls directory/test1 )" @@ -24808,7 +27696,7 @@ ln directory/test1/test.txt directory/test2/test.txt || exit 77 tar cf archive directory/test1/test.txt directory/test1/test.txt rm -r directory -tar xf archive +tar xf archive --warning=no-timestamp ls directory/test1 ) ) >"$at_stdout" 2>"$at_stder1" @@ -24833,7 +27721,7 @@ ln directory/test1/test.txt directory/test2/test.txt || exit 77 tar cf archive directory/test1/test.txt directory/test1/test.txt rm -r directory -tar xf archive +tar xf archive --warning=no-timestamp ls directory/test1 ) ) >"$at_stdout" 2>"$at_stderr" @@ -24869,7 +27757,7 @@ ln directory/test1/test.txt directory/test2/test.txt || exit 77 tar cf archive directory/test1/test.txt directory/test1/test.txt rm -r directory -tar xf archive +tar xf archive --warning=no-timestamp ls directory/test1 )" @@ -24896,7 +27784,7 @@ ln directory/test1/test.txt directory/test2/test.txt || exit 77 tar cf archive directory/test1/test.txt directory/test1/test.txt rm -r directory -tar xf archive +tar xf archive --warning=no-timestamp ls directory/test1 ) ) >"$at_stdout" 2>"$at_stder1" @@ -24921,7 +27809,7 @@ ln directory/test1/test.txt directory/test2/test.txt || exit 77 tar cf archive directory/test1/test.txt directory/test1/test.txt rm -r directory -tar xf archive +tar xf archive --warning=no-timestamp ls directory/test1 ) ) >"$at_stdout" 2>"$at_stderr" @@ -24944,17 +27832,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. link02.at:32: preserve hard links with --remove-files +#AT_STOP_71 +#AT_START_72 +# 72. 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 " 55: $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 "55. link02.at:32: testing ..." + $as_echo "72. link02.at:32: testing ..." $at_traceon @@ -24972,9 +27860,9 @@ export TAR_OPTIONS rm -rf * genfile -l 64 -f file1 -link file1 file2 -link file2 file3 -link file3 file4 +ln file1 file2 +ln file2 file3 +ln file3 file4 tar -c -f archive --remove-files file1 file2 file3 file4 tar tfv archive | sed -n 's/.*file[2-4] link to //p' )" @@ -24992,9 +27880,9 @@ export TAR_OPTIONS rm -rf * genfile -l 64 -f file1 -link file1 file2 -link file2 file3 -link file3 file4 +ln file1 file2 +ln file2 file3 +ln file3 file4 tar -c -f archive --remove-files file1 file2 file3 file4 tar tfv archive | sed -n 's/.*file[2-4] link to //p' ) ) >"$at_stdout" 2>"$at_stder1" @@ -25010,9 +27898,9 @@ export TAR_OPTIONS rm -rf * genfile -l 64 -f file1 -link file1 file2 -link file2 file3 -link file3 file4 +ln file1 file2 +ln file2 file3 +ln file3 file4 tar -c -f archive --remove-files file1 file2 file3 file4 tar tfv archive | sed -n 's/.*file[2-4] link to //p' ) ) >"$at_stdout" 2>"$at_stderr" @@ -25041,9 +27929,9 @@ export TAR_OPTIONS rm -rf * genfile -l 64 -f file1 -link file1 file2 -link file2 file3 -link file3 file4 +ln file1 file2 +ln file2 file3 +ln file3 file4 tar -c -f archive --remove-files file1 file2 file3 file4 tar tfv archive | sed -n 's/.*file[2-4] link to //p' )" @@ -25061,9 +27949,9 @@ export TAR_OPTIONS rm -rf * genfile -l 64 -f file1 -link file1 file2 -link file2 file3 -link file3 file4 +ln file1 file2 +ln file2 file3 +ln file3 file4 tar -c -f archive --remove-files file1 file2 file3 file4 tar tfv archive | sed -n 's/.*file[2-4] link to //p' ) ) >"$at_stdout" 2>"$at_stder1" @@ -25079,9 +27967,9 @@ export TAR_OPTIONS rm -rf * genfile -l 64 -f file1 -link file1 file2 -link file2 file3 -link file3 file4 +ln file1 file2 +ln file2 file3 +ln file3 file4 tar -c -f archive --remove-files file1 file2 file3 file4 tar tfv archive | sed -n 's/.*file[2-4] link to //p' ) ) >"$at_stdout" 2>"$at_stderr" @@ -25110,9 +27998,9 @@ export TAR_OPTIONS rm -rf * genfile -l 64 -f file1 -link file1 file2 -link file2 file3 -link file3 file4 +ln file1 file2 +ln file2 file3 +ln file3 file4 tar -c -f archive --remove-files file1 file2 file3 file4 tar tfv archive | sed -n 's/.*file[2-4] link to //p' )" @@ -25130,9 +28018,9 @@ export TAR_OPTIONS rm -rf * genfile -l 64 -f file1 -link file1 file2 -link file2 file3 -link file3 file4 +ln file1 file2 +ln file2 file3 +ln file3 file4 tar -c -f archive --remove-files file1 file2 file3 file4 tar tfv archive | sed -n 's/.*file[2-4] link to //p' ) ) >"$at_stdout" 2>"$at_stder1" @@ -25148,9 +28036,9 @@ export TAR_OPTIONS rm -rf * genfile -l 64 -f file1 -link file1 file2 -link file2 file3 -link file3 file4 +ln file1 file2 +ln file2 file3 +ln file3 file4 tar -c -f archive --remove-files file1 file2 file3 file4 tar tfv archive | sed -n 's/.*file[2-4] link to //p' ) ) >"$at_stdout" 2>"$at_stderr" @@ -25179,9 +28067,9 @@ export TAR_OPTIONS rm -rf * genfile -l 64 -f file1 -link file1 file2 -link file2 file3 -link file3 file4 +ln file1 file2 +ln file2 file3 +ln file3 file4 tar -c -f archive --remove-files file1 file2 file3 file4 tar tfv archive | sed -n 's/.*file[2-4] link to //p' )" @@ -25199,9 +28087,9 @@ export TAR_OPTIONS rm -rf * genfile -l 64 -f file1 -link file1 file2 -link file2 file3 -link file3 file4 +ln file1 file2 +ln file2 file3 +ln file3 file4 tar -c -f archive --remove-files file1 file2 file3 file4 tar tfv archive | sed -n 's/.*file[2-4] link to //p' ) ) >"$at_stdout" 2>"$at_stder1" @@ -25217,9 +28105,9 @@ export TAR_OPTIONS rm -rf * genfile -l 64 -f file1 -link file1 file2 -link file2 file3 -link file3 file4 +ln file1 file2 +ln file2 file3 +ln file3 file4 tar -c -f archive --remove-files file1 file2 file3 file4 tar tfv archive | sed -n 's/.*file[2-4] link to //p' ) ) >"$at_stdout" 2>"$at_stderr" @@ -25248,9 +28136,9 @@ export TAR_OPTIONS rm -rf * genfile -l 64 -f file1 -link file1 file2 -link file2 file3 -link file3 file4 +ln file1 file2 +ln file2 file3 +ln file3 file4 tar -c -f archive --remove-files file1 file2 file3 file4 tar tfv archive | sed -n 's/.*file[2-4] link to //p' )" @@ -25268,9 +28156,9 @@ export TAR_OPTIONS rm -rf * genfile -l 64 -f file1 -link file1 file2 -link file2 file3 -link file3 file4 +ln file1 file2 +ln file2 file3 +ln file3 file4 tar -c -f archive --remove-files file1 file2 file3 file4 tar tfv archive | sed -n 's/.*file[2-4] link to //p' ) ) >"$at_stdout" 2>"$at_stder1" @@ -25286,22 +28174,593 @@ export TAR_OPTIONS rm -rf * genfile -l 64 -f file1 -link file1 file2 -link file2 file3 -link file3 file4 -tar -c -f archive --remove-files file1 file2 file3 file4 -tar tfv archive | sed -n 's/.*file[2-4] link to //p' +ln file1 file2 +ln file2 file3 +ln file3 file4 +tar -c -f archive --remove-files file1 file2 file3 file4 +tar tfv archive | sed -n 's/.*file[2-4] link to //p' +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "file1 +file1 +file1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/link02.at:35" + +$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_72 +#AT_START_73 +# 73. 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 " 73: $at_desc " +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "73. link03.at:24: testing ..." + $at_traceon + + + + + + + + { $at_traceoff +$as_echo "$at_srcdir/link03.at:34: +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H v7\" +export TAR_OPTIONS +rm -rf * + + +genfile -l 64 -f file1 +ln file1 file2 +ln file2 file3 +ln file3 file4 + +echo archive.1 +tar -c -f archive.1 -l --remove-files file1 file2 file3 file4 + +genfile -l 64 -f file1 +ln file1 file2 +ln file2 file3 +ln file3 file4 + +echo archive.2 +tar -c -f archive.2 -l --remove-files file1 file2 file3 +echo testing archive.2 +tar tfv archive.2 | sed -n 's/.*file[2-3] link to //p' +)" +echo link03.at:34 >"$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 -l 64 -f file1 +ln file1 file2 +ln file2 file3 +ln file3 file4 + +echo archive.1 +tar -c -f archive.1 -l --remove-files file1 file2 file3 file4 + +genfile -l 64 -f file1 +ln file1 file2 +ln file2 file3 +ln file3 file4 + +echo archive.2 +tar -c -f archive.2 -l --remove-files file1 file2 file3 +echo testing archive.2 +tar tfv archive.2 | sed -n 's/.*file[2-3] link to //p' +) ) >"$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 -l 64 -f file1 +ln file1 file2 +ln file2 file3 +ln file3 file4 + +echo archive.1 +tar -c -f archive.1 -l --remove-files file1 file2 file3 file4 + +genfile -l 64 -f file1 +ln file1 file2 +ln file2 file3 +ln file3 file4 + +echo archive.2 +tar -c -f archive.2 -l --remove-files file1 file2 file3 +echo testing archive.2 +tar tfv archive.2 | sed -n 's/.*file[2-3] link to //p' +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +echo >>"$at_stderr"; $as_echo "tar: Missing links to \`file1'. +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "archive.1 +archive.2 +testing archive.2 +file1 +file1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/link03.at:34" + +$at_failed && at_func_log_failure +$at_traceon; } + + { $at_traceoff +$as_echo "$at_srcdir/link03.at:34: +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H oldgnu\" +export TAR_OPTIONS +rm -rf * + + +genfile -l 64 -f file1 +ln file1 file2 +ln file2 file3 +ln file3 file4 + +echo archive.1 +tar -c -f archive.1 -l --remove-files file1 file2 file3 file4 + +genfile -l 64 -f file1 +ln file1 file2 +ln file2 file3 +ln file3 file4 + +echo archive.2 +tar -c -f archive.2 -l --remove-files file1 file2 file3 +echo testing archive.2 +tar tfv archive.2 | sed -n 's/.*file[2-3] link to //p' +)" +echo link03.at:34 >"$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 -l 64 -f file1 +ln file1 file2 +ln file2 file3 +ln file3 file4 + +echo archive.1 +tar -c -f archive.1 -l --remove-files file1 file2 file3 file4 + +genfile -l 64 -f file1 +ln file1 file2 +ln file2 file3 +ln file3 file4 + +echo archive.2 +tar -c -f archive.2 -l --remove-files file1 file2 file3 +echo testing archive.2 +tar tfv archive.2 | sed -n 's/.*file[2-3] link to //p' +) ) >"$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 -l 64 -f file1 +ln file1 file2 +ln file2 file3 +ln file3 file4 + +echo archive.1 +tar -c -f archive.1 -l --remove-files file1 file2 file3 file4 + +genfile -l 64 -f file1 +ln file1 file2 +ln file2 file3 +ln file3 file4 + +echo archive.2 +tar -c -f archive.2 -l --remove-files file1 file2 file3 +echo testing archive.2 +tar tfv archive.2 | sed -n 's/.*file[2-3] link to //p' +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +echo >>"$at_stderr"; $as_echo "tar: Missing links to \`file1'. +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "archive.1 +archive.2 +testing archive.2 +file1 +file1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/link03.at:34" + +$at_failed && at_func_log_failure +$at_traceon; } + + { $at_traceoff +$as_echo "$at_srcdir/link03.at:34: +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H ustar\" +export TAR_OPTIONS +rm -rf * + + +genfile -l 64 -f file1 +ln file1 file2 +ln file2 file3 +ln file3 file4 + +echo archive.1 +tar -c -f archive.1 -l --remove-files file1 file2 file3 file4 + +genfile -l 64 -f file1 +ln file1 file2 +ln file2 file3 +ln file3 file4 + +echo archive.2 +tar -c -f archive.2 -l --remove-files file1 file2 file3 +echo testing archive.2 +tar tfv archive.2 | sed -n 's/.*file[2-3] link to //p' +)" +echo link03.at:34 >"$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 -l 64 -f file1 +ln file1 file2 +ln file2 file3 +ln file3 file4 + +echo archive.1 +tar -c -f archive.1 -l --remove-files file1 file2 file3 file4 + +genfile -l 64 -f file1 +ln file1 file2 +ln file2 file3 +ln file3 file4 + +echo archive.2 +tar -c -f archive.2 -l --remove-files file1 file2 file3 +echo testing archive.2 +tar tfv archive.2 | sed -n 's/.*file[2-3] link to //p' +) ) >"$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 -l 64 -f file1 +ln file1 file2 +ln file2 file3 +ln file3 file4 + +echo archive.1 +tar -c -f archive.1 -l --remove-files file1 file2 file3 file4 + +genfile -l 64 -f file1 +ln file1 file2 +ln file2 file3 +ln file3 file4 + +echo archive.2 +tar -c -f archive.2 -l --remove-files file1 file2 file3 +echo testing archive.2 +tar tfv archive.2 | sed -n 's/.*file[2-3] link to //p' +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +echo >>"$at_stderr"; $as_echo "tar: Missing links to \`file1'. +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "archive.1 +archive.2 +testing archive.2 +file1 +file1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/link03.at:34" + +$at_failed && at_func_log_failure +$at_traceon; } + + { $at_traceoff +$as_echo "$at_srcdir/link03.at:34: +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H posix\" +export TAR_OPTIONS +rm -rf * + + +genfile -l 64 -f file1 +ln file1 file2 +ln file2 file3 +ln file3 file4 + +echo archive.1 +tar -c -f archive.1 -l --remove-files file1 file2 file3 file4 + +genfile -l 64 -f file1 +ln file1 file2 +ln file2 file3 +ln file3 file4 + +echo archive.2 +tar -c -f archive.2 -l --remove-files file1 file2 file3 +echo testing archive.2 +tar tfv archive.2 | sed -n 's/.*file[2-3] link to //p' +)" +echo link03.at:34 >"$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 -l 64 -f file1 +ln file1 file2 +ln file2 file3 +ln file3 file4 + +echo archive.1 +tar -c -f archive.1 -l --remove-files file1 file2 file3 file4 + +genfile -l 64 -f file1 +ln file1 file2 +ln file2 file3 +ln file3 file4 + +echo archive.2 +tar -c -f archive.2 -l --remove-files file1 file2 file3 +echo testing archive.2 +tar tfv archive.2 | sed -n 's/.*file[2-3] link to //p' +) ) >"$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 -l 64 -f file1 +ln file1 file2 +ln file2 file3 +ln file3 file4 + +echo archive.1 +tar -c -f archive.1 -l --remove-files file1 file2 file3 file4 + +genfile -l 64 -f file1 +ln file1 file2 +ln file2 file3 +ln file3 file4 + +echo archive.2 +tar -c -f archive.2 -l --remove-files file1 file2 file3 +echo testing archive.2 +tar tfv archive.2 | sed -n 's/.*file[2-3] link to //p' +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +echo >>"$at_stderr"; $as_echo "tar: Missing links to \`file1'. +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "archive.1 +archive.2 +testing archive.2 +file1 +file1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/link03.at:34" + +$at_failed && at_func_log_failure +$at_traceon; } + + { $at_traceoff +$as_echo "$at_srcdir/link03.at:34: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H gnu\" +export TAR_OPTIONS +rm -rf * + + +genfile -l 64 -f file1 +ln file1 file2 +ln file2 file3 +ln file3 file4 + +echo archive.1 +tar -c -f archive.1 -l --remove-files file1 file2 file3 file4 + +genfile -l 64 -f file1 +ln file1 file2 +ln file2 file3 +ln file3 file4 + +echo archive.2 +tar -c -f archive.2 -l --remove-files file1 file2 file3 +echo testing archive.2 +tar tfv archive.2 | sed -n 's/.*file[2-3] link to //p' +)" +echo link03.at:34 >"$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 -l 64 -f file1 +ln file1 file2 +ln file2 file3 +ln file3 file4 + +echo archive.1 +tar -c -f archive.1 -l --remove-files file1 file2 file3 file4 + +genfile -l 64 -f file1 +ln file1 file2 +ln file2 file3 +ln file3 file4 + +echo archive.2 +tar -c -f archive.2 -l --remove-files file1 file2 file3 +echo testing archive.2 +tar tfv archive.2 | sed -n 's/.*file[2-3] link to //p' +) ) >"$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 -l 64 -f file1 +ln file1 file2 +ln file2 file3 +ln file3 file4 + +echo archive.1 +tar -c -f archive.1 -l --remove-files file1 file2 file3 file4 + +genfile -l 64 -f file1 +ln file1 file2 +ln file2 file3 +ln file3 file4 + +echo archive.2 +tar -c -f archive.2 -l --remove-files file1 file2 file3 +echo testing archive.2 +tar tfv archive.2 | sed -n 's/.*file[2-3] link to //p' ) ) >"$at_stdout" 2>"$at_stderr" fi at_status=$? at_failed=false -at_func_diff_devnull "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "file1 +echo >>"$at_stderr"; $as_echo "tar: Missing links to \`file1'. +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "archive.1 +archive.2 +testing archive.2 file1 file1 " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/link02.at:35" +at_func_check_status 0 $at_status "$at_srcdir/link03.at:34" $at_failed && at_func_log_failure $at_traceon; } @@ -25313,27 +28772,25 @@ $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. 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 " 56: $at_desc " +#AT_STOP_73 +#AT_START_74 +# 74. 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 " 74: $at_desc " at_xfail=no test -f $XFAILFILE && at_xfail=yes echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "56. link03.at:24: testing ..." + $as_echo "74. link04.at:29: testing ..." $at_traceon - - { $at_traceoff -$as_echo "$at_srcdir/link03.at:34: +$as_echo "$at_srcdir/link04.at:32: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -25342,26 +28799,25 @@ TAR_OPTIONS=\"-H v7\" export TAR_OPTIONS rm -rf * +mkdir dir +echo TEST > dir/file +ln -s file dir/symlink || exit 77 -genfile -l 64 -f file1 -link file1 file2 -link file2 file3 -link file3 file4 - -echo archive.1 -tar -c -f archive.1 -l --remove-files file1 file2 file3 file4 +tar cf archive dir dir +tar tvf archive | sed ' + s,.*[0-9] dir/,dir/, +' | sort -genfile -l 64 -f file1 -link file1 file2 -link file2 file3 -link file3 file4 +echo == -echo archive.2 -tar -c -f archive.2 -l --remove-files file1 file2 file3 -echo testing archive.2 -tar tfv archive.2 | sed -n 's/.*file[2-3] link to //p' +tar chf archive dir +tar tvf archive | sed ' + s,.*[0-9] dir/,dir/, + s,file,FOO,g + s,symlink,FOO,g +' | sort )" -echo link03.at:34 >"$at_check_line_file" +echo link04.at:32 >"$at_check_line_file" if { echo 'Not enabling shell tracing (command contains an embedded newline)' false; }; then @@ -25374,24 +28830,23 @@ TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * +mkdir dir +echo TEST > dir/file +ln -s file dir/symlink || exit 77 -genfile -l 64 -f file1 -link file1 file2 -link file2 file3 -link file3 file4 - -echo archive.1 -tar -c -f archive.1 -l --remove-files file1 file2 file3 file4 +tar cf archive dir dir +tar tvf archive | sed ' + s,.*[0-9] dir/,dir/, +' | sort -genfile -l 64 -f file1 -link file1 file2 -link file2 file3 -link file3 file4 +echo == -echo archive.2 -tar -c -f archive.2 -l --remove-files file1 file2 file3 -echo testing archive.2 -tar tfv archive.2 | sed -n 's/.*file[2-3] link to //p' +tar chf archive dir +tar tvf archive | sed ' + s,.*[0-9] dir/,dir/, + s,file,FOO,g + s,symlink,FOO,g +' | sort ) ) >"$at_stdout" 2>"$at_stder1" at_func_filter_trace $? else @@ -25404,45 +28859,47 @@ TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * +mkdir dir +echo TEST > dir/file +ln -s file dir/symlink || exit 77 -genfile -l 64 -f file1 -link file1 file2 -link file2 file3 -link file3 file4 - -echo archive.1 -tar -c -f archive.1 -l --remove-files file1 file2 file3 file4 +tar cf archive dir dir +tar tvf archive | sed ' + s,.*[0-9] dir/,dir/, +' | sort -genfile -l 64 -f file1 -link file1 file2 -link file2 file3 -link file3 file4 +echo == -echo archive.2 -tar -c -f archive.2 -l --remove-files file1 file2 file3 -echo testing archive.2 -tar tfv archive.2 | sed -n 's/.*file[2-3] link to //p' +tar chf archive dir +tar tvf archive | sed ' + s,.*[0-9] dir/,dir/, + s,file,FOO,g + s,symlink,FOO,g +' | sort ) ) >"$at_stdout" 2>"$at_stderr" fi at_status=$? at_failed=false -echo >>"$at_stderr"; $as_echo "tar: Missing links to \`file1'. -" | \ - $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "archive.1 -archive.2 -testing archive.2 -file1 -file1 +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "dir/ +dir/ +dir/file +dir/file link to dir/file +dir/symlink -> file +dir/symlink link to dir/symlink +== +dir/ +dir/FOO +dir/FOO link to dir/FOO " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/link03.at:34" +at_func_check_status 0 $at_status "$at_srcdir/link04.at:32" $at_failed && at_func_log_failure $at_traceon; } { $at_traceoff -$as_echo "$at_srcdir/link03.at:34: +$as_echo "$at_srcdir/link04.at:32: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -25451,26 +28908,25 @@ TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * +mkdir dir +echo TEST > dir/file +ln -s file dir/symlink || exit 77 -genfile -l 64 -f file1 -link file1 file2 -link file2 file3 -link file3 file4 - -echo archive.1 -tar -c -f archive.1 -l --remove-files file1 file2 file3 file4 +tar cf archive dir dir +tar tvf archive | sed ' + s,.*[0-9] dir/,dir/, +' | sort -genfile -l 64 -f file1 -link file1 file2 -link file2 file3 -link file3 file4 +echo == -echo archive.2 -tar -c -f archive.2 -l --remove-files file1 file2 file3 -echo testing archive.2 -tar tfv archive.2 | sed -n 's/.*file[2-3] link to //p' +tar chf archive dir +tar tvf archive | sed ' + s,.*[0-9] dir/,dir/, + s,file,FOO,g + s,symlink,FOO,g +' | sort )" -echo link03.at:34 >"$at_check_line_file" +echo link04.at:32 >"$at_check_line_file" if { echo 'Not enabling shell tracing (command contains an embedded newline)' false; }; then @@ -25483,24 +28939,23 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * +mkdir dir +echo TEST > dir/file +ln -s file dir/symlink || exit 77 -genfile -l 64 -f file1 -link file1 file2 -link file2 file3 -link file3 file4 - -echo archive.1 -tar -c -f archive.1 -l --remove-files file1 file2 file3 file4 +tar cf archive dir dir +tar tvf archive | sed ' + s,.*[0-9] dir/,dir/, +' | sort -genfile -l 64 -f file1 -link file1 file2 -link file2 file3 -link file3 file4 +echo == -echo archive.2 -tar -c -f archive.2 -l --remove-files file1 file2 file3 -echo testing archive.2 -tar tfv archive.2 | sed -n 's/.*file[2-3] link to //p' +tar chf archive dir +tar tvf archive | sed ' + s,.*[0-9] dir/,dir/, + s,file,FOO,g + s,symlink,FOO,g +' | sort ) ) >"$at_stdout" 2>"$at_stder1" at_func_filter_trace $? else @@ -25513,45 +28968,47 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * +mkdir dir +echo TEST > dir/file +ln -s file dir/symlink || exit 77 -genfile -l 64 -f file1 -link file1 file2 -link file2 file3 -link file3 file4 - -echo archive.1 -tar -c -f archive.1 -l --remove-files file1 file2 file3 file4 +tar cf archive dir dir +tar tvf archive | sed ' + s,.*[0-9] dir/,dir/, +' | sort -genfile -l 64 -f file1 -link file1 file2 -link file2 file3 -link file3 file4 +echo == -echo archive.2 -tar -c -f archive.2 -l --remove-files file1 file2 file3 -echo testing archive.2 -tar tfv archive.2 | sed -n 's/.*file[2-3] link to //p' +tar chf archive dir +tar tvf archive | sed ' + s,.*[0-9] dir/,dir/, + s,file,FOO,g + s,symlink,FOO,g +' | sort ) ) >"$at_stdout" 2>"$at_stderr" fi at_status=$? at_failed=false -echo >>"$at_stderr"; $as_echo "tar: Missing links to \`file1'. -" | \ - $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "archive.1 -archive.2 -testing archive.2 -file1 -file1 +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "dir/ +dir/ +dir/file +dir/file link to dir/file +dir/symlink -> file +dir/symlink link to dir/symlink +== +dir/ +dir/FOO +dir/FOO link to dir/FOO " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/link03.at:34" +at_func_check_status 0 $at_status "$at_srcdir/link04.at:32" $at_failed && at_func_log_failure $at_traceon; } { $at_traceoff -$as_echo "$at_srcdir/link03.at:34: +$as_echo "$at_srcdir/link04.at:32: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -25560,26 +29017,25 @@ TAR_OPTIONS=\"-H ustar\" export TAR_OPTIONS rm -rf * +mkdir dir +echo TEST > dir/file +ln -s file dir/symlink || exit 77 -genfile -l 64 -f file1 -link file1 file2 -link file2 file3 -link file3 file4 - -echo archive.1 -tar -c -f archive.1 -l --remove-files file1 file2 file3 file4 +tar cf archive dir dir +tar tvf archive | sed ' + s,.*[0-9] dir/,dir/, +' | sort -genfile -l 64 -f file1 -link file1 file2 -link file2 file3 -link file3 file4 +echo == -echo archive.2 -tar -c -f archive.2 -l --remove-files file1 file2 file3 -echo testing archive.2 -tar tfv archive.2 | sed -n 's/.*file[2-3] link to //p' +tar chf archive dir +tar tvf archive | sed ' + s,.*[0-9] dir/,dir/, + s,file,FOO,g + s,symlink,FOO,g +' | sort )" -echo link03.at:34 >"$at_check_line_file" +echo link04.at:32 >"$at_check_line_file" if { echo 'Not enabling shell tracing (command contains an embedded newline)' false; }; then @@ -25592,24 +29048,23 @@ TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * +mkdir dir +echo TEST > dir/file +ln -s file dir/symlink || exit 77 -genfile -l 64 -f file1 -link file1 file2 -link file2 file3 -link file3 file4 - -echo archive.1 -tar -c -f archive.1 -l --remove-files file1 file2 file3 file4 +tar cf archive dir dir +tar tvf archive | sed ' + s,.*[0-9] dir/,dir/, +' | sort -genfile -l 64 -f file1 -link file1 file2 -link file2 file3 -link file3 file4 +echo == -echo archive.2 -tar -c -f archive.2 -l --remove-files file1 file2 file3 -echo testing archive.2 -tar tfv archive.2 | sed -n 's/.*file[2-3] link to //p' +tar chf archive dir +tar tvf archive | sed ' + s,.*[0-9] dir/,dir/, + s,file,FOO,g + s,symlink,FOO,g +' | sort ) ) >"$at_stdout" 2>"$at_stder1" at_func_filter_trace $? else @@ -25622,45 +29077,47 @@ TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * +mkdir dir +echo TEST > dir/file +ln -s file dir/symlink || exit 77 -genfile -l 64 -f file1 -link file1 file2 -link file2 file3 -link file3 file4 - -echo archive.1 -tar -c -f archive.1 -l --remove-files file1 file2 file3 file4 +tar cf archive dir dir +tar tvf archive | sed ' + s,.*[0-9] dir/,dir/, +' | sort -genfile -l 64 -f file1 -link file1 file2 -link file2 file3 -link file3 file4 +echo == -echo archive.2 -tar -c -f archive.2 -l --remove-files file1 file2 file3 -echo testing archive.2 -tar tfv archive.2 | sed -n 's/.*file[2-3] link to //p' +tar chf archive dir +tar tvf archive | sed ' + s,.*[0-9] dir/,dir/, + s,file,FOO,g + s,symlink,FOO,g +' | sort ) ) >"$at_stdout" 2>"$at_stderr" fi at_status=$? at_failed=false -echo >>"$at_stderr"; $as_echo "tar: Missing links to \`file1'. -" | \ - $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "archive.1 -archive.2 -testing archive.2 -file1 -file1 +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "dir/ +dir/ +dir/file +dir/file link to dir/file +dir/symlink -> file +dir/symlink link to dir/symlink +== +dir/ +dir/FOO +dir/FOO link to dir/FOO " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/link03.at:34" +at_func_check_status 0 $at_status "$at_srcdir/link04.at:32" $at_failed && at_func_log_failure $at_traceon; } { $at_traceoff -$as_echo "$at_srcdir/link03.at:34: +$as_echo "$at_srcdir/link04.at:32: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -25669,26 +29126,25 @@ TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * +mkdir dir +echo TEST > dir/file +ln -s file dir/symlink || exit 77 -genfile -l 64 -f file1 -link file1 file2 -link file2 file3 -link file3 file4 - -echo archive.1 -tar -c -f archive.1 -l --remove-files file1 file2 file3 file4 +tar cf archive dir dir +tar tvf archive | sed ' + s,.*[0-9] dir/,dir/, +' | sort -genfile -l 64 -f file1 -link file1 file2 -link file2 file3 -link file3 file4 +echo == -echo archive.2 -tar -c -f archive.2 -l --remove-files file1 file2 file3 -echo testing archive.2 -tar tfv archive.2 | sed -n 's/.*file[2-3] link to //p' +tar chf archive dir +tar tvf archive | sed ' + s,.*[0-9] dir/,dir/, + s,file,FOO,g + s,symlink,FOO,g +' | sort )" -echo link03.at:34 >"$at_check_line_file" +echo link04.at:32 >"$at_check_line_file" if { echo 'Not enabling shell tracing (command contains an embedded newline)' false; }; then @@ -25701,24 +29157,23 @@ TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * +mkdir dir +echo TEST > dir/file +ln -s file dir/symlink || exit 77 -genfile -l 64 -f file1 -link file1 file2 -link file2 file3 -link file3 file4 - -echo archive.1 -tar -c -f archive.1 -l --remove-files file1 file2 file3 file4 +tar cf archive dir dir +tar tvf archive | sed ' + s,.*[0-9] dir/,dir/, +' | sort -genfile -l 64 -f file1 -link file1 file2 -link file2 file3 -link file3 file4 +echo == -echo archive.2 -tar -c -f archive.2 -l --remove-files file1 file2 file3 -echo testing archive.2 -tar tfv archive.2 | sed -n 's/.*file[2-3] link to //p' +tar chf archive dir +tar tvf archive | sed ' + s,.*[0-9] dir/,dir/, + s,file,FOO,g + s,symlink,FOO,g +' | sort ) ) >"$at_stdout" 2>"$at_stder1" at_func_filter_trace $? else @@ -25731,45 +29186,47 @@ TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * +mkdir dir +echo TEST > dir/file +ln -s file dir/symlink || exit 77 -genfile -l 64 -f file1 -link file1 file2 -link file2 file3 -link file3 file4 - -echo archive.1 -tar -c -f archive.1 -l --remove-files file1 file2 file3 file4 +tar cf archive dir dir +tar tvf archive | sed ' + s,.*[0-9] dir/,dir/, +' | sort -genfile -l 64 -f file1 -link file1 file2 -link file2 file3 -link file3 file4 +echo == -echo archive.2 -tar -c -f archive.2 -l --remove-files file1 file2 file3 -echo testing archive.2 -tar tfv archive.2 | sed -n 's/.*file[2-3] link to //p' +tar chf archive dir +tar tvf archive | sed ' + s,.*[0-9] dir/,dir/, + s,file,FOO,g + s,symlink,FOO,g +' | sort ) ) >"$at_stdout" 2>"$at_stderr" fi at_status=$? at_failed=false -echo >>"$at_stderr"; $as_echo "tar: Missing links to \`file1'. -" | \ - $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "archive.1 -archive.2 -testing archive.2 -file1 -file1 +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "dir/ +dir/ +dir/file +dir/file link to dir/file +dir/symlink -> file +dir/symlink link to dir/symlink +== +dir/ +dir/FOO +dir/FOO link to dir/FOO " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/link03.at:34" +at_func_check_status 0 $at_status "$at_srcdir/link04.at:32" $at_failed && at_func_log_failure $at_traceon; } { $at_traceoff -$as_echo "$at_srcdir/link03.at:34: +$as_echo "$at_srcdir/link04.at:32: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -25778,26 +29235,25 @@ TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * +mkdir dir +echo TEST > dir/file +ln -s file dir/symlink || exit 77 -genfile -l 64 -f file1 -link file1 file2 -link file2 file3 -link file3 file4 - -echo archive.1 -tar -c -f archive.1 -l --remove-files file1 file2 file3 file4 +tar cf archive dir dir +tar tvf archive | sed ' + s,.*[0-9] dir/,dir/, +' | sort -genfile -l 64 -f file1 -link file1 file2 -link file2 file3 -link file3 file4 +echo == -echo archive.2 -tar -c -f archive.2 -l --remove-files file1 file2 file3 -echo testing archive.2 -tar tfv archive.2 | sed -n 's/.*file[2-3] link to //p' +tar chf archive dir +tar tvf archive | sed ' + s,.*[0-9] dir/,dir/, + s,file,FOO,g + s,symlink,FOO,g +' | sort )" -echo link03.at:34 >"$at_check_line_file" +echo link04.at:32 >"$at_check_line_file" if { echo 'Not enabling shell tracing (command contains an embedded newline)' false; }; then @@ -25810,24 +29266,23 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * +mkdir dir +echo TEST > dir/file +ln -s file dir/symlink || exit 77 -genfile -l 64 -f file1 -link file1 file2 -link file2 file3 -link file3 file4 - -echo archive.1 -tar -c -f archive.1 -l --remove-files file1 file2 file3 file4 +tar cf archive dir dir +tar tvf archive | sed ' + s,.*[0-9] dir/,dir/, +' | sort -genfile -l 64 -f file1 -link file1 file2 -link file2 file3 -link file3 file4 +echo == -echo archive.2 -tar -c -f archive.2 -l --remove-files file1 file2 file3 -echo testing archive.2 -tar tfv archive.2 | sed -n 's/.*file[2-3] link to //p' +tar chf archive dir +tar tvf archive | sed ' + s,.*[0-9] dir/,dir/, + s,file,FOO,g + s,symlink,FOO,g +' | sort ) ) >"$at_stdout" 2>"$at_stder1" at_func_filter_trace $? else @@ -25840,39 +29295,41 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * +mkdir dir +echo TEST > dir/file +ln -s file dir/symlink || exit 77 -genfile -l 64 -f file1 -link file1 file2 -link file2 file3 -link file3 file4 - -echo archive.1 -tar -c -f archive.1 -l --remove-files file1 file2 file3 file4 +tar cf archive dir dir +tar tvf archive | sed ' + s,.*[0-9] dir/,dir/, +' | sort -genfile -l 64 -f file1 -link file1 file2 -link file2 file3 -link file3 file4 +echo == -echo archive.2 -tar -c -f archive.2 -l --remove-files file1 file2 file3 -echo testing archive.2 -tar tfv archive.2 | sed -n 's/.*file[2-3] link to //p' +tar chf archive dir +tar tvf archive | sed ' + s,.*[0-9] dir/,dir/, + s,file,FOO,g + s,symlink,FOO,g +' | sort ) ) >"$at_stdout" 2>"$at_stderr" fi at_status=$? at_failed=false -echo >>"$at_stderr"; $as_echo "tar: Missing links to \`file1'. -" | \ - $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; $as_echo "archive.1 -archive.2 -testing archive.2 -file1 -file1 +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "dir/ +dir/ +dir/file +dir/file link to dir/file +dir/symlink -> file +dir/symlink link to dir/symlink +== +dir/ +dir/FOO +dir/FOO link to dir/FOO " | \ $at_diff - "$at_stdout" || at_failed=: -at_func_check_status 0 $at_status "$at_srcdir/link03.at:34" +at_func_check_status 0 $at_status "$at_srcdir/link04.at:32" $at_failed && at_func_log_failure $at_traceon; } @@ -25884,17 +29341,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. longv7.at:24: long names in V7 archives +#AT_STOP_74 +#AT_START_75 +# 75. 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 " 57: $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 "57. longv7.at:24: testing ..." + $as_echo "75. longv7.at:24: testing ..." $at_traceon @@ -25982,17 +29439,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. long01.at:28: long file names divisible by block size +#AT_STOP_75 +#AT_START_76 +# 76. 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 " 58: $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 "58. long01.at:28: testing ..." + $as_echo "76. long01.at:28: testing ..." $at_traceon @@ -26140,17 +29597,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. lustar01.at:21: ustar: unsplittable file name +#AT_STOP_76 +#AT_START_77 +# 77. lustar01.at:21: ustar: unsplittable file name at_setup_line='lustar01.at:21' at_desc="ustar: unsplittable file name" -$at_quiet $as_echo_n " 59: $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 "59. lustar01.at:21: testing ..." + $as_echo "77. lustar01.at:21: testing ..." $at_traceon @@ -26222,17 +29679,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. lustar02.at:21: ustar: unsplittable path name +#AT_STOP_77 +#AT_START_78 +# 78. lustar02.at:21: ustar: unsplittable path name at_setup_line='lustar02.at:21' at_desc="ustar: unsplittable path name" -$at_quiet $as_echo_n " 60: $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 "60. lustar02.at:21: testing ..." + $as_echo "78. lustar02.at:21: testing ..." $at_traceon @@ -26311,17 +29768,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. lustar03.at:21: ustar: splitting long names +#AT_STOP_78 +#AT_START_79 +# 79. lustar03.at:21: ustar: splitting long names at_setup_line='lustar03.at:21' at_desc="ustar: splitting long names" -$at_quiet $as_echo_n " 61: $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 "61. lustar03.at:21: testing ..." + $as_echo "79. lustar03.at:21: testing ..." $at_traceon @@ -26406,17 +29863,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. multiv01.at:23: multivolume dumps from pipes +#AT_STOP_79 +#AT_START_80 +# 80. multiv01.at:23: multivolume dumps from pipes at_setup_line='multiv01.at:23' at_desc="multivolume dumps from pipes" -$at_quiet $as_echo_n " 62: $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 "62. multiv01.at:23: testing ..." + $as_echo "80. multiv01.at:23: testing ..." $at_traceon @@ -26460,7 +29917,7 @@ tar -c --multi-volume --tape-length=\$TAPE_LENGTH \\ mkdir extract-dir-pipe dd bs=4096 count=\$TAPE_LENGTH if=t2-pipe.tar 2>/dev/null | PATH=\$PATH \${TRUSS} tar -f t1-pipe.tar -f - \\ - -C extract-dir-pipe -x --multi-volume \\ + -C extract-dir-pipe -x --multi-volume --warning=no-timestamp \\ --tape-length=\$TAPE_LENGTH --read-full-records || exit 1 cmp file1 extract-dir-pipe/file1 @@ -26502,7 +29959,7 @@ tar -c --multi-volume --tape-length=$TAPE_LENGTH \ mkdir extract-dir-pipe dd bs=4096 count=$TAPE_LENGTH if=t2-pipe.tar 2>/dev/null | PATH=$PATH ${TRUSS} tar -f t1-pipe.tar -f - \ - -C extract-dir-pipe -x --multi-volume \ + -C extract-dir-pipe -x --multi-volume --warning=no-timestamp \ --tape-length=$TAPE_LENGTH --read-full-records || exit 1 cmp file1 extract-dir-pipe/file1 @@ -26542,7 +29999,7 @@ tar -c --multi-volume --tape-length=$TAPE_LENGTH \ mkdir extract-dir-pipe dd bs=4096 count=$TAPE_LENGTH if=t2-pipe.tar 2>/dev/null | PATH=$PATH ${TRUSS} tar -f t1-pipe.tar -f - \ - -C extract-dir-pipe -x --multi-volume \ + -C extract-dir-pipe -x --multi-volume --warning=no-timestamp \ --tape-length=$TAPE_LENGTH --read-full-records || exit 1 cmp file1 extract-dir-pipe/file1 @@ -26591,7 +30048,7 @@ tar -c --multi-volume --tape-length=\$TAPE_LENGTH \\ mkdir extract-dir-pipe dd bs=4096 count=\$TAPE_LENGTH if=t2-pipe.tar 2>/dev/null | PATH=\$PATH \${TRUSS} tar -f t1-pipe.tar -f - \\ - -C extract-dir-pipe -x --multi-volume \\ + -C extract-dir-pipe -x --multi-volume --warning=no-timestamp \\ --tape-length=\$TAPE_LENGTH --read-full-records || exit 1 cmp file1 extract-dir-pipe/file1 @@ -26633,7 +30090,7 @@ tar -c --multi-volume --tape-length=$TAPE_LENGTH \ mkdir extract-dir-pipe dd bs=4096 count=$TAPE_LENGTH if=t2-pipe.tar 2>/dev/null | PATH=$PATH ${TRUSS} tar -f t1-pipe.tar -f - \ - -C extract-dir-pipe -x --multi-volume \ + -C extract-dir-pipe -x --multi-volume --warning=no-timestamp \ --tape-length=$TAPE_LENGTH --read-full-records || exit 1 cmp file1 extract-dir-pipe/file1 @@ -26673,7 +30130,7 @@ tar -c --multi-volume --tape-length=$TAPE_LENGTH \ mkdir extract-dir-pipe dd bs=4096 count=$TAPE_LENGTH if=t2-pipe.tar 2>/dev/null | PATH=$PATH ${TRUSS} tar -f t1-pipe.tar -f - \ - -C extract-dir-pipe -x --multi-volume \ + -C extract-dir-pipe -x --multi-volume --warning=no-timestamp \ --tape-length=$TAPE_LENGTH --read-full-records || exit 1 cmp file1 extract-dir-pipe/file1 @@ -26722,7 +30179,7 @@ tar -c --multi-volume --tape-length=\$TAPE_LENGTH \\ mkdir extract-dir-pipe dd bs=4096 count=\$TAPE_LENGTH if=t2-pipe.tar 2>/dev/null | PATH=\$PATH \${TRUSS} tar -f t1-pipe.tar -f - \\ - -C extract-dir-pipe -x --multi-volume \\ + -C extract-dir-pipe -x --multi-volume --warning=no-timestamp \\ --tape-length=\$TAPE_LENGTH --read-full-records || exit 1 cmp file1 extract-dir-pipe/file1 @@ -26764,7 +30221,7 @@ tar -c --multi-volume --tape-length=$TAPE_LENGTH \ mkdir extract-dir-pipe dd bs=4096 count=$TAPE_LENGTH if=t2-pipe.tar 2>/dev/null | PATH=$PATH ${TRUSS} tar -f t1-pipe.tar -f - \ - -C extract-dir-pipe -x --multi-volume \ + -C extract-dir-pipe -x --multi-volume --warning=no-timestamp \ --tape-length=$TAPE_LENGTH --read-full-records || exit 1 cmp file1 extract-dir-pipe/file1 @@ -26804,7 +30261,7 @@ tar -c --multi-volume --tape-length=$TAPE_LENGTH \ mkdir extract-dir-pipe dd bs=4096 count=$TAPE_LENGTH if=t2-pipe.tar 2>/dev/null | PATH=$PATH ${TRUSS} tar -f t1-pipe.tar -f - \ - -C extract-dir-pipe -x --multi-volume \ + -C extract-dir-pipe -x --multi-volume --warning=no-timestamp \ --tape-length=$TAPE_LENGTH --read-full-records || exit 1 cmp file1 extract-dir-pipe/file1 @@ -26827,17 +30284,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. multiv02.at:28: skipping a straddling member +#AT_STOP_80 +#AT_START_81 +# 81. multiv02.at:28: skipping a straddling member at_setup_line='multiv02.at:28' at_desc="skipping a straddling member" -$at_quiet $as_echo_n " 63: $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 "63. multiv02.at:28: testing ..." + $as_echo "81. multiv02.at:28: testing ..." $at_traceon @@ -26863,7 +30320,7 @@ exec <&- tar -c -f A.tar -f B.tar -f C.tar -M -L 30 en to tre fire || exit 1 echo separator -tar -v -x -f A.tar -f B.tar -f C.tar -M en || exit 1 +tar -v -x -f A.tar -f B.tar -f C.tar -M en --warning=no-timestamp || exit 1 )" echo multiv02.at:31 >"$at_check_line_file" @@ -26887,7 +30344,7 @@ exec <&- tar -c -f A.tar -f B.tar -f C.tar -M -L 30 en to tre fire || exit 1 echo separator -tar -v -x -f A.tar -f B.tar -f C.tar -M en || exit 1 +tar -v -x -f A.tar -f B.tar -f C.tar -M en --warning=no-timestamp || exit 1 ) ) >"$at_stdout" 2>"$at_stder1" at_func_filter_trace $? else @@ -26909,7 +30366,7 @@ exec <&- tar -c -f A.tar -f B.tar -f C.tar -M -L 30 en to tre fire || exit 1 echo separator -tar -v -x -f A.tar -f B.tar -f C.tar -M en || exit 1 +tar -v -x -f A.tar -f B.tar -f C.tar -M en --warning=no-timestamp || exit 1 ) ) >"$at_stdout" 2>"$at_stderr" fi at_status=$? @@ -26943,7 +30400,7 @@ exec <&- tar -c -f A.tar -f B.tar -f C.tar -M -L 30 en to tre fire || exit 1 echo separator -tar -v -x -f A.tar -f B.tar -f C.tar -M en || exit 1 +tar -v -x -f A.tar -f B.tar -f C.tar -M en --warning=no-timestamp || exit 1 )" echo multiv02.at:31 >"$at_check_line_file" @@ -26967,7 +30424,7 @@ exec <&- tar -c -f A.tar -f B.tar -f C.tar -M -L 30 en to tre fire || exit 1 echo separator -tar -v -x -f A.tar -f B.tar -f C.tar -M en || exit 1 +tar -v -x -f A.tar -f B.tar -f C.tar -M en --warning=no-timestamp || exit 1 ) ) >"$at_stdout" 2>"$at_stder1" at_func_filter_trace $? else @@ -26989,7 +30446,7 @@ exec <&- tar -c -f A.tar -f B.tar -f C.tar -M -L 30 en to tre fire || exit 1 echo separator -tar -v -x -f A.tar -f B.tar -f C.tar -M en || exit 1 +tar -v -x -f A.tar -f B.tar -f C.tar -M en --warning=no-timestamp || exit 1 ) ) >"$at_stdout" 2>"$at_stderr" fi at_status=$? @@ -27023,7 +30480,7 @@ exec <&- tar -c -f A.tar -f B.tar -f C.tar -M -L 30 en to tre fire || exit 1 echo separator -tar -v -x -f A.tar -f B.tar -f C.tar -M en || exit 1 +tar -v -x -f A.tar -f B.tar -f C.tar -M en --warning=no-timestamp || exit 1 )" echo multiv02.at:31 >"$at_check_line_file" @@ -27047,7 +30504,7 @@ exec <&- tar -c -f A.tar -f B.tar -f C.tar -M -L 30 en to tre fire || exit 1 echo separator -tar -v -x -f A.tar -f B.tar -f C.tar -M en || exit 1 +tar -v -x -f A.tar -f B.tar -f C.tar -M en --warning=no-timestamp || exit 1 ) ) >"$at_stdout" 2>"$at_stder1" at_func_filter_trace $? else @@ -27069,7 +30526,7 @@ exec <&- tar -c -f A.tar -f B.tar -f C.tar -M -L 30 en to tre fire || exit 1 echo separator -tar -v -x -f A.tar -f B.tar -f C.tar -M en || exit 1 +tar -v -x -f A.tar -f B.tar -f C.tar -M en --warning=no-timestamp || exit 1 ) ) >"$at_stdout" 2>"$at_stderr" fi at_status=$? @@ -27091,17 +30548,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. multiv03.at:30: MV archive & long filenames +#AT_STOP_81 +#AT_START_82 +# 82. multiv03.at:30: MV archive & long filenames at_setup_line='multiv03.at:30' at_desc="MV archive & long filenames" -$at_quiet $as_echo_n " 64: $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 "64. multiv03.at:30: testing ..." + $as_echo "82. multiv03.at:30: testing ..." $at_traceon @@ -27146,7 +30603,7 @@ tar -M -L 10 -c -f arch.1 -f arch.2 \$BFILE || exit 1 echo separator-2 mv \$BFILE bfile -tar -M -x -f arch.1 -f arch.2 || exit 1 +tar -M -x -f arch.1 -f arch.2 --warning=no-timestamp || exit 1 cmp \$BFILE bfile )" echo multiv03.at:33 >"$at_check_line_file" @@ -27190,7 +30647,7 @@ tar -M -L 10 -c -f arch.1 -f arch.2 $BFILE || exit 1 echo separator-2 mv $BFILE bfile -tar -M -x -f arch.1 -f arch.2 || exit 1 +tar -M -x -f arch.1 -f arch.2 --warning=no-timestamp || exit 1 cmp $BFILE bfile ) ) >"$at_stdout" 2>"$at_stder1" at_func_filter_trace $? @@ -27232,7 +30689,7 @@ tar -M -L 10 -c -f arch.1 -f arch.2 $BFILE || exit 1 echo separator-2 mv $BFILE bfile -tar -M -x -f arch.1 -f arch.2 || exit 1 +tar -M -x -f arch.1 -f arch.2 --warning=no-timestamp || exit 1 cmp $BFILE bfile ) ) >"$at_stdout" 2>"$at_stderr" fi @@ -27283,7 +30740,7 @@ tar -M -L 10 -c -f arch.1 -f arch.2 \$BFILE || exit 1 echo separator-2 mv \$BFILE bfile -tar -M -x -f arch.1 -f arch.2 || exit 1 +tar -M -x -f arch.1 -f arch.2 --warning=no-timestamp || exit 1 cmp \$BFILE bfile )" echo multiv03.at:33 >"$at_check_line_file" @@ -27327,7 +30784,7 @@ tar -M -L 10 -c -f arch.1 -f arch.2 $BFILE || exit 1 echo separator-2 mv $BFILE bfile -tar -M -x -f arch.1 -f arch.2 || exit 1 +tar -M -x -f arch.1 -f arch.2 --warning=no-timestamp || exit 1 cmp $BFILE bfile ) ) >"$at_stdout" 2>"$at_stder1" at_func_filter_trace $? @@ -27369,7 +30826,7 @@ tar -M -L 10 -c -f arch.1 -f arch.2 $BFILE || exit 1 echo separator-2 mv $BFILE bfile -tar -M -x -f arch.1 -f arch.2 || exit 1 +tar -M -x -f arch.1 -f arch.2 --warning=no-timestamp || exit 1 cmp $BFILE bfile ) ) >"$at_stdout" 2>"$at_stderr" fi @@ -27389,17 +30846,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. multiv04.at:36: split directory members in a MV archive +#AT_STOP_82 +#AT_START_83 +# 83. 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 " 65: $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 "65. multiv04.at:36: testing ..." + $as_echo "83. multiv04.at:36: testing ..." $at_traceon @@ -27613,17 +31070,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. multiv05.at:26: Restoring after an out of sync volume +#AT_STOP_83 +#AT_START_84 +# 84. 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 " 66: $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 "66. multiv05.at:26: testing ..." + $as_echo "84. multiv05.at:26: testing ..." $at_traceon @@ -27786,17 +31243,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. multiv06.at:27: Multivolumes with L=record_size +#AT_STOP_84 +#AT_START_85 +# 85. 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 " 67: $at_desc " +$at_quiet $as_echo_n " 85: $at_desc " at_xfail=no test -f $XFAILFILE && at_xfail=yes echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "67. multiv06.at:27: testing ..." + $as_echo "85. multiv06.at:27: testing ..." $at_traceon @@ -27958,19 +31415,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_67 -#AT_START_68 -# 68. multiv07.at:26: volumes split at an extended header +#AT_STOP_85 +#AT_START_86 +# 86. 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 " 68: $at_desc " +$at_quiet $as_echo_n " 86: $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 "68. multiv07.at:26: testing ..." + $as_echo "86. multiv07.at:26: testing ..." $at_traceon @@ -27985,6 +31442,8 @@ tarball_prereq xsplit-1.tar 0e008c84c517e48fbf23ca6a7033cde6 $TEST_DATA_DIR $TES test -z "$TEST_DATA_DIR" && exit 77 tarball_prereq xsplit-2.tar 03150b9852d285458f43734e9e0b9a45 $TEST_DATA_DIR $TEST_DATA_URL || exit 77 +exec <&- + cd \$TEST_DATA_DIR tar -t -M -fxsplit-1.tar -fxsplit-2.tar " @@ -28001,6 +31460,8 @@ tarball_prereq xsplit-1.tar 0e008c84c517e48fbf23ca6a7033cde6 $TEST_DATA_DIR $TES test -z "$TEST_DATA_DIR" && exit 77 tarball_prereq xsplit-2.tar 03150b9852d285458f43734e9e0b9a45 $TEST_DATA_DIR $TEST_DATA_URL || exit 77 +exec <&- + cd $TEST_DATA_DIR tar -t -M -fxsplit-1.tar -fxsplit-2.tar ) >"$at_stdout" 2>"$at_stder1" @@ -28015,6 +31476,8 @@ tarball_prereq xsplit-1.tar 0e008c84c517e48fbf23ca6a7033cde6 $TEST_DATA_DIR $TES test -z "$TEST_DATA_DIR" && exit 77 tarball_prereq xsplit-2.tar 03150b9852d285458f43734e9e0b9a45 $TEST_DATA_DIR $TEST_DATA_URL || exit 77 +exec <&- + cd $TEST_DATA_DIR tar -t -M -fxsplit-1.tar -fxsplit-2.tar ) >"$at_stdout" 2>"$at_stderr" @@ -28037,16 +31500,114 @@ $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. old.at:23: old archives +#AT_STOP_86 +#AT_START_87 +# 87. multiv08.at:23: multivolume header creation +at_setup_line='multiv08.at:23' +at_desc="multivolume header creation" +$at_quiet $as_echo_n " 87: $at_desc " +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "87. multiv08.at:23: testing ..." + $at_traceon + + + + + + { $at_traceoff +$as_echo "$at_srcdir/multiv08.at:26: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H gnu\" +export TAR_OPTIONS +rm -rf * + +genfile --length 9472 --file a +genfile --length 9984 --file b +decho Creating +tar -c -M -L10 -f A.tar -f B.tar -f C.tar a b +decho Testing +tar -tMR -f A.tar -f B.tar -f C.tar +)" +echo multiv08.at:26 >"$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 --length 9472 --file a +genfile --length 9984 --file b +decho Creating +tar -c -M -L10 -f A.tar -f B.tar -f C.tar a b +decho Testing +tar -tMR -f A.tar -f B.tar -f C.tar +) ) >"$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 --length 9472 --file a +genfile --length 9984 --file b +decho Creating +tar -c -M -L10 -f A.tar -f B.tar -f C.tar a b +decho Testing +tar -tMR -f A.tar -f B.tar -f C.tar +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +echo >>"$at_stderr"; $as_echo "Creating +Testing +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Creating +Testing +block 0: a +block 21: b +block 43: ** Block of NULs ** +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/multiv08.at:26" + +$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_87 +#AT_START_88 +# 88. old.at:23: old archives at_setup_line='old.at:23' at_desc="old archives" -$at_quiet $as_echo_n " 69: $at_desc " +$at_quiet $as_echo_n " 88: $at_desc " at_xfail=no echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "69. old.at:23: testing ..." + $as_echo "88. old.at:23: testing ..." $at_traceon @@ -28092,17 +31653,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. recurse.at:21: recurse +#AT_STOP_88 +#AT_START_89 +# 89. recurse.at:21: recurse at_setup_line='recurse.at:21' at_desc="recurse" -$at_quiet $as_echo_n " 70: $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 "70. recurse.at:21: testing ..." + $as_echo "89. recurse.at:21: testing ..." $at_traceon @@ -28421,17 +31982,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. same-order01.at:26: working -C with --same-order +#AT_STOP_89 +#AT_START_90 +# 90. 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 " 71: $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 "71. same-order01.at:26: testing ..." + $as_echo "90. same-order01.at:26: testing ..." $at_traceon @@ -28457,7 +32018,7 @@ genfile -l 1024 -f file2 tar cf archive file1 file2 mkdir directory -tar -xf archive --same-order -C directory || exit 1 +tar -xf archive --same-order -C directory --warning=no-timestamp || exit 1 ls directory|sort )" @@ -28483,7 +32044,7 @@ genfile -l 1024 -f file2 tar cf archive file1 file2 mkdir directory -tar -xf archive --same-order -C directory || exit 1 +tar -xf archive --same-order -C directory --warning=no-timestamp || exit 1 ls directory|sort ) ) >"$at_stdout" 2>"$at_stder1" @@ -28507,7 +32068,7 @@ genfile -l 1024 -f file2 tar cf archive file1 file2 mkdir directory -tar -xf archive --same-order -C directory || exit 1 +tar -xf archive --same-order -C directory --warning=no-timestamp || exit 1 ls directory|sort ) ) >"$at_stdout" 2>"$at_stderr" @@ -28543,7 +32104,7 @@ genfile -l 1024 -f file2 tar cf archive file1 file2 mkdir directory -tar -xf archive --same-order -C directory || exit 1 +tar -xf archive --same-order -C directory --warning=no-timestamp || exit 1 ls directory|sort )" @@ -28569,7 +32130,7 @@ genfile -l 1024 -f file2 tar cf archive file1 file2 mkdir directory -tar -xf archive --same-order -C directory || exit 1 +tar -xf archive --same-order -C directory --warning=no-timestamp || exit 1 ls directory|sort ) ) >"$at_stdout" 2>"$at_stder1" @@ -28593,7 +32154,7 @@ genfile -l 1024 -f file2 tar cf archive file1 file2 mkdir directory -tar -xf archive --same-order -C directory || exit 1 +tar -xf archive --same-order -C directory --warning=no-timestamp || exit 1 ls directory|sort ) ) >"$at_stdout" 2>"$at_stderr" @@ -28629,7 +32190,7 @@ genfile -l 1024 -f file2 tar cf archive file1 file2 mkdir directory -tar -xf archive --same-order -C directory || exit 1 +tar -xf archive --same-order -C directory --warning=no-timestamp || exit 1 ls directory|sort )" @@ -28655,7 +32216,7 @@ genfile -l 1024 -f file2 tar cf archive file1 file2 mkdir directory -tar -xf archive --same-order -C directory || exit 1 +tar -xf archive --same-order -C directory --warning=no-timestamp || exit 1 ls directory|sort ) ) >"$at_stdout" 2>"$at_stder1" @@ -28679,7 +32240,7 @@ genfile -l 1024 -f file2 tar cf archive file1 file2 mkdir directory -tar -xf archive --same-order -C directory || exit 1 +tar -xf archive --same-order -C directory --warning=no-timestamp || exit 1 ls directory|sort ) ) >"$at_stdout" 2>"$at_stderr" @@ -28715,7 +32276,7 @@ genfile -l 1024 -f file2 tar cf archive file1 file2 mkdir directory -tar -xf archive --same-order -C directory || exit 1 +tar -xf archive --same-order -C directory --warning=no-timestamp || exit 1 ls directory|sort )" @@ -28741,7 +32302,7 @@ genfile -l 1024 -f file2 tar cf archive file1 file2 mkdir directory -tar -xf archive --same-order -C directory || exit 1 +tar -xf archive --same-order -C directory --warning=no-timestamp || exit 1 ls directory|sort ) ) >"$at_stdout" 2>"$at_stder1" @@ -28765,7 +32326,7 @@ genfile -l 1024 -f file2 tar cf archive file1 file2 mkdir directory -tar -xf archive --same-order -C directory || exit 1 +tar -xf archive --same-order -C directory --warning=no-timestamp || exit 1 ls directory|sort ) ) >"$at_stdout" 2>"$at_stderr" @@ -28801,7 +32362,7 @@ genfile -l 1024 -f file2 tar cf archive file1 file2 mkdir directory -tar -xf archive --same-order -C directory || exit 1 +tar -xf archive --same-order -C directory --warning=no-timestamp || exit 1 ls directory|sort )" @@ -28827,7 +32388,7 @@ genfile -l 1024 -f file2 tar cf archive file1 file2 mkdir directory -tar -xf archive --same-order -C directory || exit 1 +tar -xf archive --same-order -C directory --warning=no-timestamp || exit 1 ls directory|sort ) ) >"$at_stdout" 2>"$at_stder1" @@ -28851,7 +32412,7 @@ genfile -l 1024 -f file2 tar cf archive file1 file2 mkdir directory -tar -xf archive --same-order -C directory || exit 1 +tar -xf archive --same-order -C directory --warning=no-timestamp || exit 1 ls directory|sort ) ) >"$at_stdout" 2>"$at_stderr" @@ -28875,17 +32436,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. same-order02.at:25: multiple -C options +#AT_STOP_90 +#AT_START_91 +# 91. same-order02.at:25: multiple -C options at_setup_line='same-order02.at:25' at_desc="multiple -C options" -$at_quiet $as_echo_n " 72: $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 "72. same-order02.at:25: testing ..." + $as_echo "91. same-order02.at:25: testing ..." $at_traceon @@ -28910,7 +32471,9 @@ mkdir en mkdir to HERE=\`pwd\` -tar -xf archive --same-order -C \$HERE/en file1 -C \$HERE/to file2 || exit 1 +tar -xf archive --same-order --warning=no-timestamp \\ + -C \$HERE/en file1 \\ + -C \$HERE/to file2 || exit 1 ls en echo separator @@ -28937,7 +32500,9 @@ mkdir en mkdir to HERE=`pwd` -tar -xf archive --same-order -C $HERE/en file1 -C $HERE/to file2 || exit 1 +tar -xf archive --same-order --warning=no-timestamp \ + -C $HERE/en file1 \ + -C $HERE/to file2 || exit 1 ls en echo separator @@ -28962,7 +32527,9 @@ mkdir en mkdir to HERE=`pwd` -tar -xf archive --same-order -C $HERE/en file1 -C $HERE/to file2 || exit 1 +tar -xf archive --same-order --warning=no-timestamp \ + -C $HERE/en file1 \ + -C $HERE/to file2 || exit 1 ls en echo separator @@ -29000,7 +32567,9 @@ mkdir en mkdir to HERE=\`pwd\` -tar -xf archive --same-order -C \$HERE/en file1 -C \$HERE/to file2 || exit 1 +tar -xf archive --same-order --warning=no-timestamp \\ + -C \$HERE/en file1 \\ + -C \$HERE/to file2 || exit 1 ls en echo separator @@ -29027,7 +32596,9 @@ mkdir en mkdir to HERE=`pwd` -tar -xf archive --same-order -C $HERE/en file1 -C $HERE/to file2 || exit 1 +tar -xf archive --same-order --warning=no-timestamp \ + -C $HERE/en file1 \ + -C $HERE/to file2 || exit 1 ls en echo separator @@ -29052,7 +32623,9 @@ mkdir en mkdir to HERE=`pwd` -tar -xf archive --same-order -C $HERE/en file1 -C $HERE/to file2 || exit 1 +tar -xf archive --same-order --warning=no-timestamp \ + -C $HERE/en file1 \ + -C $HERE/to file2 || exit 1 ls en echo separator @@ -29090,7 +32663,9 @@ mkdir en mkdir to HERE=\`pwd\` -tar -xf archive --same-order -C \$HERE/en file1 -C \$HERE/to file2 || exit 1 +tar -xf archive --same-order --warning=no-timestamp \\ + -C \$HERE/en file1 \\ + -C \$HERE/to file2 || exit 1 ls en echo separator @@ -29117,7 +32692,9 @@ mkdir en mkdir to HERE=`pwd` -tar -xf archive --same-order -C $HERE/en file1 -C $HERE/to file2 || exit 1 +tar -xf archive --same-order --warning=no-timestamp \ + -C $HERE/en file1 \ + -C $HERE/to file2 || exit 1 ls en echo separator @@ -29142,7 +32719,9 @@ mkdir en mkdir to HERE=`pwd` -tar -xf archive --same-order -C $HERE/en file1 -C $HERE/to file2 || exit 1 +tar -xf archive --same-order --warning=no-timestamp \ + -C $HERE/en file1 \ + -C $HERE/to file2 || exit 1 ls en echo separator @@ -29180,7 +32759,9 @@ mkdir en mkdir to HERE=\`pwd\` -tar -xf archive --same-order -C \$HERE/en file1 -C \$HERE/to file2 || exit 1 +tar -xf archive --same-order --warning=no-timestamp \\ + -C \$HERE/en file1 \\ + -C \$HERE/to file2 || exit 1 ls en echo separator @@ -29207,7 +32788,9 @@ mkdir en mkdir to HERE=`pwd` -tar -xf archive --same-order -C $HERE/en file1 -C $HERE/to file2 || exit 1 +tar -xf archive --same-order --warning=no-timestamp \ + -C $HERE/en file1 \ + -C $HERE/to file2 || exit 1 ls en echo separator @@ -29232,7 +32815,9 @@ mkdir en mkdir to HERE=`pwd` -tar -xf archive --same-order -C $HERE/en file1 -C $HERE/to file2 || exit 1 +tar -xf archive --same-order --warning=no-timestamp \ + -C $HERE/en file1 \ + -C $HERE/to file2 || exit 1 ls en echo separator @@ -29270,7 +32855,9 @@ mkdir en mkdir to HERE=\`pwd\` -tar -xf archive --same-order -C \$HERE/en file1 -C \$HERE/to file2 || exit 1 +tar -xf archive --same-order --warning=no-timestamp \\ + -C \$HERE/en file1 \\ + -C \$HERE/to file2 || exit 1 ls en echo separator @@ -29297,7 +32884,9 @@ mkdir en mkdir to HERE=`pwd` -tar -xf archive --same-order -C $HERE/en file1 -C $HERE/to file2 || exit 1 +tar -xf archive --same-order --warning=no-timestamp \ + -C $HERE/en file1 \ + -C $HERE/to file2 || exit 1 ls en echo separator @@ -29322,7 +32911,9 @@ mkdir en mkdir to HERE=`pwd` -tar -xf archive --same-order -C $HERE/en file1 -C $HERE/to file2 || exit 1 +tar -xf archive --same-order --warning=no-timestamp \ + -C $HERE/en file1 \ + -C $HERE/to file2 || exit 1 ls en echo separator @@ -29349,17 +32940,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. shortrec.at:25: short records +#AT_STOP_91 +#AT_START_92 +# 92. shortrec.at:25: short records at_setup_line='shortrec.at:25' at_desc="short records" -$at_quiet $as_echo_n " 73: $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 "73. shortrec.at:25: testing ..." + $as_echo "92. shortrec.at:25: testing ..." $at_traceon @@ -29728,17 +33319,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. sparse01.at:21: sparse files +#AT_STOP_92 +#AT_START_93 +# 93. sparse01.at:21: sparse files at_setup_line='sparse01.at:21' at_desc="sparse files" -$at_quiet $as_echo_n " 74: $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 "74. sparse01.at:21: testing ..." + $as_echo "93. sparse01.at:21: testing ..." $at_traceon @@ -29764,7 +33355,7 @@ echo separator tar tfv archive echo separator mkdir directory -tar Cxf directory archive +tar Cxf directory archive --warning=no-timestamp genfile --stat=name,size sparsefile cmp sparsefile directory/sparsefile )" @@ -29790,7 +33381,7 @@ echo separator tar tfv archive echo separator mkdir directory -tar Cxf directory archive +tar Cxf directory archive --warning=no-timestamp genfile --stat=name,size sparsefile cmp sparsefile directory/sparsefile ) ) >"$at_stdout" 2>"$at_stder1" @@ -29814,7 +33405,7 @@ echo separator tar tfv archive echo separator mkdir directory -tar Cxf directory archive +tar Cxf directory archive --warning=no-timestamp genfile --stat=name,size sparsefile cmp sparsefile directory/sparsefile ) ) >"$at_stdout" 2>"$at_stderr" @@ -29847,7 +33438,7 @@ echo separator tar tfv archive echo separator mkdir directory -tar Cxf directory archive +tar Cxf directory archive --warning=no-timestamp genfile --stat=name,size sparsefile cmp sparsefile directory/sparsefile )" @@ -29873,7 +33464,7 @@ echo separator tar tfv archive echo separator mkdir directory -tar Cxf directory archive +tar Cxf directory archive --warning=no-timestamp genfile --stat=name,size sparsefile cmp sparsefile directory/sparsefile ) ) >"$at_stdout" 2>"$at_stder1" @@ -29897,7 +33488,7 @@ echo separator tar tfv archive echo separator mkdir directory -tar Cxf directory archive +tar Cxf directory archive --warning=no-timestamp genfile --stat=name,size sparsefile cmp sparsefile directory/sparsefile ) ) >"$at_stdout" 2>"$at_stderr" @@ -29930,7 +33521,7 @@ echo separator tar tfv archive echo separator mkdir directory -tar Cxf directory archive +tar Cxf directory archive --warning=no-timestamp genfile --stat=name,size sparsefile cmp sparsefile directory/sparsefile )" @@ -29956,7 +33547,7 @@ echo separator tar tfv archive echo separator mkdir directory -tar Cxf directory archive +tar Cxf directory archive --warning=no-timestamp genfile --stat=name,size sparsefile cmp sparsefile directory/sparsefile ) ) >"$at_stdout" 2>"$at_stder1" @@ -29980,7 +33571,7 @@ echo separator tar tfv archive echo separator mkdir directory -tar Cxf directory archive +tar Cxf directory archive --warning=no-timestamp genfile --stat=name,size sparsefile cmp sparsefile directory/sparsefile ) ) >"$at_stdout" 2>"$at_stderr" @@ -30019,17 +33610,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_74 -#AT_START_75 -# 75. sparse02.at:21: extracting sparse file over a pipe +#AT_STOP_93 +#AT_START_94 +# 94. 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 " 75: $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 "75. sparse02.at:21: testing ..." + $as_echo "94. sparse02.at:21: testing ..." $at_traceon @@ -30248,17 +33839,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. sparse03.at:21: storing sparse files > 8G +#AT_STOP_94 +#AT_START_95 +# 95. sparse03.at:21: storing sparse files > 8G at_setup_line='sparse03.at:21' at_desc="storing sparse files > 8G" -$at_quiet $as_echo_n " 76: $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 "76. sparse03.at:21: testing ..." + $as_echo "95. sparse03.at:21: testing ..." $at_traceon @@ -30378,17 +33969,106 @@ done $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. sparsemv.at:21: sparse files in MV archives +#AT_STOP_95 +#AT_START_96 +# 96. sparse04.at:21: storing long sparse file names +at_setup_line='sparse04.at:21' +at_desc="storing long sparse file names" +$at_quiet $as_echo_n " 96: $at_desc " +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "96. sparse04.at:21: testing ..." + $at_traceon + + + +# Description: Tar versions from 1.15.92 to 1.25 would incorrectly +# store sparse file names longer than 100 characters in pax mode. +# Namely, the `path' keyword of the produced PAX header would contain the +# crafted name of the header itself, instead of that of the file. +# Reported by: Kamil Dudka +# References: <201011250026.44908.kdudka@redhat.com>, +# http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00099.html + + + + + + { $at_traceoff +$as_echo "$at_srcdir/sparse04.at:35: +mkdir pax +(cd pax +TEST_TAR_FORMAT=pax +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H pax\" +export TAR_OPTIONS +rm -rf * + +genfile --sparse --file 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 --block-size 512 8M A || exit 77 +tar -c --sparse --posix 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 | tar t +)" +echo sparse04.at:35 >"$at_check_line_file" + +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; +mkdir pax +(cd pax +TEST_TAR_FORMAT=pax +export TEST_TAR_FORMAT +TAR_OPTIONS="-H pax" +export TAR_OPTIONS +rm -rf * + +genfile --sparse --file 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 --block-size 512 8M A || exit 77 +tar -c --sparse --posix 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 | tar t +) ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; +mkdir pax +(cd pax +TEST_TAR_FORMAT=pax +export TEST_TAR_FORMAT +TAR_OPTIONS="-H pax" +export TAR_OPTIONS +rm -rf * + +genfile --sparse --file 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 --block-size 512 8M A || exit 77 +tar -c --sparse --posix 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 | tar t +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/sparse04.at:35" + +$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_96 +#AT_START_97 +# 97. 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 " 77: $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 "77. sparsemv.at:21: testing ..." + $as_echo "97. sparsemv.at:21: testing ..." $at_traceon @@ -30633,17 +34313,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. spmvp00.at:21: sparse files in PAX MV archives, v.0.0 +#AT_STOP_97 +#AT_START_98 +# 98. 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 " 78: $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 "78. spmvp00.at:21: testing ..." + $as_echo "98. spmvp00.at:21: testing ..." $at_traceon @@ -30770,17 +34450,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. spmvp01.at:21: sparse files in PAX MV archives, v.0.1 +#AT_STOP_98 +#AT_START_99 +# 99. 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 " 79: $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 "79. spmvp01.at:21: testing ..." + $as_echo "99. spmvp01.at:21: testing ..." $at_traceon @@ -30907,17 +34587,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. spmvp10.at:21: sparse files in PAX MV archives, v.1.0 +#AT_STOP_99 +#AT_START_100 +# 100. 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 " 80: $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 "80. spmvp10.at:21: testing ..." + $as_echo "100. spmvp10.at:21: testing ..." $at_traceon @@ -31044,17 +34724,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. update.at:28: update unchanged directories +#AT_STOP_100 +#AT_START_101 +# 101. update.at:28: update unchanged directories at_setup_line='update.at:28' at_desc="update unchanged directories" -$at_quiet $as_echo_n " 81: $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 "81. update.at:28: testing ..." + $as_echo "101. update.at:28: testing ..." $at_traceon @@ -31513,17 +35193,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_81 -#AT_START_82 -# 82. update01.at:29: update directories +#AT_STOP_101 +#AT_START_102 +# 102. update01.at:29: update directories at_setup_line='update01.at:29' at_desc="update directories" -$at_quiet $as_echo_n " 82: $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 "82. update01.at:29: testing ..." + $as_echo "102. update01.at:29: testing ..." $at_traceon @@ -32047,17 +35727,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. update02.at:26: update changed files +#AT_STOP_102 +#AT_START_103 +# 103. update02.at:26: update changed files at_setup_line='update02.at:26' at_desc="update changed files" -$at_quiet $as_echo_n " 83: $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 "83. update02.at:26: testing ..." + $as_echo "103. update02.at:26: testing ..." $at_traceon @@ -32581,17 +36261,321 @@ $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. volume.at:23: volume +#AT_STOP_103 +#AT_START_104 +# 104. verify.at:25: verify +at_setup_line='verify.at:25' +at_desc="verify" +$at_quiet $as_echo_n "104: $at_desc " +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "104. verify.at:25: testing ..." + $at_traceon + + + + + + { $at_traceoff +$as_echo "$at_srcdir/verify.at:28: +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H v7\" +export TAR_OPTIONS +rm -rf * + +touch foo +tar -cvf archive.tar --verify foo +)" +echo verify.at:28 >"$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 * + +touch foo +tar -cvf archive.tar --verify foo +) ) >"$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 * + +touch foo +tar -cvf archive.tar --verify foo +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "foo +Verify foo +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/verify.at:28" + +$at_failed && at_func_log_failure +$at_traceon; } + + { $at_traceoff +$as_echo "$at_srcdir/verify.at:28: +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H oldgnu\" +export TAR_OPTIONS +rm -rf * + +touch foo +tar -cvf archive.tar --verify foo +)" +echo verify.at:28 >"$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 * + +touch foo +tar -cvf archive.tar --verify foo +) ) >"$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 * + +touch foo +tar -cvf archive.tar --verify foo +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "foo +Verify foo +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/verify.at:28" + +$at_failed && at_func_log_failure +$at_traceon; } + + { $at_traceoff +$as_echo "$at_srcdir/verify.at:28: +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H ustar\" +export TAR_OPTIONS +rm -rf * + +touch foo +tar -cvf archive.tar --verify foo +)" +echo verify.at:28 >"$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 * + +touch foo +tar -cvf archive.tar --verify foo +) ) >"$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 * + +touch foo +tar -cvf archive.tar --verify foo +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "foo +Verify foo +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/verify.at:28" + +$at_failed && at_func_log_failure +$at_traceon; } + + { $at_traceoff +$as_echo "$at_srcdir/verify.at:28: +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H posix\" +export TAR_OPTIONS +rm -rf * + +touch foo +tar -cvf archive.tar --verify foo +)" +echo verify.at:28 >"$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 * + +touch foo +tar -cvf archive.tar --verify foo +) ) >"$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 * + +touch foo +tar -cvf archive.tar --verify foo +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "foo +Verify foo +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/verify.at:28" + +$at_failed && at_func_log_failure +$at_traceon; } + + { $at_traceoff +$as_echo "$at_srcdir/verify.at:28: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H gnu\" +export TAR_OPTIONS +rm -rf * + +touch foo +tar -cvf archive.tar --verify foo +)" +echo verify.at:28 >"$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 * + +touch foo +tar -cvf archive.tar --verify foo +) ) >"$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 * + +touch foo +tar -cvf archive.tar --verify foo +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "foo +Verify foo +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/verify.at:28" + +$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_104 +#AT_START_105 +# 105. volume.at:23: volume at_setup_line='volume.at:23' at_desc="volume" -$at_quiet $as_echo_n " 84: $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 "84. volume.at:23: testing ..." + $as_echo "105. volume.at:23: testing ..." $at_traceon @@ -32809,17 +36793,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. volsize.at:29: volume header size +#AT_STOP_105 +#AT_START_106 +# 106. volsize.at:29: volume header size at_setup_line='volsize.at:29' at_desc="volume header size" -$at_quiet $as_echo_n " 85: $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 "85. volsize.at:29: testing ..." + $as_echo "106. volsize.at:29: testing ..." $at_traceon @@ -33328,17 +37312,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. comprec.at:21: compressed format recognition +#AT_STOP_106 +#AT_START_107 +# 107. comprec.at:21: compressed format recognition at_setup_line='comprec.at:21' at_desc="compressed format recognition" -$at_quiet $as_echo_n " 86: $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 "86. comprec.at:21: testing ..." + $as_echo "107. comprec.at:21: testing ..." $at_traceon @@ -33364,7 +37348,7 @@ echo \"separator\" tar cfz archive file1 echo \"separator\" mv file1 orig -tar xfv archive +tar xfv archive --warning=no-timestamp cmp orig file1 )" echo comprec.at:25 >"$at_check_line_file" @@ -33388,7 +37372,7 @@ echo "separator" tar cfz archive file1 echo "separator" mv file1 orig -tar xfv archive +tar xfv archive --warning=no-timestamp cmp orig file1 ) ) >"$at_stdout" 2>"$at_stder1" at_func_filter_trace $? @@ -33410,7 +37394,7 @@ echo "separator" tar cfz archive file1 echo "separator" mv file1 orig -tar xfv archive +tar xfv archive --warning=no-timestamp cmp orig file1 ) ) >"$at_stdout" 2>"$at_stderr" fi @@ -33445,7 +37429,7 @@ echo \"separator\" tar cfz archive file1 echo \"separator\" mv file1 orig -tar xfv archive +tar xfv archive --warning=no-timestamp cmp orig file1 )" echo comprec.at:25 >"$at_check_line_file" @@ -33469,7 +37453,7 @@ echo "separator" tar cfz archive file1 echo "separator" mv file1 orig -tar xfv archive +tar xfv archive --warning=no-timestamp cmp orig file1 ) ) >"$at_stdout" 2>"$at_stder1" at_func_filter_trace $? @@ -33491,7 +37475,7 @@ echo "separator" tar cfz archive file1 echo "separator" mv file1 orig -tar xfv archive +tar xfv archive --warning=no-timestamp cmp orig file1 ) ) >"$at_stdout" 2>"$at_stderr" fi @@ -33526,7 +37510,7 @@ echo \"separator\" tar cfz archive file1 echo \"separator\" mv file1 orig -tar xfv archive +tar xfv archive --warning=no-timestamp cmp orig file1 )" echo comprec.at:25 >"$at_check_line_file" @@ -33550,7 +37534,7 @@ echo "separator" tar cfz archive file1 echo "separator" mv file1 orig -tar xfv archive +tar xfv archive --warning=no-timestamp cmp orig file1 ) ) >"$at_stdout" 2>"$at_stder1" at_func_filter_trace $? @@ -33572,7 +37556,7 @@ echo "separator" tar cfz archive file1 echo "separator" mv file1 orig -tar xfv archive +tar xfv archive --warning=no-timestamp cmp orig file1 ) ) >"$at_stdout" 2>"$at_stderr" fi @@ -33607,7 +37591,7 @@ echo \"separator\" tar cfz archive file1 echo \"separator\" mv file1 orig -tar xfv archive +tar xfv archive --warning=no-timestamp cmp orig file1 )" echo comprec.at:25 >"$at_check_line_file" @@ -33631,7 +37615,7 @@ echo "separator" tar cfz archive file1 echo "separator" mv file1 orig -tar xfv archive +tar xfv archive --warning=no-timestamp cmp orig file1 ) ) >"$at_stdout" 2>"$at_stder1" at_func_filter_trace $? @@ -33653,7 +37637,7 @@ echo "separator" tar cfz archive file1 echo "separator" mv file1 orig -tar xfv archive +tar xfv archive --warning=no-timestamp cmp orig file1 ) ) >"$at_stdout" 2>"$at_stderr" fi @@ -33688,7 +37672,7 @@ echo \"separator\" tar cfz archive file1 echo \"separator\" mv file1 orig -tar xfv archive +tar xfv archive --warning=no-timestamp cmp orig file1 )" echo comprec.at:25 >"$at_check_line_file" @@ -33712,7 +37696,7 @@ echo "separator" tar cfz archive file1 echo "separator" mv file1 orig -tar xfv archive +tar xfv archive --warning=no-timestamp cmp orig file1 ) ) >"$at_stdout" 2>"$at_stder1" at_func_filter_trace $? @@ -33734,7 +37718,7 @@ echo "separator" tar cfz archive file1 echo "separator" mv file1 orig -tar xfv archive +tar xfv archive --warning=no-timestamp cmp orig file1 ) ) >"$at_stdout" 2>"$at_stderr" fi @@ -33758,17 +37742,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. shortfile.at:26: short input files +#AT_STOP_107 +#AT_START_108 +# 108. shortfile.at:26: short input files at_setup_line='shortfile.at:26' at_desc="short input files" -$at_quiet $as_echo_n " 87: $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 "87. shortfile.at:26: testing ..." + $as_echo "108. shortfile.at:26: testing ..." $at_traceon @@ -33838,17 +37822,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. shortupd.at:29: updating short archives +#AT_STOP_108 +#AT_START_109 +# 109. shortupd.at:29: updating short archives at_setup_line='shortupd.at:29' at_desc="updating short archives" -$at_quiet $as_echo_n " 88: $at_desc " +$at_quiet $as_echo_n "109: $at_desc " at_xfail=no test -f $XFAILFILE && at_xfail=yes echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "88. shortupd.at:29: testing ..." + $as_echo "109. shortupd.at:29: testing ..." $at_traceon @@ -34127,17 +38111,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. truncate.at:29: truncate +#AT_STOP_109 +#AT_START_110 +# 110. truncate.at:29: truncate at_setup_line='truncate.at:29' at_desc="truncate" -$at_quiet $as_echo_n " 89: $at_desc " +$at_quiet $as_echo_n "110: $at_desc " at_xfail=no test -f $XFAILFILE && at_xfail=yes echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "89. truncate.at:29: testing ..." + $as_echo "110. truncate.at:29: testing ..." $at_traceon @@ -34154,13 +38138,12 @@ TAR_OPTIONS=\"-H v7\" export TAR_OPTIONS rm -rf * -genfile --file foo --length 50000k +genfile --file foo --length 200k genfile --file baz -genfile --run --checkpoint 10 --length 49995k --truncate foo -- tar --checkpoint -vcf bar foo baz +genfile --run --checkpoint 10 --length 195k --truncate foo -- tar --checkpoint --checkpoint-action=echo --checkpoint-action=sleep=1 -vcf bar foo baz echo Exit status: \$? echo separator -sleep 1 -genfile --file foo --seek 49995k --length 5k --pattern=zeros +genfile --file foo --seek 195k --length 5k --pattern=zeros tar dvf bar)" echo truncate.at:32 >"$at_check_line_file" @@ -34175,13 +38158,12 @@ TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * -genfile --file foo --length 50000k +genfile --file foo --length 200k genfile --file baz -genfile --run --checkpoint 10 --length 49995k --truncate foo -- tar --checkpoint -vcf bar foo baz +genfile --run --checkpoint 10 --length 195k --truncate foo -- tar --checkpoint --checkpoint-action=echo --checkpoint-action=sleep=1 -vcf bar foo baz echo Exit status: $? echo separator -sleep 1 -genfile --file foo --seek 49995k --length 5k --pattern=zeros +genfile --file foo --seek 195k --length 5k --pattern=zeros tar dvf bar) ) >"$at_stdout" 2>"$at_stder1" at_func_filter_trace $? else @@ -34194,13 +38176,12 @@ TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * -genfile --file foo --length 50000k +genfile --file foo --length 200k genfile --file baz -genfile --run --checkpoint 10 --length 49995k --truncate foo -- tar --checkpoint -vcf bar foo baz +genfile --run --checkpoint 10 --length 195k --truncate foo -- tar --checkpoint --checkpoint-action=echo --checkpoint-action=sleep=1 -vcf bar foo baz echo Exit status: $? echo separator -sleep 1 -genfile --file foo --seek 49995k --length 5k --pattern=zeros +genfile --file foo --seek 195k --length 5k --pattern=zeros tar dvf bar) ) >"$at_stdout" 2>"$at_stderr" fi at_status=$? @@ -34232,13 +38213,12 @@ TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * -genfile --file foo --length 50000k +genfile --file foo --length 200k genfile --file baz -genfile --run --checkpoint 10 --length 49995k --truncate foo -- tar --checkpoint -vcf bar foo baz +genfile --run --checkpoint 10 --length 195k --truncate foo -- tar --checkpoint --checkpoint-action=echo --checkpoint-action=sleep=1 -vcf bar foo baz echo Exit status: \$? echo separator -sleep 1 -genfile --file foo --seek 49995k --length 5k --pattern=zeros +genfile --file foo --seek 195k --length 5k --pattern=zeros tar dvf bar)" echo truncate.at:32 >"$at_check_line_file" @@ -34253,13 +38233,12 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * -genfile --file foo --length 50000k +genfile --file foo --length 200k genfile --file baz -genfile --run --checkpoint 10 --length 49995k --truncate foo -- tar --checkpoint -vcf bar foo baz +genfile --run --checkpoint 10 --length 195k --truncate foo -- tar --checkpoint --checkpoint-action=echo --checkpoint-action=sleep=1 -vcf bar foo baz echo Exit status: $? echo separator -sleep 1 -genfile --file foo --seek 49995k --length 5k --pattern=zeros +genfile --file foo --seek 195k --length 5k --pattern=zeros tar dvf bar) ) >"$at_stdout" 2>"$at_stder1" at_func_filter_trace $? else @@ -34272,13 +38251,12 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * -genfile --file foo --length 50000k +genfile --file foo --length 200k genfile --file baz -genfile --run --checkpoint 10 --length 49995k --truncate foo -- tar --checkpoint -vcf bar foo baz +genfile --run --checkpoint 10 --length 195k --truncate foo -- tar --checkpoint --checkpoint-action=echo --checkpoint-action=sleep=1 -vcf bar foo baz echo Exit status: $? echo separator -sleep 1 -genfile --file foo --seek 49995k --length 5k --pattern=zeros +genfile --file foo --seek 195k --length 5k --pattern=zeros tar dvf bar) ) >"$at_stdout" 2>"$at_stderr" fi at_status=$? @@ -34310,13 +38288,12 @@ TAR_OPTIONS=\"-H ustar\" export TAR_OPTIONS rm -rf * -genfile --file foo --length 50000k +genfile --file foo --length 200k genfile --file baz -genfile --run --checkpoint 10 --length 49995k --truncate foo -- tar --checkpoint -vcf bar foo baz +genfile --run --checkpoint 10 --length 195k --truncate foo -- tar --checkpoint --checkpoint-action=echo --checkpoint-action=sleep=1 -vcf bar foo baz echo Exit status: \$? echo separator -sleep 1 -genfile --file foo --seek 49995k --length 5k --pattern=zeros +genfile --file foo --seek 195k --length 5k --pattern=zeros tar dvf bar)" echo truncate.at:32 >"$at_check_line_file" @@ -34331,13 +38308,12 @@ TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * -genfile --file foo --length 50000k +genfile --file foo --length 200k genfile --file baz -genfile --run --checkpoint 10 --length 49995k --truncate foo -- tar --checkpoint -vcf bar foo baz +genfile --run --checkpoint 10 --length 195k --truncate foo -- tar --checkpoint --checkpoint-action=echo --checkpoint-action=sleep=1 -vcf bar foo baz echo Exit status: $? echo separator -sleep 1 -genfile --file foo --seek 49995k --length 5k --pattern=zeros +genfile --file foo --seek 195k --length 5k --pattern=zeros tar dvf bar) ) >"$at_stdout" 2>"$at_stder1" at_func_filter_trace $? else @@ -34350,13 +38326,12 @@ TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * -genfile --file foo --length 50000k +genfile --file foo --length 200k genfile --file baz -genfile --run --checkpoint 10 --length 49995k --truncate foo -- tar --checkpoint -vcf bar foo baz +genfile --run --checkpoint 10 --length 195k --truncate foo -- tar --checkpoint --checkpoint-action=echo --checkpoint-action=sleep=1 -vcf bar foo baz echo Exit status: $? echo separator -sleep 1 -genfile --file foo --seek 49995k --length 5k --pattern=zeros +genfile --file foo --seek 195k --length 5k --pattern=zeros tar dvf bar) ) >"$at_stdout" 2>"$at_stderr" fi at_status=$? @@ -34388,13 +38363,12 @@ TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * -genfile --file foo --length 50000k +genfile --file foo --length 200k genfile --file baz -genfile --run --checkpoint 10 --length 49995k --truncate foo -- tar --checkpoint -vcf bar foo baz +genfile --run --checkpoint 10 --length 195k --truncate foo -- tar --checkpoint --checkpoint-action=echo --checkpoint-action=sleep=1 -vcf bar foo baz echo Exit status: \$? echo separator -sleep 1 -genfile --file foo --seek 49995k --length 5k --pattern=zeros +genfile --file foo --seek 195k --length 5k --pattern=zeros tar dvf bar)" echo truncate.at:32 >"$at_check_line_file" @@ -34409,13 +38383,12 @@ TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * -genfile --file foo --length 50000k +genfile --file foo --length 200k genfile --file baz -genfile --run --checkpoint 10 --length 49995k --truncate foo -- tar --checkpoint -vcf bar foo baz +genfile --run --checkpoint 10 --length 195k --truncate foo -- tar --checkpoint --checkpoint-action=echo --checkpoint-action=sleep=1 -vcf bar foo baz echo Exit status: $? echo separator -sleep 1 -genfile --file foo --seek 49995k --length 5k --pattern=zeros +genfile --file foo --seek 195k --length 5k --pattern=zeros tar dvf bar) ) >"$at_stdout" 2>"$at_stder1" at_func_filter_trace $? else @@ -34428,13 +38401,12 @@ TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * -genfile --file foo --length 50000k +genfile --file foo --length 200k genfile --file baz -genfile --run --checkpoint 10 --length 49995k --truncate foo -- tar --checkpoint -vcf bar foo baz +genfile --run --checkpoint 10 --length 195k --truncate foo -- tar --checkpoint --checkpoint-action=echo --checkpoint-action=sleep=1 -vcf bar foo baz echo Exit status: $? echo separator -sleep 1 -genfile --file foo --seek 49995k --length 5k --pattern=zeros +genfile --file foo --seek 195k --length 5k --pattern=zeros tar dvf bar) ) >"$at_stdout" 2>"$at_stderr" fi at_status=$? @@ -34466,13 +38438,12 @@ TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -genfile --file foo --length 50000k +genfile --file foo --length 200k genfile --file baz -genfile --run --checkpoint 10 --length 49995k --truncate foo -- tar --checkpoint -vcf bar foo baz +genfile --run --checkpoint 10 --length 195k --truncate foo -- tar --checkpoint --checkpoint-action=echo --checkpoint-action=sleep=1 -vcf bar foo baz echo Exit status: \$? echo separator -sleep 1 -genfile --file foo --seek 49995k --length 5k --pattern=zeros +genfile --file foo --seek 195k --length 5k --pattern=zeros tar dvf bar)" echo truncate.at:32 >"$at_check_line_file" @@ -34487,13 +38458,12 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -genfile --file foo --length 50000k +genfile --file foo --length 200k genfile --file baz -genfile --run --checkpoint 10 --length 49995k --truncate foo -- tar --checkpoint -vcf bar foo baz +genfile --run --checkpoint 10 --length 195k --truncate foo -- tar --checkpoint --checkpoint-action=echo --checkpoint-action=sleep=1 -vcf bar foo baz echo Exit status: $? echo separator -sleep 1 -genfile --file foo --seek 49995k --length 5k --pattern=zeros +genfile --file foo --seek 195k --length 5k --pattern=zeros tar dvf bar) ) >"$at_stdout" 2>"$at_stder1" at_func_filter_trace $? else @@ -34506,13 +38476,12 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -genfile --file foo --length 50000k +genfile --file foo --length 200k genfile --file baz -genfile --run --checkpoint 10 --length 49995k --truncate foo -- tar --checkpoint -vcf bar foo baz +genfile --run --checkpoint 10 --length 195k --truncate foo -- tar --checkpoint --checkpoint-action=echo --checkpoint-action=sleep=1 -vcf bar foo baz echo Exit status: $? echo separator -sleep 1 -genfile --file foo --seek 49995k --length 5k --pattern=zeros +genfile --file foo --seek 195k --length 5k --pattern=zeros tar dvf bar) ) >"$at_stdout" 2>"$at_stderr" fi at_status=$? @@ -34541,17 +38510,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_89 -#AT_START_90 -# 90. grow.at:24: grow +#AT_STOP_110 +#AT_START_111 +# 111. grow.at:24: grow at_setup_line='grow.at:24' at_desc="grow" -$at_quiet $as_echo_n " 90: $at_desc " +$at_quiet $as_echo_n "111: $at_desc " at_xfail=no test -f $XFAILFILE && at_xfail=yes echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "90. grow.at:24: testing ..." + $as_echo "111. grow.at:24: testing ..." $at_traceon @@ -34870,16 +38839,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_90 -#AT_START_91 -# 91. remfiles01.at:28: remove-files with compression +#AT_STOP_111 +#AT_START_112 +# 112. remfiles01.at:28: remove-files with compression at_setup_line='remfiles01.at:28' at_desc="remove-files with compression" -$at_quiet $as_echo_n " 91: $at_desc " +$at_quiet $as_echo_n "112: $at_desc " at_xfail=no echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "91. remfiles01.at:28: testing ..." + $as_echo "112. remfiles01.at:28: testing ..." $at_traceon @@ -34888,9 +38857,22 @@ unset TAR_OPTIONS { $at_traceoff $as_echo "$at_srcdir/remfiles01.at:32: +echo "test" > $$ +chmod 0 $$ +cat $$ > /dev/null 2>&1 +result=$? +rm -f $$ +test $result -eq 0 && exit 77 + + cat /dev/null | gzip - > /dev/null 2>&1 || exit 77 +case `(cat "$at_myself" 2>&3 | :) 3>&1 >/dev/null` in #( +?*) exit 77;; +esac + + test -z "`sort < /dev/null 2>&1`" || exit 77 @@ -34907,7 +38889,11 @@ 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 @@ -34920,9 +38906,22 @@ if { echo 'Not enabling shell tracing (command contains an embedded newline)' false; }; then ( $at_traceon; +echo "test" > $$ +chmod 0 $$ +cat $$ > /dev/null 2>&1 +result=$? +rm -f $$ +test $result -eq 0 && exit 77 + + cat /dev/null | gzip - > /dev/null 2>&1 || exit 77 +case `(cat "$at_myself" 2>&3 | :) 3>&1 >/dev/null` in #( +?*) exit 77;; +esac + + test -z "`sort < /dev/null 2>&1`" || exit 77 @@ -34939,7 +38938,11 @@ 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 @@ -34950,9 +38953,22 @@ exit $EC else ( :; +echo "test" > $$ +chmod 0 $$ +cat $$ > /dev/null 2>&1 +result=$? +rm -f $$ +test $result -eq 0 && exit 77 + + cat /dev/null | gzip - > /dev/null 2>&1 || exit 77 +case `(cat "$at_myself" 2>&3 | :) 3>&1 >/dev/null` in #( +?*) exit 77;; +esac + + test -z "`sort < /dev/null 2>&1`" || exit 77 @@ -34969,7 +38985,11 @@ 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 @@ -34999,16 +39019,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_91 -#AT_START_92 -# 92. remfiles02.at:28: remove-files with compression: grand-child +#AT_STOP_112 +#AT_START_113 +# 113. 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 " 92: $at_desc " +$at_quiet $as_echo_n "113: $at_desc " at_xfail=no echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "92. remfiles02.at:28: testing ..." + $as_echo "113. remfiles02.at:28: testing ..." $at_traceon @@ -35107,16 +39127,165 @@ $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. gtarfail.at:21: gtarfail +#AT_STOP_113 +#AT_START_114 +# 114. 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 "114: $at_desc " +at_xfail=no +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "114. remfiles03.at:28: testing ..." + $at_traceon + + + +{ $at_traceoff +$as_echo "$at_srcdir/remfiles03.at:31: +mkdir a +mkdir a/b +ln -s b a/c || exit 77 +tar --remove-files -cf a.tar a +genfile --stat a +" +echo remfiles03.at:31 >"$at_check_line_file" + +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; +mkdir a +mkdir a/b +ln -s b a/c || exit 77 +tar --remove-files -cf a.tar a +genfile --stat a + ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; +mkdir a +mkdir a/b +ln -s b a/c || exit 77 +tar --remove-files -cf a.tar a +genfile --stat a + ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +echo >>"$at_stderr"; $as_echo "genfile: stat(a) failed: No such file or directory +" | \ + $at_diff - "$at_stderr" || at_failed=: +at_func_diff_devnull "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/remfiles03.at:31" + +$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_114 +#AT_START_115 +# 115. sigpipe.at:19: sigpipe handling +at_setup_line='sigpipe.at:19' +at_desc="sigpipe handling" +$at_quiet $as_echo_n "115: $at_desc " +at_xfail=no +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "115. sigpipe.at:19: testing ..." + $at_traceon + + + +# Description: Tar 1.23 ignored sigpipe which lead to spurious "write +# error" diagnostics when piping output to another programs. +# Reported-by: "Dmitry V. Levin" +# References: http://lists.gnu.org/archive/html/bug-tar/2010-03/msg00039.html +# <20100319184141.GC30047@wo.int.altlinux.org> + +{ $at_traceoff +$as_echo "$at_srcdir/sigpipe.at:28: + +case `(cat "$at_myself" 2>&3 | :) 3>&1 >/dev/null` in #( +?*) exit 77;; +esac + + +genfile --length 2048 --file first +genfile --length 2048 --file second +genfile --length 2049 --file third + +tar cf archive first second third + +# 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" + +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; + +case `(cat "$at_myself" 2>&3 | :) 3>&1 >/dev/null` in #( +?*) exit 77;; +esac + + +genfile --length 2048 --file first +genfile --length 2048 --file second +genfile --length 2049 --file third + +tar cf archive first second third + +# 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 + ( :; + +case `(cat "$at_myself" 2>&3 | :) 3>&1 >/dev/null` in #( +?*) exit 77;; +esac + + +genfile --length 2048 --file first +genfile --length 2048 --file second +genfile --length 2049 --file third + +tar cf archive first second third + +# 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=$? +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/sigpipe.at:28" + +$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_115 +#AT_START_116 +# 116. gtarfail.at:21: gtarfail at_setup_line='gtarfail.at:21' at_desc="gtarfail" -$at_quiet $as_echo_n " 93: $at_desc " +$at_quiet $as_echo_n "116: $at_desc " at_xfail=no echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "93. gtarfail.at:21: testing ..." + $as_echo "116. gtarfail.at:21: testing ..." $at_traceon @@ -35176,16 +39345,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_93 -#AT_START_94 -# 94. gtarfail2.at:21: gtarfail2 +#AT_STOP_116 +#AT_START_117 +# 117. gtarfail2.at:21: gtarfail2 at_setup_line='gtarfail2.at:21' at_desc="gtarfail2" -$at_quiet $as_echo_n " 94: $at_desc " +$at_quiet $as_echo_n "117: $at_desc " at_xfail=no echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "94. gtarfail2.at:21: testing ..." + $as_echo "117. gtarfail2.at:21: testing ..." $at_traceon @@ -35246,16 +39415,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_94 -#AT_START_95 -# 95. multi-fail.at:21: multi-fail +#AT_STOP_117 +#AT_START_118 +# 118. multi-fail.at:21: multi-fail at_setup_line='multi-fail.at:21' at_desc="multi-fail" -$at_quiet $as_echo_n " 95: $at_desc " +$at_quiet $as_echo_n "118: $at_desc " at_xfail=no echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "95. multi-fail.at:21: testing ..." + $as_echo "118. multi-fail.at:21: testing ..." $at_traceon @@ -35376,16 +39545,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_95 -#AT_START_96 -# 96. ustar-big-2g.at:21: ustar-big-2g +#AT_STOP_118 +#AT_START_119 +# 119. 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 " 96: $at_desc " +$at_quiet $as_echo_n "119: $at_desc " at_xfail=no echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "96. ustar-big-2g.at:21: testing ..." + $as_echo "119. ustar-big-2g.at:21: testing ..." $at_traceon @@ -35463,16 +39632,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_96 -#AT_START_97 -# 97. ustar-big-8g.at:21: ustar-big-8g +#AT_STOP_119 +#AT_START_120 +# 120. 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 " 97: $at_desc " +$at_quiet $as_echo_n "120: $at_desc " at_xfail=no echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "97. ustar-big-8g.at:21: testing ..." + $as_echo "120. ustar-big-8g.at:21: testing ..." $at_traceon @@ -35550,16 +39719,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_97 -#AT_START_98 -# 98. pax-big-10g.at:21: pax-big-10g +#AT_STOP_120 +#AT_START_121 +# 121. 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 " 98: $at_desc " +$at_quiet $as_echo_n "121: $at_desc " at_xfail=no echo "# -*- compilation -*-" >> "$at_group_log" ( - $as_echo "98. pax-big-10g.at:21: testing ..." + $as_echo "121. pax-big-10g.at:21: testing ..." $at_traceon @@ -35637,4 +39806,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_98 +#AT_STOP_121