X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=tests%2Ftestsuite;h=f846810c31dddc8043d025c5ffcfa4e7e28255d1;hb=22f1eb8bc17e5be72dd23d42d6aaa60196ac22e6;hp=a9b869c38cf562e2658907f5574d1f703289ed88;hpb=00fa13ff3f2d5b6e2a94c5e948c38616ff7ad37a;p=debian%2Ftar diff --git a/tests/testsuite b/tests/testsuite index a9b869c3..f846810c 100755 --- a/tests/testsuite +++ b/tests/testsuite @@ -1,7 +1,8 @@ #! /bin/sh +# Generated from testsuite.at by GNU Autoconf 2.63. # -# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software -# Foundation, Inc. +# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 +# Free Software Foundation, Inc. # This test suite is free software; the Free Software Foundation gives # unlimited permission to copy, distribute and modify it. ## --------------------- ## @@ -13,7 +14,7 @@ DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: - # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST @@ -35,17 +36,45 @@ as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - echo "#! /bin/sh" >conf$$.sh - echo "exit 0" >>conf$$.sh - chmod +x conf$$.sh - if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then - PATH_SEPARATOR=';' +as_nl=' +' +export as_nl +# Printing a long string crashes Solaris 7 /usr/bin/printf. +as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo +if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='printf %s\n' + as_echo_n='printf %s' +else + if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then + as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' + as_echo_n='/usr/ucb/echo -n' else - PATH_SEPARATOR=: + as_echo_body='eval expr "X$1" : "X\\(.*\\)"' + as_echo_n_body='eval + arg=$1; + case $arg in + *"$as_nl"*) + expr "X$arg" : "X\\(.*\\)$as_nl"; + arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; + esac; + expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" + ' + export as_echo_n_body + as_echo_n='sh -c $as_echo_n_body as_echo' fi - rm -f conf$$.sh + export as_echo_body + as_echo='sh -c $as_echo_body as_echo' +fi + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { + (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || + PATH_SEPARATOR=';' + } fi # Support unset when possible. @@ -61,8 +90,6 @@ fi # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) -as_nl=' -' IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. @@ -85,7 +112,7 @@ if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then - echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 { (exit 1); exit 1; } fi @@ -98,17 +125,10 @@ PS2='> ' PS4='+ ' # NLS nuisances. -for as_var in \ - LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ - LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ - LC_TELEPHONE LC_TIME -do - if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then - eval $as_var=C; export $as_var - else - ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var - fi -done +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE # Required to use basename. if expr a : '\(a\)' >/dev/null 2>&1 && @@ -130,7 +150,7 @@ as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || -echo X/"$0" | +$as_echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q @@ -156,7 +176,7 @@ else as_have_required=no fi - if test $as_have_required = yes && (eval ": + if test $as_have_required = yes && (eval ": (as_func_return () { (exit \$1) } @@ -238,7 +258,7 @@ IFS=$as_save_IFS if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: - # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST @@ -259,7 +279,7 @@ _ASEOF if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: - # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST @@ -339,10 +359,10 @@ fi if test "x$CONFIG_SHELL" != x; then for as_var in BASH_ENV ENV - do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var - done - export CONFIG_SHELL - exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} + do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + done + export CONFIG_SHELL + exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} fi @@ -411,9 +431,10 @@ fi test \$exitcode = 0") || { echo No shell found that supports shell functions. - echo Please tell autoconf@gnu.org about your system, - echo including any error possibly output before this - echo message + echo Please tell bug-autoconf@gnu.org about your system, + echo including any error possibly output before this message. + echo This can help us improve future autoconf versions. + echo Configuration will now proceed without shell functions. } @@ -449,7 +470,8 @@ test \$exitcode = 0") || { s/-\n.*// ' >$as_me.lineno && chmod +x "$as_me.lineno" || - { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 + { { $as_echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5 +$as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;} { (exit 1); exit 1; }; } # Don't try to exec as it changes $[0], causing all sort of problems @@ -477,7 +499,6 @@ case `echo -n x` in *) ECHO_N='-n';; esac - if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr @@ -490,19 +511,22 @@ if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir - mkdir conf$$.dir -fi -echo >conf$$.file -if ln -s conf$$.file conf$$ 2>/dev/null; then - as_ln_s='ln -s' - # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -p'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + mkdir conf$$.dir 2>/dev/null +fi +if (echo >conf$$.file) 2>/dev/null; then + if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' + elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln + else as_ln_s='cp -p' -elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln + fi else as_ln_s='cp -p' fi @@ -527,10 +551,10 @@ else as_test_x=' eval sh -c '\'' if test -d "$1"; then - test -d "$1/."; + test -d "$1/."; else case $1 in - -*)set "./$1";; + -*)set "./$1";; esac; case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in ???[sx]*):;;*)false;;esac;fi @@ -547,32 +571,13 @@ as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + SHELL=${CONFIG_SHELL-/bin/sh} # How were we run? at_cli_args="$@" -# Load the config file. -for at_file in atconfig atlocal -do - test -r $at_file || continue - . ./$at_file || { echo "$as_me: error: invalid content: $at_file" >&2 - { (exit 1); exit 1; }; } -done - -# Autoconf <=2.59b set at_top_builddir instead of at_top_build_prefix: -: ${at_top_build_prefix=$at_top_builddir} - -# atconfig delivers names relative to the directory the test suite is -# in, but the groups themselves are run in testsuite-dir/group-dir. -if test -n "$at_top_srcdir"; then - builddir=../.. - for at_dir in srcdir top_srcdir top_build_prefix - do - at_val=`eval echo '${'at_$at_dir'}'` - eval "$at_dir=\$at_val/../.." - done -fi # Not all shells have the 'times' builtin; the subshell is needed to make # sure we discard the 'times: not found' message from the shell. @@ -583,9 +588,9 @@ at_times_p=false at_debug_args= # -e sets to true at_errexit_p=false -# Shall we be verbose? +# Shall we be verbose? ':' means no, empty means yes. at_verbose=: -at_quiet=echo +at_quiet= # Shall we keep the debug scripts? Must be `:' when the suite is # run by a debug script, so that the script doesn't remove itself. @@ -596,115 +601,156 @@ at_help_p=false at_version_p=false # List test groups? at_list_p=false +# --clean +at_clean=false # Test groups to run at_groups= +# Whether a write failure occurred +at_write_fail=0 -# The directory we are in. +# The directory we run the suite in. Default to . if no -C option. at_dir=`pwd` -# The directory the whole suite works in. -# Should be absolutely to let the user `cd' at will. -at_suite_dir=$at_dir/$as_me.dir -# The file containing the suite. -at_suite_log=$at_dir/$as_me.log -# The file containing the location of the last AT_CHECK. -at_check_line_file=$at_suite_dir/at-check-line -# The file containing the exit status of the last command. -at_status_file=$at_suite_dir/at-status -# The files containing the output of the tested commands. -at_stdout=$at_suite_dir/at-stdout -at_stder1=$at_suite_dir/at-stder1 -at_stderr=$at_suite_dir/at-stderr -# The file containing dates. -at_times_file=$at_suite_dir/at-times +# An absolute reference to this testsuite script. +case $as_myself in + [\\/]* | ?:[\\/]* ) at_myself=$as_myself ;; + * ) at_myself=$at_dir/$as_myself ;; +esac +# Whether -C is in effect. +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' +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' # 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='??' # Description of all the test groups. at_help_all="1;version.at:19;tar version;; -2;pipe.at:29;decompressing from stdin;pipe; +2;pipe.at:30;decompressing from stdin;pipe; 3;options.at:24;mixing options;options options00; 4;options02.at:26;interspersed options;options options02; 5;T-empty.at:26;files-from: empty entries;files-from empty; -6;T-null.at:21;files-from: 0-separated file without -0;files-from null T-null; -7;indexfile.at:26;tar --index-file=this_is_a_very_long_file_name_which_raises_issues.c --file=-;stdout indexfile; +6;T-null.at:21;files-from: 0-separated file without -0;files-from null t-null; +7;indexfile.at:26;tar --index-file=FILE --file=-;stdout indexfile; 8;verbose.at:26;tar cvf -;stdout verbose; 9;append.at:21;append;append append00; 10;append01.at:29;appending files with long names;append append01; -11;append02.at:40;append vs. create;append append02 append-gnu; -12;exclude.at:23;exclude;exclude; -13;delete01.at:23;deleting a member after a big one;delete delete01; -14;delete02.at:23;deleting a member from stdin archive;delete delete02; -15;delete03.at:21;deleting members with long names;delete delete03; -16;delete04.at:23;deleting a large last member;delete delete04; -17;delete05.at:27;deleting non-existing member;delete delete05; -18;extrac01.at:23;extract over an existing directory;extract extract01; -19;extrac02.at:23;extracting symlinks over an existing file;extract extract02 symlink; -20;extrac03.at:23;extraction loops;extract extract03; -21;extrac04.at:23;extract + fnmatch;extract extract04 fnmatch; -22;extrac05.at:30;extracting selected members from pax;extract extract05; -23;extrac06.at:33;mode of extracted directories;extract extract06 directory mode; -24;extrac07.at:27;extracting symlinks to a read-only dir;extract extract07 read-only symlink; -25;gzip.at:23;gzip;gzip; -26;incremental.at:23;incremental;incremental incr00; -27;incr01.at:27;restore broken symlinks from incremental;incremental incr01; -28;incr02.at:32;restoring timestamps from incremental;incremental timestamp restore incr02; -29;listed01.at:26;--listed for individual files;listed incremental listed01; -30;listed02.at:28;working --listed;listed incremental listed02; -31;incr03.at:28;renamed files in incrementals;incremental incr03 rename; -32;incr04.at:29;proper icontents initialization;incremental incr04 icontents; -33;rename01.at:24;renamed dirs in incrementals;incremental rename rename01; -34;rename02.at:24;move between hierarchies;incremental rename rename02; -35;rename03.at:23;cyclic renames;incremental rename rename03 cyclic-rename; -36;rename04.at:27;renamed directory containing subdirectories;incremental rename04 rename; -37;rename05.at:24;renamed subdirectories;incremental rename05 rename; -38;chtype.at:27;changed file types in incrementals;incremental chtype; -39;ignfail.at:23;ignfail;ignfail; -40;link01.at:33;link count gt 2;link01; -41;longv7.at:24;long names in V7 archives;longname longv7; -42;long01.at:28;long file names divisible by block size;longname long512; -43;lustar01.at:21;ustar: unsplittable file name;longname ustar lustar01; -44;lustar02.at:21;ustar: unsplittable path name;longname ustar lustar02; -45;lustar03.at:21;ustar: splitting long names;longname ustar lustar03; -46;multiv01.at:23;multivolume dumps from pipes;multivolume multiv multiv01; -47;multiv02.at:28;skipping a straddling member;multivolume multiv multiv02; -48;multiv03.at:30;MV archive & long filenames;multivolume multiv multiv03; -49;multiv04.at:36;split directory members in a MV archive;multivolume multiv incremental multiv04; -50;multiv05.at:26;Restoring after an out of sync volume;multivolume multiv multiv05 sync; -51;multiv06.at:27;Multivolumes with L=record_size;multivolume multiv multiv06; -52;old.at:23;old archives;old; -53;recurse.at:21;recurse;recurse; -54;same-order01.at:26;working -C with --same-order;same-order same-order01; -55;same-order02.at:25;multiple -C options;same-order same-order02; -56;shortrec.at:25;short records;shortrec; -57;sparse01.at:21;sparse files;sparse sparse01; -58;sparse02.at:21;extracting sparse file over a pipe;sparse sparse02; -59;sparse03.at:21;storing sparse files > 8G;sparse sparse03; -60;sparsemv.at:21;sparse files in MV archives;sparse multiv sparsemv; -61;spmvp00.at:21;sparse files in PAX MV archives, v.0.0;sparse multiv sparsemvp sparsemvp00; -62;spmvp01.at:21;sparse files in PAX MV archives, v.0.1;sparse multiv sparsemvp sparsemvp01; -63;spmvp10.at:21;sparse files in PAX MV archives, v.1.0;sparse multiv sparsemvp sparsemvp10; -64;update.at:27;update unchanged directories;update; -65;volume.at:23;volume;volume volcheck; -66;volsize.at:29;volume header size;volume volsize; -67;comprec.at:21;compressed format recognition;comprec; -68;shortfile.at:26;short input files;shortfile shortfile0; -69;shortupd.at:29;updating short archives;shortfile shortfile1 shortupd; -70;truncate.at:29;truncate;truncate filechange; -71;grow.at:24;grow;grow filechange; -72;gtarfail.at:21;gtarfail;star gtarfail; -73;gtarfail2.at:21;gtarfail2;star gtarfail2; -74;multi-fail.at:21;multi-fail;star multivolume multiv multi-fail; -75;ustar-big-2g.at:21;ustar-big-2g;star ustar-big-2g; -76;ustar-big-8g.at:21;ustar-big-8g;star ustar-big-8g; -77;pax-big-10g.at:21;pax-big-10g;star pax-big-10g; +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; " +# at_func_validate_ranges [NAME...] +# --------------------------------- +# Validate and normalize the test group number contained in each +# variable NAME. Leading zeroes are treated as decimal. +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 + $as_echo "invalid test group: $at_value" >&2 + exit 1 + fi + case $at_value in + 0*) # We want to treat leading 0 as decimal, like expr and test, but + # at_func_arith treats it as octal if it uses $(( )). + # With XSI shells, ${at_value#${at_value%%[1-9]*}} avoids the + # expr fork, but it is not worth the effort to determine if the + # shell supports XSI when the user can just avoid leading 0. + eval $at_grp='`expr $at_value + 0`' ;; + esac + done +} + at_prev= for at_option do @@ -735,10 +781,7 @@ do ;; --clean | -c ) - test -d "$at_suite_dir" && - find "$at_suite_dir" -type d ! -perm -700 -exec chmod u+rwx \{\} \; - rm -f -r "$at_suite_dir" "$at_suite_log" - exit 0 + at_clean=: ;; --debug | -d ) @@ -751,7 +794,7 @@ do ;; --verbose | -v ) - at_verbose=echo; at_quiet=: + at_verbose=; at_quiet=: ;; --trace | -x ) @@ -759,20 +802,23 @@ do ;; [0-9] | [0-9][0-9] | [0-9][0-9][0-9] | [0-9][0-9][0-9][0-9]) + at_func_validate_ranges at_option at_groups="$at_groups$at_option " ;; # Ranges [0-9]- | [0-9][0-9]- | [0-9][0-9][0-9]- | [0-9][0-9][0-9][0-9]-) at_range_start=`echo $at_option |tr -d X-` - at_range=`echo " $at_groups_all " | \ + at_func_validate_ranges at_range_start + at_range=`$as_echo " $at_groups_all " | \ sed -e 's/^.* \('$at_range_start' \)/\1/'` at_groups="$at_groups$at_range " ;; -[0-9] | -[0-9][0-9] | -[0-9][0-9][0-9] | -[0-9][0-9][0-9][0-9]) at_range_end=`echo $at_option |tr -d X-` - at_range=`echo " $at_groups_all " | \ + at_func_validate_ranges at_range_end + at_range=`$as_echo " $at_groups_all " | \ sed -e 's/\( '$at_range_end'\) .*$/\1/'` at_groups="$at_groups$at_range " ;; @@ -790,12 +836,22 @@ do at_range_end=$at_range_start at_range_start=$at_tmp fi - at_range=`echo " $at_groups_all " | \ + at_func_validate_ranges at_range_start at_range_end + at_range=`$as_echo " $at_groups_all " | \ sed -e 's/^.*\( '$at_range_start' \)/\1/' \ -e 's/\( '$at_range_end'\) .*$/\1/'` at_groups="$at_groups$at_range " ;; + # Directory selection. + --directory | -C ) + at_prev=--directory + ;; + --directory=* ) + at_change_dir=: + at_dir=$at_optarg + ;; + # Keywords. --keywords | -k ) at_prev=--keywords @@ -817,68 +873,57 @@ do ;; esac # It is on purpose that we match the test group titles too. - at_groups_selected=`echo "$at_groups_selected" | + at_groups_selected=`$as_echo "$at_groups_selected" | grep -i $at_invert "^[1-9][^;]*;.*[; ]$at_keyword[ ;]"` done - at_groups_selected=`echo "$at_groups_selected" | sed 's/;.*//'` # Smash the newlines. - at_groups="$at_groups`echo $at_groups_selected` " + at_groups_selected=`$as_echo "$at_groups_selected" | sed 's/;.*//' | + tr "$as_nl" ' ' + ` + at_groups="$at_groups$at_groups_selected " ;; *=*) at_envvar=`expr "x$at_option" : 'x\([^=]*\)='` # Reject names that are not valid shell variable names. - expr "x$at_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && - { echo "$as_me: error: invalid variable name: $at_envvar" >&2 - { (exit 1); exit 1; }; } - at_value=`echo "$at_optarg" | sed "s/'/'\\\\\\\\''/g"` - eval "$at_envvar='$at_value'" + case $at_envvar in + '' | [0-9]* | *[!_$as_cr_alnum]* ) + { { $as_echo "$as_me:$LINENO: error: invalid variable name: $at_envvar" >&5 +$as_echo "$as_me: error: invalid variable name: $at_envvar" >&2;} + { (exit 1); exit 1; }; } ;; + esac + at_value=`$as_echo "$at_optarg" | sed "s/'/'\\\\\\\\''/g"` + # Export now, but save eval for later and for debug scripts. export $at_envvar - # Propagate to debug scripts. at_debug_args="$at_debug_args $at_envvar='$at_value'" ;; - *) echo "$as_me: invalid option: $at_option" >&2 - echo "Try \`$0 --help' for more information." >&2 + *) $as_echo "$as_me: invalid option: $at_option" >&2 + $as_echo "Try \`$0 --help' for more information." >&2 exit 1 ;; esac done +# Verify our last option didn't require an argument +if test -n "$at_prev"; then + { { $as_echo "$as_me:$LINENO: error: \`$at_prev' requires an argument." >&5 +$as_echo "$as_me: error: \`$at_prev' requires an argument." >&2;} + { (exit 1); exit 1; }; } +fi + + # Selected test groups. if test -z "$at_groups"; then at_groups=$at_groups_all else - # Sort the tests, removing duplicates: - at_groups=`echo $at_groups | tr ' ' "$as_nl" | sort -nu` - # and add banners. (Passing at_groups_all is tricky--see the comment - # starting with "Passing at_groups is tricky.") - at_groups=`echo "$at_groups$as_nl $at_groups_all" | - awk 'BEGIN { FS = "@" } # Effectively switch off field splitting. - /^$/ { next } # Ignore the empty line. - !/ / { groups++; selected[$ 0] = 1; next } - # The last line, containing at_groups_all. - { - n = split($ 0, a, " ") - # If there are several tests, select their banners: - if (groups > 1) { - for (i = 1; i <= n; i++) { - if (a[i] ~ /^banner-/) - banner = a[i] - else if (banner != "" && selected[a[i]] == 1) - selected[banner] = 1 - } - } - for (i = 1; i <= n; i++) - if (selected[a[i]] == 1) - list = list " " a[i] - print list - }'` + # Sort the tests, removing duplicates. + at_groups=`$as_echo "$at_groups" | tr ' ' "$as_nl" | sort -nu` fi # Help message. if $at_help_p; then - cat <<_ATEOF + cat <<_ATEOF || at_write_fail=1 Usage: $0 [OPTION]... [VARIABLE=VALUE]... [TESTS] Run all the tests, or the selected TESTS, given by numeric ranges, and @@ -895,7 +940,7 @@ possibly amounts into PATH=/tmp/foo-1.0/bin:/src/foo-1.0/bin:\$PATH _ATEOF -cat <<_ATEOF +cat <<_ATEOF || at_write_fail=1 Operation modes: -h, --help print the help message, then exit @@ -903,30 +948,32 @@ Operation modes: -c, --clean remove all the files this test suite might create and exit -l, --list describes all the tests, or the selected TESTS _ATEOF -cat <<_ATEOF +cat <<_ATEOF || at_write_fail=1 Execution tuning: + -C, --directory=DIR + change to directory DIR before starting -k, --keywords=KEYWORDS - select the tests matching all the comma-separated KEYWORDS - multiple \`-k' accumulate; prefixed \`!' negates a KEYWORD + select the tests matching all the comma-separated KEYWORDS + multiple \`-k' accumulate; prefixed \`!' negates a KEYWORD -e, --errexit abort as soon as a test fails; implies --debug -v, --verbose force more detailed output - default for debugging scripts + default for debugging scripts -d, --debug inhibit clean up and top-level logging - default for debugging scripts + default for debugging scripts -x, --trace enable tests shell tracing _ATEOF -cat <<_ATEOF +cat <<_ATEOF || at_write_fail=1 Report bugs to . _ATEOF - exit 0 + exit $at_write_fail fi # List of tests. if $at_list_p; then - cat <<_ATEOF -GNU tar 1.22 test suite test groups: + cat <<_ATEOF || at_write_fail=1 +GNU tar 1.23 test suite test groups: NUM: FILE-NAME:LINE TEST-GROUP-NAME KEYWORDS @@ -935,7 +982,12 @@ _ATEOF # Passing at_groups is tricky. We cannot use it to form a literal string # or regexp because of the limitation of AIX awk. And Solaris' awk # doesn't grok more than 99 fields in a record, so we have to use `split'. - echo "$at_groups$as_nl$at_help_all" | + # at_groups needs to be space-separated for this script to work. + case $at_groups in + *"$as_nl"* ) + at_groups=`$as_echo "$at_groups" | tr "$as_nl" ' '` ;; + esac + $as_echo "$at_groups$as_nl$at_help_all" | awk 'BEGIN { FS = ";" } NR == 1 { for (n = split($ 0, a, " "); n; n--) selected[a[n]] = 1 @@ -946,29 +998,129 @@ _ATEOF printf " %3d: %-18s %s\n", $ 1, $ 2, $ 3 if ($ 4) printf " %s\n", $ 4 } - }' - exit 0 + }' || at_write_fail=1 + exit $at_write_fail fi if $at_version_p; then - echo "$as_me (GNU tar 1.22)" - cat <<\_ACEOF + $as_echo "$as_me (GNU tar 1.23)" && + cat <<\_ACEOF || at_write_fail=1 -Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software -Foundation, Inc. +Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 +Free Software Foundation, Inc. This test suite is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF - exit 0 + exit $at_write_fail +fi + +# Should we print banners? at_groups is space-separated for entire test, +# newline-separated if only a subset of the testsuite is run. +case $at_groups in + *' '*' '* | *"$as_nl"*"$as_nl"* ) + at_print_banners=: ;; + * ) at_print_banners=false ;; +esac +# Text for banner N, set to empty once printed. + +# Take any -C into account. +if $at_change_dir ; then + if test x- = "x$at_dir" ; then + at_dir=./- + fi + test x != "x$at_dir" && cd "$at_dir" \ + || { { $as_echo "$as_me:$LINENO: error: unable to change directory" >&5 +$as_echo "$as_me: error: unable to change directory" >&2;} + { (exit 1); exit 1; }; } + at_dir=`pwd` +fi + +# Load the config files for any default variable assignments. +for at_file in atconfig atlocal +do + test -r $at_file || continue + . ./$at_file || { { $as_echo "$as_me:$LINENO: error: invalid content: $at_file" >&5 +$as_echo "$as_me: error: invalid content: $at_file" >&2;} + { (exit 1); exit 1; }; } +done + +# Autoconf <=2.59b set at_top_builddir instead of at_top_build_prefix: +: ${at_top_build_prefix=$at_top_builddir} + +# Perform any assignments requested during argument parsing. +eval "$at_debug_args" + +# atconfig delivers names relative to the directory the test suite is +# in, but the groups themselves are run in testsuite-dir/group-dir. +if test -n "$at_top_srcdir"; then + builddir=../.. + for at_dir_var in srcdir top_srcdir top_build_prefix + do + at_val=`eval 'as_val=${'at_$at_dir_var'} + $as_echo "$as_val"'` + case $at_val in + [\\/$]* | ?:[\\/]* ) at_prefix= ;; + *) at_prefix=../../ ;; + esac + eval "$at_dir_var=\$at_prefix\$at_val" + done +fi + +## ------------------- ## +## Directory structure ## +## ------------------- ## + +# This is the set of directories and files used by this script +# (non-literals are capitalized): +# +# TESTSUITE - the testsuite +# TESTSUITE.log - summarizes the complete testsuite run +# TESTSUITE.dir/ - created during a run, remains after -d or failed test +# + at-groups/ - during a run: status of all groups in run +# | + NNN/ - during a run: meta-data about test group NNN +# | | + check-line - location (source file and line) of current AT_CHECK +# | | + status - exit status of current AT_CHECK +# | | + stdout - stdout of current AT_CHECK +# | | + stder1 - stderr, including trace +# | | + stderr - stderr, with trace filtered out +# | | + test-source - portion of testsuite that defines group +# | | + times - timestamps for computing duration +# | | + pass - created if group passed +# | | + xpass - created if group xpassed +# | | + fail - created if group failed +# | | + xfail - created if group xfailed +# | | + skip - created if group skipped +# + at-stop - during a run: end the run if this file exists +# + at-source-lines - during a run: cache of TESTSUITE line numbers for extraction +# + 0..NNN/ - created for each group NNN, remains after -d or failed test +# | + TESTSUITE.log - summarizes the group results +# | + ... - files created during the group + +# The directory the whole suite works in. +# Should be absolute to let the user `cd' at will. +at_suite_dir=$at_dir/$as_me.dir +# The file containing the suite. +at_suite_log=$at_dir/$as_me.log +# The directory containing helper files per test group. +at_helper_dir=$at_suite_dir/at-groups +# Stop file: if it exists, do not start new jobs. +at_stop_file=$at_suite_dir/at-stop + +if $at_clean; then + test -d "$at_suite_dir" && + find "$at_suite_dir" -type d ! -perm -700 -exec chmod u+rwx \{\} \; + rm -f -r "$at_suite_dir" "$at_suite_log" + exit $? fi # Don't take risks: use only absolute directories in PATH. # -# For stand-alone test suites, AUTOTEST_PATH is relative to `.'. +# For stand-alone test suites (ie. atconfig was not found), +# AUTOTEST_PATH is relative to `.'. # # For embedded test suites, AUTOTEST_PATH is relative to the top level # of the package. Then expand it into build/src parts, since users # may create executables in both places. -AUTOTEST_PATH=`echo $AUTOTEST_PATH | sed "s&:&$PATH_SEPARATOR&g"` +AUTOTEST_PATH=`$as_echo "$AUTOTEST_PATH" | sed "s|:|$PATH_SEPARATOR|g"` at_path= as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $AUTOTEST_PATH $PATH @@ -999,31 +1151,30 @@ IFS=$as_save_IFS # # There might be directories that don't exist, but don't redirect # builtins' (eg., cd) stderr directly: Ultrix's sh hates that. -PATH= +at_new_path= as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $at_path do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - as_dir=`(cd "$as_dir" && pwd) 2>/dev/null` -test -d "$as_dir" || continue -case $PATH in - $as_dir | \ - $as_dir$PATH_SEPARATOR* | \ - *$PATH_SEPARATOR$as_dir | \ - *$PATH_SEPARATOR$as_dir$PATH_SEPARATOR* ) ;; - - '') PATH=$as_dir ;; - *) PATH=$PATH$PATH_SEPARATOR$as_dir ;; + test -d "$as_dir" || continue +case $as_dir in + [\\/]* | ?:[\\/]* ) ;; + * ) as_dir=`(cd "$as_dir" && pwd) 2>/dev/null` ;; +esac +case $PATH_SEPARATOR$at_new_path$PATH_SEPARATOR in + *$PATH_SEPARATOR$as_dir$PATH_SEPARATOR*) ;; + $PATH_SEPARATOR$PATH_SEPARATOR) at_new_path=$as_dir ;; + *) at_new_path=$at_new_path$PATH_SEPARATOR$as_dir ;; esac done IFS=$as_save_IFS +PATH=$at_new_path export PATH # Setting up the FDs. # 5 is the log file. Not to be overwritten if `-d'. - if $at_debug_p; then at_suite_log=/dev/null else @@ -1034,25 +1185,27 @@ exec 5>>"$at_suite_log" # Banners and logs. cat <<\_ASBOX ## ------------------------ ## -## GNU tar 1.22 test suite. ## +## GNU tar 1.23 test suite. ## ## ------------------------ ## _ASBOX { cat <<\_ASBOX ## ------------------------ ## -## GNU tar 1.22 test suite. ## +## GNU tar 1.23 test suite. ## ## ------------------------ ## _ASBOX echo - echo "$as_me: command line was:" - echo " $ $0 $at_cli_args" + $as_echo "$as_me: command line was:" + $as_echo " \$ $0 $at_cli_args" echo # Try to find a few ChangeLogs in case it might help determining the # exact version. Use the relative dir: if the top dir is a symlink, # find will not follow it (and options to follow the links are not - # portable), which would result in no output here. + # portable), which would result in no output here. Prune directories + # matching the package tarname, since they tend to be leftovers from + # `make dist' or `make distcheck' and contain redundant or stale logs. if test -n "$at_top_srcdir"; then cat <<\_ASBOX ## ----------- ## @@ -1060,14 +1213,16 @@ _ASBOX ## ----------- ## _ASBOX echo - for at_file in `find "$at_top_srcdir" -name ChangeLog -print` + for at_file in `find "$at_top_srcdir" -name "tar-*" -prune -o -name ChangeLog -print` do - echo "$as_me: $at_file:" + $as_echo "$as_me: $at_file:" sed 's/^/| /;10q' $at_file echo done - { + fi + + { cat <<_ASUNAME ## --------- ## ## Platform. ## @@ -1097,23 +1252,162 @@ for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. - echo "PATH: $as_dir" + $as_echo "PATH: $as_dir" done IFS=$as_save_IFS } - echo - fi + echo # Contents of the config files. for at_file in atconfig atlocal do test -r $at_file || continue - echo "$as_me: $at_file:" + $as_echo "$as_me: $at_file:" sed 's/^/| /' $at_file echo done +} >&5 + + +## --------------- ## +## Shell functions ## +## --------------- ## + +# at_func_banner NUMBER +# --------------------- +# Output banner NUMBER, provided the testsuite is running multiple groups +# and this particular banner has not yet been printed. +at_func_banner () +{ + $at_print_banners || return 0 + eval at_banner_text=\$at_banner_text_$1 + test "x$at_banner_text" = x && return 0 + eval at_banner_text_$1= + $as_echo "$as_nl$at_banner_text$as_nl" +} # at_func_banner + +# at_func_check_newline COMMAND +# ----------------------------- +# Test if COMMAND includes a newline and, if so, print a message and return +# exit code 1 +at_func_check_newline () +{ + case "$1" in + *' +'*) echo 'Not enabling shell tracing (command contains an embedded newline)' + return 1 ;; + *) return 0 ;; + esac +} + +# at_func_filter_trace EXIT-CODE +# ------------------------------ +# Split the contents of file "$at_stder1" into the "set -x" trace (on stderr) +# and the other lines (on file "$at_stderr"). Return the exit code EXIT-CODE. +at_func_filter_trace () +{ + grep '^ *+' "$at_stder1" >&2 + grep -v '^ *+' "$at_stder1" >"$at_stderr" + return $1 +} + +# at_func_log_failure FILE-LIST +# ----------------------------- +# Copy the files in the list on stdout with a "> " prefix, and exit the shell +# with a failure exit code. +at_func_log_failure () +{ + for file + do $as_echo "$file:"; sed 's/^/> /' "$file"; done + echo 1 > "$at_status_file" + exit 1 +} + +# at_func_check_skip EXIT-CODE +# ---------------------------- +# Check whether EXIT-CODE is the special exit code 77, and if so exit the shell +# with that same exit code. +at_func_check_skip () +{ + case $1 in + 77) echo 77 > "$at_status_file"; exit 77;; + esac +} + +# at_func_check_status EXPECTED EXIT-CODE LINE +# -------------------------------------------- +# Check whether EXIT-CODE is the expected exit code, and if so do nothing. +# Otherwise, if it is 77 exit the shell with that same exit code; if it is +# anything else print an error message and fail the test. +at_func_check_status () +{ + case $2 in + $1 ) ;; + 77) echo 77 > "$at_status_file"; exit 77;; + *) $as_echo "$3: exit code was $2, expected $1" + at_failed=:;; + esac +} + +# at_func_diff_devnull FILE +# ------------------------- +# Emit a diff between /dev/null and FILE. Uses "test -s" to avoid useless +# diff invocations. +at_func_diff_devnull () +{ + test -s "$1" || return 0 + $at_diff "$at_devnull" "$1" +} + +# at_func_test NUMBER +# ------------------- +# Parse out test NUMBER from the tail of this file. +at_func_test () +{ + eval at_sed=\$at_sed$1 + sed "$at_sed" "$at_myself" > "$at_test_source" +} + +# at_func_create_debugging_script +# ------------------------------- +# Create the debugging script $at_group_dir/run which will reproduce the +# current test group. +at_func_create_debugging_script () +{ + { + echo "#! /bin/sh" && + echo 'test "${ZSH_VERSION+set}" = set && alias -g '\''${1+"$@"}'\''='\''"$@"'\''' && + $as_echo "cd '$at_dir'" && + $as_echo "exec \${CONFIG_SHELL-$SHELL} \"$at_myself\" -v -d $at_debug_args $at_group \${1+\"\$@\"}" && + echo 'exit 1' + } >"$at_group_dir/run" && + chmod +x "$at_group_dir/run" +} + +# at_func_arith +# ------------- +# Arithmetic evaluation, avoids expr if the shell is sane. The +# interpretation of leading zeroes is unspecified. +# +# subshell and eval are needed to keep Solaris sh from bailing out: +if ( eval 'test $(( 1 + 1 )) = 2' ) 2>/dev/null; then + # With "$@", bash does not split positional parameters: + eval 'at_func_arith () + { + at_func_arith_result=$(( $* )) + }' +else + at_func_arith () + { + at_func_arith_result=`expr "$@"` + } +fi +## ---------------------- ## +## End of shell functions ## +## ---------------------- ## +{ cat <<\_ASBOX ## ---------------- ## ## Tested programs. ## @@ -1137,13 +1431,13 @@ IFS=$as_save_IFS if test -f "$as_dir/$at_program"; then { - echo "$at_srcdir/testsuite.at:104: $as_dir/$at_program --version" - "$as_dir/$at_program" --version + $as_echo "$at_srcdir/testsuite.at:104: $as_dir/$at_program --version" + "$as_dir/$at_program" --version &5 2>&1 else - { { echo "$as_me:$LINENO: error: cannot find $at_program" >&5 -echo "$as_me: error: cannot find $at_program" >&2;} + { { $as_echo "$as_me:$LINENO: error: cannot find $at_program" >&5 +$as_echo "$as_me: error: cannot find $at_program" >&2;} { (exit 1); exit 1; }; } fi done @@ -1158,19 +1452,13 @@ _ASBOX at_start_date=`date` at_start_time=`date +%s 2>/dev/null` -echo "$as_me: starting at: $at_start_date" >&5 -at_xpass_list= -at_xfail_list= -at_pass_list= -at_fail_list= -at_skip_list= -at_group_count=0 +$as_echo "$as_me: starting at: $at_start_date" >&5 # Create the master directory if it doesn't already exist. test -d "$at_suite_dir" || mkdir "$at_suite_dir" || - { { echo "$as_me:$LINENO: error: cannot create '$at_suite_dir'" >&5 -echo "$as_me: error: cannot create '$at_suite_dir'" >&2;} + { { $as_echo "$as_me:$LINENO: error: cannot create '$at_suite_dir'" >&5 +$as_echo "$as_me: error: cannot create '$at_suite_dir'" >&2;} { (exit 1); exit 1; }; } # Can we diff with `/dev/null'? DU 5.0 refuses. @@ -1189,37 +1477,87 @@ else at_diff=diff fi +# Get the last needed group. +for at_group in : $at_groups; do :; done + +# Extract the start and end lines of each test group at the tail +# of this file +awk ' +BEGIN { FS="" } +/^#AT_START_/ { + start = NR +} +/^#AT_STOP_/ { + test = substr ($ 0, 10) + print "at_sed" test "=\"1," start "d;" (NR-1) "q\"" + if (test == "'"$at_group"'") exit +}' "$at_myself" > "$at_suite_dir/at-source-lines" && +. "$at_suite_dir/at-source-lines" || + { { $as_echo "$as_me:$LINENO: error: cannot create test line number cache" >&5 +$as_echo "$as_me: error: cannot create test line number cache" >&2;} + { (exit 1); exit 1; }; } +rm -f "$at_suite_dir/at-source-lines" + +# Set up helper dirs. +rm -rf "$at_helper_dir" && +mkdir "$at_helper_dir" && +cd "$at_helper_dir" && +{ test -z "$at_groups" || mkdir $at_groups; } || +{ { $as_echo "$as_me:$LINENO: error: testsuite directory setup failed" >&5 +$as_echo "$as_me: error: testsuite directory setup failed" >&2;} + { (exit 1); exit 1; }; } + +# Functions for running a test group. We leave the actual +# test group execution outside of a shell function in order +# to avoid hitting zsh 4.x exit status bugs. + +# at_func_group_prepare +# --------------------- +# Prepare running a test group +at_func_group_prepare () +{ + # The directory for additional per-group helper files. + at_job_dir=$at_helper_dir/$at_group + # The file containing the location of the last AT_CHECK. + at_check_line_file=$at_job_dir/check-line + # The file containing the exit status of the last command. + at_status_file=$at_job_dir/status + # The files containing the output of the tested commands. + at_stdout=$at_job_dir/stdout + at_stder1=$at_job_dir/stder1 + at_stderr=$at_job_dir/stderr + # The file containing the code for a test group. + at_test_source=$at_job_dir/test-source + # The file containing dates. + at_times_file=$at_job_dir/times -for at_group in $at_groups -do # Be sure to come back to the top test directory. cd "$at_suite_dir" - case $at_group in - banner-*) - at_group_log=$at_suite_log - ;; + # Clearly separate the test groups when verbose. + $at_first || $at_verbose echo - *) - at_group_normalized=$at_group + at_group_normalized=$at_group - while :; do + eval 'while :; do case $at_group_normalized in #( - $at_format*) break;; + '"$at_format"'*) break;; esac at_group_normalized=0$at_group_normalized - done + done' - # Create a fresh directory for the next test group, and enter. - at_group_dir=$at_suite_dir/$at_group_normalized - at_group_log=$at_group_dir/$as_me.log - if test -d "$at_group_dir"; then - find "$at_group_dir" -type d ! -perm -700 -exec chmod u+rwx \{\} \; - rm -fr "$at_group_dir" - fi - # Be tolerant if the above `rm' was not able to remove the directory. - { as_dir=$at_group_dir + # Create a fresh directory for the next test group, and enter. + at_group_dir=$at_suite_dir/$at_group_normalized + at_group_log=$at_group_dir/$as_me.log + if test -d "$at_group_dir"; then + find "$at_group_dir" -type d ! -perm -700 -exec chmod u+rwx \{\} \; + rm -fr "$at_group_dir" || + { $as_echo "$as_me:$LINENO: WARNING: test directory for $at_group_normalized could not be cleaned." >&5 +$as_echo "$as_me: WARNING: test directory for $at_group_normalized could not be cleaned." >&2;} + fi + # Be tolerant if the above `rm' was not able to remove the directory. + { as_dir="$at_group_dir" case $as_dir in #( -*) as_dir=./$as_dir;; esac @@ -1227,7 +1565,7 @@ do as_dirs= while :; do case $as_dir in #( - *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( + *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" @@ -1236,7 +1574,7 @@ $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -echo X"$as_dir" | +$as_echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q @@ -1257,142 +1595,447 @@ echo X"$as_dir" | test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 -echo "$as_me: error: cannot create directory $as_dir" >&2;} + } || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 +$as_echo "$as_me: error: cannot create directory $as_dir" >&2;} { (exit 1); exit 1; }; }; } - cd $at_group_dir - ;; - esac echo 0 > "$at_status_file" - # Clearly separate the test groups when verbose. - test $at_group_count != 0 && $at_verbose - # In verbose mode, append to the log file *and* show on - # the standard output; in quiet mode only write to the log - if test $at_verbose = echo; then + # the standard output; in quiet mode only write to the log. + if test -z "$at_verbose"; then at_tee_pipe='tee -a "$at_group_log"' else at_tee_pipe='cat >> "$at_group_log"' fi +} - case $at_group in - 1 ) # 1. version.at:19: tar version - at_setup_line='version.at:19' - at_desc="tar version" - $at_quiet $ECHO_N " 1: tar version $ECHO_C" - at_xfail=no - echo "# -*- compilation -*-" >> "$at_group_log" - ( - echo "1. version.at:19: testing ..." - $at_traceon - - -$at_traceoff -echo "$at_srcdir/version.at:21: tar --version | sed 1q" -echo version.at:21 >"$at_check_line_file" +# at_func_group_postprocess +# ------------------------- +at_func_group_postprocess () +{ + # Be sure to come back to the suite directory, in particular + # since below we might `rm' the group directory we are in currently. + cd "$at_suite_dir" -at_trace_this= -if test -n "$at_traceon"; then - at_trace_this=yes -fi + if test ! -f "$at_check_line_file"; then + sed "s/^ */$as_me: WARNING: /" <<_ATEOF + A failure happened in a test group before any test could be + run. This means that test suite is improperly designed. Please + report this failure to . +_ATEOF + $as_echo "$at_setup_line" >"$at_check_line_file" + fi + $at_verbose $as_echo_n "$at_group. $at_setup_line: " + $as_echo_n "$at_group. $at_setup_line: " >> "$at_group_log" + case $at_xfail:$at_status in + yes:0) + at_msg="UNEXPECTED PASS" + at_res=xpass + at_errexit=$at_errexit_p + ;; + no:0) + at_msg="ok" + at_res=pass + at_errexit=false + ;; + *:77) + at_msg='skipped ('`cat "$at_check_line_file"`')' + at_res=skip + at_errexit=false + ;; + yes:*) + at_msg='expected failure ('`cat "$at_check_line_file"`')' + at_res=xfail + at_errexit=false + ;; + no:*) + at_msg='FAILED ('`cat "$at_check_line_file"`')' + at_res=fail + at_errexit=$at_errexit_p + ;; + esac + echo "$at_res" > "$at_job_dir/$at_res" + # Make sure there is a separator even with long titles. + $as_echo " $at_msg" + at_log_msg="$at_group. $at_desc ($at_setup_line): $at_msg" + case $at_status in + 0|77) + # $at_times_file is only available if the group succeeded. + # We're not including the group log, so the success message + # is written in the global log separately. But we also + # write to the group log in case they're using -d. + if test -f "$at_times_file"; then + at_log_msg="$at_log_msg ("`sed 1d "$at_times_file"`')' + rm -f "$at_times_file" + fi + $as_echo "$at_log_msg" >> "$at_group_log" + $as_echo "$at_log_msg" >&5 -if test -n "$at_trace_this"; then - ( $at_traceon; tar --version | sed 1q ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" -else - ( :; tar --version | sed 1q ) >"$at_stdout" 2>"$at_stderr" - at_status=$? -fi + # Cleanup the group directory, unless the user wants the files. + if $at_debug_p; then + at_func_create_debugging_script + else + if test -d "$at_group_dir"; then + find "$at_group_dir" -type d ! -perm -700 -exec chmod u+rwx \{\} \; + rm -fr "$at_group_dir" + fi + rm -f "$at_test_source" + fi + ;; + *) + # Upon failure, include the log into the testsuite's global + # log. The failure message is written in the group log. It + # is later included in the global log. + $as_echo "$at_log_msg" >> "$at_group_log" + + # Upon failure, keep the group directory for autopsy, and create + # the debugging script. With -e, do not start any further tests. + at_func_create_debugging_script + if $at_errexit; then + echo stop > "$at_stop_file" + fi + ;; + esac +} -at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "tar (GNU tar) 1.22 -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/version.at:21: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - cat >$XFAILFILE <<'_EOT' -============================================================== -WARNING: Not using the proper version, *all* checks dubious... -============================================================== -_EOT +## ------------ ## +## Driver loop. ## +## ------------ ## +rm -f "$at_stop_file" +at_first=: - echo 1 > "$at_status_file" - exit 1 -else - rm -f $XFAILFILE -fi +for at_group in $at_groups; do + at_func_group_prepare + if cd "$at_group_dir" && + at_func_test $at_group && + . "$at_test_source"; then :; else + { $as_echo "$as_me:$LINENO: WARNING: unable to parse test group: $at_group" >&5 +$as_echo "$as_me: WARNING: unable to parse test group: $at_group" >&2;} + at_failed=: + fi + at_func_group_postprocess + test -f "$at_stop_file" && break + at_first=false +done -$at_traceon +# Wrap up the test suite with summary statistics. +cd "$at_helper_dir" + +# Use ?..???? when the list must remain sorted, the faster * otherwise. +at_pass_list=`for f in */pass; do echo $f; done | sed '/\*/d; s,/pass,,'` +at_skip_list=`for f in */skip; do echo $f; done | sed '/\*/d; s,/skip,,'` +at_xfail_list=`for f in */xfail; do echo $f; done | sed '/\*/d; s,/xfail,,'` +at_xpass_list=`for f in ?/xpass ??/xpass ???/xpass ????/xpass; do + echo $f; done | sed '/?/d; s,/xpass,,'` +at_fail_list=`for f in ?/fail ??/fail ???/fail ????/fail; do + echo $f; done | sed '/?/d; s,/fail,,'` + +set X $at_pass_list $at_xpass_list $at_xfail_list $at_fail_list $at_skip_list +shift; at_group_count=$# +set X $at_xpass_list; shift; at_xpass_count=$#; at_xpass_list=$* +set X $at_xfail_list; shift; at_xfail_count=$# +set X $at_fail_list; shift; at_fail_count=$#; at_fail_list=$* +set X $at_skip_list; shift; at_skip_count=$# + +at_func_arith $at_group_count - $at_skip_count +at_run_count=$at_func_arith_result +at_func_arith $at_xpass_count + $at_fail_count +at_unexpected_count=$at_func_arith_result +at_func_arith $at_xfail_count + $at_fail_count +at_total_fail_count=$at_func_arith_result +# Back to the top directory. +cd "$at_dir" +rm -rf "$at_helper_dir" - $at_traceoff - $at_times_p && times >"$at_times_file" - ) 5>&1 2>&1 | eval $at_tee_pipe - at_status=`cat "$at_status_file"` +# Compute the duration of the suite. +at_stop_date=`date` +at_stop_time=`date +%s 2>/dev/null` +$as_echo "$as_me: ending at: $at_stop_date" >&5 +case $at_start_time,$at_stop_time in + [0-9]*,[0-9]*) + at_func_arith $at_stop_time - $at_start_time + at_duration_s=$at_func_arith_result + at_func_arith $at_duration_s / 60 + at_duration_m=$at_func_arith_result + at_func_arith $at_duration_m / 60 + at_duration_h=$at_func_arith_result + at_func_arith $at_duration_s % 60 + at_duration_s=$at_func_arith_result + at_func_arith $at_duration_m % 60 + at_duration_m=$at_func_arith_result + at_duration="${at_duration_h}h ${at_duration_m}m ${at_duration_s}s" + $as_echo "$as_me: test suite duration: $at_duration" >&5 ;; +esac - 2 ) # 2. pipe.at:29: decompressing from stdin - at_setup_line='pipe.at:29' - at_desc="decompressing from stdin" - $at_quiet $ECHO_N " 2: decompressing from stdin $ECHO_C" - at_xfail=no - test -f $XFAILFILE && at_xfail=yes - echo "# -*- compilation -*-" >> "$at_group_log" - ( - echo "2. pipe.at:29: testing ..." - $at_traceon - - - - - - - - - $at_traceoff -echo "$at_srcdir/pipe.at:33: -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 -export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H v7\" -export TAR_OPTIONS -rm -rf * - - -test -z "`sort < /dev/null 2>&1`" || exit 77 +echo +cat <<\_ASBOX +## ------------- ## +## Test results. ## +## ------------- ## +_ASBOX +echo +{ + echo + cat <<\_ASBOX +## ------------- ## +## Test results. ## +## ------------- ## +_ASBOX + echo +} >&5 + +if test $at_run_count = 1; then + at_result="1 test" + at_were=was +else + at_result="$at_run_count tests" + at_were=were +fi +if $at_errexit_p && test $at_unexpected_count != 0; then + if test $at_xpass_count = 1; then + at_result="$at_result $at_were run, one passed" + else + at_result="$at_result $at_were run, one failed" + fi + at_result="$at_result unexpectedly and inhibited subsequent tests." +else + # Don't you just love exponential explosion of the number of cases? + case $at_xpass_count:$at_fail_count:$at_xfail_count in + # So far, so good. + 0:0:0) at_result="$at_result $at_were successful." ;; + 0:0:*) at_result="$at_result behaved as expected." ;; + + # Some unexpected failures + 0:*:0) at_result="$at_result $at_were run, +$at_fail_count failed unexpectedly." ;; + + # Some failures, both expected and unexpected + 0:*:1) at_result="$at_result $at_were run, +$at_total_fail_count failed ($at_xfail_count expected failure)." ;; + 0:*:*) at_result="$at_result $at_were run, +$at_total_fail_count failed ($at_xfail_count expected failures)." ;; + + # No unexpected failures, but some xpasses + *:0:*) at_result="$at_result $at_were run, +$at_xpass_count passed unexpectedly." ;; + + # No expected failures, but failures and xpasses + *:1:0) at_result="$at_result $at_were run, +$at_unexpected_count did not behave as expected ($at_fail_count unexpected failure)." ;; + *:*:0) at_result="$at_result $at_were run, +$at_unexpected_count did not behave as expected ($at_fail_count unexpected failures)." ;; + + # All of them. + *:*:1) at_result="$at_result $at_were run, +$at_xpass_count passed unexpectedly, +$at_total_fail_count failed ($at_xfail_count expected failure)." ;; + *:*:*) at_result="$at_result $at_were run, +$at_xpass_count passed unexpectedly, +$at_total_fail_count failed ($at_xfail_count expected failures)." ;; + esac + + if test $at_skip_count = 0 && test $at_run_count -gt 1; then + at_result="All $at_result" + fi +fi + +# Now put skips in the mix. +case $at_skip_count in + 0) ;; + 1) at_result="$at_result +1 test was skipped." ;; + *) at_result="$at_result +$at_skip_count tests were skipped." ;; +esac + +if test $at_unexpected_count = 0; then + echo "$at_result" + echo "$at_result" >&5 +else + echo "ERROR: $at_result" >&2 + echo "ERROR: $at_result" >&5 + { + echo + cat <<\_ASBOX +## ------------------------ ## +## Summary of the failures. ## +## ------------------------ ## +_ASBOX + + # Summary of failed and skipped tests. + if test $at_fail_count != 0; then + echo "Failed tests:" + $SHELL "$at_myself" $at_fail_list --list + echo + fi + if test $at_skip_count != 0; then + echo "Skipped tests:" + $SHELL "$at_myself" $at_skip_list --list + echo + fi + if test $at_xpass_count != 0; then + echo "Unexpected passes:" + $SHELL "$at_myself" $at_xpass_list --list + echo + fi + if test $at_fail_count != 0; then + cat <<\_ASBOX +## ---------------------- ## +## Detailed failed tests. ## +## ---------------------- ## +_ASBOX + echo + for at_group in $at_fail_list + do + at_group_normalized=$at_group + + eval 'while :; do + case $at_group_normalized in #( + '"$at_format"'*) break;; + esac + at_group_normalized=0$at_group_normalized + done' + + cat "$at_suite_dir/$at_group_normalized/$as_me.log" + echo + done + echo + fi + if test -n "$at_top_srcdir"; then + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +## ${at_top_build_prefix}config.log ## +_ASBOX + sed 's/^/| /' ${at_top_build_prefix}config.log + echo + fi + } >&5 + + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +## $as_me.log was created. ## +_ASBOX + + echo + $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} +" + if test $at_debug_p = false; then + echo + echo 'You may investigate any problem if you feel able to do so, in which' + echo 'case the test suite provides a good starting point. Its output may' + $as_echo "be found below \`${at_testdir+${at_testdir}/}$as_me.dir'." + echo + fi + exit 1 +fi + +exit 0 + +## ------------- ## +## Actual tests. ## +## ------------- ## +#AT_START_1 +# 1. version.at:19: tar version +at_setup_line='version.at:19' +at_desc="tar version" +$at_quiet $as_echo_n " 1: $at_desc " +at_xfail=no +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "1. version.at:19: testing ..." + $at_traceon + + +{ $at_traceoff +$as_echo "$at_srcdir/version.at:21: tar --version | sed 1q" +echo version.at:21 >"$at_check_line_file" + +if test -n "$at_traceon"; then + ( $at_traceon; tar --version | sed 1q ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; tar --version | sed 1q ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "tar (GNU tar) 1.23 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/version.at:21" +if $at_failed; then + cat >$XFAILFILE <<'_EOT' + +============================================================== +WARNING: Not using the proper version, *all* checks dubious... +============================================================== +_EOT + +else + rm -f $XFAILFILE +fi + +$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_1 +#AT_START_2 +# 2. pipe.at:30: decompressing from stdin +at_setup_line='pipe.at:30' +at_desc="decompressing from stdin" +$at_quiet $as_echo_n " 2: $at_desc " +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "2. pipe.at:30: testing ..." + $at_traceon + + + + + + + { $at_traceoff +$as_echo "$at_srcdir/pipe.at:34: +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H v7\" +export TAR_OPTIONS +rm -rf * + + +test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir directory genfile --length 10240 --pattern zeros --file directory/file1 genfile --length 13 --file directory/file2 -tar cf archive directory|sort +tar cf archive directory mv directory orig cat archive | tar xfv - | sort echo \"separator\" cmp orig/file1 directory/file1 echo \"separator\" cmp orig/file2 directory/file2)" -echo pipe.at:33 >"$at_check_line_file" - -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +echo pipe.at:34 >"$at_check_line_file" -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -1408,18 +2051,16 @@ test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir directory genfile --length 10240 --pattern zeros --file directory/file1 genfile --length 13 --file directory/file2 -tar cf archive directory|sort +tar cf archive directory mv directory orig cat archive | tar xfv - | sort echo "separator" cmp orig/file1 directory/file1 echo "separator" cmp orig/file2 directory/file2) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -1435,79 +2076,31 @@ test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir directory genfile --length 10240 --pattern zeros --file directory/file1 genfile --length 13 --file directory/file2 -tar cf archive directory|sort +tar cf archive directory mv directory orig cat archive | tar xfv - | sort echo "separator" cmp orig/file1 directory/file1 echo "separator" cmp orig/file2 directory/file2) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -echo stderr:; tee stderr <"$at_stderr" -echo >>"$at_stdout"; echo "directory/ +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "directory/ directory/file1 directory/file2 separator separator -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/pipe.at:33: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/pipe.at:34" - echo 1 > "$at_status_file" - exit 1 -fi - -$at_traceon - - - $at_traceoff -echo "$at_srcdir/pipe.at:33: grep -v '^.*tar: Record size = ' stderr; exit 0" -echo pipe.at:33 >"$at_check_line_file" - -at_trace_this= -if test -n "$at_traceon"; then - at_trace_this=yes -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; grep -v '^.*tar: Record size = ' stderr; exit 0 ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" -else - ( :; grep -v '^.*tar: Record size = ' stderr; exit 0 ) >"$at_stdout" 2>"$at_stderr" - at_status=$? -fi - -at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -$at_diff "$at_devnull" "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/pipe.at:33: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi - -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } -$at_traceoff -echo "$at_srcdir/pipe.at:33: + { $at_traceoff +$as_echo "$at_srcdir/pipe.at:34: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -1523,22 +2116,18 @@ test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir directory genfile --length 10240 --pattern zeros --file directory/file1 genfile --length 13 --file directory/file2 -tar cf archive directory|sort +tar cf archive directory mv directory orig cat archive | tar xfv - | sort echo \"separator\" cmp orig/file1 directory/file1 echo \"separator\" cmp orig/file2 directory/file2)" -echo pipe.at:33 >"$at_check_line_file" - -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +echo pipe.at:34 >"$at_check_line_file" -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -1554,18 +2143,16 @@ test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir directory genfile --length 10240 --pattern zeros --file directory/file1 genfile --length 13 --file directory/file2 -tar cf archive directory|sort +tar cf archive directory mv directory orig cat archive | tar xfv - | sort echo "separator" cmp orig/file1 directory/file1 echo "separator" cmp orig/file2 directory/file2) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -1581,79 +2168,31 @@ test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir directory genfile --length 10240 --pattern zeros --file directory/file1 genfile --length 13 --file directory/file2 -tar cf archive directory|sort +tar cf archive directory mv directory orig cat archive | tar xfv - | sort echo "separator" cmp orig/file1 directory/file1 echo "separator" cmp orig/file2 directory/file2) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -echo stderr:; tee stderr <"$at_stderr" -echo >>"$at_stdout"; echo "directory/ +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "directory/ directory/file1 directory/file2 separator separator -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/pipe.at:33: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi - -$at_traceon - - - $at_traceoff -echo "$at_srcdir/pipe.at:33: grep -v '^.*tar: Record size = ' stderr; exit 0" -echo pipe.at:33 >"$at_check_line_file" - -at_trace_this= -if test -n "$at_traceon"; then - at_trace_this=yes -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; grep -v '^.*tar: Record size = ' stderr; exit 0 ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" -else - ( :; grep -v '^.*tar: Record size = ' stderr; exit 0 ) >"$at_stdout" 2>"$at_stderr" - at_status=$? -fi - -at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -$at_diff "$at_devnull" "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/pipe.at:33: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/pipe.at:34" - echo 1 > "$at_status_file" - exit 1 -fi - -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } -$at_traceoff -echo "$at_srcdir/pipe.at:33: + { $at_traceoff +$as_echo "$at_srcdir/pipe.at:34: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -1669,22 +2208,18 @@ test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir directory genfile --length 10240 --pattern zeros --file directory/file1 genfile --length 13 --file directory/file2 -tar cf archive directory|sort +tar cf archive directory mv directory orig cat archive | tar xfv - | sort echo \"separator\" cmp orig/file1 directory/file1 echo \"separator\" cmp orig/file2 directory/file2)" -echo pipe.at:33 >"$at_check_line_file" - -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +echo pipe.at:34 >"$at_check_line_file" -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -1700,18 +2235,16 @@ test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir directory genfile --length 10240 --pattern zeros --file directory/file1 genfile --length 13 --file directory/file2 -tar cf archive directory|sort +tar cf archive directory mv directory orig cat archive | tar xfv - | sort echo "separator" cmp orig/file1 directory/file1 echo "separator" cmp orig/file2 directory/file2) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -1727,79 +2260,31 @@ test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir directory genfile --length 10240 --pattern zeros --file directory/file1 genfile --length 13 --file directory/file2 -tar cf archive directory|sort +tar cf archive directory mv directory orig cat archive | tar xfv - | sort echo "separator" cmp orig/file1 directory/file1 echo "separator" cmp orig/file2 directory/file2) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -echo stderr:; tee stderr <"$at_stderr" -echo >>"$at_stdout"; echo "directory/ +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "directory/ directory/file1 directory/file2 separator separator -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/pipe.at:33: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi - -$at_traceon - - - $at_traceoff -echo "$at_srcdir/pipe.at:33: grep -v '^.*tar: Record size = ' stderr; exit 0" -echo pipe.at:33 >"$at_check_line_file" - -at_trace_this= -if test -n "$at_traceon"; then - at_trace_this=yes -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; grep -v '^.*tar: Record size = ' stderr; exit 0 ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" -else - ( :; grep -v '^.*tar: Record size = ' stderr; exit 0 ) >"$at_stdout" 2>"$at_stderr" - at_status=$? -fi - -at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -$at_diff "$at_devnull" "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/pipe.at:33: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/pipe.at:34" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } -$at_traceoff -echo "$at_srcdir/pipe.at:33: + { $at_traceoff +$as_echo "$at_srcdir/pipe.at:34: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -1815,22 +2300,18 @@ test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir directory genfile --length 10240 --pattern zeros --file directory/file1 genfile --length 13 --file directory/file2 -tar cf archive directory|sort +tar cf archive directory mv directory orig cat archive | tar xfv - | sort echo \"separator\" cmp orig/file1 directory/file1 echo \"separator\" cmp orig/file2 directory/file2)" -echo pipe.at:33 >"$at_check_line_file" - -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +echo pipe.at:34 >"$at_check_line_file" -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -1846,18 +2327,16 @@ test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir directory genfile --length 10240 --pattern zeros --file directory/file1 genfile --length 13 --file directory/file2 -tar cf archive directory|sort +tar cf archive directory mv directory orig cat archive | tar xfv - | sort echo "separator" cmp orig/file1 directory/file1 echo "separator" cmp orig/file2 directory/file2) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -1873,79 +2352,31 @@ test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir directory genfile --length 10240 --pattern zeros --file directory/file1 genfile --length 13 --file directory/file2 -tar cf archive directory|sort +tar cf archive directory mv directory orig cat archive | tar xfv - | sort echo "separator" cmp orig/file1 directory/file1 echo "separator" cmp orig/file2 directory/file2) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -echo stderr:; tee stderr <"$at_stderr" -echo >>"$at_stdout"; echo "directory/ +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "directory/ directory/file1 directory/file2 separator separator -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/pipe.at:33: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi - -$at_traceon - - - $at_traceoff -echo "$at_srcdir/pipe.at:33: grep -v '^.*tar: Record size = ' stderr; exit 0" -echo pipe.at:33 >"$at_check_line_file" - -at_trace_this= -if test -n "$at_traceon"; then - at_trace_this=yes -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; grep -v '^.*tar: Record size = ' stderr; exit 0 ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" -else - ( :; grep -v '^.*tar: Record size = ' stderr; exit 0 ) >"$at_stdout" 2>"$at_stderr" - at_status=$? -fi - -at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -$at_diff "$at_devnull" "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/pipe.at:33: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/pipe.at:34" - echo 1 > "$at_status_file" - exit 1 -fi - -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } -$at_traceoff -echo "$at_srcdir/pipe.at:33: + { $at_traceoff +$as_echo "$at_srcdir/pipe.at:34: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -1961,22 +2392,18 @@ test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir directory genfile --length 10240 --pattern zeros --file directory/file1 genfile --length 13 --file directory/file2 -tar cf archive directory|sort +tar cf archive directory mv directory orig cat archive | tar xfv - | sort echo \"separator\" cmp orig/file1 directory/file1 echo \"separator\" cmp orig/file2 directory/file2)" -echo pipe.at:33 >"$at_check_line_file" - -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +echo pipe.at:34 >"$at_check_line_file" -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -1992,18 +2419,16 @@ test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir directory genfile --length 10240 --pattern zeros --file directory/file1 genfile --length 13 --file directory/file2 -tar cf archive directory|sort +tar cf archive directory mv directory orig cat archive | tar xfv - | sort echo "separator" cmp orig/file1 directory/file1 echo "separator" cmp orig/file2 directory/file2) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -2019,236 +2444,154 @@ test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir directory genfile --length 10240 --pattern zeros --file directory/file1 genfile --length 13 --file directory/file2 -tar cf archive directory|sort +tar cf archive directory mv directory orig cat archive | tar xfv - | sort echo "separator" cmp orig/file1 directory/file1 echo "separator" cmp orig/file2 directory/file2) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -echo stderr:; tee stderr <"$at_stderr" -echo >>"$at_stdout"; echo "directory/ +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "directory/ directory/file1 directory/file2 separator separator -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/pipe.at:33: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/pipe.at:34" +$at_failed && at_func_log_failure +$at_traceon; } - echo 1 > "$at_status_file" - exit 1 -fi -$at_traceon $at_traceoff -echo "$at_srcdir/pipe.at:33: grep -v '^.*tar: Record size = ' stderr; exit 0" -echo pipe.at:33 >"$at_check_line_file" - -at_trace_this= -if test -n "$at_traceon"; then - at_trace_this=yes -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; grep -v '^.*tar: Record size = ' stderr; exit 0 ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" -else - ( :; grep -v '^.*tar: Record size = ' stderr; exit 0 ) >"$at_stdout" 2>"$at_stderr" - at_status=$? -fi - -at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -$at_diff "$at_devnull" "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/pipe.at:33: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi - -$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"` - ;; - - 3 ) # 3. options.at:24: mixing options - at_setup_line='options.at:24' - at_desc="mixing options" - $at_quiet $ECHO_N " 3: mixing options $ECHO_C" - at_xfail=no - echo "# -*- compilation -*-" >> "$at_group_log" - ( - echo "3. options.at:24: testing ..." - $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_2 +#AT_START_3 +# 3. options.at:24: mixing options +at_setup_line='options.at:24' +at_desc="mixing options" +$at_quiet $as_echo_n " 3: $at_desc " +at_xfail=no +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "3. options.at:24: testing ..." + $at_traceon -$at_traceoff -echo "$at_srcdir/options.at:27: +{ $at_traceoff +$as_echo "$at_srcdir/options.at:27: echo > file1 TAR_OPTIONS=--numeric-owner tar chof archive file1 tar tf archive " echo options.at:27 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; echo > file1 TAR_OPTIONS=--numeric-owner tar chof archive file1 tar tf archive ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; echo > file1 TAR_OPTIONS=--numeric-owner tar chof archive file1 tar tf archive ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "file1 -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/options.at:27: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "file1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/options.at:27" -$at_traceon +$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"` - ;; - - 4 ) # 4. options02.at:26: interspersed options - at_setup_line='options02.at:26' - at_desc="interspersed options" - $at_quiet $ECHO_N " 4: interspersed options $ECHO_C" - at_xfail=no - echo "# -*- compilation -*-" >> "$at_group_log" - ( - echo "4. options02.at:26: testing ..." - $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_3 +#AT_START_4 +# 4. options02.at:26: interspersed options +at_setup_line='options02.at:26' +at_desc="interspersed options" +$at_quiet $as_echo_n " 4: $at_desc " +at_xfail=no +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "4. options02.at:26: testing ..." + $at_traceon -$at_traceoff -echo "$at_srcdir/options02.at:29: +{ $at_traceoff +$as_echo "$at_srcdir/options02.at:29: echo > file1 tar c file1 -f archive tar tf archive " echo options02.at:29 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; echo > file1 tar c file1 -f archive tar tf archive ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; echo > file1 tar c file1 -f archive tar tf archive ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "file1 -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/options02.at:29: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "file1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/options02.at:29" -$at_traceon +$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"` - ;; - - 5 ) # 5. T-empty.at:26: files-from: empty entries - at_setup_line='T-empty.at:26' - at_desc="files-from: empty entries" - $at_quiet $ECHO_N " 5: files-from: empty entries $ECHO_C" - at_xfail=no + $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_4 +#AT_START_5 +# 5. T-empty.at:26: files-from: empty entries +at_setup_line='T-empty.at:26' +at_desc="files-from: empty entries" +$at_quiet $as_echo_n " 5: $at_desc " +at_xfail=no test -f $XFAILFILE && at_xfail=yes - echo "# -*- compilation -*-" >> "$at_group_log" - ( - echo "5. T-empty.at:26: testing ..." - $at_traceon +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "5. T-empty.at:26: testing ..." + $at_traceon @@ -2262,8 +2605,8 @@ _ATEOF - $at_traceoff -echo "$at_srcdir/T-empty.at:36: + { $at_traceoff +$as_echo "$at_srcdir/T-empty.at:36: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -2284,13 +2627,9 @@ tar cfvT archive ../file-list | sort )" echo T-empty.at:36 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -2309,11 +2648,9 @@ genfile --file trzy tar cfvT archive ../file-list | sort ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -2332,49 +2669,39 @@ genfile --file trzy tar cfvT archive ../file-list | sort ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "dwa +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "dwa jeden trzy -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/T-empty.at:36: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/T-empty.at:36" -$at_traceon +$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"` - ;; - - 6 ) # 6. T-null.at:21: files-from: 0-separated file without -0 - at_setup_line='T-null.at:21' - at_desc="files-from: 0-separated file without -0" - $at_quiet $ECHO_N " 6: files-from: 0-separated file without -0 $ECHO_C" - at_xfail=no + $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_5 +#AT_START_6 +# 6. T-null.at:21: files-from: 0-separated file without -0 +at_setup_line='T-null.at:21' +at_desc="files-from: 0-separated file without -0" +$at_quiet $as_echo_n " 6: $at_desc " +at_xfail=no test -f $XFAILFILE && at_xfail=yes - echo "# -*- compilation -*-" >> "$at_group_log" - ( - echo "6. T-null.at:21: testing ..." - $at_traceon +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "6. T-null.at:21: testing ..." + $at_traceon @@ -2386,8 +2713,8 @@ _ATEOF - $at_traceoff -echo "$at_srcdir/T-null.at:28: + { $at_traceoff +$as_echo "$at_srcdir/T-null.at:28: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -2414,13 +2741,9 @@ tar cfTv archive file-list | sort )" echo T-null.at:28 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -2445,11 +2768,9 @@ genfile -f trzy tar cfTv archive file-list | sort ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -2474,54 +2795,44 @@ genfile -f trzy tar cfTv archive file-list | sort ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -echo >>"$at_stderr"; echo "tar: file-list: file name read contains nul character -" | $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stderr"; $as_echo "tar: file-list: file name read contains nul character +" | \ + $at_diff - "$at_stderr" || at_failed=: $at_diff expout "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/T-null.at:28: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi +at_func_check_status 0 $at_status "$at_srcdir/T-null.at:28" -$at_traceon +$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"` - ;; - - 7 ) # 7. indexfile.at:26: tar --index-file=FILE --file=- - at_setup_line='indexfile.at:26' - at_desc="tar --index-file=FILE --file=-" - $at_quiet $ECHO_N " 7: tar --index-file=FILE --file=- $ECHO_C" - at_xfail=no + $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_6 +#AT_START_7 +# 7. indexfile.at:26: tar --index-file=FILE --file=- +at_setup_line='indexfile.at:26' +at_desc="tar --index-file=FILE --file=-" +$at_quiet $as_echo_n " 7: $at_desc " +at_xfail=no test -f $XFAILFILE && at_xfail=yes - echo "# -*- compilation -*-" >> "$at_group_log" - ( - echo "7. indexfile.at:26: testing ..." - $at_traceon +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "7. indexfile.at:26: testing ..." + $at_traceon - $at_traceoff -echo "$at_srcdir/indexfile.at:29: + { $at_traceoff +$as_echo "$at_srcdir/indexfile.at:29: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -2542,13 +2853,9 @@ tar -tf archive )" echo indexfile.at:29 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -2567,11 +2874,9 @@ tar -c -v -f - --index-file=idx directory > archive echo "Testing the archive" tar -tf archive ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -2590,33 +2895,23 @@ tar -c -v -f - --index-file=idx directory > archive echo "Testing the archive" tar -tf archive ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "Creating the archive +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Creating the archive Testing the archive directory/ directory/a -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/indexfile.at:29: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/indexfile.at:29" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/indexfile.at:29: + { $at_traceoff +$as_echo "$at_srcdir/indexfile.at:29: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -2637,13 +2932,9 @@ tar -tf archive )" echo indexfile.at:29 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -2662,11 +2953,9 @@ tar -c -v -f - --index-file=idx directory > archive echo "Testing the archive" tar -tf archive ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -2685,33 +2974,23 @@ tar -c -v -f - --index-file=idx directory > archive echo "Testing the archive" tar -tf archive ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "Creating the archive +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Creating the archive Testing the archive directory/ directory/a -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/indexfile.at:29: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/indexfile.at:29" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/indexfile.at:29: + { $at_traceoff +$as_echo "$at_srcdir/indexfile.at:29: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -2732,13 +3011,9 @@ tar -tf archive )" echo indexfile.at:29 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -2757,11 +3032,9 @@ tar -c -v -f - --index-file=idx directory > archive echo "Testing the archive" tar -tf archive ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -2780,33 +3053,23 @@ tar -c -v -f - --index-file=idx directory > archive echo "Testing the archive" tar -tf archive ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "Creating the archive +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Creating the archive Testing the archive directory/ directory/a -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/indexfile.at:29: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/indexfile.at:29" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/indexfile.at:29: + { $at_traceoff +$as_echo "$at_srcdir/indexfile.at:29: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -2827,13 +3090,9 @@ tar -tf archive )" echo indexfile.at:29 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -2852,11 +3111,9 @@ tar -c -v -f - --index-file=idx directory > archive echo "Testing the archive" tar -tf archive ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -2875,33 +3132,23 @@ tar -c -v -f - --index-file=idx directory > archive echo "Testing the archive" tar -tf archive ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "Creating the archive +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Creating the archive Testing the archive directory/ directory/a -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/indexfile.at:29: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/indexfile.at:29" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/indexfile.at:29: + { $at_traceoff +$as_echo "$at_srcdir/indexfile.at:29: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -2922,13 +3169,9 @@ tar -tf archive )" echo indexfile.at:29 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -2947,11 +3190,9 @@ tar -c -v -f - --index-file=idx directory > archive echo "Testing the archive" tar -tf archive ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -2970,57 +3211,47 @@ tar -c -v -f - --index-file=idx directory > archive echo "Testing the archive" tar -tf archive ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "Creating the archive +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Creating the archive Testing the archive directory/ directory/a -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/indexfile.at:29: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi - -$at_traceon +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/indexfile.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"` - ;; - 8 ) # 8. verbose.at:26: tar cvf - - at_setup_line='verbose.at:26' - at_desc="tar cvf -" - $at_quiet $ECHO_N " 8: tar cvf - $ECHO_C" - at_xfail=no + $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_7 +#AT_START_8 +# 8. verbose.at:26: tar cvf - +at_setup_line='verbose.at:26' +at_desc="tar cvf -" +$at_quiet $as_echo_n " 8: $at_desc " +at_xfail=no test -f $XFAILFILE && at_xfail=yes - echo "# -*- compilation -*-" >> "$at_group_log" - ( - echo "8. verbose.at:26: testing ..." - $at_traceon +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "8. verbose.at:26: testing ..." + $at_traceon - $at_traceoff -echo "$at_srcdir/verbose.at:29: + { $at_traceoff +$as_echo "$at_srcdir/verbose.at:29: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -3037,13 +3268,9 @@ tar tf archive )" echo verbose.at:29 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -3058,11 +3285,9 @@ tar cvf - file > archive echo Testing the archive tar tf archive ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -3077,33 +3302,24 @@ tar cvf - file > archive echo Testing the archive tar tf archive ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -echo >>"$at_stderr"; echo "file -" | $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "Creating the archive +echo >>"$at_stderr"; $as_echo "file +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Creating the archive Testing the archive file -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/verbose.at:29: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/verbose.at:29" - echo 1 > "$at_status_file" - exit 1 -fi - -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/verbose.at:29: + { $at_traceoff +$as_echo "$at_srcdir/verbose.at:29: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -3120,13 +3336,9 @@ tar tf archive )" echo verbose.at:29 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -3141,11 +3353,9 @@ tar cvf - file > archive echo Testing the archive tar tf archive ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -3160,33 +3370,24 @@ tar cvf - file > archive echo Testing the archive tar tf archive ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -echo >>"$at_stderr"; echo "file -" | $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "Creating the archive +echo >>"$at_stderr"; $as_echo "file +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Creating the archive Testing the archive file -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/verbose.at:29: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/verbose.at:29" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/verbose.at:29: + { $at_traceoff +$as_echo "$at_srcdir/verbose.at:29: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -3203,13 +3404,9 @@ tar tf archive )" echo verbose.at:29 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -3224,11 +3421,9 @@ tar cvf - file > archive echo Testing the archive tar tf archive ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -3243,33 +3438,24 @@ tar cvf - file > archive echo Testing the archive tar tf archive ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -echo >>"$at_stderr"; echo "file -" | $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "Creating the archive +echo >>"$at_stderr"; $as_echo "file +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Creating the archive Testing the archive file -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/verbose.at:29: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/verbose.at:29" - echo 1 > "$at_status_file" - exit 1 -fi - -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/verbose.at:29: + { $at_traceoff +$as_echo "$at_srcdir/verbose.at:29: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -3286,13 +3472,9 @@ tar tf archive )" echo verbose.at:29 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -3307,11 +3489,9 @@ tar cvf - file > archive echo Testing the archive tar tf archive ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -3326,33 +3506,24 @@ tar cvf - file > archive echo Testing the archive tar tf archive ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -echo >>"$at_stderr"; echo "file -" | $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "Creating the archive +echo >>"$at_stderr"; $as_echo "file +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Creating the archive Testing the archive file -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/verbose.at:29: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/verbose.at:29" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/verbose.at:29: + { $at_traceoff +$as_echo "$at_srcdir/verbose.at:29: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -3369,13 +3540,9 @@ tar tf archive )" echo verbose.at:29 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -3390,11 +3557,9 @@ tar cvf - file > archive echo Testing the archive tar tf archive ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -3409,57 +3574,48 @@ tar cvf - file > archive echo Testing the archive tar tf archive ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -echo >>"$at_stderr"; echo "file -" | $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "Creating the archive +echo >>"$at_stderr"; $as_echo "file +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Creating the archive Testing the archive file -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/verbose.at:29: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/verbose.at:29" - echo 1 > "$at_status_file" - exit 1 -fi - -$at_traceon +$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"` - ;; - - 9 ) # 9. append.at:21: append - at_setup_line='append.at:21' - at_desc="append" - $at_quiet $ECHO_N " 9: append $ECHO_C" - at_xfail=no + $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_8 +#AT_START_9 +# 9. append.at:21: append +at_setup_line='append.at:21' +at_desc="append" +$at_quiet $as_echo_n " 9: $at_desc " +at_xfail=no test -f $XFAILFILE && at_xfail=yes - echo "# -*- compilation -*-" >> "$at_group_log" - ( - echo "9. append.at:21: testing ..." - $at_traceon +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "9. append.at:21: testing ..." + $at_traceon - $at_traceoff -echo "$at_srcdir/append.at:24: + { $at_traceoff +$as_echo "$at_srcdir/append.at:24: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -3474,13 +3630,9 @@ touch file1 tar tf archive)" echo append.at:24 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -3493,11 +3645,9 @@ touch file1 tar cf archive file1 tar rf archive file2 tar tf archive) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -3510,31 +3660,21 @@ touch file1 tar cf archive file1 tar rf archive file2 tar tf archive) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "file1 +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "file1 file2 -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/append.at:24: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/append.at:24" +$at_failed && at_func_log_failure +$at_traceon; } - echo 1 > "$at_status_file" - exit 1 -fi - -$at_traceon - - $at_traceoff -echo "$at_srcdir/append.at:24: + { $at_traceoff +$as_echo "$at_srcdir/append.at:24: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -3549,13 +3689,9 @@ touch file1 tar tf archive)" echo append.at:24 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -3568,11 +3704,9 @@ touch file1 tar cf archive file1 tar rf archive file2 tar tf archive) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -3585,31 +3719,21 @@ touch file1 tar cf archive file1 tar rf archive file2 tar tf archive) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "file1 +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "file1 file2 -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/append.at:24: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/append.at:24" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/append.at:24: + { $at_traceoff +$as_echo "$at_srcdir/append.at:24: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -3624,13 +3748,9 @@ touch file1 tar tf archive)" echo append.at:24 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -3643,11 +3763,9 @@ touch file1 tar cf archive file1 tar rf archive file2 tar tf archive) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -3660,31 +3778,21 @@ touch file1 tar cf archive file1 tar rf archive file2 tar tf archive) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "file1 +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "file1 file2 -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/append.at:24: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/append.at:24" +$at_failed && at_func_log_failure +$at_traceon; } - echo 1 > "$at_status_file" - exit 1 -fi - -$at_traceon - - $at_traceoff -echo "$at_srcdir/append.at:24: + { $at_traceoff +$as_echo "$at_srcdir/append.at:24: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -3699,13 +3807,9 @@ touch file1 tar tf archive)" echo append.at:24 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -3718,11 +3822,9 @@ touch file1 tar cf archive file1 tar rf archive file2 tar tf archive) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -3735,31 +3837,21 @@ touch file1 tar cf archive file1 tar rf archive file2 tar tf archive) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "file1 +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "file1 file2 -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/append.at:24: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/append.at:24" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/append.at:24: + { $at_traceoff +$as_echo "$at_srcdir/append.at:24: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -3774,13 +3866,9 @@ touch file1 tar tf archive)" echo append.at:24 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -3793,11 +3881,9 @@ touch file1 tar cf archive file1 tar rf archive file2 tar tf archive) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -3810,48 +3896,38 @@ touch file1 tar cf archive file1 tar rf archive file2 tar tf archive) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "file1 +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "file1 file2 -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/append.at:24: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/append.at:24" +$at_failed && at_func_log_failure +$at_traceon; } - echo 1 > "$at_status_file" - exit 1 -fi - -$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"` - ;; - - 10 ) # 10. append01.at:29: appending files with long names - at_setup_line='append01.at:29' - at_desc="appending files with long names" - $at_quiet $ECHO_N " 10: appending files with long names $ECHO_C" - at_xfail=no + $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_9 +#AT_START_10 +# 10. append01.at:29: appending files with long names +at_setup_line='append01.at:29' +at_desc="appending files with long names" +$at_quiet $as_echo_n " 10: $at_desc " +at_xfail=no test -f $XFAILFILE && at_xfail=yes - echo "# -*- compilation -*-" >> "$at_group_log" - ( - echo "10. append01.at:29: testing ..." - $at_traceon +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "10. append01.at:29: testing ..." + $at_traceon @@ -3859,8 +3935,8 @@ $at_traceon - $at_traceoff -echo "$at_srcdir/append01.at:34: + { $at_traceoff +$as_echo "$at_srcdir/append01.at:34: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -3877,13 +3953,9 @@ tar tf archive )" echo append01.at:34 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -3898,11 +3970,9 @@ tar cf archive This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_pr tar rf archive This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file2 tar tf archive ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -3917,31 +3987,21 @@ tar cf archive This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_pr tar rf archive This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file2 tar tf archive ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file1 +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file1 This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file2 -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/append01.at:34: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/append01.at:34" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/append01.at:34: + { $at_traceoff +$as_echo "$at_srcdir/append01.at:34: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -3958,13 +4018,9 @@ tar tf archive )" echo append01.at:34 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -3979,11 +4035,9 @@ tar cf archive This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_pr tar rf archive This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file2 tar tf archive ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -3998,31 +4052,21 @@ tar cf archive This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_pr tar rf archive This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file2 tar tf archive ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file1 +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file1 This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file2 -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/append01.at:34: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/append01.at:34" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/append01.at:34: + { $at_traceoff +$as_echo "$at_srcdir/append01.at:34: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -4039,13 +4083,9 @@ tar tf archive )" echo append01.at:34 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -4060,11 +4100,9 @@ tar cf archive This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_pr tar rf archive This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file2 tar tf archive ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -4079,31 +4117,21 @@ tar cf archive This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_pr tar rf archive This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file2 tar tf archive ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file1 +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file1 This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file2 -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/append01.at:34: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/append01.at:34" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/append01.at:34: + { $at_traceoff +$as_echo "$at_srcdir/append01.at:34: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -4120,13 +4148,9 @@ tar tf archive )" echo append01.at:34 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -4141,11 +4165,9 @@ tar cf archive This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_pr tar rf archive This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file2 tar tf archive ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -4160,55 +4182,45 @@ tar cf archive This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_pr tar rf archive This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file2 tar tf archive ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file1 +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file1 This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_appending_long_file_names_that_run_into_a_limit_of_the_ustar_tarX/file2 -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/append01.at:34: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/append01.at:34" -$at_traceon +$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"` - ;; - - 11 ) # 11. append02.at:40: append vs. create - at_setup_line='append02.at:40' - at_desc="append vs. create" - $at_quiet $ECHO_N " 11: append vs. create $ECHO_C" - at_xfail=no + $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_10 +#AT_START_11 +# 11. append02.at:54: append vs. create +at_setup_line='append02.at:54' +at_desc="append vs. create" +$at_quiet $as_echo_n " 11: $at_desc " +at_xfail=no test -f $XFAILFILE && at_xfail=yes - echo "# -*- compilation -*-" >> "$at_group_log" - ( - echo "11. append02.at:40: testing ..." - $at_traceon +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "11. append02.at:54: testing ..." + $at_traceon - $at_traceoff -echo "$at_srcdir/append02.at:43: + { $at_traceoff +$as_echo "$at_srcdir/append02.at:57: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -4240,15 +4252,11 @@ tar \$MTIME -rf archive.2 file2 echo Comparing archives cmp archive.1 archive.2 )" -echo append02.at:43 >"$at_check_line_file" - -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +echo append02.at:57 >"$at_check_line_file" -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -4280,11 +4288,9 @@ tar $MTIME -rf archive.2 file2 echo Comparing archives cmp archive.1 archive.2 ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -4316,32 +4322,22 @@ tar $MTIME -rf archive.2 file2 echo Comparing archives cmp archive.1 archive.2 ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "Creating archive.1 +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Creating archive.1 Creating archive.2 Comparing archives -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/append02.at:43: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/append02.at:57" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/append02.at:43: + { $at_traceoff +$as_echo "$at_srcdir/append02.at:57: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -4373,15 +4369,11 @@ tar \$MTIME -rf archive.2 file2 echo Comparing archives cmp archive.1 archive.2 )" -echo append02.at:43 >"$at_check_line_file" - -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +echo append02.at:57 >"$at_check_line_file" -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -4413,11 +4405,9 @@ tar $MTIME -rf archive.2 file2 echo Comparing archives cmp archive.1 archive.2 ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -4449,32 +4439,22 @@ tar $MTIME -rf archive.2 file2 echo Comparing archives cmp archive.1 archive.2 ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "Creating archive.1 +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Creating archive.1 Creating archive.2 Comparing archives -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/append02.at:43: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/append02.at:57" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/append02.at:43: + { $at_traceoff +$as_echo "$at_srcdir/append02.at:57: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -4506,15 +4486,11 @@ tar \$MTIME -rf archive.2 file2 echo Comparing archives cmp archive.1 archive.2 )" -echo append02.at:43 >"$at_check_line_file" - -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +echo append02.at:57 >"$at_check_line_file" -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -4546,11 +4522,9 @@ tar $MTIME -rf archive.2 file2 echo Comparing archives cmp archive.1 archive.2 ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -4582,32 +4556,22 @@ tar $MTIME -rf archive.2 file2 echo Comparing archives cmp archive.1 archive.2 ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "Creating archive.1 +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Creating archive.1 Creating archive.2 Comparing archives -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/append02.at:43: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/append02.at:57" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/append02.at:43: + { $at_traceoff +$as_echo "$at_srcdir/append02.at:57: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -4639,15 +4603,11 @@ tar \$MTIME -rf archive.2 file2 echo Comparing archives cmp archive.1 archive.2 )" -echo append02.at:43 >"$at_check_line_file" - -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +echo append02.at:57 >"$at_check_line_file" -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -4679,11 +4639,9 @@ tar $MTIME -rf archive.2 file2 echo Comparing archives cmp archive.1 archive.2 ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -4715,32 +4673,22 @@ tar $MTIME -rf archive.2 file2 echo Comparing archives cmp archive.1 archive.2 ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "Creating archive.1 +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Creating archive.1 Creating archive.2 Comparing archives -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/append02.at:43: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/append02.at:57" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/append02.at:43: + { $at_traceoff +$as_echo "$at_srcdir/append02.at:57: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -4772,15 +4720,11 @@ tar \$MTIME -rf archive.2 file2 echo Comparing archives cmp archive.1 archive.2 )" -echo append02.at:43 >"$at_check_line_file" - -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +echo append02.at:57 >"$at_check_line_file" -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -4812,11 +4756,9 @@ tar $MTIME -rf archive.2 file2 echo Comparing archives cmp archive.1 archive.2 ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -4848,515 +4790,303 @@ tar $MTIME -rf archive.2 file2 echo Comparing archives cmp archive.1 archive.2 ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "Creating archive.1 +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Creating archive.1 Creating archive.2 Comparing archives -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/append02.at:43: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/append02.at:57" +$at_failed && at_func_log_failure +$at_traceon; } - echo 1 > "$at_status_file" - exit 1 -fi - -$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_11 +#AT_START_12 +# 12. 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_xfail=no + test -f $XFAILFILE && at_xfail=yes +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "12. xform-h.at:30: testing ..." + $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"` - ;; - 12 ) # 12. exclude.at:23: exclude - at_setup_line='exclude.at:23' - at_desc="exclude" - $at_quiet $ECHO_N " 12: exclude $ECHO_C" - at_xfail=no - test -f $XFAILFILE && at_xfail=yes - echo "# -*- compilation -*-" >> "$at_group_log" - ( - echo "12. exclude.at:23: testing ..." - $at_traceon - $at_traceoff -echo "$at_srcdir/exclude.at:26: -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar + { $at_traceoff +$as_echo "$at_srcdir/xform-h.at:39: +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H ustar\" +TAR_OPTIONS=\"-H v7\" export TAR_OPTIONS rm -rf * +mkdir basedir +echo \"hello\" > basedir/test +ln basedir/test basedir/test_link -test -z "`sort < /dev/null 2>&1`" || exit 77 +echo "Default transform scope" +tar cf archive --transform="s,^basedir/,," basedir/test basedir/test_link +tar tvf archive | sed -n 's/.*test_link link to //p' -mkdir dir -echo blues > dir/blues -echo jazz > dir/jazz -mkdir dir/folk -echo tagfile > dir/folk/tagfile -echo sanjuan > dir/folk/sanjuan -mkdir dir/rock -echo \"Signature: 8a477f597d28d172789f06886806bc55\" > dir/rock/CACHEDIR.TAG -echo \"test\" > dir/rock/file -for option in exclude-caches exclude-caches-under exclude-caches-all -do - echo OPTION \$option - tar -cf archive.tar --\$option -v dir 2>err | sort - cat err - echo ARCHIVE - tar tf archive.tar | sort -done +echo "Transforming hard links" +tar cf archive --transform="s,^basedir/,,h" basedir/test basedir/test_link +tar tvf archive | sed -n 's/.*test_link link to //p' -for option in exclude-tag exclude-tag-under exclude-tag-all -do - echo OPTION \$option - tar -cf archive.tar --\${option}=tagfile -v dir 2>err | sort - cat err - echo ARCHIVE - tar tf archive.tar | sort -done -)" -echo exclude.at:26 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains a ${...} parameter expansion)' -fi +echo "Not transforming hard links" +tar cf archive --transform="s,^basedir/,,H" basedir/test basedir/test_link +tar tvf archive | sed -n 's/.*test_link link to //p' -if test -n "$at_trace_this"; then - ( $at_traceon; -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar +)" +echo xform-h.at:39 >"$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 ustar" +TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * +mkdir basedir +echo "hello" > basedir/test +ln basedir/test basedir/test_link -test -z "`sort < /dev/null 2>&1`" || exit 77 +echo "Default transform scope" +tar cf archive --transform="s,^basedir/,," basedir/test basedir/test_link +tar tvf archive | sed -n 's/.*test_link link to //p' -mkdir dir -echo blues > dir/blues -echo jazz > dir/jazz -mkdir dir/folk -echo tagfile > dir/folk/tagfile -echo sanjuan > dir/folk/sanjuan -mkdir dir/rock -echo "Signature: 8a477f597d28d172789f06886806bc55" > dir/rock/CACHEDIR.TAG -echo "test" > dir/rock/file -for option in exclude-caches exclude-caches-under exclude-caches-all -do - echo OPTION $option - tar -cf archive.tar --$option -v dir 2>err | sort - cat err - echo ARCHIVE - tar tf archive.tar | sort -done +echo "Transforming hard links" +tar cf archive --transform="s,^basedir/,,h" basedir/test basedir/test_link +tar tvf archive | sed -n 's/.*test_link link to //p' + + +echo "Not transforming hard links" +tar cf archive --transform="s,^basedir/,,H" basedir/test basedir/test_link +tar tvf archive | sed -n 's/.*test_link link to //p' -for option in exclude-tag exclude-tag-under exclude-tag-all -do - echo OPTION $option - tar -cf archive.tar --${option}=tagfile -v dir 2>err | sort - cat err - echo ARCHIVE - tar tf archive.tar | sort -done ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar + ( :; +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT -TAR_OPTIONS="-H ustar" +TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * +mkdir basedir +echo "hello" > basedir/test +ln basedir/test basedir/test_link -test -z "`sort < /dev/null 2>&1`" || exit 77 +echo "Default transform scope" +tar cf archive --transform="s,^basedir/,," basedir/test basedir/test_link +tar tvf archive | sed -n 's/.*test_link link to //p' -mkdir dir -echo blues > dir/blues -echo jazz > dir/jazz -mkdir dir/folk -echo tagfile > dir/folk/tagfile -echo sanjuan > dir/folk/sanjuan -mkdir dir/rock -echo "Signature: 8a477f597d28d172789f06886806bc55" > dir/rock/CACHEDIR.TAG -echo "test" > dir/rock/file -for option in exclude-caches exclude-caches-under exclude-caches-all -do - echo OPTION $option - tar -cf archive.tar --$option -v dir 2>err | sort - cat err - echo ARCHIVE - tar tf archive.tar | sort -done +echo "Transforming hard links" +tar cf archive --transform="s,^basedir/,,h" basedir/test basedir/test_link +tar tvf archive | sed -n 's/.*test_link link to //p' + + +echo "Not transforming hard links" +tar cf archive --transform="s,^basedir/,,H" basedir/test basedir/test_link +tar tvf archive | sed -n 's/.*test_link link to //p' -for option in exclude-tag exclude-tag-under exclude-tag-all -do - echo OPTION $option - tar -cf archive.tar --${option}=tagfile -v dir 2>err | sort - cat err - echo ARCHIVE - tar tf archive.tar | sort -done ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "OPTION exclude-caches -dir/ -dir/blues -dir/folk/ -dir/folk/sanjuan -dir/folk/tagfile -dir/jazz -dir/rock/ -dir/rock/CACHEDIR.TAG -tar: dir/rock/: contains a cache directory tag CACHEDIR.TAG; contents not dumped -ARCHIVE -dir/ -dir/blues -dir/folk/ -dir/folk/sanjuan -dir/folk/tagfile -dir/jazz -dir/rock/ -dir/rock/CACHEDIR.TAG -OPTION exclude-caches-under -dir/ -dir/blues -dir/folk/ -dir/folk/sanjuan -dir/folk/tagfile -dir/jazz -dir/rock/ -tar: dir/rock/: contains a cache directory tag CACHEDIR.TAG; contents not dumped -ARCHIVE -dir/ -dir/blues -dir/folk/ -dir/folk/sanjuan -dir/folk/tagfile -dir/jazz -dir/rock/ -OPTION exclude-caches-all -dir/ -dir/blues -dir/folk/ -dir/folk/sanjuan -dir/folk/tagfile -dir/jazz -tar: dir/rock/: contains a cache directory tag CACHEDIR.TAG; directory not dumped -ARCHIVE -dir/ -dir/blues -dir/folk/ -dir/folk/sanjuan -dir/folk/tagfile -dir/jazz -OPTION exclude-tag -dir/ -dir/blues -dir/folk/ -dir/folk/tagfile -dir/jazz -dir/rock/ -dir/rock/CACHEDIR.TAG -dir/rock/file -tar: dir/folk/: contains a cache directory tag tagfile; contents not dumped -ARCHIVE -dir/ -dir/blues -dir/folk/ -dir/folk/tagfile -dir/jazz -dir/rock/ -dir/rock/CACHEDIR.TAG -dir/rock/file -OPTION exclude-tag-under -dir/ -dir/blues -dir/folk/ -dir/jazz -dir/rock/ -dir/rock/CACHEDIR.TAG -dir/rock/file -tar: dir/folk/: contains a cache directory tag tagfile; contents not dumped -ARCHIVE -dir/ -dir/blues -dir/folk/ -dir/jazz -dir/rock/ -dir/rock/CACHEDIR.TAG -dir/rock/file -OPTION exclude-tag-all -dir/ -dir/blues -dir/jazz -dir/rock/ -dir/rock/CACHEDIR.TAG -dir/rock/file -tar: dir/folk/: contains a cache directory tag tagfile; directory not dumped -ARCHIVE -dir/ -dir/blues -dir/jazz -dir/rock/ -dir/rock/CACHEDIR.TAG -dir/rock/file -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/exclude.at:26: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Default transform scope +test +Transforming hard links +test +Not transforming hard links +basedir/test +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/xform-h.at:39" + +$at_failed && at_func_log_failure +$at_traceon; } + + { $at_traceoff +$as_echo "$at_srcdir/xform-h.at:39: +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H oldgnu\" +export TAR_OPTIONS +rm -rf * +mkdir basedir +echo \"hello\" > basedir/test +ln basedir/test basedir/test_link - echo 1 > "$at_status_file" - exit 1 -fi -$at_traceon +echo "Default transform scope" +tar cf archive --transform="s,^basedir/,," basedir/test basedir/test_link +tar tvf archive | sed -n 's/.*test_link link to //p' +echo "Transforming hard links" +tar cf archive --transform="s,^basedir/,,h" basedir/test basedir/test_link +tar tvf archive | sed -n 's/.*test_link link to //p' - $at_traceoff - $at_times_p && times >"$at_times_file" - ) 5>&1 2>&1 | eval $at_tee_pipe - at_status=`cat "$at_status_file"` - ;; +echo "Not transforming hard links" +tar cf archive --transform="s,^basedir/,,H" basedir/test basedir/test_link +tar tvf archive | sed -n 's/.*test_link link to //p' - 13 ) # 13. 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 $ECHO_N " 13: deleting a member after a big one $ECHO_C" - at_xfail=no - test -f $XFAILFILE && at_xfail=yes - echo "# -*- compilation -*-" >> "$at_group_log" - ( - echo "13. delete01.at:23: testing ..." - $at_traceon +)" +echo xform-h.at:39 >"$at_check_line_file" +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H oldgnu" +export TAR_OPTIONS +rm -rf * +mkdir basedir +echo "hello" > basedir/test +ln basedir/test basedir/test_link +echo "Default transform scope" +tar cf archive --transform="s,^basedir/,," basedir/test basedir/test_link +tar tvf archive | sed -n 's/.*test_link link to //p' - $at_traceoff -echo "$at_srcdir/delete01.at:26: -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 -export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H v7\" -export TAR_OPTIONS -rm -rf * -genfile -l 50000 --file file1 -genfile -l 1024 --file file2 -tar cf archive file1 file2 -tar f archive --delete file2 -tar tf archive)" -echo delete01.at:26 >"$at_check_line_file" +echo "Transforming hard links" +tar cf archive --transform="s,^basedir/,,h" basedir/test basedir/test_link +tar tvf archive | sed -n 's/.*test_link link to //p' -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi -if test -n "$at_trace_this"; then - ( $at_traceon; -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 -export TEST_TAR_FORMAT -TAR_OPTIONS="-H v7" -export TAR_OPTIONS -rm -rf * +echo "Not transforming hard links" +tar cf archive --transform="s,^basedir/,,H" basedir/test basedir/test_link +tar tvf archive | sed -n 's/.*test_link link to //p' -genfile -l 50000 --file file1 -genfile -l 1024 --file file2 -tar cf archive file1 file2 -tar f archive --delete file2 -tar tf archive) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" +) ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? else - ( :; -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 + ( :; +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H v7" +TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * -genfile -l 50000 --file file1 -genfile -l 1024 --file file2 -tar cf archive file1 file2 -tar f archive --delete file2 -tar tf archive) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? -fi +mkdir basedir +echo "hello" > basedir/test +ln basedir/test basedir/test_link -at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "file1 -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/delete01.at:26: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +echo "Default transform scope" +tar cf archive --transform="s,^basedir/,," basedir/test basedir/test_link +tar tvf archive | sed -n 's/.*test_link link to //p' - echo 1 > "$at_status_file" - exit 1 -fi -$at_traceon +echo "Transforming hard links" +tar cf archive --transform="s,^basedir/,,h" basedir/test basedir/test_link +tar tvf archive | sed -n 's/.*test_link link to //p' - $at_traceoff -echo "$at_srcdir/delete01.at:26: -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu -export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H oldgnu\" -export TAR_OPTIONS -rm -rf * -genfile -l 50000 --file file1 -genfile -l 1024 --file file2 -tar cf archive file1 file2 -tar f archive --delete file2 -tar tf archive)" -echo delete01.at:26 >"$at_check_line_file" +echo "Not transforming hard links" +tar cf archive --transform="s,^basedir/,,H" basedir/test basedir/test_link +tar tvf archive | sed -n 's/.*test_link link to //p' -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' +) ) >"$at_stdout" 2>"$at_stderr" fi - -if test -n "$at_trace_this"; 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 50000 --file file1 -genfile -l 1024 --file file2 -tar cf archive file1 file2 -tar f archive --delete file2 -tar tf archive) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" -else - ( :; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Default transform scope +test +Transforming hard links +test +Not transforming hard links +basedir/test +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/xform-h.at:39" + +$at_failed && at_func_log_failure +$at_traceon; } + + { $at_traceoff +$as_echo "$at_srcdir/xform-h.at:39: +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" +TAR_OPTIONS=\"-H ustar\" export TAR_OPTIONS rm -rf * -genfile -l 50000 --file file1 -genfile -l 1024 --file file2 -tar cf archive file1 file2 -tar f archive --delete file2 -tar tf archive) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? -fi +mkdir basedir +echo \"hello\" > basedir/test +ln basedir/test basedir/test_link -at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "file1 -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/delete01.at:26: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +echo "Default transform scope" +tar cf archive --transform="s,^basedir/,," basedir/test basedir/test_link +tar tvf archive | sed -n 's/.*test_link link to //p' - echo 1 > "$at_status_file" - exit 1 -fi -$at_traceon +echo "Transforming hard links" +tar cf archive --transform="s,^basedir/,,h" basedir/test basedir/test_link +tar tvf archive | sed -n 's/.*test_link link to //p' - $at_traceoff -echo "$at_srcdir/delete01.at:26: -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar -export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H ustar\" -export TAR_OPTIONS -rm -rf * -genfile -l 50000 --file file1 -genfile -l 1024 --file file2 -tar cf archive file1 file2 -tar f archive --delete file2 -tar tf archive)" -echo delete01.at:26 >"$at_check_line_file" +echo "Not transforming hard links" +tar cf archive --transform="s,^basedir/,,H" basedir/test basedir/test_link +tar tvf archive | sed -n 's/.*test_link link to //p' -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +)" +echo xform-h.at:39 >"$at_check_line_file" -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -5365,16 +5095,29 @@ TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * -genfile -l 50000 --file file1 -genfile -l 1024 --file file2 -tar cf archive file1 file2 -tar f archive --delete file2 -tar tf archive) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" +mkdir basedir +echo "hello" > basedir/test +ln basedir/test basedir/test_link + + +echo "Default transform scope" +tar cf archive --transform="s,^basedir/,," basedir/test basedir/test_link +tar tvf archive | sed -n 's/.*test_link link to //p' + + +echo "Transforming hard links" +tar cf archive --transform="s,^basedir/,,h" basedir/test basedir/test_link +tar tvf archive | sed -n 's/.*test_link link to //p' + + +echo "Not transforming hard links" +tar cf archive --transform="s,^basedir/,,H" basedir/test basedir/test_link +tar tvf archive | sed -n 's/.*test_link link to //p' + +) ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? else - ( :; + ( :; mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -5383,35 +5126,45 @@ TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * -genfile -l 50000 --file file1 -genfile -l 1024 --file file2 -tar cf archive file1 file2 -tar f archive --delete file2 -tar tf archive) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? -fi +mkdir basedir +echo "hello" > basedir/test +ln basedir/test basedir/test_link -at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "file1 -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/delete01.at:26: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +echo "Default transform scope" +tar cf archive --transform="s,^basedir/,," basedir/test basedir/test_link +tar tvf archive | sed -n 's/.*test_link link to //p' - echo 1 > "$at_status_file" - exit 1 -fi -$at_traceon +echo "Transforming hard links" +tar cf archive --transform="s,^basedir/,,h" basedir/test basedir/test_link +tar tvf archive | sed -n 's/.*test_link link to //p' + - $at_traceoff -echo "$at_srcdir/delete01.at:26: +echo "Not transforming hard links" +tar cf archive --transform="s,^basedir/,,H" basedir/test basedir/test_link +tar tvf archive | sed -n 's/.*test_link 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 "Default transform scope +test +Transforming hard links +test +Not transforming hard links +basedir/test +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/xform-h.at:39" + +$at_failed && at_func_log_failure +$at_traceon; } + + { $at_traceoff +$as_echo "$at_srcdir/xform-h.at:39: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -5420,20 +5173,31 @@ TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * -genfile -l 50000 --file file1 -genfile -l 1024 --file file2 -tar cf archive file1 file2 -tar f archive --delete file2 -tar tf archive)" -echo delete01.at:26 >"$at_check_line_file" +mkdir basedir +echo \"hello\" > basedir/test +ln basedir/test basedir/test_link -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi -if test -n "$at_trace_this"; then - ( $at_traceon; +echo "Default transform scope" +tar cf archive --transform="s,^basedir/,," basedir/test basedir/test_link +tar tvf archive | sed -n 's/.*test_link link to //p' + + +echo "Transforming hard links" +tar cf archive --transform="s,^basedir/,,h" basedir/test basedir/test_link +tar tvf archive | sed -n 's/.*test_link link to //p' + + +echo "Not transforming hard links" +tar cf archive --transform="s,^basedir/,,H" basedir/test basedir/test_link +tar tvf archive | sed -n 's/.*test_link link to //p' + +)" +echo xform-h.at:39 >"$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 @@ -5442,16 +5206,29 @@ TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * -genfile -l 50000 --file file1 -genfile -l 1024 --file file2 -tar cf archive file1 file2 -tar f archive --delete file2 -tar tf archive) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" +mkdir basedir +echo "hello" > basedir/test +ln basedir/test basedir/test_link + + +echo "Default transform scope" +tar cf archive --transform="s,^basedir/,," basedir/test basedir/test_link +tar tvf archive | sed -n 's/.*test_link link to //p' + + +echo "Transforming hard links" +tar cf archive --transform="s,^basedir/,,h" basedir/test basedir/test_link +tar tvf archive | sed -n 's/.*test_link link to //p' + + +echo "Not transforming hard links" +tar cf archive --transform="s,^basedir/,,H" basedir/test basedir/test_link +tar tvf archive | sed -n 's/.*test_link link to //p' + +) ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? else - ( :; + ( :; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -5460,35 +5237,45 @@ TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * -genfile -l 50000 --file file1 -genfile -l 1024 --file file2 -tar cf archive file1 file2 -tar f archive --delete file2 -tar tf archive) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? -fi +mkdir basedir +echo "hello" > basedir/test +ln basedir/test basedir/test_link -at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "file1 -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/delete01.at:26: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +echo "Default transform scope" +tar cf archive --transform="s,^basedir/,," basedir/test basedir/test_link +tar tvf archive | sed -n 's/.*test_link link to //p' - echo 1 > "$at_status_file" - exit 1 -fi -$at_traceon +echo "Transforming hard links" +tar cf archive --transform="s,^basedir/,,h" basedir/test basedir/test_link +tar tvf archive | sed -n 's/.*test_link link to //p' + - $at_traceoff -echo "$at_srcdir/delete01.at:26: +echo "Not transforming hard links" +tar cf archive --transform="s,^basedir/,,H" basedir/test basedir/test_link +tar tvf archive | sed -n 's/.*test_link 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 "Default transform scope +test +Transforming hard links +test +Not transforming hard links +basedir/test +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/xform-h.at:39" + +$at_failed && at_func_log_failure +$at_traceon; } + + { $at_traceoff +$as_echo "$at_srcdir/xform-h.at:39: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -5497,20 +5284,31 @@ TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -genfile -l 50000 --file file1 -genfile -l 1024 --file file2 -tar cf archive file1 file2 -tar f archive --delete file2 -tar tf archive)" -echo delete01.at:26 >"$at_check_line_file" +mkdir basedir +echo \"hello\" > basedir/test +ln basedir/test basedir/test_link -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi -if test -n "$at_trace_this"; then - ( $at_traceon; +echo "Default transform scope" +tar cf archive --transform="s,^basedir/,," basedir/test basedir/test_link +tar tvf archive | sed -n 's/.*test_link link to //p' + + +echo "Transforming hard links" +tar cf archive --transform="s,^basedir/,,h" basedir/test basedir/test_link +tar tvf archive | sed -n 's/.*test_link link to //p' + + +echo "Not transforming hard links" +tar cf archive --transform="s,^basedir/,,H" basedir/test basedir/test_link +tar tvf archive | sed -n 's/.*test_link link to //p' + +)" +echo xform-h.at:39 >"$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 @@ -5519,16 +5317,29 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -genfile -l 50000 --file file1 -genfile -l 1024 --file file2 -tar cf archive file1 file2 -tar f archive --delete file2 -tar tf archive) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" +mkdir basedir +echo "hello" > basedir/test +ln basedir/test basedir/test_link + + +echo "Default transform scope" +tar cf archive --transform="s,^basedir/,," basedir/test basedir/test_link +tar tvf archive | sed -n 's/.*test_link link to //p' + + +echo "Transforming hard links" +tar cf archive --transform="s,^basedir/,,h" basedir/test basedir/test_link +tar tvf archive | sed -n 's/.*test_link link to //p' + + +echo "Not transforming hard links" +tar cf archive --transform="s,^basedir/,,H" basedir/test basedir/test_link +tar tvf archive | sed -n 's/.*test_link link to //p' + +) ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? else - ( :; + ( :; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -5537,287 +5348,157 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -genfile -l 50000 --file file1 -genfile -l 1024 --file file2 -tar cf archive file1 file2 -tar f archive --delete file2 -tar tf archive) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? -fi +mkdir basedir +echo "hello" > basedir/test +ln basedir/test basedir/test_link -at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "file1 -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/delete01.at:26: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +echo "Default transform scope" +tar cf archive --transform="s,^basedir/,," basedir/test basedir/test_link +tar tvf archive | sed -n 's/.*test_link link to //p' - echo 1 > "$at_status_file" - exit 1 -fi -$at_traceon +echo "Transforming hard links" +tar cf archive --transform="s,^basedir/,,h" basedir/test basedir/test_link +tar tvf archive | sed -n 's/.*test_link link to //p' +echo "Not transforming hard links" +tar cf archive --transform="s,^basedir/,,H" basedir/test basedir/test_link +tar tvf archive | sed -n 's/.*test_link 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 "Default transform scope +test +Transforming hard links +test +Not transforming hard links +basedir/test +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/xform-h.at:39" - $at_traceoff - $at_times_p && times >"$at_times_file" - ) 5>&1 2>&1 | eval $at_tee_pipe - at_status=`cat "$at_status_file"` - ;; +$at_failed && at_func_log_failure +$at_traceon; } - 14 ) # 14. 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 $ECHO_N " 14: deleting a member from stdin archive $ECHO_C" - at_xfail=no - test -f $XFAILFILE && at_xfail=yes - echo "# -*- compilation -*-" >> "$at_group_log" - ( - echo "14. delete02.at:23: testing ..." - $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_setup_line='exclude.at:23' +at_desc="exclude" +$at_quiet $as_echo_n " 13: $at_desc " +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "13. exclude.at:23: testing ..." + $at_traceon - $at_traceoff -echo "$at_srcdir/delete02.at:26: -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 -export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H v7\" -export TAR_OPTIONS -rm -rf * -genfile -l 3073 -p zeros --file 1 -cp 1 2 -cp 2 3 -tar cf archive 1 2 3 -tar tf archive -cat archive | tar f - --delete 2 > archive2 -echo separator -tar tf archive2)" -echo delete02.at:26 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi -if test -n "$at_trace_this"; then - ( $at_traceon; -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 + { $at_traceoff +$as_echo "$at_srcdir/exclude.at:26: +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 * -genfile -l 3073 -p zeros --file 1 -cp 1 2 -cp 2 3 -tar cf archive 1 2 3 -tar tf archive -cat archive | tar f - --delete 2 > archive2 -echo separator -tar tf archive2) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" -else - ( :; -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 -export TEST_TAR_FORMAT -TAR_OPTIONS="-H v7" -export TAR_OPTIONS -rm -rf * -genfile -l 3073 -p zeros --file 1 -cp 1 2 -cp 2 3 -tar cf archive 1 2 3 -tar tf archive -cat archive | tar f - --delete 2 > archive2 -echo separator -tar tf archive2) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? -fi +test -z "`sort < /dev/null 2>&1`" || exit 77 -at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "1 -2 -3 -separator -1 -3 -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/delete02.at:26: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi - -$at_traceon - - $at_traceoff -echo "$at_srcdir/delete02.at:26: -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu -export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H oldgnu\" -export TAR_OPTIONS -rm -rf * - -genfile -l 3073 -p zeros --file 1 -cp 1 2 -cp 2 3 -tar cf archive 1 2 3 -tar tf archive -cat archive | tar f - --delete 2 > archive2 -echo separator -tar tf archive2)" -echo delete02.at:26 >"$at_check_line_file" - -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi - -if test -n "$at_trace_this"; 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 3073 -p zeros --file 1 -cp 1 2 -cp 2 3 -tar cf archive 1 2 3 -tar tf archive -cat archive | tar f - --delete 2 > archive2 -echo separator -tar tf archive2) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" -else - ( :; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu -export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" -export TAR_OPTIONS -rm -rf * - -genfile -l 3073 -p zeros --file 1 -cp 1 2 -cp 2 3 -tar cf archive 1 2 3 -tar tf archive -cat archive | tar f - --delete 2 > archive2 -echo separator -tar tf archive2) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? -fi - -at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "1 -2 -3 -separator -1 -3 -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/delete02.at:26: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +mkdir dir +echo blues > dir/blues +echo jazz > dir/jazz +mkdir dir/folk +echo tagfile > dir/folk/tagfile +echo sanjuan > dir/folk/sanjuan +mkdir dir/rock +echo \"Signature: 8a477f597d28d172789f06886806bc55\" > dir/rock/CACHEDIR.TAG +echo \"test\" > dir/rock/file - echo 1 > "$at_status_file" - exit 1 -fi +for option in exclude-caches exclude-caches-under exclude-caches-all +do + echo OPTION \$option + tar -cf archive.tar --\$option -v dir 2>err | sort + cat err + echo ARCHIVE + tar tf archive.tar | sort +done -$at_traceon +for option in exclude-tag exclude-tag-under exclude-tag-all +do + echo OPTION \$option + tar -cf archive.tar --\${option}=tagfile -v dir 2>err | sort + cat err + echo ARCHIVE + tar tf archive.tar | sort +done +)" +echo exclude.at:26 >"$at_check_line_file" - $at_traceoff -echo "$at_srcdir/delete02.at:26: +if { echo 'Not enabling shell tracing (command contains a ${...} parameter expansion)' + false; }; then + ( $at_traceon; mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H ustar\" +TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * -genfile -l 3073 -p zeros --file 1 -cp 1 2 -cp 2 3 -tar cf archive 1 2 3 -tar tf archive -cat archive | tar f - --delete 2 > archive2 -echo separator -tar tf archive2)" -echo delete02.at:26 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +test -z "`sort < /dev/null 2>&1`" || exit 77 -if test -n "$at_trace_this"; 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 3073 -p zeros --file 1 -cp 1 2 -cp 2 3 -tar cf archive 1 2 3 -tar tf archive -cat archive | tar f - --delete 2 > archive2 -echo separator -tar tf archive2) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" +mkdir dir +echo blues > dir/blues +echo jazz > dir/jazz +mkdir dir/folk +echo tagfile > dir/folk/tagfile +echo sanjuan > dir/folk/sanjuan +mkdir dir/rock +echo "Signature: 8a477f597d28d172789f06886806bc55" > dir/rock/CACHEDIR.TAG +echo "test" > dir/rock/file + +for option in exclude-caches exclude-caches-under exclude-caches-all +do + echo OPTION $option + tar -cf archive.tar --$option -v dir 2>err | sort + cat err + echo ARCHIVE + tar tf archive.tar | sort +done + +for option in exclude-tag exclude-tag-under exclude-tag-all +do + echo OPTION $option + tar -cf archive.tar --${option}=tagfile -v dir 2>err | sort + cat err + echo ARCHIVE + tar tf archive.tar | sort +done +) ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? else - ( :; + ( :; mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -5826,572 +5507,1011 @@ TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * -genfile -l 3073 -p zeros --file 1 -cp 1 2 -cp 2 3 -tar cf archive 1 2 3 -tar tf archive -cat archive | tar f - --delete 2 > archive2 -echo separator -tar tf archive2) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? -fi - -at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "1 -2 -3 -separator -1 -3 -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/delete02.at:26: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - echo 1 > "$at_status_file" - exit 1 -fi +test -z "`sort < /dev/null 2>&1`" || exit 77 -$at_traceon - $at_traceoff -echo "$at_srcdir/delete02.at:26: -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix -export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H posix\" -export TAR_OPTIONS -rm -rf * +mkdir dir +echo blues > dir/blues +echo jazz > dir/jazz +mkdir dir/folk +echo tagfile > dir/folk/tagfile +echo sanjuan > dir/folk/sanjuan +mkdir dir/rock +echo "Signature: 8a477f597d28d172789f06886806bc55" > dir/rock/CACHEDIR.TAG +echo "test" > dir/rock/file -genfile -l 3073 -p zeros --file 1 -cp 1 2 -cp 2 3 -tar cf archive 1 2 3 -tar tf archive -cat archive | tar f - --delete 2 > archive2 -echo separator -tar tf archive2)" -echo delete02.at:26 >"$at_check_line_file" +for option in exclude-caches exclude-caches-under exclude-caches-all +do + echo OPTION $option + tar -cf archive.tar --$option -v dir 2>err | sort + cat err + echo ARCHIVE + tar tf archive.tar | sort +done -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' +for option in exclude-tag exclude-tag-under exclude-tag-all +do + echo OPTION $option + tar -cf archive.tar --${option}=tagfile -v dir 2>err | sort + cat err + echo ARCHIVE + tar tf archive.tar | sort +done +) ) >"$at_stdout" 2>"$at_stderr" fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "OPTION exclude-caches +dir/ +dir/blues +dir/folk/ +dir/folk/sanjuan +dir/folk/tagfile +dir/jazz +dir/rock/ +dir/rock/CACHEDIR.TAG +tar: dir/rock/: contains a cache directory tag CACHEDIR.TAG; contents not dumped +ARCHIVE +dir/ +dir/blues +dir/folk/ +dir/folk/sanjuan +dir/folk/tagfile +dir/jazz +dir/rock/ +dir/rock/CACHEDIR.TAG +OPTION exclude-caches-under +dir/ +dir/blues +dir/folk/ +dir/folk/sanjuan +dir/folk/tagfile +dir/jazz +dir/rock/ +tar: dir/rock/: contains a cache directory tag CACHEDIR.TAG; contents not dumped +ARCHIVE +dir/ +dir/blues +dir/folk/ +dir/folk/sanjuan +dir/folk/tagfile +dir/jazz +dir/rock/ +OPTION exclude-caches-all +dir/ +dir/blues +dir/folk/ +dir/folk/sanjuan +dir/folk/tagfile +dir/jazz +tar: dir/rock/: contains a cache directory tag CACHEDIR.TAG; directory not dumped +ARCHIVE +dir/ +dir/blues +dir/folk/ +dir/folk/sanjuan +dir/folk/tagfile +dir/jazz +OPTION exclude-tag +dir/ +dir/blues +dir/folk/ +dir/folk/tagfile +dir/jazz +dir/rock/ +dir/rock/CACHEDIR.TAG +dir/rock/file +tar: dir/folk/: contains a cache directory tag tagfile; contents not dumped +ARCHIVE +dir/ +dir/blues +dir/folk/ +dir/folk/tagfile +dir/jazz +dir/rock/ +dir/rock/CACHEDIR.TAG +dir/rock/file +OPTION exclude-tag-under +dir/ +dir/blues +dir/folk/ +dir/jazz +dir/rock/ +dir/rock/CACHEDIR.TAG +dir/rock/file +tar: dir/folk/: contains a cache directory tag tagfile; contents not dumped +ARCHIVE +dir/ +dir/blues +dir/folk/ +dir/jazz +dir/rock/ +dir/rock/CACHEDIR.TAG +dir/rock/file +OPTION exclude-tag-all +dir/ +dir/blues +dir/jazz +dir/rock/ +dir/rock/CACHEDIR.TAG +dir/rock/file +tar: dir/folk/: contains a cache directory tag tagfile; directory not dumped +ARCHIVE +dir/ +dir/blues +dir/jazz +dir/rock/ +dir/rock/CACHEDIR.TAG +dir/rock/file +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/exclude.at:26" -if test -n "$at_trace_this"; 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 3073 -p zeros --file 1 -cp 1 2 -cp 2 3 -tar cf archive 1 2 3 -tar tf archive -cat archive | tar f - --delete 2 > archive2 -echo separator -tar tf archive2) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" -else - ( :; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix -export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" -export TAR_OPTIONS -rm -rf * - -genfile -l 3073 -p zeros --file 1 -cp 1 2 -cp 2 3 -tar cf archive 1 2 3 -tar tf archive -cat archive | tar f - --delete 2 > archive2 -echo separator -tar tf archive2) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? -fi +$at_failed && at_func_log_failure +$at_traceon; } -at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "1 -2 -3 -separator -1 -3 -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/delete02.at:26: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - echo 1 > "$at_status_file" - exit 1 -fi -$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_13 +#AT_START_14 +# 14. exclude01.at:17: exclude wildcards +at_setup_line='exclude01.at:17' +at_desc="exclude wildcards" +$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. exclude01.at:17: testing ..." + $at_traceon + - $at_traceoff -echo "$at_srcdir/delete02.at:26: -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu + + + + { $at_traceoff +$as_echo "$at_srcdir/exclude01.at:20: +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H gnu\" +TAR_OPTIONS=\"-H v7\" export TAR_OPTIONS rm -rf * -genfile -l 3073 -p zeros --file 1 -cp 1 2 -cp 2 3 -tar cf archive 1 2 3 -tar tf archive -cat archive | tar f - --delete 2 > archive2 -echo separator -tar tf archive2)" -echo delete02.at:26 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +test -z "`sort < /dev/null 2>&1`" || exit 77 -if test -n "$at_trace_this"; then - ( $at_traceon; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu + +rm -rf testdir +mkdir -p testdir/dir1 testdir/dir2 testdir/dir3 +touch testdir/dir1/file1 +touch testdir/dir1/\\* +touch testdir/dir2/file2 +touch testdir/dir2/\\* +touch testdir/dir3/file3 +touch testdir/dir3/\\* + +tar cf archive --exclude=testdir/dir1/\\* \\ + --no-wildcards \\ + --exclude=testdir/dir2/\\* \\ + --wildcards \\ + --exclude=testdir/dir3/\\* \\ + testdir +tar tf archive | sort + +echo \"NEXT\" +tar cf archive testdir +tar t \"testdir/dir1/*\" -f archive | sort + +echo \"NEXT\" +tar cf archive testdir/dir1 +tar t --no-wildcards \"testdir/dir1/*\" -f archive | sort + +echo \"NEXT\" +tar cf archive testdir +tar t --wildcards \"testdir/dir1/*\" -f archive | sort + +rm -rf testdir +)" +echo exclude01.at:20 >"$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 gnu" +TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * -genfile -l 3073 -p zeros --file 1 -cp 1 2 -cp 2 3 -tar cf archive 1 2 3 -tar tf archive -cat archive | tar f - --delete 2 > archive2 -echo separator -tar tf archive2) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + +test -z "`sort < /dev/null 2>&1`" || exit 77 + + +rm -rf testdir +mkdir -p testdir/dir1 testdir/dir2 testdir/dir3 +touch testdir/dir1/file1 +touch testdir/dir1/\* +touch testdir/dir2/file2 +touch testdir/dir2/\* +touch testdir/dir3/file3 +touch testdir/dir3/\* + +tar cf archive --exclude=testdir/dir1/\* \ + --no-wildcards \ + --exclude=testdir/dir2/\* \ + --wildcards \ + --exclude=testdir/dir3/\* \ + testdir +tar tf archive | sort + +echo "NEXT" +tar cf archive testdir +tar t "testdir/dir1/*" -f archive | sort + +echo "NEXT" +tar cf archive testdir/dir1 +tar t --no-wildcards "testdir/dir1/*" -f archive | sort + +echo "NEXT" +tar cf archive testdir +tar t --wildcards "testdir/dir1/*" -f archive | sort + +rm -rf testdir +) ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? else - ( :; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu + ( :; +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" +TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * -genfile -l 3073 -p zeros --file 1 -cp 1 2 -cp 2 3 -tar cf archive 1 2 3 -tar tf archive -cat archive | tar f - --delete 2 > archive2 -echo separator -tar tf archive2) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? -fi -at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "1 -2 -3 -separator -1 -3 -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/delete02.at:26: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +test -z "`sort < /dev/null 2>&1`" || exit 77 - echo 1 > "$at_status_file" - exit 1 +rm -rf testdir +mkdir -p testdir/dir1 testdir/dir2 testdir/dir3 +touch testdir/dir1/file1 +touch testdir/dir1/\* +touch testdir/dir2/file2 +touch testdir/dir2/\* +touch testdir/dir3/file3 +touch testdir/dir3/\* + +tar cf archive --exclude=testdir/dir1/\* \ + --no-wildcards \ + --exclude=testdir/dir2/\* \ + --wildcards \ + --exclude=testdir/dir3/\* \ + testdir +tar tf archive | sort + +echo "NEXT" +tar cf archive testdir +tar t "testdir/dir1/*" -f archive | sort + +echo "NEXT" +tar cf archive testdir/dir1 +tar t --no-wildcards "testdir/dir1/*" -f archive | sort + +echo "NEXT" +tar cf archive testdir +tar t --wildcards "testdir/dir1/*" -f archive | sort + +rm -rf testdir +) ) >"$at_stdout" 2>"$at_stderr" fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "testdir/ +testdir/dir1/ +testdir/dir2/ +testdir/dir2/file2 +testdir/dir3/ +NEXT +testdir/dir1/* +NEXT +testdir/dir1/* +NEXT +testdir/dir1/* +testdir/dir1/file1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/exclude01.at:20" + +$at_failed && at_func_log_failure +$at_traceon; } + + { $at_traceoff +$as_echo "$at_srcdir/exclude01.at:20: +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H oldgnu\" +export TAR_OPTIONS +rm -rf * -$at_traceon +test -z "`sort < /dev/null 2>&1`" || exit 77 +rm -rf testdir +mkdir -p testdir/dir1 testdir/dir2 testdir/dir3 +touch testdir/dir1/file1 +touch testdir/dir1/\\* +touch testdir/dir2/file2 +touch testdir/dir2/\\* +touch testdir/dir3/file3 +touch testdir/dir3/\\* + +tar cf archive --exclude=testdir/dir1/\\* \\ + --no-wildcards \\ + --exclude=testdir/dir2/\\* \\ + --wildcards \\ + --exclude=testdir/dir3/\\* \\ + testdir +tar tf archive | sort + +echo \"NEXT\" +tar cf archive testdir +tar t \"testdir/dir1/*\" -f archive | sort + +echo \"NEXT\" +tar cf archive testdir/dir1 +tar t --no-wildcards \"testdir/dir1/*\" -f archive | sort + +echo \"NEXT\" +tar cf archive testdir +tar t --wildcards \"testdir/dir1/*\" -f archive | sort + +rm -rf testdir +)" +echo exclude01.at:20 >"$at_check_line_file" - $at_traceoff - $at_times_p && times >"$at_times_file" - ) 5>&1 2>&1 | eval $at_tee_pipe - at_status=`cat "$at_status_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 * - 15 ) # 15. delete03.at:21: deleting members with long names - at_setup_line='delete03.at:21' - at_desc="deleting members with long names" - $at_quiet $ECHO_N " 15: deleting members with long names $ECHO_C" - at_xfail=no - test -f $XFAILFILE && at_xfail=yes - echo "# -*- compilation -*-" >> "$at_group_log" - ( - echo "15. delete03.at:21: testing ..." - $at_traceon +test -z "`sort < /dev/null 2>&1`" || exit 77 +rm -rf testdir +mkdir -p testdir/dir1 testdir/dir2 testdir/dir3 +touch testdir/dir1/file1 +touch testdir/dir1/\* +touch testdir/dir2/file2 +touch testdir/dir2/\* +touch testdir/dir3/file3 +touch testdir/dir3/\* + +tar cf archive --exclude=testdir/dir1/\* \ + --no-wildcards \ + --exclude=testdir/dir2/\* \ + --wildcards \ + --exclude=testdir/dir3/\* \ + testdir +tar tf archive | sort + +echo "NEXT" +tar cf archive testdir +tar t "testdir/dir1/*" -f archive | sort + +echo "NEXT" +tar cf archive testdir/dir1 +tar t --no-wildcards "testdir/dir1/*" -f archive | sort + +echo "NEXT" +tar cf archive testdir +tar t --wildcards "testdir/dir1/*" -f archive | sort + +rm -rf testdir +) ) >"$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 * +test -z "`sort < /dev/null 2>&1`" || exit 77 - $at_traceoff -echo "$at_srcdir/delete03.at:26: -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu +rm -rf testdir +mkdir -p testdir/dir1 testdir/dir2 testdir/dir3 +touch testdir/dir1/file1 +touch testdir/dir1/\* +touch testdir/dir2/file2 +touch testdir/dir2/\* +touch testdir/dir3/file3 +touch testdir/dir3/\* + +tar cf archive --exclude=testdir/dir1/\* \ + --no-wildcards \ + --exclude=testdir/dir2/\* \ + --wildcards \ + --exclude=testdir/dir3/\* \ + testdir +tar tf archive | sort + +echo "NEXT" +tar cf archive testdir +tar t "testdir/dir1/*" -f archive | sort + +echo "NEXT" +tar cf archive testdir/dir1 +tar t --no-wildcards "testdir/dir1/*" -f archive | sort + +echo "NEXT" +tar cf archive testdir +tar t --wildcards "testdir/dir1/*" -f archive | sort + +rm -rf testdir +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "testdir/ +testdir/dir1/ +testdir/dir2/ +testdir/dir2/file2 +testdir/dir3/ +NEXT +testdir/dir1/* +NEXT +testdir/dir1/* +NEXT +testdir/dir1/* +testdir/dir1/file1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/exclude01.at:20" + +$at_failed && at_func_log_failure +$at_traceon; } + + { $at_traceoff +$as_echo "$at_srcdir/exclude01.at:20: +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H gnu\" +TAR_OPTIONS=\"-H ustar\" export TAR_OPTIONS rm -rf * -prefix=This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX -rm -f \$prefix* -for i in 1 2 3 4 5 6 7 8 9 -do touch \$prefix\$i -done -tar -cf archive ./\$prefix* && - tar --delete -f archive ./\${prefix}5 && - tar -tf archive -)" -echo delete03.at:26 >"$at_check_line_file" +test -z "`sort < /dev/null 2>&1`" || exit 77 -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains a ${...} parameter expansion)' -fi -if test -n "$at_trace_this"; then - ( $at_traceon; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu +rm -rf testdir +mkdir -p testdir/dir1 testdir/dir2 testdir/dir3 +touch testdir/dir1/file1 +touch testdir/dir1/\\* +touch testdir/dir2/file2 +touch testdir/dir2/\\* +touch testdir/dir3/file3 +touch testdir/dir3/\\* + +tar cf archive --exclude=testdir/dir1/\\* \\ + --no-wildcards \\ + --exclude=testdir/dir2/\\* \\ + --wildcards \\ + --exclude=testdir/dir3/\\* \\ + testdir +tar tf archive | sort + +echo \"NEXT\" +tar cf archive testdir +tar t \"testdir/dir1/*\" -f archive | sort + +echo \"NEXT\" +tar cf archive testdir/dir1 +tar t --no-wildcards \"testdir/dir1/*\" -f archive | sort + +echo \"NEXT\" +tar cf archive testdir +tar t --wildcards \"testdir/dir1/*\" -f archive | sort + +rm -rf testdir +)" +echo exclude01.at:20 >"$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 gnu" +TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * -prefix=This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX -rm -f $prefix* -for i in 1 2 3 4 5 6 7 8 9 -do touch $prefix$i -done -tar -cf archive ./$prefix* && - tar --delete -f archive ./${prefix}5 && - tar -tf archive +test -z "`sort < /dev/null 2>&1`" || exit 77 + + +rm -rf testdir +mkdir -p testdir/dir1 testdir/dir2 testdir/dir3 +touch testdir/dir1/file1 +touch testdir/dir1/\* +touch testdir/dir2/file2 +touch testdir/dir2/\* +touch testdir/dir3/file3 +touch testdir/dir3/\* + +tar cf archive --exclude=testdir/dir1/\* \ + --no-wildcards \ + --exclude=testdir/dir2/\* \ + --wildcards \ + --exclude=testdir/dir3/\* \ + testdir +tar tf archive | sort + +echo "NEXT" +tar cf archive testdir +tar t "testdir/dir1/*" -f archive | sort + +echo "NEXT" +tar cf archive testdir/dir1 +tar t --no-wildcards "testdir/dir1/*" -f archive | sort + +echo "NEXT" +tar cf archive testdir +tar t --wildcards "testdir/dir1/*" -f archive | sort + +rm -rf testdir ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu + ( :; +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" +TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * -prefix=This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX -rm -f $prefix* -for i in 1 2 3 4 5 6 7 8 9 -do touch $prefix$i -done -tar -cf archive ./$prefix* && - tar --delete -f archive ./${prefix}5 && - tar -tf archive -) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? -fi - -at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX1 -./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX2 -./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX3 -./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX4 -./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX6 -./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX7 -./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX8 -./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX9 -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/delete03.at:26: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +test -z "`sort < /dev/null 2>&1`" || exit 77 - echo 1 > "$at_status_file" - exit 1 +rm -rf testdir +mkdir -p testdir/dir1 testdir/dir2 testdir/dir3 +touch testdir/dir1/file1 +touch testdir/dir1/\* +touch testdir/dir2/file2 +touch testdir/dir2/\* +touch testdir/dir3/file3 +touch testdir/dir3/\* + +tar cf archive --exclude=testdir/dir1/\* \ + --no-wildcards \ + --exclude=testdir/dir2/\* \ + --wildcards \ + --exclude=testdir/dir3/\* \ + testdir +tar tf archive | sort + +echo "NEXT" +tar cf archive testdir +tar t "testdir/dir1/*" -f archive | sort + +echo "NEXT" +tar cf archive testdir/dir1 +tar t --no-wildcards "testdir/dir1/*" -f archive | sort + +echo "NEXT" +tar cf archive testdir +tar t --wildcards "testdir/dir1/*" -f archive | sort + +rm -rf testdir +) ) >"$at_stdout" 2>"$at_stderr" fi - -$at_traceon - - $at_traceoff -echo "$at_srcdir/delete03.at:26: -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "testdir/ +testdir/dir1/ +testdir/dir2/ +testdir/dir2/file2 +testdir/dir3/ +NEXT +testdir/dir1/* +NEXT +testdir/dir1/* +NEXT +testdir/dir1/* +testdir/dir1/file1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/exclude01.at:20" + +$at_failed && at_func_log_failure +$at_traceon; } + + { $at_traceoff +$as_echo "$at_srcdir/exclude01.at:20: +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H oldgnu\" +TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * -prefix=This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX -rm -f \$prefix* -for i in 1 2 3 4 5 6 7 8 9 -do touch \$prefix\$i -done -tar -cf archive ./\$prefix* && - tar --delete -f archive ./\${prefix}5 && - tar -tf archive -)" -echo delete03.at:26 >"$at_check_line_file" +test -z "`sort < /dev/null 2>&1`" || exit 77 -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains a ${...} parameter expansion)' -fi -if test -n "$at_trace_this"; then - ( $at_traceon; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu +rm -rf testdir +mkdir -p testdir/dir1 testdir/dir2 testdir/dir3 +touch testdir/dir1/file1 +touch testdir/dir1/\\* +touch testdir/dir2/file2 +touch testdir/dir2/\\* +touch testdir/dir3/file3 +touch testdir/dir3/\\* + +tar cf archive --exclude=testdir/dir1/\\* \\ + --no-wildcards \\ + --exclude=testdir/dir2/\\* \\ + --wildcards \\ + --exclude=testdir/dir3/\\* \\ + testdir +tar tf archive | sort + +echo \"NEXT\" +tar cf archive testdir +tar t \"testdir/dir1/*\" -f archive | sort + +echo \"NEXT\" +tar cf archive testdir/dir1 +tar t --no-wildcards \"testdir/dir1/*\" -f archive | sort + +echo \"NEXT\" +tar cf archive testdir +tar t --wildcards \"testdir/dir1/*\" -f archive | sort + +rm -rf testdir +)" +echo exclude01.at:20 >"$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 oldgnu" +TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * -prefix=This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX -rm -f $prefix* -for i in 1 2 3 4 5 6 7 8 9 -do touch $prefix$i -done -tar -cf archive ./$prefix* && - tar --delete -f archive ./${prefix}5 && - tar -tf archive +test -z "`sort < /dev/null 2>&1`" || exit 77 + + +rm -rf testdir +mkdir -p testdir/dir1 testdir/dir2 testdir/dir3 +touch testdir/dir1/file1 +touch testdir/dir1/\* +touch testdir/dir2/file2 +touch testdir/dir2/\* +touch testdir/dir3/file3 +touch testdir/dir3/\* + +tar cf archive --exclude=testdir/dir1/\* \ + --no-wildcards \ + --exclude=testdir/dir2/\* \ + --wildcards \ + --exclude=testdir/dir3/\* \ + testdir +tar tf archive | sort + +echo "NEXT" +tar cf archive testdir +tar t "testdir/dir1/*" -f archive | sort + +echo "NEXT" +tar cf archive testdir/dir1 +tar t --no-wildcards "testdir/dir1/*" -f archive | sort + +echo "NEXT" +tar cf archive testdir +tar t --wildcards "testdir/dir1/*" -f archive | sort + +rm -rf testdir ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu + ( :; +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" +TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * -prefix=This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX -rm -f $prefix* -for i in 1 2 3 4 5 6 7 8 9 -do touch $prefix$i -done -tar -cf archive ./$prefix* && - tar --delete -f archive ./${prefix}5 && - tar -tf archive -) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? -fi - -at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX1 -./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX2 -./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX3 -./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX4 -./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX6 -./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX7 -./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX8 -./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX9 -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/delete03.at:26: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +test -z "`sort < /dev/null 2>&1`" || exit 77 - echo 1 > "$at_status_file" - exit 1 +rm -rf testdir +mkdir -p testdir/dir1 testdir/dir2 testdir/dir3 +touch testdir/dir1/file1 +touch testdir/dir1/\* +touch testdir/dir2/file2 +touch testdir/dir2/\* +touch testdir/dir3/file3 +touch testdir/dir3/\* + +tar cf archive --exclude=testdir/dir1/\* \ + --no-wildcards \ + --exclude=testdir/dir2/\* \ + --wildcards \ + --exclude=testdir/dir3/\* \ + testdir +tar tf archive | sort + +echo "NEXT" +tar cf archive testdir +tar t "testdir/dir1/*" -f archive | sort + +echo "NEXT" +tar cf archive testdir/dir1 +tar t --no-wildcards "testdir/dir1/*" -f archive | sort + +echo "NEXT" +tar cf archive testdir +tar t --wildcards "testdir/dir1/*" -f archive | sort + +rm -rf testdir +) ) >"$at_stdout" 2>"$at_stderr" fi - -$at_traceon - - $at_traceoff -echo "$at_srcdir/delete03.at:26: -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "testdir/ +testdir/dir1/ +testdir/dir2/ +testdir/dir2/file2 +testdir/dir3/ +NEXT +testdir/dir1/* +NEXT +testdir/dir1/* +NEXT +testdir/dir1/* +testdir/dir1/file1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/exclude01.at:20" + +$at_failed && at_func_log_failure +$at_traceon; } + + { $at_traceoff +$as_echo "$at_srcdir/exclude01.at:20: +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 * -prefix=This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX -rm -f \$prefix* -for i in 1 2 3 4 5 6 7 8 9 -do touch \$prefix\$i -done -tar -cf archive ./\$prefix* && - tar --delete -f archive ./\${prefix}5 && - tar -tf archive -)" -echo delete03.at:26 >"$at_check_line_file" +test -z "`sort < /dev/null 2>&1`" || exit 77 -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains a ${...} parameter expansion)' -fi -if test -n "$at_trace_this"; then - ( $at_traceon; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix +rm -rf testdir +mkdir -p testdir/dir1 testdir/dir2 testdir/dir3 +touch testdir/dir1/file1 +touch testdir/dir1/\\* +touch testdir/dir2/file2 +touch testdir/dir2/\\* +touch testdir/dir3/file3 +touch testdir/dir3/\\* + +tar cf archive --exclude=testdir/dir1/\\* \\ + --no-wildcards \\ + --exclude=testdir/dir2/\\* \\ + --wildcards \\ + --exclude=testdir/dir3/\\* \\ + testdir +tar tf archive | sort + +echo \"NEXT\" +tar cf archive testdir +tar t \"testdir/dir1/*\" -f archive | sort + +echo \"NEXT\" +tar cf archive testdir/dir1 +tar t --no-wildcards \"testdir/dir1/*\" -f archive | sort + +echo \"NEXT\" +tar cf archive testdir +tar t --wildcards \"testdir/dir1/*\" -f archive | sort + +rm -rf testdir +)" +echo exclude01.at:20 >"$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 posix" +TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -prefix=This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX -rm -f $prefix* -for i in 1 2 3 4 5 6 7 8 9 -do touch $prefix$i -done -tar -cf archive ./$prefix* && - tar --delete -f archive ./${prefix}5 && - tar -tf archive +test -z "`sort < /dev/null 2>&1`" || exit 77 + + +rm -rf testdir +mkdir -p testdir/dir1 testdir/dir2 testdir/dir3 +touch testdir/dir1/file1 +touch testdir/dir1/\* +touch testdir/dir2/file2 +touch testdir/dir2/\* +touch testdir/dir3/file3 +touch testdir/dir3/\* + +tar cf archive --exclude=testdir/dir1/\* \ + --no-wildcards \ + --exclude=testdir/dir2/\* \ + --wildcards \ + --exclude=testdir/dir3/\* \ + testdir +tar tf archive | sort + +echo "NEXT" +tar cf archive testdir +tar t "testdir/dir1/*" -f archive | sort + +echo "NEXT" +tar cf archive testdir/dir1 +tar t --no-wildcards "testdir/dir1/*" -f archive | sort + +echo "NEXT" +tar cf archive testdir +tar t --wildcards "testdir/dir1/*" -f archive | sort + +rm -rf testdir ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + 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 * -prefix=This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX -rm -f $prefix* -for i in 1 2 3 4 5 6 7 8 9 -do touch $prefix$i -done -tar -cf archive ./$prefix* && - tar --delete -f archive ./${prefix}5 && - tar -tf archive -) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? -fi - -at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX1 -./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX2 -./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX3 -./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX4 -./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX6 -./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX7 -./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX8 -./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX9 -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/delete03.at:26: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +test -z "`sort < /dev/null 2>&1`" || exit 77 - echo 1 > "$at_status_file" - exit 1 +rm -rf testdir +mkdir -p testdir/dir1 testdir/dir2 testdir/dir3 +touch testdir/dir1/file1 +touch testdir/dir1/\* +touch testdir/dir2/file2 +touch testdir/dir2/\* +touch testdir/dir3/file3 +touch testdir/dir3/\* + +tar cf archive --exclude=testdir/dir1/\* \ + --no-wildcards \ + --exclude=testdir/dir2/\* \ + --wildcards \ + --exclude=testdir/dir3/\* \ + testdir +tar tf archive | sort + +echo "NEXT" +tar cf archive testdir +tar t "testdir/dir1/*" -f archive | sort + +echo "NEXT" +tar cf archive testdir/dir1 +tar t --no-wildcards "testdir/dir1/*" -f archive | sort + +echo "NEXT" +tar cf archive testdir +tar t --wildcards "testdir/dir1/*" -f archive | sort + +rm -rf testdir +) ) >"$at_stdout" 2>"$at_stderr" fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "testdir/ +testdir/dir1/ +testdir/dir2/ +testdir/dir2/file2 +testdir/dir3/ +NEXT +testdir/dir1/* +NEXT +testdir/dir1/* +NEXT +testdir/dir1/* +testdir/dir1/file1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/exclude01.at:20" -$at_traceon - +$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"` - ;; - 16 ) # 16. delete04.at:23: deleting a large last member - at_setup_line='delete04.at:23' - at_desc="deleting a large last member" - $at_quiet $ECHO_N " 16: deleting a large last member $ECHO_C" - at_xfail=no + $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. exclude02.at:17: exclude: anchoring +at_setup_line='exclude02.at:17' +at_desc="exclude: anchoring" +$at_quiet $as_echo_n " 15: $at_desc " +at_xfail=no test -f $XFAILFILE && at_xfail=yes - echo "# -*- compilation -*-" >> "$at_group_log" - ( - echo "16. delete04.at:23: testing ..." - $at_traceon +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "15. exclude02.at:17: testing ..." + $at_traceon - $at_traceoff -echo "$at_srcdir/delete04.at:26: + { $at_traceoff +$as_echo "$at_srcdir/exclude02.at:20: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -6400,29 +6520,50 @@ TAR_OPTIONS=\"-H v7\" export TAR_OPTIONS rm -rf * -genfile -l 3 -f file1 -genfile -l 5 -f file2 -genfile -l 3 -f file3 -genfile -l 6 -f file4 -genfile -l 24 -f file5 -genfile -l 13 -f file6 -genfile -l 1385 -f file7 -genfile -l 30 -f file8 -genfile -l 10 -f file9 -genfile -l 256000 -f file10 -tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10 -tar f archive --delete file10 -tar tf archive -)" -echo delete04.at:26 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +test -z "`sort < /dev/null 2>&1`" || exit 77 + + +rm -rf testdir +mkdir -p testdir +touch file1.txt +touch testdir/file1.txt +touch testdir/file2 + +tar cf archive --exclude=\"file1.txt\" \\ + testdir +tar tf archive | sort + +echo \"SUB 1\" +tar cf archive --no-anchored \\ + --exclude=\"file1.txt\" \\ + testdir +tar tf archive | sort + +echo \"SUB 2\" +tar cf archive --anchored \\ + --exclude=\"file1.txt\" \\ + testdir +tar tf archive | sort + +echo \"SUB 3\" +tar cf archive testdir file1.txt +tar t \"file1.txt\" -f archive | sort -if test -n "$at_trace_this"; then - ( $at_traceon; +echo \"SUB 4\" +tar t --no-anchored \"file1.txt\" -f archive | sort + +echo \"SUB 5\" +tar t --anchored \"file1.txt\" -f archive | sort + +rm -rf testdir file1.txt + +)" +echo exclude02.at:20 >"$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 @@ -6431,25 +6572,48 @@ TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * -genfile -l 3 -f file1 -genfile -l 5 -f file2 -genfile -l 3 -f file3 -genfile -l 6 -f file4 -genfile -l 24 -f file5 -genfile -l 13 -f file6 -genfile -l 1385 -f file7 -genfile -l 30 -f file8 -genfile -l 10 -f file9 -genfile -l 256000 -f file10 -tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10 -tar f archive --delete file10 -tar tf archive + +test -z "`sort < /dev/null 2>&1`" || exit 77 + + +rm -rf testdir +mkdir -p testdir +touch file1.txt +touch testdir/file1.txt +touch testdir/file2 + +tar cf archive --exclude="file1.txt" \ + testdir +tar tf archive | sort + +echo "SUB 1" +tar cf archive --no-anchored \ + --exclude="file1.txt" \ + testdir +tar tf archive | sort + +echo "SUB 2" +tar cf archive --anchored \ + --exclude="file1.txt" \ + testdir +tar tf archive | sort + +echo "SUB 3" +tar cf archive testdir file1.txt +tar t "file1.txt" -f archive | sort + +echo "SUB 4" +tar t --no-anchored "file1.txt" -f archive | sort + +echo "SUB 5" +tar t --anchored "file1.txt" -f archive | sort + +rm -rf testdir file1.txt + ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -6458,52 +6622,74 @@ TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * -genfile -l 3 -f file1 -genfile -l 5 -f file2 -genfile -l 3 -f file3 -genfile -l 6 -f file4 -genfile -l 24 -f file5 -genfile -l 13 -f file6 -genfile -l 1385 -f file7 -genfile -l 30 -f file8 -genfile -l 10 -f file9 -genfile -l 256000 -f file10 -tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10 -tar f archive --delete file10 -tar tf archive -) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? -fi -at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "file1 -file2 -file3 -file4 -file5 -file6 -file7 -file8 -file9 -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/delete04.at:26: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +test -z "`sort < /dev/null 2>&1`" || exit 77 - echo 1 > "$at_status_file" - exit 1 -fi +rm -rf testdir +mkdir -p testdir +touch file1.txt +touch testdir/file1.txt +touch testdir/file2 + +tar cf archive --exclude="file1.txt" \ + testdir +tar tf archive | sort + +echo "SUB 1" +tar cf archive --no-anchored \ + --exclude="file1.txt" \ + testdir +tar tf archive | sort + +echo "SUB 2" +tar cf archive --anchored \ + --exclude="file1.txt" \ + testdir +tar tf archive | sort -$at_traceon +echo "SUB 3" +tar cf archive testdir file1.txt +tar t "file1.txt" -f archive | sort - $at_traceoff -echo "$at_srcdir/delete04.at:26: +echo "SUB 4" +tar t --no-anchored "file1.txt" -f archive | sort + +echo "SUB 5" +tar t --anchored "file1.txt" -f archive | sort + +rm -rf testdir file1.txt + +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "testdir/ +testdir/file2 +SUB 1 +testdir/ +testdir/file2 +SUB 2 +testdir/ +testdir/file1.txt +testdir/file2 +SUB 3 +file1.txt +SUB 4 +file1.txt +testdir/file1.txt +SUB 5 +file1.txt +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/exclude02.at:20" + +$at_failed && at_func_log_failure +$at_traceon; } + + { $at_traceoff +$as_echo "$at_srcdir/exclude02.at:20: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -6512,29 +6698,50 @@ TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * -genfile -l 3 -f file1 -genfile -l 5 -f file2 -genfile -l 3 -f file3 -genfile -l 6 -f file4 -genfile -l 24 -f file5 -genfile -l 13 -f file6 -genfile -l 1385 -f file7 -genfile -l 30 -f file8 -genfile -l 10 -f file9 -genfile -l 256000 -f file10 -tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10 -tar f archive --delete file10 -tar tf archive -)" -echo delete04.at:26 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +test -z "`sort < /dev/null 2>&1`" || exit 77 -if test -n "$at_trace_this"; then - ( $at_traceon; + +rm -rf testdir +mkdir -p testdir +touch file1.txt +touch testdir/file1.txt +touch testdir/file2 + +tar cf archive --exclude=\"file1.txt\" \\ + testdir +tar tf archive | sort + +echo \"SUB 1\" +tar cf archive --no-anchored \\ + --exclude=\"file1.txt\" \\ + testdir +tar tf archive | sort + +echo \"SUB 2\" +tar cf archive --anchored \\ + --exclude=\"file1.txt\" \\ + testdir +tar tf archive | sort + +echo \"SUB 3\" +tar cf archive testdir file1.txt +tar t \"file1.txt\" -f archive | sort + +echo \"SUB 4\" +tar t --no-anchored \"file1.txt\" -f archive | sort + +echo \"SUB 5\" +tar t --anchored \"file1.txt\" -f archive | sort + +rm -rf testdir file1.txt + +)" +echo exclude02.at:20 >"$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 @@ -6543,25 +6750,48 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * -genfile -l 3 -f file1 -genfile -l 5 -f file2 -genfile -l 3 -f file3 -genfile -l 6 -f file4 -genfile -l 24 -f file5 -genfile -l 13 -f file6 -genfile -l 1385 -f file7 -genfile -l 30 -f file8 -genfile -l 10 -f file9 -genfile -l 256000 -f file10 -tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10 -tar f archive --delete file10 -tar tf archive + +test -z "`sort < /dev/null 2>&1`" || exit 77 + + +rm -rf testdir +mkdir -p testdir +touch file1.txt +touch testdir/file1.txt +touch testdir/file2 + +tar cf archive --exclude="file1.txt" \ + testdir +tar tf archive | sort + +echo "SUB 1" +tar cf archive --no-anchored \ + --exclude="file1.txt" \ + testdir +tar tf archive | sort + +echo "SUB 2" +tar cf archive --anchored \ + --exclude="file1.txt" \ + testdir +tar tf archive | sort + +echo "SUB 3" +tar cf archive testdir file1.txt +tar t "file1.txt" -f archive | sort + +echo "SUB 4" +tar t --no-anchored "file1.txt" -f archive | sort + +echo "SUB 5" +tar t --anchored "file1.txt" -f archive | sort + +rm -rf testdir file1.txt + ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -6570,52 +6800,74 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * -genfile -l 3 -f file1 -genfile -l 5 -f file2 -genfile -l 3 -f file3 -genfile -l 6 -f file4 -genfile -l 24 -f file5 -genfile -l 13 -f file6 -genfile -l 1385 -f file7 -genfile -l 30 -f file8 -genfile -l 10 -f file9 -genfile -l 256000 -f file10 -tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10 -tar f archive --delete file10 -tar tf archive -) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? -fi -at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "file1 -file2 -file3 -file4 -file5 -file6 -file7 -file8 -file9 -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/delete04.at:26: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +test -z "`sort < /dev/null 2>&1`" || exit 77 - echo 1 > "$at_status_file" - exit 1 -fi +rm -rf testdir +mkdir -p testdir +touch file1.txt +touch testdir/file1.txt +touch testdir/file2 + +tar cf archive --exclude="file1.txt" \ + testdir +tar tf archive | sort + +echo "SUB 1" +tar cf archive --no-anchored \ + --exclude="file1.txt" \ + testdir +tar tf archive | sort + +echo "SUB 2" +tar cf archive --anchored \ + --exclude="file1.txt" \ + testdir +tar tf archive | sort + +echo "SUB 3" +tar cf archive testdir file1.txt +tar t "file1.txt" -f archive | sort + +echo "SUB 4" +tar t --no-anchored "file1.txt" -f archive | sort -$at_traceon +echo "SUB 5" +tar t --anchored "file1.txt" -f archive | sort - $at_traceoff -echo "$at_srcdir/delete04.at:26: +rm -rf testdir file1.txt + +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "testdir/ +testdir/file2 +SUB 1 +testdir/ +testdir/file2 +SUB 2 +testdir/ +testdir/file1.txt +testdir/file2 +SUB 3 +file1.txt +SUB 4 +file1.txt +testdir/file1.txt +SUB 5 +file1.txt +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/exclude02.at:20" + +$at_failed && at_func_log_failure +$at_traceon; } + + { $at_traceoff +$as_echo "$at_srcdir/exclude02.at:20: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -6624,29 +6876,50 @@ TAR_OPTIONS=\"-H ustar\" export TAR_OPTIONS rm -rf * -genfile -l 3 -f file1 -genfile -l 5 -f file2 -genfile -l 3 -f file3 -genfile -l 6 -f file4 -genfile -l 24 -f file5 -genfile -l 13 -f file6 -genfile -l 1385 -f file7 -genfile -l 30 -f file8 -genfile -l 10 -f file9 -genfile -l 256000 -f file10 -tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10 -tar f archive --delete file10 -tar tf archive -)" -echo delete04.at:26 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +test -z "`sort < /dev/null 2>&1`" || exit 77 + + +rm -rf testdir +mkdir -p testdir +touch file1.txt +touch testdir/file1.txt +touch testdir/file2 -if test -n "$at_trace_this"; then - ( $at_traceon; +tar cf archive --exclude=\"file1.txt\" \\ + testdir +tar tf archive | sort + +echo \"SUB 1\" +tar cf archive --no-anchored \\ + --exclude=\"file1.txt\" \\ + testdir +tar tf archive | sort + +echo \"SUB 2\" +tar cf archive --anchored \\ + --exclude=\"file1.txt\" \\ + testdir +tar tf archive | sort + +echo \"SUB 3\" +tar cf archive testdir file1.txt +tar t \"file1.txt\" -f archive | sort + +echo \"SUB 4\" +tar t --no-anchored \"file1.txt\" -f archive | sort + +echo \"SUB 5\" +tar t --anchored \"file1.txt\" -f archive | sort + +rm -rf testdir file1.txt + +)" +echo exclude02.at:20 >"$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 @@ -6655,25 +6928,48 @@ TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * -genfile -l 3 -f file1 -genfile -l 5 -f file2 -genfile -l 3 -f file3 -genfile -l 6 -f file4 -genfile -l 24 -f file5 -genfile -l 13 -f file6 -genfile -l 1385 -f file7 -genfile -l 30 -f file8 -genfile -l 10 -f file9 -genfile -l 256000 -f file10 -tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10 -tar f archive --delete file10 -tar tf archive + +test -z "`sort < /dev/null 2>&1`" || exit 77 + + +rm -rf testdir +mkdir -p testdir +touch file1.txt +touch testdir/file1.txt +touch testdir/file2 + +tar cf archive --exclude="file1.txt" \ + testdir +tar tf archive | sort + +echo "SUB 1" +tar cf archive --no-anchored \ + --exclude="file1.txt" \ + testdir +tar tf archive | sort + +echo "SUB 2" +tar cf archive --anchored \ + --exclude="file1.txt" \ + testdir +tar tf archive | sort + +echo "SUB 3" +tar cf archive testdir file1.txt +tar t "file1.txt" -f archive | sort + +echo "SUB 4" +tar t --no-anchored "file1.txt" -f archive | sort + +echo "SUB 5" +tar t --anchored "file1.txt" -f archive | sort + +rm -rf testdir file1.txt + ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -6682,52 +6978,74 @@ TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * -genfile -l 3 -f file1 -genfile -l 5 -f file2 -genfile -l 3 -f file3 -genfile -l 6 -f file4 -genfile -l 24 -f file5 -genfile -l 13 -f file6 -genfile -l 1385 -f file7 -genfile -l 30 -f file8 -genfile -l 10 -f file9 -genfile -l 256000 -f file10 -tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10 -tar f archive --delete file10 -tar tf archive -) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? -fi -at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "file1 -file2 -file3 -file4 -file5 -file6 -file7 -file8 -file9 -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/delete04.at:26: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +test -z "`sort < /dev/null 2>&1`" || exit 77 - echo 1 > "$at_status_file" - exit 1 -fi +rm -rf testdir +mkdir -p testdir +touch file1.txt +touch testdir/file1.txt +touch testdir/file2 + +tar cf archive --exclude="file1.txt" \ + testdir +tar tf archive | sort + +echo "SUB 1" +tar cf archive --no-anchored \ + --exclude="file1.txt" \ + testdir +tar tf archive | sort + +echo "SUB 2" +tar cf archive --anchored \ + --exclude="file1.txt" \ + testdir +tar tf archive | sort -$at_traceon +echo "SUB 3" +tar cf archive testdir file1.txt +tar t "file1.txt" -f archive | sort - $at_traceoff -echo "$at_srcdir/delete04.at:26: +echo "SUB 4" +tar t --no-anchored "file1.txt" -f archive | sort + +echo "SUB 5" +tar t --anchored "file1.txt" -f archive | sort + +rm -rf testdir file1.txt + +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "testdir/ +testdir/file2 +SUB 1 +testdir/ +testdir/file2 +SUB 2 +testdir/ +testdir/file1.txt +testdir/file2 +SUB 3 +file1.txt +SUB 4 +file1.txt +testdir/file1.txt +SUB 5 +file1.txt +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/exclude02.at:20" + +$at_failed && at_func_log_failure +$at_traceon; } + + { $at_traceoff +$as_echo "$at_srcdir/exclude02.at:20: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -6736,29 +7054,50 @@ TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * -genfile -l 3 -f file1 -genfile -l 5 -f file2 -genfile -l 3 -f file3 -genfile -l 6 -f file4 -genfile -l 24 -f file5 -genfile -l 13 -f file6 -genfile -l 1385 -f file7 -genfile -l 30 -f file8 -genfile -l 10 -f file9 -genfile -l 256000 -f file10 -tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10 -tar f archive --delete file10 -tar tf archive -)" -echo delete04.at:26 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +test -z "`sort < /dev/null 2>&1`" || exit 77 + + +rm -rf testdir +mkdir -p testdir +touch file1.txt +touch testdir/file1.txt +touch testdir/file2 + +tar cf archive --exclude=\"file1.txt\" \\ + testdir +tar tf archive | sort + +echo \"SUB 1\" +tar cf archive --no-anchored \\ + --exclude=\"file1.txt\" \\ + testdir +tar tf archive | sort -if test -n "$at_trace_this"; then - ( $at_traceon; +echo \"SUB 2\" +tar cf archive --anchored \\ + --exclude=\"file1.txt\" \\ + testdir +tar tf archive | sort + +echo \"SUB 3\" +tar cf archive testdir file1.txt +tar t \"file1.txt\" -f archive | sort + +echo \"SUB 4\" +tar t --no-anchored \"file1.txt\" -f archive | sort + +echo \"SUB 5\" +tar t --anchored \"file1.txt\" -f archive | sort + +rm -rf testdir file1.txt + +)" +echo exclude02.at:20 >"$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 @@ -6767,25 +7106,48 @@ TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * -genfile -l 3 -f file1 -genfile -l 5 -f file2 -genfile -l 3 -f file3 -genfile -l 6 -f file4 -genfile -l 24 -f file5 -genfile -l 13 -f file6 -genfile -l 1385 -f file7 -genfile -l 30 -f file8 -genfile -l 10 -f file9 -genfile -l 256000 -f file10 -tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10 -tar f archive --delete file10 -tar tf archive + +test -z "`sort < /dev/null 2>&1`" || exit 77 + + +rm -rf testdir +mkdir -p testdir +touch file1.txt +touch testdir/file1.txt +touch testdir/file2 + +tar cf archive --exclude="file1.txt" \ + testdir +tar tf archive | sort + +echo "SUB 1" +tar cf archive --no-anchored \ + --exclude="file1.txt" \ + testdir +tar tf archive | sort + +echo "SUB 2" +tar cf archive --anchored \ + --exclude="file1.txt" \ + testdir +tar tf archive | sort + +echo "SUB 3" +tar cf archive testdir file1.txt +tar t "file1.txt" -f archive | sort + +echo "SUB 4" +tar t --no-anchored "file1.txt" -f archive | sort + +echo "SUB 5" +tar t --anchored "file1.txt" -f archive | sort + +rm -rf testdir file1.txt + ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -6794,52 +7156,74 @@ TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * -genfile -l 3 -f file1 -genfile -l 5 -f file2 -genfile -l 3 -f file3 -genfile -l 6 -f file4 -genfile -l 24 -f file5 -genfile -l 13 -f file6 -genfile -l 1385 -f file7 -genfile -l 30 -f file8 -genfile -l 10 -f file9 -genfile -l 256000 -f file10 -tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10 -tar f archive --delete file10 -tar tf archive -) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? -fi -at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "file1 -file2 -file3 -file4 -file5 -file6 -file7 -file8 -file9 -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/delete04.at:26: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +test -z "`sort < /dev/null 2>&1`" || exit 77 - echo 1 > "$at_status_file" - exit 1 -fi +rm -rf testdir +mkdir -p testdir +touch file1.txt +touch testdir/file1.txt +touch testdir/file2 + +tar cf archive --exclude="file1.txt" \ + testdir +tar tf archive | sort -$at_traceon +echo "SUB 1" +tar cf archive --no-anchored \ + --exclude="file1.txt" \ + testdir +tar tf archive | sort - $at_traceoff -echo "$at_srcdir/delete04.at:26: +echo "SUB 2" +tar cf archive --anchored \ + --exclude="file1.txt" \ + testdir +tar tf archive | sort + +echo "SUB 3" +tar cf archive testdir file1.txt +tar t "file1.txt" -f archive | sort + +echo "SUB 4" +tar t --no-anchored "file1.txt" -f archive | sort + +echo "SUB 5" +tar t --anchored "file1.txt" -f archive | sort + +rm -rf testdir file1.txt + +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "testdir/ +testdir/file2 +SUB 1 +testdir/ +testdir/file2 +SUB 2 +testdir/ +testdir/file1.txt +testdir/file2 +SUB 3 +file1.txt +SUB 4 +file1.txt +testdir/file1.txt +SUB 5 +file1.txt +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/exclude02.at:20" + +$at_failed && at_func_log_failure +$at_traceon; } + + { $at_traceoff +$as_echo "$at_srcdir/exclude02.at:20: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -6848,29 +7232,50 @@ TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -genfile -l 3 -f file1 -genfile -l 5 -f file2 -genfile -l 3 -f file3 -genfile -l 6 -f file4 -genfile -l 24 -f file5 -genfile -l 13 -f file6 -genfile -l 1385 -f file7 -genfile -l 30 -f file8 -genfile -l 10 -f file9 -genfile -l 256000 -f file10 -tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10 -tar f archive --delete file10 -tar tf archive -)" -echo delete04.at:26 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +test -z "`sort < /dev/null 2>&1`" || exit 77 + + +rm -rf testdir +mkdir -p testdir +touch file1.txt +touch testdir/file1.txt +touch testdir/file2 + +tar cf archive --exclude=\"file1.txt\" \\ + testdir +tar tf archive | sort + +echo \"SUB 1\" +tar cf archive --no-anchored \\ + --exclude=\"file1.txt\" \\ + testdir +tar tf archive | sort + +echo \"SUB 2\" +tar cf archive --anchored \\ + --exclude=\"file1.txt\" \\ + testdir +tar tf archive | sort + +echo \"SUB 3\" +tar cf archive testdir file1.txt +tar t \"file1.txt\" -f archive | sort -if test -n "$at_trace_this"; then - ( $at_traceon; +echo \"SUB 4\" +tar t --no-anchored \"file1.txt\" -f archive | sort + +echo \"SUB 5\" +tar t --anchored \"file1.txt\" -f archive | sort + +rm -rf testdir file1.txt + +)" +echo exclude02.at:20 >"$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 @@ -6879,25 +7284,48 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -genfile -l 3 -f file1 -genfile -l 5 -f file2 -genfile -l 3 -f file3 -genfile -l 6 -f file4 -genfile -l 24 -f file5 -genfile -l 13 -f file6 -genfile -l 1385 -f file7 -genfile -l 30 -f file8 -genfile -l 10 -f file9 -genfile -l 256000 -f file10 -tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10 -tar f archive --delete file10 -tar tf archive + +test -z "`sort < /dev/null 2>&1`" || exit 77 + + +rm -rf testdir +mkdir -p testdir +touch file1.txt +touch testdir/file1.txt +touch testdir/file2 + +tar cf archive --exclude="file1.txt" \ + testdir +tar tf archive | sort + +echo "SUB 1" +tar cf archive --no-anchored \ + --exclude="file1.txt" \ + testdir +tar tf archive | sort + +echo "SUB 2" +tar cf archive --anchored \ + --exclude="file1.txt" \ + testdir +tar tf archive | sort + +echo "SUB 3" +tar cf archive testdir file1.txt +tar t "file1.txt" -f archive | sort + +echo "SUB 4" +tar t --no-anchored "file1.txt" -f archive | sort + +echo "SUB 5" +tar t --anchored "file1.txt" -f archive | sort + +rm -rf testdir file1.txt + ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -6906,76 +7334,98 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -genfile -l 3 -f file1 -genfile -l 5 -f file2 -genfile -l 3 -f file3 -genfile -l 6 -f file4 -genfile -l 24 -f file5 -genfile -l 13 -f file6 -genfile -l 1385 -f file7 -genfile -l 30 -f file8 -genfile -l 10 -f file9 -genfile -l 256000 -f file10 -tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10 -tar f archive --delete file10 -tar tf archive -) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? -fi -at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "file1 -file2 -file3 -file4 -file5 -file6 -file7 -file8 -file9 -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/delete04.at:26: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +test -z "`sort < /dev/null 2>&1`" || exit 77 - echo 1 > "$at_status_file" - exit 1 -fi +rm -rf testdir +mkdir -p testdir +touch file1.txt +touch testdir/file1.txt +touch testdir/file2 -$at_traceon +tar cf archive --exclude="file1.txt" \ + testdir +tar tf archive | sort +echo "SUB 1" +tar cf archive --no-anchored \ + --exclude="file1.txt" \ + testdir +tar tf archive | sort +echo "SUB 2" +tar cf archive --anchored \ + --exclude="file1.txt" \ + testdir +tar tf archive | sort +echo "SUB 3" +tar cf archive testdir file1.txt +tar t "file1.txt" -f archive | sort - $at_traceoff - $at_times_p && times >"$at_times_file" - ) 5>&1 2>&1 | eval $at_tee_pipe - at_status=`cat "$at_status_file"` - ;; +echo "SUB 4" +tar t --no-anchored "file1.txt" -f archive | sort - 17 ) # 17. delete05.at:27: deleting non-existing member - at_setup_line='delete05.at:27' - at_desc="deleting non-existing member" - $at_quiet $ECHO_N " 17: deleting non-existing member $ECHO_C" - at_xfail=no - test -f $XFAILFILE && at_xfail=yes - echo "# -*- compilation -*-" >> "$at_group_log" - ( - echo "17. delete05.at:27: testing ..." - $at_traceon +echo "SUB 5" +tar t --anchored "file1.txt" -f archive | sort + +rm -rf testdir file1.txt +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "testdir/ +testdir/file2 +SUB 1 +testdir/ +testdir/file2 +SUB 2 +testdir/ +testdir/file1.txt +testdir/file2 +SUB 3 +file1.txt +SUB 4 +file1.txt +testdir/file1.txt +SUB 5 +file1.txt +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/exclude02.at:20" + +$at_failed && at_func_log_failure +$at_traceon; } $at_traceoff -echo "$at_srcdir/delete05.at:30: + $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_setup_line='exclude03.at:17' +at_desc="exclude: wildcards match slash" +$at_quiet $as_echo_n " 16: $at_desc " +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "16. exclude03.at:17: testing ..." + $at_traceon + + + + + + { $at_traceoff +$as_echo "$at_srcdir/exclude03.at:20: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -6984,24 +7434,46 @@ TAR_OPTIONS=\"-H v7\" export TAR_OPTIONS rm -rf * -genfile -l 1024 -f en -genfile -l 1024 -f to -tar cf archive en to -# Make sure we don't use bogus blocking factor. -# GNU tar up to and including 1.14.91 produced an empty archive this way: -tar --file archive --blocking-factor=20 --delete tre -tar tf archive -)" -echo delete05.at:30 >"$at_check_line_file" +test -z "`sort < /dev/null 2>&1`" || exit 77 -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi -if test -n "$at_trace_this"; then - ( $at_traceon; +rm -rf testdir +mkdir -p testdir/dir1 testdir/dir2 testdir/dir3 +touch testdir/\\*f\\*1 +touch testdir/dir1/file1 +touch testdir/dir1/\\* +touch testdir/dir2/file2 +touch testdir/dir2/\\* +touch testdir/dir3/file3 +touch testdir/dir3/\\* + +tar cf archive --exclude='testdir*f*1' \\ + --no-wildcards-match-slash \\ + --exclude='testdir*f*2' \\ + --wildcards-match-slash \\ + --exclude='testdir*f*3' \\ + testdir +tar tf archive | sort + +echo \"NEXT\" +tar cf archive testdir +tar t --wildcards 'testdir/*f*1' -f archive | sort + +echo \"NEXT\" +tar t --wildcards --no-wildcards-match-slash 'testdir/*f*1' -f archive | sort + +echo \"NEXT\" +tar t --wildcards --wildcards-match-slash 'testdir/*f*1' -f archive | sort + +rm -rf testdir + +)" +echo exclude03.at:20 >"$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 @@ -7010,20 +7482,44 @@ TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * -genfile -l 1024 -f en -genfile -l 1024 -f to -tar cf archive en to -# Make sure we don't use bogus blocking factor. -# GNU tar up to and including 1.14.91 produced an empty archive this way: -tar --file archive --blocking-factor=20 --delete tre -tar tf archive +test -z "`sort < /dev/null 2>&1`" || exit 77 + + +rm -rf testdir +mkdir -p testdir/dir1 testdir/dir2 testdir/dir3 +touch testdir/\*f\*1 +touch testdir/dir1/file1 +touch testdir/dir1/\* +touch testdir/dir2/file2 +touch testdir/dir2/\* +touch testdir/dir3/file3 +touch testdir/dir3/\* + +tar cf archive --exclude='testdir*f*1' \ + --no-wildcards-match-slash \ + --exclude='testdir*f*2' \ + --wildcards-match-slash \ + --exclude='testdir*f*3' \ + testdir +tar tf archive | sort + +echo "NEXT" +tar cf archive testdir +tar t --wildcards 'testdir/*f*1' -f archive | sort + +echo "NEXT" +tar t --wildcards --no-wildcards-match-slash 'testdir/*f*1' -f archive | sort + +echo "NEXT" +tar t --wildcards --wildcards-match-slash 'testdir/*f*1' -f archive | sort + +rm -rf testdir + ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -7032,42 +7528,70 @@ TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * -genfile -l 1024 -f en -genfile -l 1024 -f to -tar cf archive en to -# Make sure we don't use bogus blocking factor. -# GNU tar up to and including 1.14.91 produced an empty archive this way: -tar --file archive --blocking-factor=20 --delete tre -tar tf archive -) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? -fi +test -z "`sort < /dev/null 2>&1`" || exit 77 -at_failed=false -echo >>"$at_stderr"; echo "tar: tre: Not found in archive -tar: Exiting with failure status due to previous errors -" | $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "en -to -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/delete05.at:30: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +rm -rf testdir +mkdir -p testdir/dir1 testdir/dir2 testdir/dir3 +touch testdir/\*f\*1 +touch testdir/dir1/file1 +touch testdir/dir1/\* +touch testdir/dir2/file2 +touch testdir/dir2/\* +touch testdir/dir3/file3 +touch testdir/dir3/\* - echo 1 > "$at_status_file" - exit 1 -fi +tar cf archive --exclude='testdir*f*1' \ + --no-wildcards-match-slash \ + --exclude='testdir*f*2' \ + --wildcards-match-slash \ + --exclude='testdir*f*3' \ + testdir +tar tf archive | sort + +echo "NEXT" +tar cf archive testdir +tar t --wildcards 'testdir/*f*1' -f archive | sort + +echo "NEXT" +tar t --wildcards --no-wildcards-match-slash 'testdir/*f*1' -f archive | sort + +echo "NEXT" +tar t --wildcards --wildcards-match-slash 'testdir/*f*1' -f archive | sort -$at_traceon +rm -rf testdir - $at_traceoff -echo "$at_srcdir/delete05.at:30: +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "testdir/ +testdir/dir1/ +testdir/dir1/* +testdir/dir2/ +testdir/dir2/* +testdir/dir2/file2 +testdir/dir3/ +testdir/dir3/* +NEXT +testdir/*f*1 +testdir/dir1/file1 +NEXT +testdir/*f*1 +NEXT +testdir/*f*1 +testdir/dir1/file1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/exclude03.at:20" + +$at_failed && at_func_log_failure +$at_traceon; } + + { $at_traceoff +$as_echo "$at_srcdir/exclude03.at:20: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -7076,24 +7600,46 @@ TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * -genfile -l 1024 -f en -genfile -l 1024 -f to -tar cf archive en to -# Make sure we don't use bogus blocking factor. -# GNU tar up to and including 1.14.91 produced an empty archive this way: -tar --file archive --blocking-factor=20 --delete tre -tar tf archive -)" -echo delete05.at:30 >"$at_check_line_file" +test -z "`sort < /dev/null 2>&1`" || exit 77 -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi -if test -n "$at_trace_this"; then - ( $at_traceon; +rm -rf testdir +mkdir -p testdir/dir1 testdir/dir2 testdir/dir3 +touch testdir/\\*f\\*1 +touch testdir/dir1/file1 +touch testdir/dir1/\\* +touch testdir/dir2/file2 +touch testdir/dir2/\\* +touch testdir/dir3/file3 +touch testdir/dir3/\\* + +tar cf archive --exclude='testdir*f*1' \\ + --no-wildcards-match-slash \\ + --exclude='testdir*f*2' \\ + --wildcards-match-slash \\ + --exclude='testdir*f*3' \\ + testdir +tar tf archive | sort + +echo \"NEXT\" +tar cf archive testdir +tar t --wildcards 'testdir/*f*1' -f archive | sort + +echo \"NEXT\" +tar t --wildcards --no-wildcards-match-slash 'testdir/*f*1' -f archive | sort + +echo \"NEXT\" +tar t --wildcards --wildcards-match-slash 'testdir/*f*1' -f archive | sort + +rm -rf testdir + +)" +echo exclude03.at:20 >"$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 @@ -7102,20 +7648,44 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * -genfile -l 1024 -f en -genfile -l 1024 -f to -tar cf archive en to -# Make sure we don't use bogus blocking factor. -# GNU tar up to and including 1.14.91 produced an empty archive this way: -tar --file archive --blocking-factor=20 --delete tre -tar tf archive +test -z "`sort < /dev/null 2>&1`" || exit 77 + + +rm -rf testdir +mkdir -p testdir/dir1 testdir/dir2 testdir/dir3 +touch testdir/\*f\*1 +touch testdir/dir1/file1 +touch testdir/dir1/\* +touch testdir/dir2/file2 +touch testdir/dir2/\* +touch testdir/dir3/file3 +touch testdir/dir3/\* + +tar cf archive --exclude='testdir*f*1' \ + --no-wildcards-match-slash \ + --exclude='testdir*f*2' \ + --wildcards-match-slash \ + --exclude='testdir*f*3' \ + testdir +tar tf archive | sort + +echo "NEXT" +tar cf archive testdir +tar t --wildcards 'testdir/*f*1' -f archive | sort + +echo "NEXT" +tar t --wildcards --no-wildcards-match-slash 'testdir/*f*1' -f archive | sort + +echo "NEXT" +tar t --wildcards --wildcards-match-slash 'testdir/*f*1' -f archive | sort + +rm -rf testdir + ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -7124,42 +7694,70 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * -genfile -l 1024 -f en -genfile -l 1024 -f to -tar cf archive en to -# Make sure we don't use bogus blocking factor. -# GNU tar up to and including 1.14.91 produced an empty archive this way: -tar --file archive --blocking-factor=20 --delete tre -tar tf archive -) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? -fi +test -z "`sort < /dev/null 2>&1`" || exit 77 -at_failed=false -echo >>"$at_stderr"; echo "tar: tre: Not found in archive -tar: Exiting with failure status due to previous errors -" | $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "en -to -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/delete05.at:30: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +rm -rf testdir +mkdir -p testdir/dir1 testdir/dir2 testdir/dir3 +touch testdir/\*f\*1 +touch testdir/dir1/file1 +touch testdir/dir1/\* +touch testdir/dir2/file2 +touch testdir/dir2/\* +touch testdir/dir3/file3 +touch testdir/dir3/\* - echo 1 > "$at_status_file" - exit 1 -fi +tar cf archive --exclude='testdir*f*1' \ + --no-wildcards-match-slash \ + --exclude='testdir*f*2' \ + --wildcards-match-slash \ + --exclude='testdir*f*3' \ + testdir +tar tf archive | sort + +echo "NEXT" +tar cf archive testdir +tar t --wildcards 'testdir/*f*1' -f archive | sort + +echo "NEXT" +tar t --wildcards --no-wildcards-match-slash 'testdir/*f*1' -f archive | sort -$at_traceon +echo "NEXT" +tar t --wildcards --wildcards-match-slash 'testdir/*f*1' -f archive | sort - $at_traceoff -echo "$at_srcdir/delete05.at:30: +rm -rf testdir + +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "testdir/ +testdir/dir1/ +testdir/dir1/* +testdir/dir2/ +testdir/dir2/* +testdir/dir2/file2 +testdir/dir3/ +testdir/dir3/* +NEXT +testdir/*f*1 +testdir/dir1/file1 +NEXT +testdir/*f*1 +NEXT +testdir/*f*1 +testdir/dir1/file1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/exclude03.at:20" + +$at_failed && at_func_log_failure +$at_traceon; } + + { $at_traceoff +$as_echo "$at_srcdir/exclude03.at:20: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -7168,24 +7766,46 @@ TAR_OPTIONS=\"-H ustar\" export TAR_OPTIONS rm -rf * -genfile -l 1024 -f en -genfile -l 1024 -f to -tar cf archive en to -# Make sure we don't use bogus blocking factor. -# GNU tar up to and including 1.14.91 produced an empty archive this way: -tar --file archive --blocking-factor=20 --delete tre -tar tf archive -)" -echo delete05.at:30 >"$at_check_line_file" +test -z "`sort < /dev/null 2>&1`" || exit 77 -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi -if test -n "$at_trace_this"; then - ( $at_traceon; +rm -rf testdir +mkdir -p testdir/dir1 testdir/dir2 testdir/dir3 +touch testdir/\\*f\\*1 +touch testdir/dir1/file1 +touch testdir/dir1/\\* +touch testdir/dir2/file2 +touch testdir/dir2/\\* +touch testdir/dir3/file3 +touch testdir/dir3/\\* + +tar cf archive --exclude='testdir*f*1' \\ + --no-wildcards-match-slash \\ + --exclude='testdir*f*2' \\ + --wildcards-match-slash \\ + --exclude='testdir*f*3' \\ + testdir +tar tf archive | sort + +echo \"NEXT\" +tar cf archive testdir +tar t --wildcards 'testdir/*f*1' -f archive | sort + +echo \"NEXT\" +tar t --wildcards --no-wildcards-match-slash 'testdir/*f*1' -f archive | sort + +echo \"NEXT\" +tar t --wildcards --wildcards-match-slash 'testdir/*f*1' -f archive | sort + +rm -rf testdir + +)" +echo exclude03.at:20 >"$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 @@ -7194,20 +7814,44 @@ TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * -genfile -l 1024 -f en -genfile -l 1024 -f to -tar cf archive en to -# Make sure we don't use bogus blocking factor. -# GNU tar up to and including 1.14.91 produced an empty archive this way: -tar --file archive --blocking-factor=20 --delete tre -tar tf archive +test -z "`sort < /dev/null 2>&1`" || exit 77 + + +rm -rf testdir +mkdir -p testdir/dir1 testdir/dir2 testdir/dir3 +touch testdir/\*f\*1 +touch testdir/dir1/file1 +touch testdir/dir1/\* +touch testdir/dir2/file2 +touch testdir/dir2/\* +touch testdir/dir3/file3 +touch testdir/dir3/\* + +tar cf archive --exclude='testdir*f*1' \ + --no-wildcards-match-slash \ + --exclude='testdir*f*2' \ + --wildcards-match-slash \ + --exclude='testdir*f*3' \ + testdir +tar tf archive | sort + +echo "NEXT" +tar cf archive testdir +tar t --wildcards 'testdir/*f*1' -f archive | sort + +echo "NEXT" +tar t --wildcards --no-wildcards-match-slash 'testdir/*f*1' -f archive | sort + +echo "NEXT" +tar t --wildcards --wildcards-match-slash 'testdir/*f*1' -f archive | sort + +rm -rf testdir + ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -7216,42 +7860,70 @@ TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * -genfile -l 1024 -f en -genfile -l 1024 -f to -tar cf archive en to -# Make sure we don't use bogus blocking factor. -# GNU tar up to and including 1.14.91 produced an empty archive this way: -tar --file archive --blocking-factor=20 --delete tre -tar tf archive -) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? -fi +test -z "`sort < /dev/null 2>&1`" || exit 77 -at_failed=false -echo >>"$at_stderr"; echo "tar: tre: Not found in archive -tar: Exiting with failure status due to previous errors -" | $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "en -to -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/delete05.at:30: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +rm -rf testdir +mkdir -p testdir/dir1 testdir/dir2 testdir/dir3 +touch testdir/\*f\*1 +touch testdir/dir1/file1 +touch testdir/dir1/\* +touch testdir/dir2/file2 +touch testdir/dir2/\* +touch testdir/dir3/file3 +touch testdir/dir3/\* - echo 1 > "$at_status_file" - exit 1 -fi +tar cf archive --exclude='testdir*f*1' \ + --no-wildcards-match-slash \ + --exclude='testdir*f*2' \ + --wildcards-match-slash \ + --exclude='testdir*f*3' \ + testdir +tar tf archive | sort + +echo "NEXT" +tar cf archive testdir +tar t --wildcards 'testdir/*f*1' -f archive | sort -$at_traceon +echo "NEXT" +tar t --wildcards --no-wildcards-match-slash 'testdir/*f*1' -f archive | sort - $at_traceoff -echo "$at_srcdir/delete05.at:30: +echo "NEXT" +tar t --wildcards --wildcards-match-slash 'testdir/*f*1' -f archive | sort + +rm -rf testdir + +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "testdir/ +testdir/dir1/ +testdir/dir1/* +testdir/dir2/ +testdir/dir2/* +testdir/dir2/file2 +testdir/dir3/ +testdir/dir3/* +NEXT +testdir/*f*1 +testdir/dir1/file1 +NEXT +testdir/*f*1 +NEXT +testdir/*f*1 +testdir/dir1/file1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/exclude03.at:20" + +$at_failed && at_func_log_failure +$at_traceon; } + + { $at_traceoff +$as_echo "$at_srcdir/exclude03.at:20: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -7260,24 +7932,46 @@ TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * -genfile -l 1024 -f en -genfile -l 1024 -f to -tar cf archive en to -# Make sure we don't use bogus blocking factor. -# GNU tar up to and including 1.14.91 produced an empty archive this way: -tar --file archive --blocking-factor=20 --delete tre -tar tf archive -)" -echo delete05.at:30 >"$at_check_line_file" +test -z "`sort < /dev/null 2>&1`" || exit 77 -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi -if test -n "$at_trace_this"; then - ( $at_traceon; +rm -rf testdir +mkdir -p testdir/dir1 testdir/dir2 testdir/dir3 +touch testdir/\\*f\\*1 +touch testdir/dir1/file1 +touch testdir/dir1/\\* +touch testdir/dir2/file2 +touch testdir/dir2/\\* +touch testdir/dir3/file3 +touch testdir/dir3/\\* + +tar cf archive --exclude='testdir*f*1' \\ + --no-wildcards-match-slash \\ + --exclude='testdir*f*2' \\ + --wildcards-match-slash \\ + --exclude='testdir*f*3' \\ + testdir +tar tf archive | sort + +echo \"NEXT\" +tar cf archive testdir +tar t --wildcards 'testdir/*f*1' -f archive | sort + +echo \"NEXT\" +tar t --wildcards --no-wildcards-match-slash 'testdir/*f*1' -f archive | sort + +echo \"NEXT\" +tar t --wildcards --wildcards-match-slash 'testdir/*f*1' -f archive | sort + +rm -rf testdir + +)" +echo exclude03.at:20 >"$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 @@ -7286,20 +7980,44 @@ TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * -genfile -l 1024 -f en -genfile -l 1024 -f to -tar cf archive en to -# Make sure we don't use bogus blocking factor. -# GNU tar up to and including 1.14.91 produced an empty archive this way: -tar --file archive --blocking-factor=20 --delete tre -tar tf archive +test -z "`sort < /dev/null 2>&1`" || exit 77 + + +rm -rf testdir +mkdir -p testdir/dir1 testdir/dir2 testdir/dir3 +touch testdir/\*f\*1 +touch testdir/dir1/file1 +touch testdir/dir1/\* +touch testdir/dir2/file2 +touch testdir/dir2/\* +touch testdir/dir3/file3 +touch testdir/dir3/\* + +tar cf archive --exclude='testdir*f*1' \ + --no-wildcards-match-slash \ + --exclude='testdir*f*2' \ + --wildcards-match-slash \ + --exclude='testdir*f*3' \ + testdir +tar tf archive | sort + +echo "NEXT" +tar cf archive testdir +tar t --wildcards 'testdir/*f*1' -f archive | sort + +echo "NEXT" +tar t --wildcards --no-wildcards-match-slash 'testdir/*f*1' -f archive | sort + +echo "NEXT" +tar t --wildcards --wildcards-match-slash 'testdir/*f*1' -f archive | sort + +rm -rf testdir + ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -7308,42 +8026,70 @@ TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * -genfile -l 1024 -f en -genfile -l 1024 -f to -tar cf archive en to -# Make sure we don't use bogus blocking factor. -# GNU tar up to and including 1.14.91 produced an empty archive this way: -tar --file archive --blocking-factor=20 --delete tre -tar tf archive -) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? -fi +test -z "`sort < /dev/null 2>&1`" || exit 77 -at_failed=false -echo >>"$at_stderr"; echo "tar: tre: Not found in archive -tar: Exiting with failure status due to previous errors -" | $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "en -to -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/delete05.at:30: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +rm -rf testdir +mkdir -p testdir/dir1 testdir/dir2 testdir/dir3 +touch testdir/\*f\*1 +touch testdir/dir1/file1 +touch testdir/dir1/\* +touch testdir/dir2/file2 +touch testdir/dir2/\* +touch testdir/dir3/file3 +touch testdir/dir3/\* - echo 1 > "$at_status_file" - exit 1 -fi +tar cf archive --exclude='testdir*f*1' \ + --no-wildcards-match-slash \ + --exclude='testdir*f*2' \ + --wildcards-match-slash \ + --exclude='testdir*f*3' \ + testdir +tar tf archive | sort -$at_traceon +echo "NEXT" +tar cf archive testdir +tar t --wildcards 'testdir/*f*1' -f archive | sort - $at_traceoff -echo "$at_srcdir/delete05.at:30: +echo "NEXT" +tar t --wildcards --no-wildcards-match-slash 'testdir/*f*1' -f archive | sort + +echo "NEXT" +tar t --wildcards --wildcards-match-slash 'testdir/*f*1' -f archive | sort + +rm -rf testdir + +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "testdir/ +testdir/dir1/ +testdir/dir1/* +testdir/dir2/ +testdir/dir2/* +testdir/dir2/file2 +testdir/dir3/ +testdir/dir3/* +NEXT +testdir/*f*1 +testdir/dir1/file1 +NEXT +testdir/*f*1 +NEXT +testdir/*f*1 +testdir/dir1/file1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/exclude03.at:20" + +$at_failed && at_func_log_failure +$at_traceon; } + + { $at_traceoff +$as_echo "$at_srcdir/exclude03.at:20: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -7352,24 +8098,46 @@ TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -genfile -l 1024 -f en -genfile -l 1024 -f to -tar cf archive en to -# Make sure we don't use bogus blocking factor. -# GNU tar up to and including 1.14.91 produced an empty archive this way: -tar --file archive --blocking-factor=20 --delete tre -tar tf archive -)" -echo delete05.at:30 >"$at_check_line_file" +test -z "`sort < /dev/null 2>&1`" || exit 77 -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi -if test -n "$at_trace_this"; then - ( $at_traceon; +rm -rf testdir +mkdir -p testdir/dir1 testdir/dir2 testdir/dir3 +touch testdir/\\*f\\*1 +touch testdir/dir1/file1 +touch testdir/dir1/\\* +touch testdir/dir2/file2 +touch testdir/dir2/\\* +touch testdir/dir3/file3 +touch testdir/dir3/\\* + +tar cf archive --exclude='testdir*f*1' \\ + --no-wildcards-match-slash \\ + --exclude='testdir*f*2' \\ + --wildcards-match-slash \\ + --exclude='testdir*f*3' \\ + testdir +tar tf archive | sort + +echo \"NEXT\" +tar cf archive testdir +tar t --wildcards 'testdir/*f*1' -f archive | sort + +echo \"NEXT\" +tar t --wildcards --no-wildcards-match-slash 'testdir/*f*1' -f archive | sort + +echo \"NEXT\" +tar t --wildcards --wildcards-match-slash 'testdir/*f*1' -f archive | sort + +rm -rf testdir + +)" +echo exclude03.at:20 >"$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 @@ -7378,20 +8146,44 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -genfile -l 1024 -f en -genfile -l 1024 -f to -tar cf archive en to -# Make sure we don't use bogus blocking factor. -# GNU tar up to and including 1.14.91 produced an empty archive this way: -tar --file archive --blocking-factor=20 --delete tre -tar tf archive +test -z "`sort < /dev/null 2>&1`" || exit 77 + + +rm -rf testdir +mkdir -p testdir/dir1 testdir/dir2 testdir/dir3 +touch testdir/\*f\*1 +touch testdir/dir1/file1 +touch testdir/dir1/\* +touch testdir/dir2/file2 +touch testdir/dir2/\* +touch testdir/dir3/file3 +touch testdir/dir3/\* + +tar cf archive --exclude='testdir*f*1' \ + --no-wildcards-match-slash \ + --exclude='testdir*f*2' \ + --wildcards-match-slash \ + --exclude='testdir*f*3' \ + testdir +tar tf archive | sort + +echo "NEXT" +tar cf archive testdir +tar t --wildcards 'testdir/*f*1' -f archive | sort + +echo "NEXT" +tar t --wildcards --no-wildcards-match-slash 'testdir/*f*1' -f archive | sort + +echo "NEXT" +tar t --wildcards --wildcards-match-slash 'testdir/*f*1' -f archive | sort + +rm -rf testdir + ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -7400,66 +8192,94 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -genfile -l 1024 -f en -genfile -l 1024 -f to -tar cf archive en to -# Make sure we don't use bogus blocking factor. -# GNU tar up to and including 1.14.91 produced an empty archive this way: -tar --file archive --blocking-factor=20 --delete tre -tar tf archive -) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? -fi +test -z "`sort < /dev/null 2>&1`" || exit 77 -at_failed=false -echo >>"$at_stderr"; echo "tar: tre: Not found in archive -tar: Exiting with failure status due to previous errors -" | $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "en -to -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/delete05.at:30: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +rm -rf testdir +mkdir -p testdir/dir1 testdir/dir2 testdir/dir3 +touch testdir/\*f\*1 +touch testdir/dir1/file1 +touch testdir/dir1/\* +touch testdir/dir2/file2 +touch testdir/dir2/\* +touch testdir/dir3/file3 +touch testdir/dir3/\* - echo 1 > "$at_status_file" - exit 1 -fi +tar cf archive --exclude='testdir*f*1' \ + --no-wildcards-match-slash \ + --exclude='testdir*f*2' \ + --wildcards-match-slash \ + --exclude='testdir*f*3' \ + testdir +tar tf archive | sort -$at_traceon +echo "NEXT" +tar cf archive testdir +tar t --wildcards 'testdir/*f*1' -f archive | sort +echo "NEXT" +tar t --wildcards --no-wildcards-match-slash 'testdir/*f*1' -f archive | sort + +echo "NEXT" +tar t --wildcards --wildcards-match-slash 'testdir/*f*1' -f archive | sort + +rm -rf testdir + +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "testdir/ +testdir/dir1/ +testdir/dir1/* +testdir/dir2/ +testdir/dir2/* +testdir/dir2/file2 +testdir/dir3/ +testdir/dir3/* +NEXT +testdir/*f*1 +testdir/dir1/file1 +NEXT +testdir/*f*1 +NEXT +testdir/*f*1 +testdir/dir1/file1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/exclude03.at:20" + +$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"` - ;; - 18 ) # 18. extrac01.at:23: extract over an existing directory - at_setup_line='extrac01.at:23' - at_desc="extract over an existing directory" - $at_quiet $ECHO_N " 18: extract over an existing directory $ECHO_C" - at_xfail=no + $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_16 +#AT_START_17 +# 17. 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_xfail=no test -f $XFAILFILE && at_xfail=yes - echo "# -*- compilation -*-" >> "$at_group_log" - ( - echo "18. extrac01.at:23: testing ..." - $at_traceon +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "17. exclude04.at:17: testing ..." + $at_traceon - $at_traceoff -echo "$at_srcdir/extrac01.at:26: + { $at_traceoff +$as_echo "$at_srcdir/exclude04.at:20: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -7468,38 +8288,98 @@ TAR_OPTIONS=\"-H v7\" export TAR_OPTIONS rm -rf * -mkdir directory -touch directory/file -tar cf archive directory || exit 1 -tar xf archive || exit 1 -)" -echo extrac01.at:26 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +test -z "`sort < /dev/null 2>&1`" || exit 77 -if test -n "$at_trace_this"; then - ( $at_traceon; -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 -export TEST_TAR_FORMAT -TAR_OPTIONS="-H v7" -export TAR_OPTIONS -rm -rf * -mkdir directory -touch directory/file -tar cf archive directory || exit 1 -tar xf archive || exit 1 +rm -rf testdir +mkdir -p testdir/dir +touch testdir/file1 +touch testdir/file2 +touch testdir/file3 +touch testdir/file4 +touch testdir/dir/File1 +touch testdir/dir/File2 +touch testdir/dir/File3 +touch testdir/dir/File4 + +tar cf archive --exclude=FILE2 \\ + --exclude=file1 \\ + --ignore-case \\ + --exclude=file3 \\ + --no-ignore-case \\ + --exclude=FILE2 \\ + --exclude=file4 \\ + testdir +tar tf archive | sort + +echo \"SUB 1\" +tar cf archive testdir +tar t --wildcards --wildcards-match-slash '*File2' -f archive | sort + +echo \"SUB 2\" +tar t --wildcards --wildcards-match-slash --ignore-case '*File2' -f archive | sort + +echo \"SUB 3\" +tar t --wildcards --wildcards-match-slash --no-ignore-case '*File2' -f archive | sort + +rm -rf testdir + +)" +echo exclude04.at:20 >"$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 * + + +test -z "`sort < /dev/null 2>&1`" || exit 77 + + +rm -rf testdir +mkdir -p testdir/dir +touch testdir/file1 +touch testdir/file2 +touch testdir/file3 +touch testdir/file4 +touch testdir/dir/File1 +touch testdir/dir/File2 +touch testdir/dir/File3 +touch testdir/dir/File4 + +tar cf archive --exclude=FILE2 \ + --exclude=file1 \ + --ignore-case \ + --exclude=file3 \ + --no-ignore-case \ + --exclude=FILE2 \ + --exclude=file4 \ + testdir +tar tf archive | sort + +echo "SUB 1" +tar cf archive testdir +tar t --wildcards --wildcards-match-slash '*File2' -f archive | sort + +echo "SUB 2" +tar t --wildcards --wildcards-match-slash --ignore-case '*File2' -f archive | sort + +echo "SUB 3" +tar t --wildcards --wildcards-match-slash --no-ignore-case '*File2' -f archive | sort + +rm -rf testdir + ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -7508,34 +8388,70 @@ TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * -mkdir directory -touch directory/file -tar cf archive directory || exit 1 -tar xf archive || exit 1 -) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? -fi -at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -$at_diff "$at_devnull" "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/extrac01.at:26: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +test -z "`sort < /dev/null 2>&1`" || exit 77 - echo 1 > "$at_status_file" - exit 1 -fi +rm -rf testdir +mkdir -p testdir/dir +touch testdir/file1 +touch testdir/file2 +touch testdir/file3 +touch testdir/file4 +touch testdir/dir/File1 +touch testdir/dir/File2 +touch testdir/dir/File3 +touch testdir/dir/File4 + +tar cf archive --exclude=FILE2 \ + --exclude=file1 \ + --ignore-case \ + --exclude=file3 \ + --no-ignore-case \ + --exclude=FILE2 \ + --exclude=file4 \ + testdir +tar tf archive | sort -$at_traceon +echo "SUB 1" +tar cf archive testdir +tar t --wildcards --wildcards-match-slash '*File2' -f archive | sort - $at_traceoff -echo "$at_srcdir/extrac01.at:26: +echo "SUB 2" +tar t --wildcards --wildcards-match-slash --ignore-case '*File2' -f archive | sort + +echo "SUB 3" +tar t --wildcards --wildcards-match-slash --no-ignore-case '*File2' -f archive | sort + +rm -rf testdir + +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "testdir/ +testdir/dir/ +testdir/dir/File1 +testdir/dir/File2 +testdir/dir/File4 +testdir/file2 +SUB 1 +testdir/dir/File2 +SUB 2 +testdir/dir/File2 +testdir/file2 +SUB 3 +testdir/dir/File2 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/exclude04.at:20" + +$at_failed && at_func_log_failure +$at_traceon; } + + { $at_traceoff +$as_echo "$at_srcdir/exclude04.at:20: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -7544,20 +8460,49 @@ TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * -mkdir directory -touch directory/file -tar cf archive directory || exit 1 -tar xf archive || exit 1 -)" -echo extrac01.at:26 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +test -z "`sort < /dev/null 2>&1`" || exit 77 + + +rm -rf testdir +mkdir -p testdir/dir +touch testdir/file1 +touch testdir/file2 +touch testdir/file3 +touch testdir/file4 +touch testdir/dir/File1 +touch testdir/dir/File2 +touch testdir/dir/File3 +touch testdir/dir/File4 + +tar cf archive --exclude=FILE2 \\ + --exclude=file1 \\ + --ignore-case \\ + --exclude=file3 \\ + --no-ignore-case \\ + --exclude=FILE2 \\ + --exclude=file4 \\ + testdir +tar tf archive | sort + +echo \"SUB 1\" +tar cf archive testdir +tar t --wildcards --wildcards-match-slash '*File2' -f archive | sort + +echo \"SUB 2\" +tar t --wildcards --wildcards-match-slash --ignore-case '*File2' -f archive | sort -if test -n "$at_trace_this"; then - ( $at_traceon; +echo \"SUB 3\" +tar t --wildcards --wildcards-match-slash --no-ignore-case '*File2' -f archive | sort + +rm -rf testdir + +)" +echo exclude04.at:20 >"$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 @@ -7566,16 +8511,47 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * -mkdir directory -touch directory/file -tar cf archive directory || exit 1 -tar xf archive || exit 1 + +test -z "`sort < /dev/null 2>&1`" || exit 77 + + +rm -rf testdir +mkdir -p testdir/dir +touch testdir/file1 +touch testdir/file2 +touch testdir/file3 +touch testdir/file4 +touch testdir/dir/File1 +touch testdir/dir/File2 +touch testdir/dir/File3 +touch testdir/dir/File4 + +tar cf archive --exclude=FILE2 \ + --exclude=file1 \ + --ignore-case \ + --exclude=file3 \ + --no-ignore-case \ + --exclude=FILE2 \ + --exclude=file4 \ + testdir +tar tf archive | sort + +echo "SUB 1" +tar cf archive testdir +tar t --wildcards --wildcards-match-slash '*File2' -f archive | sort + +echo "SUB 2" +tar t --wildcards --wildcards-match-slash --ignore-case '*File2' -f archive | sort + +echo "SUB 3" +tar t --wildcards --wildcards-match-slash --no-ignore-case '*File2' -f archive | sort + +rm -rf testdir + ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -7584,34 +8560,70 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * -mkdir directory -touch directory/file -tar cf archive directory || exit 1 -tar xf archive || exit 1 -) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? -fi -at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -$at_diff "$at_devnull" "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/extrac01.at:26: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +test -z "`sort < /dev/null 2>&1`" || exit 77 - echo 1 > "$at_status_file" - exit 1 -fi +rm -rf testdir +mkdir -p testdir/dir +touch testdir/file1 +touch testdir/file2 +touch testdir/file3 +touch testdir/file4 +touch testdir/dir/File1 +touch testdir/dir/File2 +touch testdir/dir/File3 +touch testdir/dir/File4 -$at_traceon +tar cf archive --exclude=FILE2 \ + --exclude=file1 \ + --ignore-case \ + --exclude=file3 \ + --no-ignore-case \ + --exclude=FILE2 \ + --exclude=file4 \ + testdir +tar tf archive | sort - $at_traceoff -echo "$at_srcdir/extrac01.at:26: +echo "SUB 1" +tar cf archive testdir +tar t --wildcards --wildcards-match-slash '*File2' -f archive | sort + +echo "SUB 2" +tar t --wildcards --wildcards-match-slash --ignore-case '*File2' -f archive | sort + +echo "SUB 3" +tar t --wildcards --wildcards-match-slash --no-ignore-case '*File2' -f archive | sort + +rm -rf testdir + +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "testdir/ +testdir/dir/ +testdir/dir/File1 +testdir/dir/File2 +testdir/dir/File4 +testdir/file2 +SUB 1 +testdir/dir/File2 +SUB 2 +testdir/dir/File2 +testdir/file2 +SUB 3 +testdir/dir/File2 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/exclude04.at:20" + +$at_failed && at_func_log_failure +$at_traceon; } + + { $at_traceoff +$as_echo "$at_srcdir/exclude04.at:20: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -7620,20 +8632,49 @@ TAR_OPTIONS=\"-H ustar\" export TAR_OPTIONS rm -rf * -mkdir directory -touch directory/file -tar cf archive directory || exit 1 -tar xf archive || exit 1 -)" -echo extrac01.at:26 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +test -z "`sort < /dev/null 2>&1`" || exit 77 -if test -n "$at_trace_this"; then - ( $at_traceon; + +rm -rf testdir +mkdir -p testdir/dir +touch testdir/file1 +touch testdir/file2 +touch testdir/file3 +touch testdir/file4 +touch testdir/dir/File1 +touch testdir/dir/File2 +touch testdir/dir/File3 +touch testdir/dir/File4 + +tar cf archive --exclude=FILE2 \\ + --exclude=file1 \\ + --ignore-case \\ + --exclude=file3 \\ + --no-ignore-case \\ + --exclude=FILE2 \\ + --exclude=file4 \\ + testdir +tar tf archive | sort + +echo \"SUB 1\" +tar cf archive testdir +tar t --wildcards --wildcards-match-slash '*File2' -f archive | sort + +echo \"SUB 2\" +tar t --wildcards --wildcards-match-slash --ignore-case '*File2' -f archive | sort + +echo \"SUB 3\" +tar t --wildcards --wildcards-match-slash --no-ignore-case '*File2' -f archive | sort + +rm -rf testdir + +)" +echo exclude04.at:20 >"$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 @@ -7642,16 +8683,47 @@ TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * -mkdir directory -touch directory/file -tar cf archive directory || exit 1 -tar xf archive || exit 1 + +test -z "`sort < /dev/null 2>&1`" || exit 77 + + +rm -rf testdir +mkdir -p testdir/dir +touch testdir/file1 +touch testdir/file2 +touch testdir/file3 +touch testdir/file4 +touch testdir/dir/File1 +touch testdir/dir/File2 +touch testdir/dir/File3 +touch testdir/dir/File4 + +tar cf archive --exclude=FILE2 \ + --exclude=file1 \ + --ignore-case \ + --exclude=file3 \ + --no-ignore-case \ + --exclude=FILE2 \ + --exclude=file4 \ + testdir +tar tf archive | sort + +echo "SUB 1" +tar cf archive testdir +tar t --wildcards --wildcards-match-slash '*File2' -f archive | sort + +echo "SUB 2" +tar t --wildcards --wildcards-match-slash --ignore-case '*File2' -f archive | sort + +echo "SUB 3" +tar t --wildcards --wildcards-match-slash --no-ignore-case '*File2' -f archive | sort + +rm -rf testdir + ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -7660,34 +8732,70 @@ TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * -mkdir directory -touch directory/file -tar cf archive directory || exit 1 -tar xf archive || exit 1 -) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? -fi -at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -$at_diff "$at_devnull" "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/extrac01.at:26: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +test -z "`sort < /dev/null 2>&1`" || exit 77 - echo 1 > "$at_status_file" - exit 1 -fi +rm -rf testdir +mkdir -p testdir/dir +touch testdir/file1 +touch testdir/file2 +touch testdir/file3 +touch testdir/file4 +touch testdir/dir/File1 +touch testdir/dir/File2 +touch testdir/dir/File3 +touch testdir/dir/File4 + +tar cf archive --exclude=FILE2 \ + --exclude=file1 \ + --ignore-case \ + --exclude=file3 \ + --no-ignore-case \ + --exclude=FILE2 \ + --exclude=file4 \ + testdir +tar tf archive | sort + +echo "SUB 1" +tar cf archive testdir +tar t --wildcards --wildcards-match-slash '*File2' -f archive | sort + +echo "SUB 2" +tar t --wildcards --wildcards-match-slash --ignore-case '*File2' -f archive | sort -$at_traceon +echo "SUB 3" +tar t --wildcards --wildcards-match-slash --no-ignore-case '*File2' -f archive | sort - $at_traceoff -echo "$at_srcdir/extrac01.at:26: +rm -rf testdir + +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "testdir/ +testdir/dir/ +testdir/dir/File1 +testdir/dir/File2 +testdir/dir/File4 +testdir/file2 +SUB 1 +testdir/dir/File2 +SUB 2 +testdir/dir/File2 +testdir/file2 +SUB 3 +testdir/dir/File2 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/exclude04.at:20" + +$at_failed && at_func_log_failure +$at_traceon; } + + { $at_traceoff +$as_echo "$at_srcdir/exclude04.at:20: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -7696,20 +8804,49 @@ TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * -mkdir directory -touch directory/file -tar cf archive directory || exit 1 -tar xf archive || exit 1 -)" -echo extrac01.at:26 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +test -z "`sort < /dev/null 2>&1`" || exit 77 + + +rm -rf testdir +mkdir -p testdir/dir +touch testdir/file1 +touch testdir/file2 +touch testdir/file3 +touch testdir/file4 +touch testdir/dir/File1 +touch testdir/dir/File2 +touch testdir/dir/File3 +touch testdir/dir/File4 + +tar cf archive --exclude=FILE2 \\ + --exclude=file1 \\ + --ignore-case \\ + --exclude=file3 \\ + --no-ignore-case \\ + --exclude=FILE2 \\ + --exclude=file4 \\ + testdir +tar tf archive | sort -if test -n "$at_trace_this"; then - ( $at_traceon; +echo \"SUB 1\" +tar cf archive testdir +tar t --wildcards --wildcards-match-slash '*File2' -f archive | sort + +echo \"SUB 2\" +tar t --wildcards --wildcards-match-slash --ignore-case '*File2' -f archive | sort + +echo \"SUB 3\" +tar t --wildcards --wildcards-match-slash --no-ignore-case '*File2' -f archive | sort + +rm -rf testdir + +)" +echo exclude04.at:20 >"$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 @@ -7718,16 +8855,47 @@ TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * -mkdir directory -touch directory/file -tar cf archive directory || exit 1 -tar xf archive || exit 1 + +test -z "`sort < /dev/null 2>&1`" || exit 77 + + +rm -rf testdir +mkdir -p testdir/dir +touch testdir/file1 +touch testdir/file2 +touch testdir/file3 +touch testdir/file4 +touch testdir/dir/File1 +touch testdir/dir/File2 +touch testdir/dir/File3 +touch testdir/dir/File4 + +tar cf archive --exclude=FILE2 \ + --exclude=file1 \ + --ignore-case \ + --exclude=file3 \ + --no-ignore-case \ + --exclude=FILE2 \ + --exclude=file4 \ + testdir +tar tf archive | sort + +echo "SUB 1" +tar cf archive testdir +tar t --wildcards --wildcards-match-slash '*File2' -f archive | sort + +echo "SUB 2" +tar t --wildcards --wildcards-match-slash --ignore-case '*File2' -f archive | sort + +echo "SUB 3" +tar t --wildcards --wildcards-match-slash --no-ignore-case '*File2' -f archive | sort + +rm -rf testdir + ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -7736,34 +8904,70 @@ TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * -mkdir directory -touch directory/file -tar cf archive directory || exit 1 -tar xf archive || exit 1 -) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? -fi -at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -$at_diff "$at_devnull" "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/extrac01.at:26: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +test -z "`sort < /dev/null 2>&1`" || exit 77 - echo 1 > "$at_status_file" - exit 1 -fi +rm -rf testdir +mkdir -p testdir/dir +touch testdir/file1 +touch testdir/file2 +touch testdir/file3 +touch testdir/file4 +touch testdir/dir/File1 +touch testdir/dir/File2 +touch testdir/dir/File3 +touch testdir/dir/File4 + +tar cf archive --exclude=FILE2 \ + --exclude=file1 \ + --ignore-case \ + --exclude=file3 \ + --no-ignore-case \ + --exclude=FILE2 \ + --exclude=file4 \ + testdir +tar tf archive | sort + +echo "SUB 1" +tar cf archive testdir +tar t --wildcards --wildcards-match-slash '*File2' -f archive | sort -$at_traceon +echo "SUB 2" +tar t --wildcards --wildcards-match-slash --ignore-case '*File2' -f archive | sort - $at_traceoff -echo "$at_srcdir/extrac01.at:26: +echo "SUB 3" +tar t --wildcards --wildcards-match-slash --no-ignore-case '*File2' -f archive | sort + +rm -rf testdir + +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "testdir/ +testdir/dir/ +testdir/dir/File1 +testdir/dir/File2 +testdir/dir/File4 +testdir/file2 +SUB 1 +testdir/dir/File2 +SUB 2 +testdir/dir/File2 +testdir/file2 +SUB 3 +testdir/dir/File2 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/exclude04.at:20" + +$at_failed && at_func_log_failure +$at_traceon; } + + { $at_traceoff +$as_echo "$at_srcdir/exclude04.at:20: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -7772,20 +8976,49 @@ TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -mkdir directory -touch directory/file -tar cf archive directory || exit 1 -tar xf archive || exit 1 -)" -echo extrac01.at:26 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +test -z "`sort < /dev/null 2>&1`" || exit 77 + + +rm -rf testdir +mkdir -p testdir/dir +touch testdir/file1 +touch testdir/file2 +touch testdir/file3 +touch testdir/file4 +touch testdir/dir/File1 +touch testdir/dir/File2 +touch testdir/dir/File3 +touch testdir/dir/File4 + +tar cf archive --exclude=FILE2 \\ + --exclude=file1 \\ + --ignore-case \\ + --exclude=file3 \\ + --no-ignore-case \\ + --exclude=FILE2 \\ + --exclude=file4 \\ + testdir +tar tf archive | sort + +echo \"SUB 1\" +tar cf archive testdir +tar t --wildcards --wildcards-match-slash '*File2' -f archive | sort + +echo \"SUB 2\" +tar t --wildcards --wildcards-match-slash --ignore-case '*File2' -f archive | sort + +echo \"SUB 3\" +tar t --wildcards --wildcards-match-slash --no-ignore-case '*File2' -f archive | sort -if test -n "$at_trace_this"; then - ( $at_traceon; +rm -rf testdir + +)" +echo exclude04.at:20 >"$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 @@ -7794,16 +9027,47 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -mkdir directory -touch directory/file -tar cf archive directory || exit 1 -tar xf archive || exit 1 + +test -z "`sort < /dev/null 2>&1`" || exit 77 + + +rm -rf testdir +mkdir -p testdir/dir +touch testdir/file1 +touch testdir/file2 +touch testdir/file3 +touch testdir/file4 +touch testdir/dir/File1 +touch testdir/dir/File2 +touch testdir/dir/File3 +touch testdir/dir/File4 + +tar cf archive --exclude=FILE2 \ + --exclude=file1 \ + --ignore-case \ + --exclude=file3 \ + --no-ignore-case \ + --exclude=FILE2 \ + --exclude=file4 \ + testdir +tar tf archive | sort + +echo "SUB 1" +tar cf archive testdir +tar t --wildcards --wildcards-match-slash '*File2' -f archive | sort + +echo "SUB 2" +tar t --wildcards --wildcards-match-slash --ignore-case '*File2' -f archive | sort + +echo "SUB 3" +tar t --wildcards --wildcards-match-slash --no-ignore-case '*File2' -f archive | sort + +rm -rf testdir + ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -7812,60 +9076,94 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -mkdir directory -touch directory/file -tar cf archive directory || exit 1 -tar xf archive || exit 1 -) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? -fi -at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -$at_diff "$at_devnull" "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/extrac01.at:26: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +test -z "`sort < /dev/null 2>&1`" || exit 77 - echo 1 > "$at_status_file" - exit 1 -fi +rm -rf testdir +mkdir -p testdir/dir +touch testdir/file1 +touch testdir/file2 +touch testdir/file3 +touch testdir/file4 +touch testdir/dir/File1 +touch testdir/dir/File2 +touch testdir/dir/File3 +touch testdir/dir/File4 -$at_traceon +tar cf archive --exclude=FILE2 \ + --exclude=file1 \ + --ignore-case \ + --exclude=file3 \ + --no-ignore-case \ + --exclude=FILE2 \ + --exclude=file4 \ + testdir +tar tf archive | sort +echo "SUB 1" +tar cf archive testdir +tar t --wildcards --wildcards-match-slash '*File2' -f archive | sort +echo "SUB 2" +tar t --wildcards --wildcards-match-slash --ignore-case '*File2' -f archive | sort +echo "SUB 3" +tar t --wildcards --wildcards-match-slash --no-ignore-case '*File2' -f archive | sort - $at_traceoff - $at_times_p && times >"$at_times_file" - ) 5>&1 2>&1 | eval $at_tee_pipe - at_status=`cat "$at_status_file"` - ;; +rm -rf testdir - 19 ) # 19. 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 $ECHO_N " 19: extracting symlinks over an existing file $ECHO_C" - at_xfail=no - test -f $XFAILFILE && at_xfail=yes - echo "# -*- compilation -*-" >> "$at_group_log" - ( - echo "19. extrac02.at:23: testing ..." - $at_traceon +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "testdir/ +testdir/dir/ +testdir/dir/File1 +testdir/dir/File2 +testdir/dir/File4 +testdir/file2 +SUB 1 +testdir/dir/File2 +SUB 2 +testdir/dir/File2 +testdir/file2 +SUB 3 +testdir/dir/File2 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/exclude04.at:20" + +$at_failed && at_func_log_failure +$at_traceon; } -# FIXME: Skip if symlinks are not supported on the system + + $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_17 +#AT_START_18 +# 18. 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_xfail=no + test -f $XFAILFILE && at_xfail=yes +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "18. exclude05.at:19: testing ..." + $at_traceon - $at_traceoff -echo "$at_srcdir/extrac02.at:28: + + + { $at_traceoff +$as_echo "$at_srcdir/exclude05.at:22: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -7874,22 +9172,37 @@ TAR_OPTIONS=\"-H v7\" export TAR_OPTIONS rm -rf * -touch file -ln -s file link 2> /dev/null || ln file link -tar cf archive link -rm link -touch link -tar xf archive -)" -echo extrac02.at:28 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +test -z "`sort < /dev/null 2>&1`" || exit 77 + -if test -n "$at_trace_this"; then - ( $at_traceon; +rm -rf testdir exclfile +mkdir -p testdir +awk 'BEGIN {for (i=9; i < 100; ++i ) { print \"testdir/file\" i; }}' < /dev/null | \\ + while read name + do + genfile --file \$name + done + +awk 'BEGIN {for (i=1000000; i >= 12; --i ) { print \"testdir/file\" i }}' < /dev/null > exclfile + +tar cf archive --anchored --exclude-from=exclfile \\ + testdir +tar tf archive | sort + +echo \"NEXT\" +tar cf archive --exclude-from=exclfile \\ + testdir +tar tf archive | sort + +rm -rf testdir exclfile + +)" +echo exclude05.at:22 >"$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 @@ -7898,18 +9211,35 @@ TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * -touch file -ln -s file link 2> /dev/null || ln file link -tar cf archive link -rm link -touch link -tar xf archive + +test -z "`sort < /dev/null 2>&1`" || exit 77 + + +rm -rf testdir exclfile +mkdir -p testdir +awk 'BEGIN {for (i=9; i < 100; ++i ) { print "testdir/file" i; }}' < /dev/null | \ + while read name + do + genfile --file $name + done + +awk 'BEGIN {for (i=1000000; i >= 12; --i ) { print "testdir/file" i }}' < /dev/null > exclfile + +tar cf archive --anchored --exclude-from=exclfile \ + testdir +tar tf archive | sort + +echo "NEXT" +tar cf archive --exclude-from=exclfile \ + testdir +tar tf archive | sort + +rm -rf testdir exclfile + ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -7918,36 +9248,54 @@ TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * -touch file -ln -s file link 2> /dev/null || ln file link -tar cf archive link -rm link -touch link -tar xf archive -) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? -fi -at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -$at_diff "$at_devnull" "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/extrac02.at:28: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +test -z "`sort < /dev/null 2>&1`" || exit 77 - echo 1 > "$at_status_file" - exit 1 -fi +rm -rf testdir exclfile +mkdir -p testdir +awk 'BEGIN {for (i=9; i < 100; ++i ) { print "testdir/file" i; }}' < /dev/null | \ + while read name + do + genfile --file $name + done + +awk 'BEGIN {for (i=1000000; i >= 12; --i ) { print "testdir/file" i }}' < /dev/null > exclfile + +tar cf archive --anchored --exclude-from=exclfile \ + testdir +tar tf archive | sort -$at_traceon +echo "NEXT" +tar cf archive --exclude-from=exclfile \ + testdir +tar tf archive | sort - $at_traceoff -echo "$at_srcdir/extrac02.at:28: +rm -rf testdir exclfile + +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "testdir/ +testdir/file10 +testdir/file11 +testdir/file9 +NEXT +testdir/ +testdir/file10 +testdir/file11 +testdir/file9 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/exclude05.at:22" + +$at_failed && at_func_log_failure +$at_traceon; } + + { $at_traceoff +$as_echo "$at_srcdir/exclude05.at:22: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -7956,22 +9304,37 @@ TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * -touch file -ln -s file link 2> /dev/null || ln file link -tar cf archive link -rm link -touch link -tar xf archive -)" -echo extrac02.at:28 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +test -z "`sort < /dev/null 2>&1`" || exit 77 + -if test -n "$at_trace_this"; then - ( $at_traceon; +rm -rf testdir exclfile +mkdir -p testdir +awk 'BEGIN {for (i=9; i < 100; ++i ) { print \"testdir/file\" i; }}' < /dev/null | \\ + while read name + do + genfile --file \$name + done + +awk 'BEGIN {for (i=1000000; i >= 12; --i ) { print \"testdir/file\" i }}' < /dev/null > exclfile + +tar cf archive --anchored --exclude-from=exclfile \\ + testdir +tar tf archive | sort + +echo \"NEXT\" +tar cf archive --exclude-from=exclfile \\ + testdir +tar tf archive | sort + +rm -rf testdir exclfile + +)" +echo exclude05.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 @@ -7980,18 +9343,35 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * -touch file -ln -s file link 2> /dev/null || ln file link -tar cf archive link -rm link -touch link -tar xf archive + +test -z "`sort < /dev/null 2>&1`" || exit 77 + + +rm -rf testdir exclfile +mkdir -p testdir +awk 'BEGIN {for (i=9; i < 100; ++i ) { print "testdir/file" i; }}' < /dev/null | \ + while read name + do + genfile --file $name + done + +awk 'BEGIN {for (i=1000000; i >= 12; --i ) { print "testdir/file" i }}' < /dev/null > exclfile + +tar cf archive --anchored --exclude-from=exclfile \ + testdir +tar tf archive | sort + +echo "NEXT" +tar cf archive --exclude-from=exclfile \ + testdir +tar tf archive | sort + +rm -rf testdir exclfile + ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -8000,36 +9380,54 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * -touch file -ln -s file link 2> /dev/null || ln file link -tar cf archive link -rm link -touch link -tar xf archive -) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? -fi -at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -$at_diff "$at_devnull" "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/extrac02.at:28: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +test -z "`sort < /dev/null 2>&1`" || exit 77 - echo 1 > "$at_status_file" - exit 1 -fi +rm -rf testdir exclfile +mkdir -p testdir +awk 'BEGIN {for (i=9; i < 100; ++i ) { print "testdir/file" i; }}' < /dev/null | \ + while read name + do + genfile --file $name + done + +awk 'BEGIN {for (i=1000000; i >= 12; --i ) { print "testdir/file" i }}' < /dev/null > exclfile + +tar cf archive --anchored --exclude-from=exclfile \ + testdir +tar tf archive | sort -$at_traceon +echo "NEXT" +tar cf archive --exclude-from=exclfile \ + testdir +tar tf archive | sort - $at_traceoff -echo "$at_srcdir/extrac02.at:28: +rm -rf testdir exclfile + +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "testdir/ +testdir/file10 +testdir/file11 +testdir/file9 +NEXT +testdir/ +testdir/file10 +testdir/file11 +testdir/file9 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/exclude05.at:22" + +$at_failed && at_func_log_failure +$at_traceon; } + + { $at_traceoff +$as_echo "$at_srcdir/exclude05.at:22: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -8038,22 +9436,37 @@ TAR_OPTIONS=\"-H ustar\" export TAR_OPTIONS rm -rf * -touch file -ln -s file link 2> /dev/null || ln file link -tar cf archive link -rm link -touch link -tar xf archive -)" -echo extrac02.at:28 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +test -z "`sort < /dev/null 2>&1`" || exit 77 + -if test -n "$at_trace_this"; then - ( $at_traceon; +rm -rf testdir exclfile +mkdir -p testdir +awk 'BEGIN {for (i=9; i < 100; ++i ) { print \"testdir/file\" i; }}' < /dev/null | \\ + while read name + do + genfile --file \$name + done + +awk 'BEGIN {for (i=1000000; i >= 12; --i ) { print \"testdir/file\" i }}' < /dev/null > exclfile + +tar cf archive --anchored --exclude-from=exclfile \\ + testdir +tar tf archive | sort + +echo \"NEXT\" +tar cf archive --exclude-from=exclfile \\ + testdir +tar tf archive | sort + +rm -rf testdir exclfile + +)" +echo exclude05.at:22 >"$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 @@ -8062,18 +9475,35 @@ TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * -touch file -ln -s file link 2> /dev/null || ln file link -tar cf archive link -rm link -touch link -tar xf archive + +test -z "`sort < /dev/null 2>&1`" || exit 77 + + +rm -rf testdir exclfile +mkdir -p testdir +awk 'BEGIN {for (i=9; i < 100; ++i ) { print "testdir/file" i; }}' < /dev/null | \ + while read name + do + genfile --file $name + done + +awk 'BEGIN {for (i=1000000; i >= 12; --i ) { print "testdir/file" i }}' < /dev/null > exclfile + +tar cf archive --anchored --exclude-from=exclfile \ + testdir +tar tf archive | sort + +echo "NEXT" +tar cf archive --exclude-from=exclfile \ + testdir +tar tf archive | sort + +rm -rf testdir exclfile + ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -8082,36 +9512,54 @@ TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * -touch file -ln -s file link 2> /dev/null || ln file link -tar cf archive link -rm link -touch link -tar xf archive -) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? -fi -at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -$at_diff "$at_devnull" "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/extrac02.at:28: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +test -z "`sort < /dev/null 2>&1`" || exit 77 - echo 1 > "$at_status_file" - exit 1 -fi +rm -rf testdir exclfile +mkdir -p testdir +awk 'BEGIN {for (i=9; i < 100; ++i ) { print "testdir/file" i; }}' < /dev/null | \ + while read name + do + genfile --file $name + done + +awk 'BEGIN {for (i=1000000; i >= 12; --i ) { print "testdir/file" i }}' < /dev/null > exclfile + +tar cf archive --anchored --exclude-from=exclfile \ + testdir +tar tf archive | sort -$at_traceon +echo "NEXT" +tar cf archive --exclude-from=exclfile \ + testdir +tar tf archive | sort - $at_traceoff -echo "$at_srcdir/extrac02.at:28: +rm -rf testdir exclfile + +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "testdir/ +testdir/file10 +testdir/file11 +testdir/file9 +NEXT +testdir/ +testdir/file10 +testdir/file11 +testdir/file9 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/exclude05.at:22" + +$at_failed && at_func_log_failure +$at_traceon; } + + { $at_traceoff +$as_echo "$at_srcdir/exclude05.at:22: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -8120,22 +9568,37 @@ TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * -touch file -ln -s file link 2> /dev/null || ln file link -tar cf archive link -rm link -touch link -tar xf archive -)" -echo extrac02.at:28 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +test -z "`sort < /dev/null 2>&1`" || exit 77 + -if test -n "$at_trace_this"; then - ( $at_traceon; +rm -rf testdir exclfile +mkdir -p testdir +awk 'BEGIN {for (i=9; i < 100; ++i ) { print \"testdir/file\" i; }}' < /dev/null | \\ + while read name + do + genfile --file \$name + done + +awk 'BEGIN {for (i=1000000; i >= 12; --i ) { print \"testdir/file\" i }}' < /dev/null > exclfile + +tar cf archive --anchored --exclude-from=exclfile \\ + testdir +tar tf archive | sort + +echo \"NEXT\" +tar cf archive --exclude-from=exclfile \\ + testdir +tar tf archive | sort + +rm -rf testdir exclfile + +)" +echo exclude05.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 @@ -8144,18 +9607,35 @@ TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * -touch file -ln -s file link 2> /dev/null || ln file link -tar cf archive link -rm link -touch link -tar xf archive + +test -z "`sort < /dev/null 2>&1`" || exit 77 + + +rm -rf testdir exclfile +mkdir -p testdir +awk 'BEGIN {for (i=9; i < 100; ++i ) { print "testdir/file" i; }}' < /dev/null | \ + while read name + do + genfile --file $name + done + +awk 'BEGIN {for (i=1000000; i >= 12; --i ) { print "testdir/file" i }}' < /dev/null > exclfile + +tar cf archive --anchored --exclude-from=exclfile \ + testdir +tar tf archive | sort + +echo "NEXT" +tar cf archive --exclude-from=exclfile \ + testdir +tar tf archive | sort + +rm -rf testdir exclfile + ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -8164,36 +9644,54 @@ TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * -touch file -ln -s file link 2> /dev/null || ln file link -tar cf archive link -rm link -touch link -tar xf archive -) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? -fi -at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -$at_diff "$at_devnull" "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/extrac02.at:28: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +test -z "`sort < /dev/null 2>&1`" || exit 77 - echo 1 > "$at_status_file" - exit 1 -fi +rm -rf testdir exclfile +mkdir -p testdir +awk 'BEGIN {for (i=9; i < 100; ++i ) { print "testdir/file" i; }}' < /dev/null | \ + while read name + do + genfile --file $name + done + +awk 'BEGIN {for (i=1000000; i >= 12; --i ) { print "testdir/file" i }}' < /dev/null > exclfile + +tar cf archive --anchored --exclude-from=exclfile \ + testdir +tar tf archive | sort -$at_traceon +echo "NEXT" +tar cf archive --exclude-from=exclfile \ + testdir +tar tf archive | sort - $at_traceoff -echo "$at_srcdir/extrac02.at:28: +rm -rf testdir exclfile + +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "testdir/ +testdir/file10 +testdir/file11 +testdir/file9 +NEXT +testdir/ +testdir/file10 +testdir/file11 +testdir/file9 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/exclude05.at:22" + +$at_failed && at_func_log_failure +$at_traceon; } + + { $at_traceoff +$as_echo "$at_srcdir/exclude05.at:22: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -8202,22 +9700,37 @@ TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -touch file -ln -s file link 2> /dev/null || ln file link -tar cf archive link -rm link -touch link -tar xf archive -)" -echo extrac02.at:28 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +test -z "`sort < /dev/null 2>&1`" || exit 77 + -if test -n "$at_trace_this"; then - ( $at_traceon; +rm -rf testdir exclfile +mkdir -p testdir +awk 'BEGIN {for (i=9; i < 100; ++i ) { print \"testdir/file\" i; }}' < /dev/null | \\ + while read name + do + genfile --file \$name + done + +awk 'BEGIN {for (i=1000000; i >= 12; --i ) { print \"testdir/file\" i }}' < /dev/null > exclfile + +tar cf archive --anchored --exclude-from=exclfile \\ + testdir +tar tf archive | sort + +echo \"NEXT\" +tar cf archive --exclude-from=exclfile \\ + testdir +tar tf archive | sort + +rm -rf testdir exclfile + +)" +echo exclude05.at:22 >"$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 @@ -8226,18 +9739,35 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -touch file -ln -s file link 2> /dev/null || ln file link -tar cf archive link -rm link -touch link -tar xf archive + +test -z "`sort < /dev/null 2>&1`" || exit 77 + + +rm -rf testdir exclfile +mkdir -p testdir +awk 'BEGIN {for (i=9; i < 100; ++i ) { print "testdir/file" i; }}' < /dev/null | \ + while read name + do + genfile --file $name + done + +awk 'BEGIN {for (i=1000000; i >= 12; --i ) { print "testdir/file" i }}' < /dev/null > exclfile + +tar cf archive --anchored --exclude-from=exclfile \ + testdir +tar tf archive | sort + +echo "NEXT" +tar cf archive --exclude-from=exclfile \ + testdir +tar tf archive | sort + +rm -rf testdir exclfile + ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -8246,60 +9776,78 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -touch file -ln -s file link 2> /dev/null || ln file link -tar cf archive link -rm link -touch link -tar xf archive -) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? -fi -at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -$at_diff "$at_devnull" "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/extrac02.at:28: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +test -z "`sort < /dev/null 2>&1`" || exit 77 - echo 1 > "$at_status_file" - exit 1 -fi +rm -rf testdir exclfile +mkdir -p testdir +awk 'BEGIN {for (i=9; i < 100; ++i ) { print "testdir/file" i; }}' < /dev/null | \ + while read name + do + genfile --file $name + done -$at_traceon +awk 'BEGIN {for (i=1000000; i >= 12; --i ) { print "testdir/file" i }}' < /dev/null > exclfile +tar cf archive --anchored --exclude-from=exclfile \ + testdir +tar tf archive | sort +echo "NEXT" +tar cf archive --exclude-from=exclfile \ + testdir +tar tf archive | sort +rm -rf testdir exclfile + +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "testdir/ +testdir/file10 +testdir/file11 +testdir/file9 +NEXT +testdir/ +testdir/file10 +testdir/file11 +testdir/file9 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/exclude05.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"` - ;; - 20 ) # 20. extrac03.at:23: extraction loops - at_setup_line='extrac03.at:23' - at_desc="extraction loops" - $at_quiet $ECHO_N " 20: extraction loops $ECHO_C" - at_xfail=no + + + $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_18 +#AT_START_19 +# 19. 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_xfail=no test -f $XFAILFILE && at_xfail=yes - echo "# -*- compilation -*-" >> "$at_group_log" - ( - echo "20. extrac03.at:23: testing ..." - $at_traceon +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "19. delete01.at:23: testing ..." + $at_traceon - $at_traceoff -echo "$at_srcdir/extrac03.at:26: + { $at_traceoff +$as_echo "$at_srcdir/delete01.at:26: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -8308,19 +9856,16 @@ TAR_OPTIONS=\"-H v7\" export TAR_OPTIONS rm -rf * -mkdir directory -tar -cPvf archive directory/../directory -echo separator -tar -xPvf archive)" -echo extrac03.at:26 >"$at_check_line_file" - -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +genfile -l 50000 --file file1 +genfile -l 1024 --file file2 +tar cf archive file1 file2 +tar f archive --delete file2 +tar tf archive)" +echo delete01.at:26 >"$at_check_line_file" -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -8329,15 +9874,14 @@ TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * -mkdir directory -tar -cPvf archive directory/../directory -echo separator -tar -xPvf archive) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" +genfile -l 50000 --file file1 +genfile -l 1024 --file file2 +tar cf archive file1 file2 +tar f archive --delete file2 +tar tf archive) ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? else - ( :; + ( :; mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -8346,36 +9890,25 @@ TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * -mkdir directory -tar -cPvf archive directory/../directory -echo separator -tar -xPvf archive) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? +genfile -l 50000 --file file1 +genfile -l 1024 --file file2 +tar cf archive file1 file2 +tar f archive --delete file2 +tar tf archive) ) >"$at_stdout" 2>"$at_stderr" fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "directory/../directory/ -separator -directory/../directory/ -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/extrac03.at:26: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "file1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/delete01.at:26" - echo 1 > "$at_status_file" - exit 1 -fi - -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/extrac03.at:26: + { $at_traceoff +$as_echo "$at_srcdir/delete01.at:26: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -8384,19 +9917,16 @@ TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * -mkdir directory -tar -cPvf archive directory/../directory -echo separator -tar -xPvf archive)" -echo extrac03.at:26 >"$at_check_line_file" - -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +genfile -l 50000 --file file1 +genfile -l 1024 --file file2 +tar cf archive file1 file2 +tar f archive --delete file2 +tar tf archive)" +echo delete01.at:26 >"$at_check_line_file" -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -8405,15 +9935,14 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * -mkdir directory -tar -cPvf archive directory/../directory -echo separator -tar -xPvf archive) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" +genfile -l 50000 --file file1 +genfile -l 1024 --file file2 +tar cf archive file1 file2 +tar f archive --delete file2 +tar tf archive) ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? else - ( :; + ( :; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -8422,36 +9951,25 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * -mkdir directory -tar -cPvf archive directory/../directory -echo separator -tar -xPvf archive) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? +genfile -l 50000 --file file1 +genfile -l 1024 --file file2 +tar cf archive file1 file2 +tar f archive --delete file2 +tar tf archive) ) >"$at_stdout" 2>"$at_stderr" fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "directory/../directory/ -separator -directory/../directory/ -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/extrac03.at:26: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "file1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/delete01.at:26" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/extrac03.at:26: + { $at_traceoff +$as_echo "$at_srcdir/delete01.at:26: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -8460,19 +9978,16 @@ TAR_OPTIONS=\"-H ustar\" export TAR_OPTIONS rm -rf * -mkdir directory -tar -cPvf archive directory/../directory -echo separator -tar -xPvf archive)" -echo extrac03.at:26 >"$at_check_line_file" - -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +genfile -l 50000 --file file1 +genfile -l 1024 --file file2 +tar cf archive file1 file2 +tar f archive --delete file2 +tar tf archive)" +echo delete01.at:26 >"$at_check_line_file" -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -8481,15 +9996,14 @@ TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * -mkdir directory -tar -cPvf archive directory/../directory -echo separator -tar -xPvf archive) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" +genfile -l 50000 --file file1 +genfile -l 1024 --file file2 +tar cf archive file1 file2 +tar f archive --delete file2 +tar tf archive) ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? else - ( :; + ( :; mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -8498,36 +10012,25 @@ TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * -mkdir directory -tar -cPvf archive directory/../directory -echo separator -tar -xPvf archive) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? +genfile -l 50000 --file file1 +genfile -l 1024 --file file2 +tar cf archive file1 file2 +tar f archive --delete file2 +tar tf archive) ) >"$at_stdout" 2>"$at_stderr" fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "directory/../directory/ -separator -directory/../directory/ -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/extrac03.at:26: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "file1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/delete01.at:26" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/extrac03.at:26: + { $at_traceoff +$as_echo "$at_srcdir/delete01.at:26: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -8536,19 +10039,16 @@ TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * -mkdir directory -tar -cPvf archive directory/../directory -echo separator -tar -xPvf archive)" -echo extrac03.at:26 >"$at_check_line_file" - -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +genfile -l 50000 --file file1 +genfile -l 1024 --file file2 +tar cf archive file1 file2 +tar f archive --delete file2 +tar tf archive)" +echo delete01.at:26 >"$at_check_line_file" -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -8557,15 +10057,14 @@ TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * -mkdir directory -tar -cPvf archive directory/../directory -echo separator -tar -xPvf archive) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" +genfile -l 50000 --file file1 +genfile -l 1024 --file file2 +tar cf archive file1 file2 +tar f archive --delete file2 +tar tf archive) ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? else - ( :; + ( :; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -8574,36 +10073,25 @@ TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * -mkdir directory -tar -cPvf archive directory/../directory -echo separator -tar -xPvf archive) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? +genfile -l 50000 --file file1 +genfile -l 1024 --file file2 +tar cf archive file1 file2 +tar f archive --delete file2 +tar tf archive) ) >"$at_stdout" 2>"$at_stderr" fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "directory/../directory/ -separator -directory/../directory/ -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/extrac03.at:26: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "file1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/delete01.at:26" +$at_failed && at_func_log_failure +$at_traceon; } - echo 1 > "$at_status_file" - exit 1 -fi - -$at_traceon - - $at_traceoff -echo "$at_srcdir/extrac03.at:26: + { $at_traceoff +$as_echo "$at_srcdir/delete01.at:26: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -8612,19 +10100,16 @@ TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -mkdir directory -tar -cPvf archive directory/../directory -echo separator -tar -xPvf archive)" -echo extrac03.at:26 >"$at_check_line_file" - -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +genfile -l 50000 --file file1 +genfile -l 1024 --file file2 +tar cf archive file1 file2 +tar f archive --delete file2 +tar tf archive)" +echo delete01.at:26 >"$at_check_line_file" -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -8633,15 +10118,14 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -mkdir directory -tar -cPvf archive directory/../directory -echo separator -tar -xPvf archive) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" +genfile -l 50000 --file file1 +genfile -l 1024 --file file2 +tar cf archive file1 file2 +tar f archive --delete file2 +tar tf archive) ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? else - ( :; + ( :; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -8650,60 +10134,49 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -mkdir directory -tar -cPvf archive directory/../directory -echo separator -tar -xPvf archive) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? +genfile -l 50000 --file file1 +genfile -l 1024 --file file2 +tar cf archive file1 file2 +tar f archive --delete file2 +tar tf archive) ) >"$at_stdout" 2>"$at_stderr" fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "directory/../directory/ -separator -directory/../directory/ -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/extrac03.at:26: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "file1 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/delete01.at:26" -$at_traceon +$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"` - ;; - - 21 ) # 21. extrac04.at:23: extract + fnmatch - at_setup_line='extrac04.at:23' - at_desc="extract + fnmatch" - $at_quiet $ECHO_N " 21: extract + fnmatch $ECHO_C" - at_xfail=no + $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_19 +#AT_START_20 +# 20. 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_xfail=no test -f $XFAILFILE && at_xfail=yes - echo "# -*- compilation -*-" >> "$at_group_log" - ( - echo "21. extrac04.at:23: testing ..." - $at_traceon +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "20. delete02.at:23: testing ..." + $at_traceon - $at_traceoff -echo "$at_srcdir/extrac04.at:26: + { $at_traceoff +$as_echo "$at_srcdir/delete02.at:26: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -8712,31 +10185,19 @@ TAR_OPTIONS=\"-H v7\" export TAR_OPTIONS rm -rf * +genfile -l 3073 -p zeros --file 1 +cp 1 2 +cp 2 3 +tar cf archive 1 2 3 +tar tf archive +cat archive | tar f - --delete 2 > archive2 +echo separator +tar tf archive2)" +echo delete02.at:26 >"$at_check_line_file" -test -z "`sort < /dev/null 2>&1`" || exit 77 - -touch file1 -mkdir directory -mkdir directory/subdirectory -touch directory/file1 -touch directory/file2 -touch directory/subdirectory/file1 -touch directory/subdirectory/file2 -tar -cf archive ./file1 directory -tar -tf archive \\ - --exclude='./*1' \\ - --exclude='d*/*1' \\ - --exclude='d*/s*/*2' | sort -)" -echo extrac04.at:26 >"$at_check_line_file" - -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -8745,27 +10206,17 @@ TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * - -test -z "`sort < /dev/null 2>&1`" || exit 77 - -touch file1 -mkdir directory -mkdir directory/subdirectory -touch directory/file1 -touch directory/file2 -touch directory/subdirectory/file1 -touch directory/subdirectory/file2 -tar -cf archive ./file1 directory -tar -tf archive \ - --exclude='./*1' \ - --exclude='d*/*1' \ - --exclude='d*/s*/*2' | sort -) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" +genfile -l 3073 -p zeros --file 1 +cp 1 2 +cp 2 3 +tar cf archive 1 2 3 +tar tf archive +cat archive | tar f - --delete 2 > archive2 +echo separator +tar tf archive2) ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? else - ( :; + ( :; mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -8774,48 +10225,33 @@ TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * - -test -z "`sort < /dev/null 2>&1`" || exit 77 - -touch file1 -mkdir directory -mkdir directory/subdirectory -touch directory/file1 -touch directory/file2 -touch directory/subdirectory/file1 -touch directory/subdirectory/file2 -tar -cf archive ./file1 directory -tar -tf archive \ - --exclude='./*1' \ - --exclude='d*/*1' \ - --exclude='d*/s*/*2' | sort -) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? +genfile -l 3073 -p zeros --file 1 +cp 1 2 +cp 2 3 +tar cf archive 1 2 3 +tar tf archive +cat archive | tar f - --delete 2 > archive2 +echo separator +tar tf archive2) ) >"$at_stdout" 2>"$at_stderr" fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "directory/ -directory/file2 -directory/subdirectory/ -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/extrac04.at:26: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "1 +2 +3 +separator +1 +3 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/delete02.at:26" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/extrac04.at:26: + { $at_traceoff +$as_echo "$at_srcdir/delete02.at:26: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -8824,31 +10260,19 @@ TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * +genfile -l 3073 -p zeros --file 1 +cp 1 2 +cp 2 3 +tar cf archive 1 2 3 +tar tf archive +cat archive | tar f - --delete 2 > archive2 +echo separator +tar tf archive2)" +echo delete02.at:26 >"$at_check_line_file" -test -z "`sort < /dev/null 2>&1`" || exit 77 - -touch file1 -mkdir directory -mkdir directory/subdirectory -touch directory/file1 -touch directory/file2 -touch directory/subdirectory/file1 -touch directory/subdirectory/file2 -tar -cf archive ./file1 directory -tar -tf archive \\ - --exclude='./*1' \\ - --exclude='d*/*1' \\ - --exclude='d*/s*/*2' | sort -)" -echo extrac04.at:26 >"$at_check_line_file" - -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -8857,27 +10281,17 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * - -test -z "`sort < /dev/null 2>&1`" || exit 77 - -touch file1 -mkdir directory -mkdir directory/subdirectory -touch directory/file1 -touch directory/file2 -touch directory/subdirectory/file1 -touch directory/subdirectory/file2 -tar -cf archive ./file1 directory -tar -tf archive \ - --exclude='./*1' \ - --exclude='d*/*1' \ - --exclude='d*/s*/*2' | sort -) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" +genfile -l 3073 -p zeros --file 1 +cp 1 2 +cp 2 3 +tar cf archive 1 2 3 +tar tf archive +cat archive | tar f - --delete 2 > archive2 +echo separator +tar tf archive2) ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? else - ( :; + ( :; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -8886,48 +10300,33 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * - -test -z "`sort < /dev/null 2>&1`" || exit 77 - -touch file1 -mkdir directory -mkdir directory/subdirectory -touch directory/file1 -touch directory/file2 -touch directory/subdirectory/file1 -touch directory/subdirectory/file2 -tar -cf archive ./file1 directory -tar -tf archive \ - --exclude='./*1' \ - --exclude='d*/*1' \ - --exclude='d*/s*/*2' | sort -) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? +genfile -l 3073 -p zeros --file 1 +cp 1 2 +cp 2 3 +tar cf archive 1 2 3 +tar tf archive +cat archive | tar f - --delete 2 > archive2 +echo separator +tar tf archive2) ) >"$at_stdout" 2>"$at_stderr" fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "directory/ -directory/file2 -directory/subdirectory/ -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/extrac04.at:26: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "1 +2 +3 +separator +1 +3 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/delete02.at:26" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/extrac04.at:26: + { $at_traceoff +$as_echo "$at_srcdir/delete02.at:26: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -8936,31 +10335,19 @@ TAR_OPTIONS=\"-H ustar\" export TAR_OPTIONS rm -rf * +genfile -l 3073 -p zeros --file 1 +cp 1 2 +cp 2 3 +tar cf archive 1 2 3 +tar tf archive +cat archive | tar f - --delete 2 > archive2 +echo separator +tar tf archive2)" +echo delete02.at:26 >"$at_check_line_file" -test -z "`sort < /dev/null 2>&1`" || exit 77 - -touch file1 -mkdir directory -mkdir directory/subdirectory -touch directory/file1 -touch directory/file2 -touch directory/subdirectory/file1 -touch directory/subdirectory/file2 -tar -cf archive ./file1 directory -tar -tf archive \\ - --exclude='./*1' \\ - --exclude='d*/*1' \\ - --exclude='d*/s*/*2' | sort -)" -echo extrac04.at:26 >"$at_check_line_file" - -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -8969,27 +10356,17 @@ TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * - -test -z "`sort < /dev/null 2>&1`" || exit 77 - -touch file1 -mkdir directory -mkdir directory/subdirectory -touch directory/file1 -touch directory/file2 -touch directory/subdirectory/file1 -touch directory/subdirectory/file2 -tar -cf archive ./file1 directory -tar -tf archive \ - --exclude='./*1' \ - --exclude='d*/*1' \ - --exclude='d*/s*/*2' | sort -) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" +genfile -l 3073 -p zeros --file 1 +cp 1 2 +cp 2 3 +tar cf archive 1 2 3 +tar tf archive +cat archive | tar f - --delete 2 > archive2 +echo separator +tar tf archive2) ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? else - ( :; + ( :; mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -8998,48 +10375,33 @@ TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * - -test -z "`sort < /dev/null 2>&1`" || exit 77 - -touch file1 -mkdir directory -mkdir directory/subdirectory -touch directory/file1 -touch directory/file2 -touch directory/subdirectory/file1 -touch directory/subdirectory/file2 -tar -cf archive ./file1 directory -tar -tf archive \ - --exclude='./*1' \ - --exclude='d*/*1' \ - --exclude='d*/s*/*2' | sort -) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? +genfile -l 3073 -p zeros --file 1 +cp 1 2 +cp 2 3 +tar cf archive 1 2 3 +tar tf archive +cat archive | tar f - --delete 2 > archive2 +echo separator +tar tf archive2) ) >"$at_stdout" 2>"$at_stderr" fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "directory/ -directory/file2 -directory/subdirectory/ -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/extrac04.at:26: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "1 +2 +3 +separator +1 +3 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/delete02.at:26" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/extrac04.at:26: + { $at_traceoff +$as_echo "$at_srcdir/delete02.at:26: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -9048,31 +10410,19 @@ TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * +genfile -l 3073 -p zeros --file 1 +cp 1 2 +cp 2 3 +tar cf archive 1 2 3 +tar tf archive +cat archive | tar f - --delete 2 > archive2 +echo separator +tar tf archive2)" +echo delete02.at:26 >"$at_check_line_file" -test -z "`sort < /dev/null 2>&1`" || exit 77 - -touch file1 -mkdir directory -mkdir directory/subdirectory -touch directory/file1 -touch directory/file2 -touch directory/subdirectory/file1 -touch directory/subdirectory/file2 -tar -cf archive ./file1 directory -tar -tf archive \\ - --exclude='./*1' \\ - --exclude='d*/*1' \\ - --exclude='d*/s*/*2' | sort -)" -echo extrac04.at:26 >"$at_check_line_file" - -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -9081,27 +10431,17 @@ TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * - -test -z "`sort < /dev/null 2>&1`" || exit 77 - -touch file1 -mkdir directory -mkdir directory/subdirectory -touch directory/file1 -touch directory/file2 -touch directory/subdirectory/file1 -touch directory/subdirectory/file2 -tar -cf archive ./file1 directory -tar -tf archive \ - --exclude='./*1' \ - --exclude='d*/*1' \ - --exclude='d*/s*/*2' | sort -) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" +genfile -l 3073 -p zeros --file 1 +cp 1 2 +cp 2 3 +tar cf archive 1 2 3 +tar tf archive +cat archive | tar f - --delete 2 > archive2 +echo separator +tar tf archive2) ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? else - ( :; + ( :; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -9110,48 +10450,33 @@ TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * - -test -z "`sort < /dev/null 2>&1`" || exit 77 - -touch file1 -mkdir directory -mkdir directory/subdirectory -touch directory/file1 -touch directory/file2 -touch directory/subdirectory/file1 -touch directory/subdirectory/file2 -tar -cf archive ./file1 directory -tar -tf archive \ - --exclude='./*1' \ - --exclude='d*/*1' \ - --exclude='d*/s*/*2' | sort -) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? +genfile -l 3073 -p zeros --file 1 +cp 1 2 +cp 2 3 +tar cf archive 1 2 3 +tar tf archive +cat archive | tar f - --delete 2 > archive2 +echo separator +tar tf archive2) ) >"$at_stdout" 2>"$at_stderr" fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "directory/ -directory/file2 -directory/subdirectory/ -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/extrac04.at:26: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "1 +2 +3 +separator +1 +3 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/delete02.at:26" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/extrac04.at:26: + { $at_traceoff +$as_echo "$at_srcdir/delete02.at:26: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -9160,31 +10485,19 @@ TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * +genfile -l 3073 -p zeros --file 1 +cp 1 2 +cp 2 3 +tar cf archive 1 2 3 +tar tf archive +cat archive | tar f - --delete 2 > archive2 +echo separator +tar tf archive2)" +echo delete02.at:26 >"$at_check_line_file" -test -z "`sort < /dev/null 2>&1`" || exit 77 - -touch file1 -mkdir directory -mkdir directory/subdirectory -touch directory/file1 -touch directory/file2 -touch directory/subdirectory/file1 -touch directory/subdirectory/file2 -tar -cf archive ./file1 directory -tar -tf archive \\ - --exclude='./*1' \\ - --exclude='d*/*1' \\ - --exclude='d*/s*/*2' | sort -)" -echo extrac04.at:26 >"$at_check_line_file" - -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -9193,27 +10506,17 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * - -test -z "`sort < /dev/null 2>&1`" || exit 77 - -touch file1 -mkdir directory -mkdir directory/subdirectory -touch directory/file1 -touch directory/file2 -touch directory/subdirectory/file1 -touch directory/subdirectory/file2 -tar -cf archive ./file1 directory -tar -tf archive \ - --exclude='./*1' \ - --exclude='d*/*1' \ - --exclude='d*/s*/*2' | sort -) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" +genfile -l 3073 -p zeros --file 1 +cp 1 2 +cp 2 3 +tar cf archive 1 2 3 +tar tf archive +cat archive | tar f - --delete 2 > archive2 +echo separator +tar tf archive2) ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? else - ( :; + ( :; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -9222,138 +10525,269 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * - -test -z "`sort < /dev/null 2>&1`" || exit 77 - -touch file1 -mkdir directory -mkdir directory/subdirectory -touch directory/file1 -touch directory/file2 -touch directory/subdirectory/file1 -touch directory/subdirectory/file2 -tar -cf archive ./file1 directory -tar -tf archive \ - --exclude='./*1' \ - --exclude='d*/*1' \ - --exclude='d*/s*/*2' | sort -) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? +genfile -l 3073 -p zeros --file 1 +cp 1 2 +cp 2 3 +tar cf archive 1 2 3 +tar tf archive +cat archive | tar f - --delete 2 > archive2 +echo separator +tar tf archive2) ) >"$at_stdout" 2>"$at_stderr" fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "directory/ -directory/file2 -directory/subdirectory/ -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/extrac04.at:26: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi - -$at_traceon +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "1 +2 +3 +separator +1 +3 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/delete02.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"` - ;; - 22 ) # 22. extrac05.at:30: extracting selected members from pax - at_setup_line='extrac05.at:30' - at_desc="extracting selected members from pax" - $at_quiet $ECHO_N " 22: extracting selected members from pax $ECHO_C" - at_xfail=no + $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_20 +#AT_START_21 +# 21. 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_xfail=no test -f $XFAILFILE && at_xfail=yes - echo "# -*- compilation -*-" >> "$at_group_log" - ( - echo "22. extrac05.at:30: testing ..." - $at_traceon +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "21. delete03.at:21: testing ..." + $at_traceon -cat >list <<'_ATEOF' -jeden -cztery -_ATEOF - $at_traceoff -echo "$at_srcdir/extrac05.at:38: -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix + { $at_traceoff +$as_echo "$at_srcdir/delete03.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 * -genfile --length 118 --file jeden -genfile --length 223 --file dwa -genfile --length 517 --file trzy -genfile --sparse --file sparsefile 0 ABCD 1M EFGH 2000K IJKL -genfile --length 110 --file cztery -tar cf archive jeden dwa trzy cztery || exit 1 +prefix=This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX +rm -f \$prefix* +for i in 1 2 3 4 5 6 7 8 9 +do touch \$prefix\$i +done +tar -cf archive ./\$prefix* && + tar --delete -f archive ./\${prefix}5 && + tar -tf archive +)" +echo delete03.at:26 >"$at_check_line_file" -mkdir dir -cd dir +if { echo 'Not enabling shell tracing (command contains a ${...} parameter expansion)' + 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 * -tar xvfT ../archive ../../list || exit 1 -cd .. +prefix=This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX +rm -f $prefix* +for i in 1 2 3 4 5 6 7 8 9 +do touch $prefix$i +done +tar -cf archive ./$prefix* && + tar --delete -f archive ./${prefix}5 && + 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 * + + +prefix=This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX +rm -f $prefix* +for i in 1 2 3 4 5 6 7 8 9 +do touch $prefix$i +done +tar -cf archive ./$prefix* && + tar --delete -f archive ./${prefix}5 && + 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 "./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX1 +./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX2 +./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX3 +./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX4 +./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX6 +./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX7 +./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX8 +./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX9 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/delete03.at:26" + +$at_failed && at_func_log_failure +$at_traceon; } + + { $at_traceoff +$as_echo "$at_srcdir/delete03.at:26: +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H oldgnu\" +export TAR_OPTIONS +rm -rf * + + +prefix=This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX +rm -f \$prefix* +for i in 1 2 3 4 5 6 7 8 9 +do touch \$prefix\$i +done +tar -cf archive ./\$prefix* && + tar --delete -f archive ./\${prefix}5 && + tar -tf archive )" -echo extrac05.at:38 >"$at_check_line_file" +echo delete03.at:26 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' +if { echo 'Not enabling shell tracing (command contains a ${...} parameter expansion)' + 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 * + + +prefix=This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX +rm -f $prefix* +for i in 1 2 3 4 5 6 7 8 9 +do touch $prefix$i +done +tar -cf archive ./$prefix* && + tar --delete -f archive ./${prefix}5 && + 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 * + + +prefix=This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX +rm -f $prefix* +for i in 1 2 3 4 5 6 7 8 9 +do touch $prefix$i +done +tar -cf archive ./$prefix* && + tar --delete -f archive ./${prefix}5 && + 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 "./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX1 +./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX2 +./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX3 +./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX4 +./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX6 +./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX7 +./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX8 +./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX9 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/delete03.at:26" + +$at_failed && at_func_log_failure +$at_traceon; } -if test -n "$at_trace_this"; then - ( $at_traceon; + { $at_traceoff +$as_echo "$at_srcdir/delete03.at:26: mkdir posix (cd posix TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" +TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * -genfile --length 118 --file jeden -genfile --length 223 --file dwa -genfile --length 517 --file trzy -genfile --sparse --file sparsefile 0 ABCD 1M EFGH 2000K IJKL -genfile --length 110 --file cztery -tar cf archive jeden dwa trzy cztery || exit 1 +prefix=This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX +rm -f \$prefix* +for i in 1 2 3 4 5 6 7 8 9 +do touch \$prefix\$i +done +tar -cf archive ./\$prefix* && + tar --delete -f archive ./\${prefix}5 && + tar -tf archive +)" +echo delete03.at:26 >"$at_check_line_file" -mkdir dir -cd dir +if { echo 'Not enabling shell tracing (command contains a ${...} parameter expansion)' + 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 * -tar xvfT ../archive ../../list || exit 1 -cd .. +prefix=This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX +rm -f $prefix* +for i in 1 2 3 4 5 6 7 8 9 +do touch $prefix$i +done +tar -cf archive ./$prefix* && + tar --delete -f archive ./${prefix}5 && + tar -tf archive ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -9362,70 +10796,61 @@ TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * -genfile --length 118 --file jeden -genfile --length 223 --file dwa -genfile --length 517 --file trzy -genfile --sparse --file sparsefile 0 ABCD 1M EFGH 2000K IJKL -genfile --length 110 --file cztery - -tar cf archive jeden dwa trzy cztery || exit 1 - -mkdir dir -cd dir - -tar xvfT ../archive ../../list || exit 1 -cd .. +prefix=This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX +rm -f $prefix* +for i in 1 2 3 4 5 6 7 8 9 +do touch $prefix$i +done +tar -cf archive ./$prefix* && + tar --delete -f archive ./${prefix}5 && + tar -tf archive ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "jeden -cztery -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/extrac05.at:38: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi - -$at_traceon +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX1 +./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX2 +./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX3 +./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX4 +./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX6 +./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX7 +./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX8 +./This_is_a_very_long_file_name_prefix_that_is_designed_to_cause_problems_with_file_names_that_run_into_a_limit_of_the_posix_tar_formatXX9 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/delete03.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"` - ;; - 23 ) # 23. extrac06.at:33: mode of extracted directories - at_setup_line='extrac06.at:33' - at_desc="mode of extracted directories" - $at_quiet $ECHO_N " 23: mode of extracted directories $ECHO_C" - at_xfail=no + $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. 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_xfail=no test -f $XFAILFILE && at_xfail=yes - echo "# -*- compilation -*-" >> "$at_group_log" - ( - echo "23. extrac06.at:33: testing ..." - $at_traceon +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "22. delete04.at:23: testing ..." + $at_traceon - $at_traceoff -echo "$at_srcdir/extrac06.at:36: + { $at_traceoff +$as_echo "$at_srcdir/delete04.at:26: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -9434,43 +10859,25 @@ TAR_OPTIONS=\"-H v7\" export TAR_OPTIONS rm -rf * - -# Force umask -umask 022 - -# Make sure user's umask is honored, even if we are superuser -TAR_OPTIONS=\"\$TAR_OPTIONS --no-same-permissions\" - -# Create a directory -mkdir directory -chmod 777 directory -genfile --stat=mode:777 directory - -# Archive it -tar cf arc directory - -# Change its permissions ... -chmod 755 directory -genfile --stat=mode:777 directory - -# ... and attempt to restore it twice -tar xf arc directory -genfile --stat=mode:777 directory - -tar xf arc directory -genfile --stat=mode:777 directory - -# After both restores, the directory mode should be 755 +genfile -l 3 -f file1 +genfile -l 5 -f file2 +genfile -l 3 -f file3 +genfile -l 6 -f file4 +genfile -l 24 -f file5 +genfile -l 13 -f file6 +genfile -l 1385 -f file7 +genfile -l 30 -f file8 +genfile -l 10 -f file9 +genfile -l 256000 -f file10 +tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10 +tar f archive --delete file10 +tar tf archive )" -echo extrac06.at:36 >"$at_check_line_file" - -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +echo delete04.at:26 >"$at_check_line_file" -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -9479,102 +10886,67 @@ TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * +genfile -l 3 -f file1 +genfile -l 5 -f file2 +genfile -l 3 -f file3 +genfile -l 6 -f file4 +genfile -l 24 -f file5 +genfile -l 13 -f file6 +genfile -l 1385 -f file7 +genfile -l 30 -f file8 +genfile -l 10 -f file9 +genfile -l 256000 -f file10 +tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10 +tar f archive --delete file10 +tar tf archive +) ) >"$at_stdout" 2>"$at_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 * -# Force umask -umask 022 - -# Make sure user's umask is honored, even if we are superuser -TAR_OPTIONS="$TAR_OPTIONS --no-same-permissions" - -# Create a directory -mkdir directory -chmod 777 directory -genfile --stat=mode:777 directory - -# Archive it -tar cf arc directory - -# Change its permissions ... -chmod 755 directory -genfile --stat=mode:777 directory - -# ... and attempt to restore it twice -tar xf arc directory -genfile --stat=mode:777 directory - -tar xf arc directory -genfile --stat=mode:777 directory - -# After both restores, the directory mode should be 755 -) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" -else - ( :; -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 -export TEST_TAR_FORMAT -TAR_OPTIONS="-H v7" -export TAR_OPTIONS -rm -rf * - - -# Force umask -umask 022 - -# Make sure user's umask is honored, even if we are superuser -TAR_OPTIONS="$TAR_OPTIONS --no-same-permissions" - -# Create a directory -mkdir directory -chmod 777 directory -genfile --stat=mode:777 directory - -# Archive it -tar cf arc directory - -# Change its permissions ... -chmod 755 directory -genfile --stat=mode:777 directory - -# ... and attempt to restore it twice -tar xf arc directory -genfile --stat=mode:777 directory - -tar xf arc directory -genfile --stat=mode:777 directory - -# After both restores, the directory mode should be 755 +genfile -l 3 -f file1 +genfile -l 5 -f file2 +genfile -l 3 -f file3 +genfile -l 6 -f file4 +genfile -l 24 -f file5 +genfile -l 13 -f file6 +genfile -l 1385 -f file7 +genfile -l 30 -f file8 +genfile -l 10 -f file9 +genfile -l 256000 -f file10 +tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10 +tar f archive --delete file10 +tar tf archive ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "777 -755 -755 -755 -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/extrac06.at:36: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "file1 +file2 +file3 +file4 +file5 +file6 +file7 +file8 +file9 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/delete04.at:26" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/extrac06.at:36: + { $at_traceoff +$as_echo "$at_srcdir/delete04.at:26: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -9583,43 +10955,25 @@ TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * - -# Force umask -umask 022 - -# Make sure user's umask is honored, even if we are superuser -TAR_OPTIONS=\"\$TAR_OPTIONS --no-same-permissions\" - -# Create a directory -mkdir directory -chmod 777 directory -genfile --stat=mode:777 directory - -# Archive it -tar cf arc directory - -# Change its permissions ... -chmod 755 directory -genfile --stat=mode:777 directory - -# ... and attempt to restore it twice -tar xf arc directory -genfile --stat=mode:777 directory - -tar xf arc directory -genfile --stat=mode:777 directory - -# After both restores, the directory mode should be 755 +genfile -l 3 -f file1 +genfile -l 5 -f file2 +genfile -l 3 -f file3 +genfile -l 6 -f file4 +genfile -l 24 -f file5 +genfile -l 13 -f file6 +genfile -l 1385 -f file7 +genfile -l 30 -f file8 +genfile -l 10 -f file9 +genfile -l 256000 -f file10 +tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10 +tar f archive --delete file10 +tar tf archive )" -echo extrac06.at:36 >"$at_check_line_file" - -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +echo delete04.at:26 >"$at_check_line_file" -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -9628,39 +10982,23 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * - -# Force umask -umask 022 - -# Make sure user's umask is honored, even if we are superuser -TAR_OPTIONS="$TAR_OPTIONS --no-same-permissions" - -# Create a directory -mkdir directory -chmod 777 directory -genfile --stat=mode:777 directory - -# Archive it -tar cf arc directory - -# Change its permissions ... -chmod 755 directory -genfile --stat=mode:777 directory - -# ... and attempt to restore it twice -tar xf arc directory -genfile --stat=mode:777 directory - -tar xf arc directory -genfile --stat=mode:777 directory - -# After both restores, the directory mode should be 755 +genfile -l 3 -f file1 +genfile -l 5 -f file2 +genfile -l 3 -f file3 +genfile -l 6 -f file4 +genfile -l 24 -f file5 +genfile -l 13 -f file6 +genfile -l 1385 -f file7 +genfile -l 30 -f file8 +genfile -l 10 -f file9 +genfile -l 256000 -f file10 +tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10 +tar f archive --delete file10 +tar tf archive ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -9669,61 +11007,42 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * - -# Force umask -umask 022 - -# Make sure user's umask is honored, even if we are superuser -TAR_OPTIONS="$TAR_OPTIONS --no-same-permissions" - -# Create a directory -mkdir directory -chmod 777 directory -genfile --stat=mode:777 directory - -# Archive it -tar cf arc directory - -# Change its permissions ... -chmod 755 directory -genfile --stat=mode:777 directory - -# ... and attempt to restore it twice -tar xf arc directory -genfile --stat=mode:777 directory - -tar xf arc directory -genfile --stat=mode:777 directory - -# After both restores, the directory mode should be 755 +genfile -l 3 -f file1 +genfile -l 5 -f file2 +genfile -l 3 -f file3 +genfile -l 6 -f file4 +genfile -l 24 -f file5 +genfile -l 13 -f file6 +genfile -l 1385 -f file7 +genfile -l 30 -f file8 +genfile -l 10 -f file9 +genfile -l 256000 -f file10 +tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10 +tar f archive --delete file10 +tar tf archive ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "777 -755 -755 -755 -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/extrac06.at:36: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "file1 +file2 +file3 +file4 +file5 +file6 +file7 +file8 +file9 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/delete04.at:26" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/extrac06.at:36: + { $at_traceoff +$as_echo "$at_srcdir/delete04.at:26: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -9732,43 +11051,25 @@ TAR_OPTIONS=\"-H ustar\" export TAR_OPTIONS rm -rf * +genfile -l 3 -f file1 +genfile -l 5 -f file2 +genfile -l 3 -f file3 +genfile -l 6 -f file4 +genfile -l 24 -f file5 +genfile -l 13 -f file6 +genfile -l 1385 -f file7 +genfile -l 30 -f file8 +genfile -l 10 -f file9 +genfile -l 256000 -f file10 +tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10 +tar f archive --delete file10 +tar tf archive +)" +echo delete04.at:26 >"$at_check_line_file" -# Force umask -umask 022 - -# Make sure user's umask is honored, even if we are superuser -TAR_OPTIONS=\"\$TAR_OPTIONS --no-same-permissions\" - -# Create a directory -mkdir directory -chmod 777 directory -genfile --stat=mode:777 directory - -# Archive it -tar cf arc directory - -# Change its permissions ... -chmod 755 directory -genfile --stat=mode:777 directory - -# ... and attempt to restore it twice -tar xf arc directory -genfile --stat=mode:777 directory - -tar xf arc directory -genfile --stat=mode:777 directory - -# After both restores, the directory mode should be 755 -)" -echo extrac06.at:36 >"$at_check_line_file" - -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -9777,39 +11078,23 @@ TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * - -# Force umask -umask 022 - -# Make sure user's umask is honored, even if we are superuser -TAR_OPTIONS="$TAR_OPTIONS --no-same-permissions" - -# Create a directory -mkdir directory -chmod 777 directory -genfile --stat=mode:777 directory - -# Archive it -tar cf arc directory - -# Change its permissions ... -chmod 755 directory -genfile --stat=mode:777 directory - -# ... and attempt to restore it twice -tar xf arc directory -genfile --stat=mode:777 directory - -tar xf arc directory -genfile --stat=mode:777 directory - -# After both restores, the directory mode should be 755 +genfile -l 3 -f file1 +genfile -l 5 -f file2 +genfile -l 3 -f file3 +genfile -l 6 -f file4 +genfile -l 24 -f file5 +genfile -l 13 -f file6 +genfile -l 1385 -f file7 +genfile -l 30 -f file8 +genfile -l 10 -f file9 +genfile -l 256000 -f file10 +tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10 +tar f archive --delete file10 +tar tf archive ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -9818,61 +11103,42 @@ TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * - -# Force umask -umask 022 - -# Make sure user's umask is honored, even if we are superuser -TAR_OPTIONS="$TAR_OPTIONS --no-same-permissions" - -# Create a directory -mkdir directory -chmod 777 directory -genfile --stat=mode:777 directory - -# Archive it -tar cf arc directory - -# Change its permissions ... -chmod 755 directory -genfile --stat=mode:777 directory - -# ... and attempt to restore it twice -tar xf arc directory -genfile --stat=mode:777 directory - -tar xf arc directory -genfile --stat=mode:777 directory - -# After both restores, the directory mode should be 755 +genfile -l 3 -f file1 +genfile -l 5 -f file2 +genfile -l 3 -f file3 +genfile -l 6 -f file4 +genfile -l 24 -f file5 +genfile -l 13 -f file6 +genfile -l 1385 -f file7 +genfile -l 30 -f file8 +genfile -l 10 -f file9 +genfile -l 256000 -f file10 +tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10 +tar f archive --delete file10 +tar tf archive ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "777 -755 -755 -755 -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/extrac06.at:36: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "file1 +file2 +file3 +file4 +file5 +file6 +file7 +file8 +file9 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/delete04.at:26" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/extrac06.at:36: + { $at_traceoff +$as_echo "$at_srcdir/delete04.at:26: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -9881,43 +11147,25 @@ TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * - -# Force umask -umask 022 - -# Make sure user's umask is honored, even if we are superuser -TAR_OPTIONS=\"\$TAR_OPTIONS --no-same-permissions\" - -# Create a directory -mkdir directory -chmod 777 directory -genfile --stat=mode:777 directory - -# Archive it -tar cf arc directory - -# Change its permissions ... -chmod 755 directory -genfile --stat=mode:777 directory - -# ... and attempt to restore it twice -tar xf arc directory -genfile --stat=mode:777 directory - -tar xf arc directory -genfile --stat=mode:777 directory - -# After both restores, the directory mode should be 755 +genfile -l 3 -f file1 +genfile -l 5 -f file2 +genfile -l 3 -f file3 +genfile -l 6 -f file4 +genfile -l 24 -f file5 +genfile -l 13 -f file6 +genfile -l 1385 -f file7 +genfile -l 30 -f file8 +genfile -l 10 -f file9 +genfile -l 256000 -f file10 +tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10 +tar f archive --delete file10 +tar tf archive )" -echo extrac06.at:36 >"$at_check_line_file" - -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +echo delete04.at:26 >"$at_check_line_file" -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -9926,39 +11174,23 @@ TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * - -# Force umask -umask 022 - -# Make sure user's umask is honored, even if we are superuser -TAR_OPTIONS="$TAR_OPTIONS --no-same-permissions" - -# Create a directory -mkdir directory -chmod 777 directory -genfile --stat=mode:777 directory - -# Archive it -tar cf arc directory - -# Change its permissions ... -chmod 755 directory -genfile --stat=mode:777 directory - -# ... and attempt to restore it twice -tar xf arc directory -genfile --stat=mode:777 directory - -tar xf arc directory -genfile --stat=mode:777 directory - -# After both restores, the directory mode should be 755 +genfile -l 3 -f file1 +genfile -l 5 -f file2 +genfile -l 3 -f file3 +genfile -l 6 -f file4 +genfile -l 24 -f file5 +genfile -l 13 -f file6 +genfile -l 1385 -f file7 +genfile -l 30 -f file8 +genfile -l 10 -f file9 +genfile -l 256000 -f file10 +tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10 +tar f archive --delete file10 +tar tf archive ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -9967,61 +11199,42 @@ TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * - -# Force umask -umask 022 - -# Make sure user's umask is honored, even if we are superuser -TAR_OPTIONS="$TAR_OPTIONS --no-same-permissions" - -# Create a directory -mkdir directory -chmod 777 directory -genfile --stat=mode:777 directory - -# Archive it -tar cf arc directory - -# Change its permissions ... -chmod 755 directory -genfile --stat=mode:777 directory - -# ... and attempt to restore it twice -tar xf arc directory -genfile --stat=mode:777 directory - -tar xf arc directory -genfile --stat=mode:777 directory - -# After both restores, the directory mode should be 755 +genfile -l 3 -f file1 +genfile -l 5 -f file2 +genfile -l 3 -f file3 +genfile -l 6 -f file4 +genfile -l 24 -f file5 +genfile -l 13 -f file6 +genfile -l 1385 -f file7 +genfile -l 30 -f file8 +genfile -l 10 -f file9 +genfile -l 256000 -f file10 +tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10 +tar f archive --delete file10 +tar tf archive ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "777 -755 -755 -755 -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/extrac06.at:36: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "file1 +file2 +file3 +file4 +file5 +file6 +file7 +file8 +file9 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/delete04.at:26" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/extrac06.at:36: + { $at_traceoff +$as_echo "$at_srcdir/delete04.at:26: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -10030,43 +11243,25 @@ TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * - -# Force umask -umask 022 - -# Make sure user's umask is honored, even if we are superuser -TAR_OPTIONS=\"\$TAR_OPTIONS --no-same-permissions\" - -# Create a directory -mkdir directory -chmod 777 directory -genfile --stat=mode:777 directory - -# Archive it -tar cf arc directory - -# Change its permissions ... -chmod 755 directory -genfile --stat=mode:777 directory - -# ... and attempt to restore it twice -tar xf arc directory -genfile --stat=mode:777 directory - -tar xf arc directory -genfile --stat=mode:777 directory - -# After both restores, the directory mode should be 755 +genfile -l 3 -f file1 +genfile -l 5 -f file2 +genfile -l 3 -f file3 +genfile -l 6 -f file4 +genfile -l 24 -f file5 +genfile -l 13 -f file6 +genfile -l 1385 -f file7 +genfile -l 30 -f file8 +genfile -l 10 -f file9 +genfile -l 256000 -f file10 +tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10 +tar f archive --delete file10 +tar tf archive )" -echo extrac06.at:36 >"$at_check_line_file" - -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +echo delete04.at:26 >"$at_check_line_file" -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -10075,39 +11270,23 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * - -# Force umask -umask 022 - -# Make sure user's umask is honored, even if we are superuser -TAR_OPTIONS="$TAR_OPTIONS --no-same-permissions" - -# Create a directory -mkdir directory -chmod 777 directory -genfile --stat=mode:777 directory - -# Archive it -tar cf arc directory - -# Change its permissions ... -chmod 755 directory -genfile --stat=mode:777 directory - -# ... and attempt to restore it twice -tar xf arc directory -genfile --stat=mode:777 directory - -tar xf arc directory -genfile --stat=mode:777 directory - -# After both restores, the directory mode should be 755 +genfile -l 3 -f file1 +genfile -l 5 -f file2 +genfile -l 3 -f file3 +genfile -l 6 -f file4 +genfile -l 24 -f file5 +genfile -l 13 -f file6 +genfile -l 1385 -f file7 +genfile -l 30 -f file8 +genfile -l 10 -f file9 +genfile -l 256000 -f file10 +tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10 +tar f archive --delete file10 +tar tf archive ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -10116,85 +11295,66 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * - -# Force umask -umask 022 - -# Make sure user's umask is honored, even if we are superuser -TAR_OPTIONS="$TAR_OPTIONS --no-same-permissions" - -# Create a directory -mkdir directory -chmod 777 directory -genfile --stat=mode:777 directory - -# Archive it -tar cf arc directory - -# Change its permissions ... -chmod 755 directory -genfile --stat=mode:777 directory - -# ... and attempt to restore it twice -tar xf arc directory -genfile --stat=mode:777 directory - -tar xf arc directory -genfile --stat=mode:777 directory - -# After both restores, the directory mode should be 755 +genfile -l 3 -f file1 +genfile -l 5 -f file2 +genfile -l 3 -f file3 +genfile -l 6 -f file4 +genfile -l 24 -f file5 +genfile -l 13 -f file6 +genfile -l 1385 -f file7 +genfile -l 30 -f file8 +genfile -l 10 -f file9 +genfile -l 256000 -f file10 +tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10 +tar f archive --delete file10 +tar tf archive ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "777 -755 -755 -755 -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/extrac06.at:36: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi - -$at_traceon +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "file1 +file2 +file3 +file4 +file5 +file6 +file7 +file8 +file9 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/delete04.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"` - ;; - 24 ) # 24. 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 $ECHO_N " 24: extracting symlinks to a read-only dir $ECHO_C" - at_xfail=no + $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_22 +#AT_START_23 +# 23. 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_xfail=no test -f $XFAILFILE && at_xfail=yes - echo "# -*- compilation -*-" >> "$at_group_log" - ( - echo "24. extrac07.at:27: testing ..." - $at_traceon +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "23. delete05.at:27: testing ..." + $at_traceon - $at_traceoff -echo "$at_srcdir/extrac07.at:30: + { $at_traceoff +$as_echo "$at_srcdir/delete05.at:30: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -10203,32 +11363,20 @@ TAR_OPTIONS=\"-H v7\" 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 +genfile -l 1024 -f en +genfile -l 1024 -f to -echo Extract -mkdir out -tar -C out -xvf archive +tar cf archive en to +# Make sure we don't use bogus blocking factor. +# GNU tar up to and including 1.14.91 produced an empty archive this way: +tar --file archive --blocking-factor=20 --delete tre +tar tf archive )" -echo extrac07.at:30 >"$at_check_line_file" - -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +echo delete05.at:30 >"$at_check_line_file" -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -10237,28 +11385,18 @@ TAR_OPTIONS="-H v7" 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 +genfile -l 1024 -f en +genfile -l 1024 -f to -echo Extract -mkdir out -tar -C out -xvf archive +tar cf archive en to +# Make sure we don't use bogus blocking factor. +# GNU tar up to and including 1.14.91 produced an empty archive this way: +tar --file archive --blocking-factor=20 --delete tre +tar tf archive ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -10267,53 +11405,33 @@ TAR_OPTIONS="-H v7" 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 +genfile -l 1024 -f en +genfile -l 1024 -f to -echo Extract -mkdir out -tar -C out -xvf archive +tar cf archive en to +# Make sure we don't use bogus blocking factor. +# GNU tar up to and including 1.14.91 produced an empty archive this way: +tar --file archive --blocking-factor=20 --delete tre +tar tf archive ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "Prepare the directory -Create the archive -Extract -dir/ -dir/foo -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/extrac07.at:30: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -else - ustar -fi +echo >>"$at_stderr"; $as_echo "tar: tre: Not found in archive +tar: Exiting with failure status due to previous errors +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "en +to +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/delete05.at:30" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/extrac07.at:30: + { $at_traceoff +$as_echo "$at_srcdir/delete05.at:30: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -10322,32 +11440,20 @@ TAR_OPTIONS=\"-H oldgnu\" 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 +genfile -l 1024 -f en +genfile -l 1024 -f to -echo Extract -mkdir out -tar -C out -xvf archive +tar cf archive en to +# Make sure we don't use bogus blocking factor. +# GNU tar up to and including 1.14.91 produced an empty archive this way: +tar --file archive --blocking-factor=20 --delete tre +tar tf archive )" -echo extrac07.at:30 >"$at_check_line_file" - -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +echo delete05.at:30 >"$at_check_line_file" -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -10356,28 +11462,18 @@ TAR_OPTIONS="-H oldgnu" 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 +genfile -l 1024 -f en +genfile -l 1024 -f to -echo Extract -mkdir out -tar -C out -xvf archive +tar cf archive en to +# Make sure we don't use bogus blocking factor. +# GNU tar up to and including 1.14.91 produced an empty archive this way: +tar --file archive --blocking-factor=20 --delete tre +tar tf archive ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -10386,53 +11482,33 @@ TAR_OPTIONS="-H oldgnu" 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 +genfile -l 1024 -f en +genfile -l 1024 -f to -echo Extract -mkdir out -tar -C out -xvf archive +tar cf archive en to +# Make sure we don't use bogus blocking factor. +# GNU tar up to and including 1.14.91 produced an empty archive this way: +tar --file archive --blocking-factor=20 --delete tre +tar tf archive ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "Prepare the directory -Create the archive -Extract -dir/ -dir/foo -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/extrac07.at:30: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -else - ustar -fi +echo >>"$at_stderr"; $as_echo "tar: tre: Not found in archive +tar: Exiting with failure status due to previous errors +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "en +to +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/delete05.at:30" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/extrac07.at:30: + { $at_traceoff +$as_echo "$at_srcdir/delete05.at:30: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -10441,32 +11517,20 @@ TAR_OPTIONS=\"-H ustar\" 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 +genfile -l 1024 -f en +genfile -l 1024 -f to -echo Extract -mkdir out -tar -C out -xvf archive +tar cf archive en to +# Make sure we don't use bogus blocking factor. +# GNU tar up to and including 1.14.91 produced an empty archive this way: +tar --file archive --blocking-factor=20 --delete tre +tar tf archive )" -echo extrac07.at:30 >"$at_check_line_file" - -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +echo delete05.at:30 >"$at_check_line_file" -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -10475,28 +11539,18 @@ TAR_OPTIONS="-H ustar" 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 +genfile -l 1024 -f en +genfile -l 1024 -f to -echo Extract -mkdir out -tar -C out -xvf archive +tar cf archive en to +# Make sure we don't use bogus blocking factor. +# GNU tar up to and including 1.14.91 produced an empty archive this way: +tar --file archive --blocking-factor=20 --delete tre +tar tf archive ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -10505,53 +11559,33 @@ TAR_OPTIONS="-H ustar" 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 +genfile -l 1024 -f en +genfile -l 1024 -f to -echo Extract -mkdir out -tar -C out -xvf archive +tar cf archive en to +# Make sure we don't use bogus blocking factor. +# GNU tar up to and including 1.14.91 produced an empty archive this way: +tar --file archive --blocking-factor=20 --delete tre +tar tf archive ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "Prepare the directory -Create the archive -Extract -dir/ -dir/foo -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/extrac07.at:30: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -else - ustar -fi +echo >>"$at_stderr"; $as_echo "tar: tre: Not found in archive +tar: Exiting with failure status due to previous errors +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "en +to +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/delete05.at:30" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/extrac07.at:30: + { $at_traceoff +$as_echo "$at_srcdir/delete05.at:30: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -10560,32 +11594,20 @@ TAR_OPTIONS=\"-H posix\" 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 +genfile -l 1024 -f en +genfile -l 1024 -f to -echo Extract -mkdir out -tar -C out -xvf archive +tar cf archive en to +# Make sure we don't use bogus blocking factor. +# GNU tar up to and including 1.14.91 produced an empty archive this way: +tar --file archive --blocking-factor=20 --delete tre +tar tf archive )" -echo extrac07.at:30 >"$at_check_line_file" - -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +echo delete05.at:30 >"$at_check_line_file" -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -10594,28 +11616,18 @@ TAR_OPTIONS="-H posix" 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 +genfile -l 1024 -f en +genfile -l 1024 -f to -echo Extract -mkdir out -tar -C out -xvf archive +tar cf archive en to +# Make sure we don't use bogus blocking factor. +# GNU tar up to and including 1.14.91 produced an empty archive this way: +tar --file archive --blocking-factor=20 --delete tre +tar tf archive ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -10624,53 +11636,33 @@ TAR_OPTIONS="-H posix" 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 +genfile -l 1024 -f en +genfile -l 1024 -f to -echo Extract -mkdir out -tar -C out -xvf archive +tar cf archive en to +# Make sure we don't use bogus blocking factor. +# GNU tar up to and including 1.14.91 produced an empty archive this way: +tar --file archive --blocking-factor=20 --delete tre +tar tf archive ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "Prepare the directory -Create the archive -Extract -dir/ -dir/foo -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/extrac07.at:30: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +echo >>"$at_stderr"; $as_echo "tar: tre: Not found in archive +tar: Exiting with failure status due to previous errors +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "en +to +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/delete05.at:30" +$at_failed && at_func_log_failure +$at_traceon; } - echo 1 > "$at_status_file" - exit 1 -else - ustar -fi - -$at_traceon - - $at_traceoff -echo "$at_srcdir/extrac07.at:30: + { $at_traceoff +$as_echo "$at_srcdir/delete05.at:30: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -10679,32 +11671,20 @@ 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 +genfile -l 1024 -f en +genfile -l 1024 -f to -echo Extract -mkdir out -tar -C out -xvf archive +tar cf archive en to +# Make sure we don't use bogus blocking factor. +# GNU tar up to and including 1.14.91 produced an empty archive this way: +tar --file archive --blocking-factor=20 --delete tre +tar tf archive )" -echo extrac07.at:30 >"$at_check_line_file" - -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +echo delete05.at:30 >"$at_check_line_file" -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -10713,28 +11693,18 @@ 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 +genfile -l 1024 -f en +genfile -l 1024 -f to -echo Extract -mkdir out -tar -C out -xvf archive +tar cf archive en to +# Make sure we don't use bogus blocking factor. +# GNU tar up to and including 1.14.91 produced an empty archive this way: +tar --file archive --blocking-factor=20 --delete tre +tar tf archive ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -10743,241 +11713,327 @@ 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 +genfile -l 1024 -f en +genfile -l 1024 -f to -echo Extract -mkdir out -tar -C out -xvf archive +tar cf archive en to +# Make sure we don't use bogus blocking factor. +# GNU tar up to and including 1.14.91 produced an empty archive this way: +tar --file archive --blocking-factor=20 --delete tre +tar tf archive ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "Prepare the directory -Create the archive -Extract -dir/ -dir/foo -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/extrac07.at:30: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -else - ustar -fi - -$at_traceon - +echo >>"$at_stderr"; $as_echo "tar: tre: Not found in archive +tar: Exiting with failure status due to previous errors +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "en +to +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/delete05.at:30" - # Testing one format is enough +$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"` - ;; - 25 ) # 25. gzip.at:23: gzip - at_setup_line='gzip.at:23' - at_desc="gzip" - $at_quiet $ECHO_N " 25: gzip $ECHO_C" - at_xfail=no - echo "# -*- compilation -*-" >> "$at_group_log" - ( - echo "25. gzip.at:23: testing ..." - $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_23 +#AT_START_24 +# 24. 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_xfail=no + test -f $XFAILFILE && at_xfail=yes +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "24. extrac01.at:23: testing ..." + $at_traceon -unset TAR_OPTIONS -$at_traceoff -echo "$at_srcdir/gzip.at:28: -cat /dev/null | gzip - > /dev/null 2>&1 || exit 77 -tar xfvz /dev/null -test \$? = 2 || exit 1 -" -echo gzip.at:28 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi + { $at_traceoff +$as_echo "$at_srcdir/extrac01.at:26: +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H v7\" +export TAR_OPTIONS +rm -rf * -if test -n "$at_trace_this"; then - ( $at_traceon; +mkdir directory +touch directory/file +tar cf archive directory || exit 1 +tar xf archive || exit 1 +)" +echo extrac01.at:26 >"$at_check_line_file" -cat /dev/null | gzip - > /dev/null 2>&1 || exit 77 +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 * -tar xfvz /dev/null -test $? = 2 || exit 1 - ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" +mkdir directory +touch directory/file +tar cf archive directory || exit 1 +tar xf archive || exit 1 +) ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? else - ( :; - -cat /dev/null | gzip - > /dev/null 2>&1 || exit 77 + ( :; +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 +export TEST_TAR_FORMAT +TAR_OPTIONS="-H v7" +export TAR_OPTIONS +rm -rf * -tar xfvz /dev/null -test $? = 2 || exit 1 - ) >"$at_stdout" 2>"$at_stderr" - at_status=$? +mkdir directory +touch directory/file +tar cf archive directory || exit 1 +tar xf archive || exit 1 +) ) >"$at_stdout" 2>"$at_stderr" fi - +at_status=$? at_failed=false -echo >>"$at_stderr"; echo " -gzip: stdin: unexpected end of file -tar: Child returned status 1 -tar: Exiting with failure status due to previous errors -" | $at_diff - "$at_stderr" || at_failed=: -$at_diff "$at_devnull" "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/gzip.at:28: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +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/extrac01.at:26" +$at_failed && at_func_log_failure +$at_traceon; } - echo 1 > "$at_status_file" - exit 1 -fi + { $at_traceoff +$as_echo "$at_srcdir/extrac01.at:26: +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H oldgnu\" +export TAR_OPTIONS +rm -rf * -$at_traceon +mkdir directory +touch directory/file +tar cf archive directory || exit 1 +tar xf archive || exit 1 +)" +echo extrac01.at:26 >"$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 * - $at_traceoff - $at_times_p && times >"$at_times_file" - ) 5>&1 2>&1 | eval $at_tee_pipe - at_status=`cat "$at_status_file"` - ;; +mkdir directory +touch directory/file +tar cf archive directory || exit 1 +tar xf archive || exit 1 +) ) >"$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 * - 26 ) # 26. incremental.at:23: incremental - at_setup_line='incremental.at:23' - at_desc="incremental" - $at_quiet $ECHO_N " 26: incremental $ECHO_C" - at_xfail=no - test -f $XFAILFILE && at_xfail=yes - echo "# -*- compilation -*-" >> "$at_group_log" - ( - echo "26. incremental.at:23: testing ..." - $at_traceon +mkdir directory +touch directory/file +tar cf archive directory || exit 1 +tar xf archive || 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/extrac01.at:26" +$at_failed && at_func_log_failure +$at_traceon; } + { $at_traceoff +$as_echo "$at_srcdir/extrac01.at:26: +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H ustar\" +export TAR_OPTIONS +rm -rf * +mkdir directory +touch directory/file +tar cf archive directory || exit 1 +tar xf archive || exit 1 +)" +echo extrac01.at:26 >"$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 * - $at_traceoff -echo "$at_srcdir/incremental.at:26: -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu +mkdir directory +touch directory/file +tar cf archive directory || exit 1 +tar xf archive || exit 1 +) ) >"$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 gnu\" +TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * -mkdir structure -echo x >structure/file +mkdir directory +touch directory/file +tar cf archive directory || exit 1 +tar xf archive || 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/extrac01.at:26" -# On Nextstep (and perhaps other 4.3BSD systems), -# a newly created file's ctime isn't updated -# until the next sync or stat operation on the file. -ls -l structure/file >/dev/null +$at_failed && at_func_log_failure +$at_traceon; } -# If the time of an initial backup and the creation time of a file contained -# in that backup are the same, the file will be backed up again when an -# incremental backup is done, because the incremental backup backs up -# files created \`on or after' the initial backup time. Without the sleep -# command, behaviour of tar becomes variable, depending whether the system -# clock ticked over to the next second between creating the file and -# backing it up. -sleep 1 + { $at_traceoff +$as_echo "$at_srcdir/extrac01.at:26: +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H posix\" +export TAR_OPTIONS +rm -rf * -tar cf archive --listed=list structure -tar cfv archive --listed=list structure -echo separator -# ReiserFS often offsets the timestamps of newly created files -# 1 second to the past. Try to compensate for it, until a better -# solution is found. -sleep 2 -echo y >structure/file -tar cfv archive --listed=list structure +mkdir directory +touch directory/file +tar cf archive directory || exit 1 +tar xf archive || exit 1 )" -echo incremental.at:26 >"$at_check_line_file" +echo extrac01.at:26 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS="-H posix" +export TAR_OPTIONS +rm -rf * + +mkdir directory +touch directory/file +tar cf archive directory || exit 1 +tar xf archive || exit 1 +) ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS="-H posix" +export TAR_OPTIONS +rm -rf * + +mkdir directory +touch directory/file +tar cf archive directory || exit 1 +tar xf archive || 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/extrac01.at:26" -if test -n "$at_trace_this"; then - ( $at_traceon; +$at_failed && at_func_log_failure +$at_traceon; } + + { $at_traceoff +$as_echo "$at_srcdir/extrac01.at:26: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" +TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -mkdir structure -echo x >structure/file - -# On Nextstep (and perhaps other 4.3BSD systems), -# a newly created file's ctime isn't updated -# until the next sync or stat operation on the file. -ls -l structure/file >/dev/null +mkdir directory +touch directory/file +tar cf archive directory || exit 1 +tar xf archive || exit 1 +)" +echo extrac01.at:26 >"$at_check_line_file" -# If the time of an initial backup and the creation time of a file contained -# in that backup are the same, the file will be backed up again when an -# incremental backup is done, because the incremental backup backs up -# files created `on or after' the initial backup time. Without the sleep -# command, behaviour of tar becomes variable, depending whether the system -# clock ticked over to the next second between creating the file and -# backing it up. -sleep 1 +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 * -tar cf archive --listed=list structure -tar cfv archive --listed=list structure -echo separator -# ReiserFS often offsets the timestamps of newly created files -# 1 second to the past. Try to compensate for it, until a better -# solution is found. -sleep 2 -echo y >structure/file -tar cfv archive --listed=list structure +mkdir directory +touch directory/file +tar cf archive directory || exit 1 +tar xf archive || exit 1 ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -10986,206 +12042,244 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -mkdir structure -echo x >structure/file - -# On Nextstep (and perhaps other 4.3BSD systems), -# a newly created file's ctime isn't updated -# until the next sync or stat operation on the file. -ls -l structure/file >/dev/null - -# If the time of an initial backup and the creation time of a file contained -# in that backup are the same, the file will be backed up again when an -# incremental backup is done, because the incremental backup backs up -# files created `on or after' the initial backup time. Without the sleep -# command, behaviour of tar becomes variable, depending whether the system -# clock ticked over to the next second between creating the file and -# backing it up. -sleep 1 - -tar cf archive --listed=list structure -tar cfv archive --listed=list structure -echo separator -# ReiserFS often offsets the timestamps of newly created files -# 1 second to the past. Try to compensate for it, until a better -# solution is found. -sleep 2 -echo y >structure/file -tar cfv archive --listed=list structure +mkdir directory +touch directory/file +tar cf archive directory || exit 1 +tar xf archive || exit 1 ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "structure/ -separator -structure/ -structure/file -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/incremental.at:26: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +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/extrac01.at:26" +$at_failed && at_func_log_failure +$at_traceon; } - echo 1 > "$at_status_file" - exit 1 -fi -$at_traceon - $at_traceoff -echo "$at_srcdir/incremental.at:26: -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu -export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H oldgnu\" -export TAR_OPTIONS -rm -rf * -mkdir structure -echo x >structure/file + $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_24 +#AT_START_25 +# 25. 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_xfail=no + test -f $XFAILFILE && at_xfail=yes +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "25. extrac02.at:23: testing ..." + $at_traceon -# On Nextstep (and perhaps other 4.3BSD systems), -# a newly created file's ctime isn't updated -# until the next sync or stat operation on the file. -ls -l structure/file >/dev/null -# If the time of an initial backup and the creation time of a file contained -# in that backup are the same, the file will be backed up again when an -# incremental backup is done, because the incremental backup backs up -# files created \`on or after' the initial backup time. Without the sleep -# command, behaviour of tar becomes variable, depending whether the system -# clock ticked over to the next second between creating the file and -# backing it up. -sleep 1 -tar cf archive --listed=list structure -tar cfv archive --listed=list structure -echo separator -# ReiserFS often offsets the timestamps of newly created files -# 1 second to the past. Try to compensate for it, until a better -# solution is found. -sleep 2 -echo y >structure/file -tar cfv archive --listed=list structure -)" -echo incremental.at:26 >"$at_check_line_file" +# FIXME: Skip if symlinks are not supported on the system -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi -if test -n "$at_trace_this"; then - ( $at_traceon; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu + + { $at_traceoff +$as_echo "$at_srcdir/extrac02.at:28: +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" +TAR_OPTIONS=\"-H v7\" export TAR_OPTIONS rm -rf * -mkdir structure -echo x >structure/file - -# On Nextstep (and perhaps other 4.3BSD systems), -# a newly created file's ctime isn't updated -# until the next sync or stat operation on the file. -ls -l structure/file >/dev/null +touch file +ln -s file link 2> /dev/null || ln file link +tar cf archive link +rm link +touch link +tar xf archive +)" +echo extrac02.at:28 >"$at_check_line_file" -# If the time of an initial backup and the creation time of a file contained -# in that backup are the same, the file will be backed up again when an -# incremental backup is done, because the incremental backup backs up -# files created `on or after' the initial backup time. Without the sleep -# command, behaviour of tar becomes variable, depending whether the system -# clock ticked over to the next second between creating the file and -# backing it up. -sleep 1 +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 * -tar cf archive --listed=list structure -tar cfv archive --listed=list structure -echo separator -# ReiserFS often offsets the timestamps of newly created files -# 1 second to the past. Try to compensate for it, until a better -# solution is found. -sleep 2 -echo y >structure/file -tar cfv archive --listed=list structure +touch file +ln -s file link 2> /dev/null || ln file link +tar cf archive link +rm link +touch link +tar xf archive ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + 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 file +ln -s file link 2> /dev/null || ln file link +tar cf archive link +rm link +touch link +tar xf archive +) ) >"$at_stdout" 2>"$at_stderr" +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/extrac02.at:28" + +$at_failed && at_func_log_failure +$at_traceon; } + + { $at_traceoff +$as_echo "$at_srcdir/extrac02.at:28: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" +TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * -mkdir structure -echo x >structure/file +touch file +ln -s file link 2> /dev/null || ln file link +tar cf archive link +rm link +touch link +tar xf archive +)" +echo extrac02.at:28 >"$at_check_line_file" -# On Nextstep (and perhaps other 4.3BSD systems), -# a newly created file's ctime isn't updated -# until the next sync or stat operation on the file. -ls -l structure/file >/dev/null +if { 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 * -# If the time of an initial backup and the creation time of a file contained -# in that backup are the same, the file will be backed up again when an -# incremental backup is done, because the incremental backup backs up -# files created `on or after' the initial backup time. Without the sleep -# command, behaviour of tar becomes variable, depending whether the system -# clock ticked over to the next second between creating the file and -# backing it up. -sleep 1 +touch file +ln -s file link 2> /dev/null || ln file link +tar cf archive link +rm link +touch link +tar xf archive +) ) >"$at_stdout" 2>"$at_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 * -tar cf archive --listed=list structure -tar cfv archive --listed=list structure -echo separator -# ReiserFS often offsets the timestamps of newly created files -# 1 second to the past. Try to compensate for it, until a better -# solution is found. -sleep 2 -echo y >structure/file -tar cfv archive --listed=list structure +touch file +ln -s file link 2> /dev/null || ln file link +tar cf archive link +rm link +touch link +tar xf archive ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "structure/ -separator -structure/ -structure/file -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/incremental.at:26: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +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/extrac02.at:28" +$at_failed && at_func_log_failure +$at_traceon; } - echo 1 > "$at_status_file" - exit 1 + { $at_traceoff +$as_echo "$at_srcdir/extrac02.at:28: +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H ustar\" +export TAR_OPTIONS +rm -rf * + +touch file +ln -s file link 2> /dev/null || ln file link +tar cf archive link +rm link +touch link +tar xf archive +)" +echo extrac02.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 file +ln -s file link 2> /dev/null || ln file link +tar cf archive link +rm link +touch link +tar xf archive +) ) >"$at_stdout" 2>"$at_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 file +ln -s file link 2> /dev/null || ln file link +tar cf archive link +rm link +touch link +tar xf archive +) ) >"$at_stdout" 2>"$at_stderr" 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/extrac02.at:28" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/incremental.at:26: + { $at_traceoff +$as_echo "$at_srcdir/extrac02.at:28: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -11194,42 +12288,18 @@ TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * -mkdir structure -echo x >structure/file - -# On Nextstep (and perhaps other 4.3BSD systems), -# a newly created file's ctime isn't updated -# until the next sync or stat operation on the file. -ls -l structure/file >/dev/null - -# If the time of an initial backup and the creation time of a file contained -# in that backup are the same, the file will be backed up again when an -# incremental backup is done, because the incremental backup backs up -# files created \`on or after' the initial backup time. Without the sleep -# command, behaviour of tar becomes variable, depending whether the system -# clock ticked over to the next second between creating the file and -# backing it up. -sleep 1 - -tar cf archive --listed=list structure -tar cfv archive --listed=list structure -echo separator -# ReiserFS often offsets the timestamps of newly created files -# 1 second to the past. Try to compensate for it, until a better -# solution is found. -sleep 2 -echo y >structure/file -tar cfv archive --listed=list structure +touch file +ln -s file link 2> /dev/null || ln file link +tar cf archive link +rm link +touch link +tar xf archive )" -echo incremental.at:26 >"$at_check_line_file" - -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +echo extrac02.at:28 >"$at_check_line_file" -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -11238,38 +12308,16 @@ TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * -mkdir structure -echo x >structure/file - -# On Nextstep (and perhaps other 4.3BSD systems), -# a newly created file's ctime isn't updated -# until the next sync or stat operation on the file. -ls -l structure/file >/dev/null - -# If the time of an initial backup and the creation time of a file contained -# in that backup are the same, the file will be backed up again when an -# incremental backup is done, because the incremental backup backs up -# files created `on or after' the initial backup time. Without the sleep -# command, behaviour of tar becomes variable, depending whether the system -# clock ticked over to the next second between creating the file and -# backing it up. -sleep 1 - -tar cf archive --listed=list structure -tar cfv archive --listed=list structure -echo separator -# ReiserFS often offsets the timestamps of newly created files -# 1 second to the past. Try to compensate for it, until a better -# solution is found. -sleep 2 -echo y >structure/file -tar cfv archive --listed=list structure +touch file +ln -s file link 2> /dev/null || ln file link +tar cf archive link +rm link +touch link +tar xf archive ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -11278,84 +12326,25 @@ TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * -mkdir structure -echo x >structure/file - -# On Nextstep (and perhaps other 4.3BSD systems), -# a newly created file's ctime isn't updated -# until the next sync or stat operation on the file. -ls -l structure/file >/dev/null - -# If the time of an initial backup and the creation time of a file contained -# in that backup are the same, the file will be backed up again when an -# incremental backup is done, because the incremental backup backs up -# files created `on or after' the initial backup time. Without the sleep -# command, behaviour of tar becomes variable, depending whether the system -# clock ticked over to the next second between creating the file and -# backing it up. -sleep 1 - -tar cf archive --listed=list structure -tar cfv archive --listed=list structure -echo separator -# ReiserFS often offsets the timestamps of newly created files -# 1 second to the past. Try to compensate for it, until a better -# solution is found. -sleep 2 -echo y >structure/file -tar cfv archive --listed=list structure +touch file +ln -s file link 2> /dev/null || ln file link +tar cf archive link +rm link +touch link +tar xf archive ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "structure/ -separator -structure/ -structure/file -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/incremental.at:26: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +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/extrac02.at:28" +$at_failed && at_func_log_failure +$at_traceon; } - echo 1 > "$at_status_file" - exit 1 -fi - -$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"` - ;; - - 27 ) # 27. incr01.at:27: restore broken symlinks from incremental - at_setup_line='incr01.at:27' - at_desc="restore broken symlinks from incremental" - $at_quiet $ECHO_N " 27: restore broken symlinks from incremental $ECHO_C" - at_xfail=no - test -f $XFAILFILE && at_xfail=yes - echo "# -*- compilation -*-" >> "$at_group_log" - ( - echo "27. incr01.at:27: testing ..." - $at_traceon - - - - - - $at_traceoff -echo "$at_srcdir/incr01.at:30: + { $at_traceoff +$as_echo "$at_srcdir/extrac02.at:28: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -11364,28 +12353,18 @@ TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -mkdir directory -\$as_ln_s foo directory/bar - -tar -cf archive.0 -g db directory -rm directory/bar -tar -cf archive.1 -g db directory +touch file +ln -s file link 2> /dev/null || ln file link +tar cf archive link +rm link +touch link +tar xf archive +)" +echo extrac02.at:28 >"$at_check_line_file" -mv directory orig - -tar xvfg archive.0 /dev/null -echo separator -tar xvfg archive.1 /dev/null -)" -echo incr01.at:30 >"$at_check_line_file" - -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -11394,24 +12373,16 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -mkdir directory -$as_ln_s foo directory/bar - -tar -cf archive.0 -g db directory -rm directory/bar -tar -cf archive.1 -g db directory - -mv directory orig - -tar xvfg archive.0 /dev/null -echo separator -tar xvfg archive.1 /dev/null +touch file +ln -s file link 2> /dev/null || ln file link +tar cf archive link +rm link +touch link +tar xf archive ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -11420,47 +12391,109 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -mkdir directory -$as_ln_s foo directory/bar +touch file +ln -s file link 2> /dev/null || ln file link +tar cf archive link +rm link +touch link +tar xf archive +) ) >"$at_stdout" 2>"$at_stderr" +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/extrac02.at:28" -tar -cf archive.0 -g db directory -rm directory/bar -tar -cf archive.1 -g db directory +$at_failed && at_func_log_failure +$at_traceon; } -mv directory orig -tar xvfg archive.0 /dev/null + + + $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_25 +#AT_START_26 +# 26. extrac03.at:23: extraction loops +at_setup_line='extrac03.at:23' +at_desc="extraction loops" +$at_quiet $as_echo_n " 26: $at_desc " +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "26. extrac03.at:23: testing ..." + $at_traceon + + + + + + { $at_traceoff +$as_echo "$at_srcdir/extrac03.at:26: +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H v7\" +export TAR_OPTIONS +rm -rf * + +mkdir directory +tar -cPvf archive directory/../directory echo separator -tar xvfg archive.1 /dev/null -) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? -fi +tar -xPvf archive)" +echo extrac03.at:26 >"$at_check_line_file" -at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "directory/ -directory/bar -separator -directory/ -tar: Deleting \`directory/bar' -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/incr01.at:30: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 +export TEST_TAR_FORMAT +TAR_OPTIONS="-H v7" +export TAR_OPTIONS +rm -rf * +mkdir directory +tar -cPvf archive directory/../directory +echo separator +tar -xPvf 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 * - echo 1 > "$at_status_file" - exit 1 +mkdir directory +tar -cPvf archive directory/../directory +echo separator +tar -xPvf 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 "directory/../directory/ +separator +directory/../directory/ +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/extrac03.at:26" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/incr01.at:30: + { $at_traceoff +$as_echo "$at_srcdir/extrac03.at:26: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -11470,27 +12503,14 @@ export TAR_OPTIONS rm -rf * mkdir directory -\$as_ln_s foo directory/bar - -tar -cf archive.0 -g db directory -rm directory/bar -tar -cf archive.1 -g db directory - -mv directory orig - -tar xvfg archive.0 /dev/null +tar -cPvf archive directory/../directory echo separator -tar xvfg archive.1 /dev/null -)" -echo incr01.at:30 >"$at_check_line_file" - -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +tar -xPvf archive)" +echo extrac03.at:26 >"$at_check_line_file" -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -11500,23 +12520,12 @@ export TAR_OPTIONS rm -rf * mkdir directory -$as_ln_s foo directory/bar - -tar -cf archive.0 -g db directory -rm directory/bar -tar -cf archive.1 -g db directory - -mv directory orig - -tar xvfg archive.0 /dev/null +tar -cPvf archive directory/../directory echo separator -tar xvfg archive.1 /dev/null -) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" +tar -xPvf archive) ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? else - ( :; + ( :; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -11526,46 +12535,85 @@ export TAR_OPTIONS rm -rf * mkdir directory -$as_ln_s foo directory/bar +tar -cPvf archive directory/../directory +echo separator +tar -xPvf 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 "directory/../directory/ +separator +directory/../directory/ +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/extrac03.at:26" -tar -cf archive.0 -g db directory -rm directory/bar -tar -cf archive.1 -g db directory +$at_failed && at_func_log_failure +$at_traceon; } -mv directory orig + { $at_traceoff +$as_echo "$at_srcdir/extrac03.at:26: +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H ustar\" +export TAR_OPTIONS +rm -rf * -tar xvfg archive.0 /dev/null +mkdir directory +tar -cPvf archive directory/../directory echo separator -tar xvfg archive.1 /dev/null -) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? -fi +tar -xPvf archive)" +echo extrac03.at:26 >"$at_check_line_file" -at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "directory/ -directory/bar -separator -directory/ -tar: Deleting \`directory/bar' -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/incr01.at:30: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar +export TEST_TAR_FORMAT +TAR_OPTIONS="-H ustar" +export TAR_OPTIONS +rm -rf * +mkdir directory +tar -cPvf archive directory/../directory +echo separator +tar -xPvf 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 * - echo 1 > "$at_status_file" - exit 1 +mkdir directory +tar -cPvf archive directory/../directory +echo separator +tar -xPvf 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 "directory/../directory/ +separator +directory/../directory/ +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/extrac03.at:26" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/incr01.at:30: + { $at_traceoff +$as_echo "$at_srcdir/extrac03.at:26: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -11575,27 +12623,14 @@ export TAR_OPTIONS rm -rf * mkdir directory -\$as_ln_s foo directory/bar - -tar -cf archive.0 -g db directory -rm directory/bar -tar -cf archive.1 -g db directory - -mv directory orig - -tar xvfg archive.0 /dev/null +tar -cPvf archive directory/../directory echo separator -tar xvfg archive.1 /dev/null -)" -echo incr01.at:30 >"$at_check_line_file" - -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +tar -xPvf archive)" +echo extrac03.at:26 >"$at_check_line_file" -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -11605,23 +12640,12 @@ export TAR_OPTIONS rm -rf * mkdir directory -$as_ln_s foo directory/bar - -tar -cf archive.0 -g db directory -rm directory/bar -tar -cf archive.1 -g db directory - -mv directory orig - -tar xvfg archive.0 /dev/null +tar -cPvf archive directory/../directory echo separator -tar xvfg archive.1 /dev/null -) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" +tar -xPvf archive) ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? else - ( :; + ( :; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -11631,70 +12655,25 @@ export TAR_OPTIONS rm -rf * mkdir directory -$as_ln_s foo directory/bar - -tar -cf archive.0 -g db directory -rm directory/bar -tar -cf archive.1 -g db directory - -mv directory orig - -tar xvfg archive.0 /dev/null +tar -cPvf archive directory/../directory echo separator -tar xvfg archive.1 /dev/null -) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? +tar -xPvf archive) ) >"$at_stdout" 2>"$at_stderr" fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "directory/ -directory/bar +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "directory/../directory/ separator -directory/ -tar: Deleting \`directory/bar' -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/incr01.at:30: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi +directory/../directory/ +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/extrac03.at:26" -$at_traceon +$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"` - ;; - - 28 ) # 28. incr02.at:32: restoring timestamps from incremental - at_setup_line='incr02.at:32' - at_desc="restoring timestamps from incremental" - $at_quiet $ECHO_N " 28: restoring timestamps from incremental $ECHO_C" - at_xfail=no - test -f $XFAILFILE && at_xfail=yes - echo "# -*- compilation -*-" >> "$at_group_log" - ( - echo "28. incr02.at:32: testing ..." - $at_traceon - - - - - - $at_traceoff -echo "$at_srcdir/incr02.at:35: + { $at_traceoff +$as_echo "$at_srcdir/extrac03.at:26: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -11703,51 +12682,15 @@ TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -# Create directory structure -mkdir dir -mkdir dir/subdir1 -mkdir dir/subdir2 -genfile --length 10 --file dir/subdir1/file - -# Save mtime for later comparison -genfile --stat=mtime dir/subdir1 > ts - -# Create an archive. Using incremental mode makes sure the -# archive will have a directory-first member ordering, -# i.e.: -# dir/ -# dir/subdir1/ -# dir/subdir2/ -# dir/subdir1/foofile -# -# When restoring from this directory structure, \`dir/subdir2/' used to -# trigger apply_nonancestor_delayed_set_stat() which restored stats for -# \`subdir1' prior to restoring \`dir/subdir1/foofile'. Then, restoring the -# latter clobbered the directory timestamp. - -tar -cf archive -g db dir - -# Move away the directory -mv dir orig - -# Wait enough time for timestamps to differ in case of failure. -sleep 5 - -# Restore the directory -tar -xf archive dir - -# Check the timestamp -genfile --stat=mtime dir/subdir1 | diff ts - -)" -echo incr02.at:35 >"$at_check_line_file" - -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains a `...` command substitution)' -fi +mkdir directory +tar -cPvf archive directory/../directory +echo separator +tar -xPvf archive)" +echo extrac03.at:26 >"$at_check_line_file" -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -11756,47 +12699,13 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -# Create directory structure -mkdir dir -mkdir dir/subdir1 -mkdir dir/subdir2 -genfile --length 10 --file dir/subdir1/file - -# Save mtime for later comparison -genfile --stat=mtime dir/subdir1 > ts - -# Create an archive. Using incremental mode makes sure the -# archive will have a directory-first member ordering, -# i.e.: -# dir/ -# dir/subdir1/ -# dir/subdir2/ -# dir/subdir1/foofile -# -# When restoring from this directory structure, `dir/subdir2/' used to -# trigger apply_nonancestor_delayed_set_stat() which restored stats for -# `subdir1' prior to restoring `dir/subdir1/foofile'. Then, restoring the -# latter clobbered the directory timestamp. - -tar -cf archive -g db dir - -# Move away the directory -mv dir orig - -# Wait enough time for timestamps to differ in case of failure. -sleep 5 - -# Restore the directory -tar -xf archive dir - -# Check the timestamp -genfile --stat=mtime dir/subdir1 | diff ts - -) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" +mkdir directory +tar -cPvf archive directory/../directory +echo separator +tar -xPvf archive) ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? else - ( :; + ( :; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -11805,167 +12714,202 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -# Create directory structure -mkdir dir -mkdir dir/subdir1 -mkdir dir/subdir2 -genfile --length 10 --file dir/subdir1/file - -# Save mtime for later comparison -genfile --stat=mtime dir/subdir1 > ts - -# Create an archive. Using incremental mode makes sure the -# archive will have a directory-first member ordering, -# i.e.: -# dir/ -# dir/subdir1/ -# dir/subdir2/ -# dir/subdir1/foofile -# -# When restoring from this directory structure, `dir/subdir2/' used to -# trigger apply_nonancestor_delayed_set_stat() which restored stats for -# `subdir1' prior to restoring `dir/subdir1/foofile'. Then, restoring the -# latter clobbered the directory timestamp. +mkdir directory +tar -cPvf archive directory/../directory +echo separator +tar -xPvf 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 "directory/../directory/ +separator +directory/../directory/ +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/extrac03.at:26" -tar -cf archive -g db dir +$at_failed && at_func_log_failure +$at_traceon; } -# Move away the directory -mv dir orig -# Wait enough time for timestamps to differ in case of failure. -sleep 5 -# Restore the directory -tar -xf archive dir -# Check the timestamp -genfile --stat=mtime dir/subdir1 | diff ts - -) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? -fi + $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_26 +#AT_START_27 +# 27. extrac04.at:23: extract + fnmatch +at_setup_line='extrac04.at:23' +at_desc="extract + fnmatch" +$at_quiet $as_echo_n " 27: $at_desc " +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "27. extrac04.at:23: testing ..." + $at_traceon -at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -$at_diff "$at_devnull" "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/incr02.at:35: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - echo 1 > "$at_status_file" - exit 1 -fi -$at_traceon - $at_traceoff -echo "$at_srcdir/incr02.at:35: -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu + { $at_traceoff +$as_echo "$at_srcdir/extrac04.at:26: +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H oldgnu\" +TAR_OPTIONS=\"-H v7\" export TAR_OPTIONS rm -rf * -# Create directory structure -mkdir dir -mkdir dir/subdir1 -mkdir dir/subdir2 -genfile --length 10 --file dir/subdir1/file -# Save mtime for later comparison -genfile --stat=mtime dir/subdir1 > ts +test -z "`sort < /dev/null 2>&1`" || exit 77 -# Create an archive. Using incremental mode makes sure the -# archive will have a directory-first member ordering, -# i.e.: -# dir/ -# dir/subdir1/ -# dir/subdir2/ -# dir/subdir1/foofile -# -# When restoring from this directory structure, \`dir/subdir2/' used to -# trigger apply_nonancestor_delayed_set_stat() which restored stats for -# \`subdir1' prior to restoring \`dir/subdir1/foofile'. Then, restoring the -# latter clobbered the directory timestamp. +touch file1 +mkdir directory +mkdir directory/subdirectory +touch directory/file1 +touch directory/file2 +touch directory/subdirectory/file1 +touch directory/subdirectory/file2 +tar -cf archive ./file1 directory +tar -tf archive \\ + --exclude='./*1' \\ + --exclude='d*/*1' \\ + --exclude='d*/s*/*2' | sort +)" +echo extrac04.at:26 >"$at_check_line_file" -tar -cf archive -g db dir +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 * -# Move away the directory -mv dir orig -# Wait enough time for timestamps to differ in case of failure. -sleep 5 +test -z "`sort < /dev/null 2>&1`" || exit 77 -# Restore the directory -tar -xf archive dir +touch file1 +mkdir directory +mkdir directory/subdirectory +touch directory/file1 +touch directory/file2 +touch directory/subdirectory/file1 +touch directory/subdirectory/file2 +tar -cf archive ./file1 directory +tar -tf archive \ + --exclude='./*1' \ + --exclude='d*/*1' \ + --exclude='d*/s*/*2' | sort +) ) >"$at_stdout" 2>"$at_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 * -# Check the timestamp -genfile --stat=mtime dir/subdir1 | diff ts - -)" -echo incr02.at:35 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains a `...` command substitution)' +test -z "`sort < /dev/null 2>&1`" || exit 77 + +touch file1 +mkdir directory +mkdir directory/subdirectory +touch directory/file1 +touch directory/file2 +touch directory/subdirectory/file1 +touch directory/subdirectory/file2 +tar -cf archive ./file1 directory +tar -tf archive \ + --exclude='./*1' \ + --exclude='d*/*1' \ + --exclude='d*/s*/*2' | sort +) ) >"$at_stdout" 2>"$at_stderr" fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "directory/ +directory/file2 +directory/subdirectory/ +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/extrac04.at:26" -if test -n "$at_trace_this"; then - ( $at_traceon; +$at_failed && at_func_log_failure +$at_traceon; } + + { $at_traceoff +$as_echo "$at_srcdir/extrac04.at:26: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" +TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * -# Create directory structure -mkdir dir -mkdir dir/subdir1 -mkdir dir/subdir2 -genfile --length 10 --file dir/subdir1/file -# Save mtime for later comparison -genfile --stat=mtime dir/subdir1 > ts - -# Create an archive. Using incremental mode makes sure the -# archive will have a directory-first member ordering, -# i.e.: -# dir/ -# dir/subdir1/ -# dir/subdir2/ -# dir/subdir1/foofile -# -# When restoring from this directory structure, `dir/subdir2/' used to -# trigger apply_nonancestor_delayed_set_stat() which restored stats for -# `subdir1' prior to restoring `dir/subdir1/foofile'. Then, restoring the -# latter clobbered the directory timestamp. +test -z "`sort < /dev/null 2>&1`" || exit 77 -tar -cf archive -g db dir +touch file1 +mkdir directory +mkdir directory/subdirectory +touch directory/file1 +touch directory/file2 +touch directory/subdirectory/file1 +touch directory/subdirectory/file2 +tar -cf archive ./file1 directory +tar -tf archive \\ + --exclude='./*1' \\ + --exclude='d*/*1' \\ + --exclude='d*/s*/*2' | sort +)" +echo extrac04.at:26 >"$at_check_line_file" -# Move away the directory -mv dir orig +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 * -# Wait enough time for timestamps to differ in case of failure. -sleep 5 -# Restore the directory -tar -xf archive dir +test -z "`sort < /dev/null 2>&1`" || exit 77 -# Check the timestamp -genfile --stat=mtime dir/subdir1 | diff ts - +touch file1 +mkdir directory +mkdir directory/subdirectory +touch directory/file1 +touch directory/file2 +touch directory/subdirectory/file1 +touch directory/subdirectory/file2 +tar -cf archive ./file1 directory +tar -tf archive \ + --exclude='./*1' \ + --exclude='d*/*1' \ + --exclude='d*/s*/*2' | sort ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -11974,65 +12918,134 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * -# Create directory structure -mkdir dir -mkdir dir/subdir1 -mkdir dir/subdir2 -genfile --length 10 --file dir/subdir1/file -# Save mtime for later comparison -genfile --stat=mtime dir/subdir1 > ts +test -z "`sort < /dev/null 2>&1`" || exit 77 -# Create an archive. Using incremental mode makes sure the -# archive will have a directory-first member ordering, -# i.e.: -# dir/ -# dir/subdir1/ -# dir/subdir2/ -# dir/subdir1/foofile -# -# When restoring from this directory structure, `dir/subdir2/' used to -# trigger apply_nonancestor_delayed_set_stat() which restored stats for -# `subdir1' prior to restoring `dir/subdir1/foofile'. Then, restoring the -# latter clobbered the directory timestamp. +touch file1 +mkdir directory +mkdir directory/subdirectory +touch directory/file1 +touch directory/file2 +touch directory/subdirectory/file1 +touch directory/subdirectory/file2 +tar -cf archive ./file1 directory +tar -tf archive \ + --exclude='./*1' \ + --exclude='d*/*1' \ + --exclude='d*/s*/*2' | sort +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "directory/ +directory/file2 +directory/subdirectory/ +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/extrac04.at:26" -tar -cf archive -g db dir +$at_failed && at_func_log_failure +$at_traceon; } -# Move away the directory -mv dir orig + { $at_traceoff +$as_echo "$at_srcdir/extrac04.at:26: +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H ustar\" +export TAR_OPTIONS +rm -rf * -# Wait enough time for timestamps to differ in case of failure. -sleep 5 -# Restore the directory -tar -xf archive dir +test -z "`sort < /dev/null 2>&1`" || exit 77 -# Check the timestamp -genfile --stat=mtime dir/subdir1 | diff ts - -) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? -fi +touch file1 +mkdir directory +mkdir directory/subdirectory +touch directory/file1 +touch directory/file2 +touch directory/subdirectory/file1 +touch directory/subdirectory/file2 +tar -cf archive ./file1 directory +tar -tf archive \\ + --exclude='./*1' \\ + --exclude='d*/*1' \\ + --exclude='d*/s*/*2' | sort +)" +echo extrac04.at:26 >"$at_check_line_file" -at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -$at_diff "$at_devnull" "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/incr02.at:35: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +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 * - echo 1 > "$at_status_file" - exit 1 +test -z "`sort < /dev/null 2>&1`" || exit 77 + +touch file1 +mkdir directory +mkdir directory/subdirectory +touch directory/file1 +touch directory/file2 +touch directory/subdirectory/file1 +touch directory/subdirectory/file2 +tar -cf archive ./file1 directory +tar -tf archive \ + --exclude='./*1' \ + --exclude='d*/*1' \ + --exclude='d*/s*/*2' | sort +) ) >"$at_stdout" 2>"$at_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 * + + +test -z "`sort < /dev/null 2>&1`" || exit 77 + +touch file1 +mkdir directory +mkdir directory/subdirectory +touch directory/file1 +touch directory/file2 +touch directory/subdirectory/file1 +touch directory/subdirectory/file2 +tar -cf archive ./file1 directory +tar -tf archive \ + --exclude='./*1' \ + --exclude='d*/*1' \ + --exclude='d*/s*/*2' | sort +) ) >"$at_stdout" 2>"$at_stderr" fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "directory/ +directory/file2 +directory/subdirectory/ +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/extrac04.at:26" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/incr02.at:35: + { $at_traceoff +$as_echo "$at_srcdir/extrac04.at:26: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -12041,51 +13054,27 @@ TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * -# Create directory structure -mkdir dir -mkdir dir/subdir1 -mkdir dir/subdir2 -genfile --length 10 --file dir/subdir1/file - -# Save mtime for later comparison -genfile --stat=mtime dir/subdir1 > ts - -# Create an archive. Using incremental mode makes sure the -# archive will have a directory-first member ordering, -# i.e.: -# dir/ -# dir/subdir1/ -# dir/subdir2/ -# dir/subdir1/foofile -# -# When restoring from this directory structure, \`dir/subdir2/' used to -# trigger apply_nonancestor_delayed_set_stat() which restored stats for -# \`subdir1' prior to restoring \`dir/subdir1/foofile'. Then, restoring the -# latter clobbered the directory timestamp. - -tar -cf archive -g db dir - -# Move away the directory -mv dir orig - -# Wait enough time for timestamps to differ in case of failure. -sleep 5 -# Restore the directory -tar -xf archive dir +test -z "`sort < /dev/null 2>&1`" || exit 77 -# Check the timestamp -genfile --stat=mtime dir/subdir1 | diff ts - +touch file1 +mkdir directory +mkdir directory/subdirectory +touch directory/file1 +touch directory/file2 +touch directory/subdirectory/file1 +touch directory/subdirectory/file2 +tar -cf archive ./file1 directory +tar -tf archive \\ + --exclude='./*1' \\ + --exclude='d*/*1' \\ + --exclude='d*/s*/*2' | sort )" -echo incr02.at:35 >"$at_check_line_file" - -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains a `...` command substitution)' -fi +echo extrac04.at:26 >"$at_check_line_file" -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -12094,47 +13083,25 @@ TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * -# Create directory structure -mkdir dir -mkdir dir/subdir1 -mkdir dir/subdir2 -genfile --length 10 --file dir/subdir1/file -# Save mtime for later comparison -genfile --stat=mtime dir/subdir1 > ts +test -z "`sort < /dev/null 2>&1`" || exit 77 -# Create an archive. Using incremental mode makes sure the -# archive will have a directory-first member ordering, -# i.e.: -# dir/ -# dir/subdir1/ -# dir/subdir2/ -# dir/subdir1/foofile -# -# When restoring from this directory structure, `dir/subdir2/' used to -# trigger apply_nonancestor_delayed_set_stat() which restored stats for -# `subdir1' prior to restoring `dir/subdir1/foofile'. Then, restoring the -# latter clobbered the directory timestamp. - -tar -cf archive -g db dir - -# Move away the directory -mv dir orig - -# Wait enough time for timestamps to differ in case of failure. -sleep 5 - -# Restore the directory -tar -xf archive dir - -# Check the timestamp -genfile --stat=mtime dir/subdir1 | diff ts - +touch file1 +mkdir directory +mkdir directory/subdirectory +touch directory/file1 +touch directory/file2 +touch directory/subdirectory/file1 +touch directory/subdirectory/file2 +tar -cf archive ./file1 directory +tar -tf archive \ + --exclude='./*1' \ + --exclude='d*/*1' \ + --exclude='d*/s*/*2' | sort ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -12143,89 +13110,38 @@ TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * -# Create directory structure -mkdir dir -mkdir dir/subdir1 -mkdir dir/subdir2 -genfile --length 10 --file dir/subdir1/file - -# Save mtime for later comparison -genfile --stat=mtime dir/subdir1 > ts - -# Create an archive. Using incremental mode makes sure the -# archive will have a directory-first member ordering, -# i.e.: -# dir/ -# dir/subdir1/ -# dir/subdir2/ -# dir/subdir1/foofile -# -# When restoring from this directory structure, `dir/subdir2/' used to -# trigger apply_nonancestor_delayed_set_stat() which restored stats for -# `subdir1' prior to restoring `dir/subdir1/foofile'. Then, restoring the -# latter clobbered the directory timestamp. - -tar -cf archive -g db dir - -# Move away the directory -mv dir orig -# Wait enough time for timestamps to differ in case of failure. -sleep 5 - -# Restore the directory -tar -xf archive dir +test -z "`sort < /dev/null 2>&1`" || exit 77 -# Check the timestamp -genfile --stat=mtime dir/subdir1 | diff ts - +touch file1 +mkdir directory +mkdir directory/subdirectory +touch directory/file1 +touch directory/file2 +touch directory/subdirectory/file1 +touch directory/subdirectory/file2 +tar -cf archive ./file1 directory +tar -tf archive \ + --exclude='./*1' \ + --exclude='d*/*1' \ + --exclude='d*/s*/*2' | sort ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -$at_diff "$at_devnull" "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/incr02.at:35: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi - -$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"` - ;; - - 29 ) # 29. listed01.at:26: --listed for individual files - at_setup_line='listed01.at:26' - at_desc="--listed for individual files" - $at_quiet $ECHO_N " 29: --listed for individual files $ECHO_C" - at_xfail=no - test -f $XFAILFILE && at_xfail=yes - echo "# -*- compilation -*-" >> "$at_group_log" - ( - echo "29. listed01.at:26: testing ..." - $at_traceon - - - +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "directory/ +directory/file2 +directory/subdirectory/ +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/extrac04.at:26" +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/listed01.at:29: + { $at_traceoff +$as_echo "$at_srcdir/extrac04.at:26: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -12234,40 +13150,27 @@ TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -mkdir directory -genfile --length 10240 --pattern zeros --file directory/file1 -# Let the things settle -sleep 1 - -tar --create \\ - --file=archive.1 \\ - --listed-incremental=listing \\ - directory/file* - -tar tf archive.1 || exit 1 - -sleep 2 - -genfile --length 10240 --pattern zeros --file directory/file2 - -echo \"separator\" -tar --create \\ - --file=archive.2 \\ - --listed-incremental=listing \\ - directory/file* || exit 1 +test -z "`sort < /dev/null 2>&1`" || exit 77 -tar tf archive.2 || exit 1 +touch file1 +mkdir directory +mkdir directory/subdirectory +touch directory/file1 +touch directory/file2 +touch directory/subdirectory/file1 +touch directory/subdirectory/file2 +tar -cf archive ./file1 directory +tar -tf archive \\ + --exclude='./*1' \\ + --exclude='d*/*1' \\ + --exclude='d*/s*/*2' | sort )" -echo listed01.at:29 >"$at_check_line_file" - -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +echo extrac04.at:26 >"$at_check_line_file" -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -12276,36 +13179,25 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -mkdir directory -genfile --length 10240 --pattern zeros --file directory/file1 -# Let the things settle -sleep 1 - -tar --create \ - --file=archive.1 \ - --listed-incremental=listing \ - directory/file* - -tar tf archive.1 || exit 1 - -sleep 2 - -genfile --length 10240 --pattern zeros --file directory/file2 - -echo "separator" -tar --create \ - --file=archive.2 \ - --listed-incremental=listing \ - directory/file* || exit 1 +test -z "`sort < /dev/null 2>&1`" || exit 77 -tar tf archive.2 || exit 1 +touch file1 +mkdir directory +mkdir directory/subdirectory +touch directory/file1 +touch directory/file2 +touch directory/subdirectory/file1 +touch directory/subdirectory/file2 +tar -cf archive ./file1 directory +tar -tf archive \ + --exclude='./*1' \ + --exclude='d*/*1' \ + --exclude='d*/s*/*2' | sort ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -12314,820 +13206,716 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * + +test -z "`sort < /dev/null 2>&1`" || exit 77 + +touch file1 mkdir directory -genfile --length 10240 --pattern zeros --file directory/file1 -# Let the things settle -sleep 1 +mkdir directory/subdirectory +touch directory/file1 +touch directory/file2 +touch directory/subdirectory/file1 +touch directory/subdirectory/file2 +tar -cf archive ./file1 directory +tar -tf archive \ + --exclude='./*1' \ + --exclude='d*/*1' \ + --exclude='d*/s*/*2' | sort +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "directory/ +directory/file2 +directory/subdirectory/ +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/extrac04.at:26" -tar --create \ - --file=archive.1 \ - --listed-incremental=listing \ - directory/file* +$at_failed && at_func_log_failure +$at_traceon; } -tar tf archive.1 || exit 1 -sleep 2 -genfile --length 10240 --pattern zeros --file directory/file2 -echo "separator" + $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_27 +#AT_START_28 +# 28. 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_xfail=no + test -f $XFAILFILE && at_xfail=yes +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "28. extrac05.at:30: testing ..." + $at_traceon -tar --create \ - --file=archive.2 \ - --listed-incremental=listing \ - directory/file* || exit 1 -tar tf archive.2 || exit 1 -) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? -fi -at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "directory/file1 -separator -directory/file2 -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/listed01.at:29: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +cat >list <<'_ATEOF' +jeden +cztery +_ATEOF - echo 1 > "$at_status_file" - exit 1 -fi -$at_traceon - $at_traceoff -echo "$at_srcdir/listed01.at:29: -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu + { $at_traceoff +$as_echo "$at_srcdir/extrac05.at:38: +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H oldgnu\" +TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * -mkdir directory -genfile --length 10240 --pattern zeros --file directory/file1 -# Let the things settle -sleep 1 - -tar --create \\ - --file=archive.1 \\ - --listed-incremental=listing \\ - directory/file* +genfile --sparse --file sparsefile 0 ABCD 1M EFGH 2000K IJKL || exit 77 +genfile --length 118 --file jeden +genfile --length 223 --file dwa +genfile --length 517 --file trzy +genfile --length 110 --file cztery -tar tf archive.1 || exit 1 +tar cf archive jeden dwa trzy cztery || exit 1 -sleep 2 +mkdir dir +cd dir -genfile --length 10240 --pattern zeros --file directory/file2 +tar xvfT ../archive ../../list || exit 1 -echo \"separator\" +cd .. +)" +echo extrac05.at:38 >"$at_check_line_file" -tar --create \\ - --file=archive.2 \\ - --listed-incremental=listing \\ - directory/file* || exit 1 - -tar tf archive.2 || exit 1 -)" -echo listed01.at:29 >"$at_check_line_file" - -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu +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 oldgnu" +TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * -mkdir directory -genfile --length 10240 --pattern zeros --file directory/file1 -# Let the things settle -sleep 1 - -tar --create \ - --file=archive.1 \ - --listed-incremental=listing \ - directory/file* - -tar tf archive.1 || exit 1 - -sleep 2 +genfile --sparse --file sparsefile 0 ABCD 1M EFGH 2000K IJKL || exit 77 +genfile --length 118 --file jeden +genfile --length 223 --file dwa +genfile --length 517 --file trzy +genfile --length 110 --file cztery -genfile --length 10240 --pattern zeros --file directory/file2 +tar cf archive jeden dwa trzy cztery || exit 1 -echo "separator" +mkdir dir +cd dir -tar --create \ - --file=archive.2 \ - --listed-incremental=listing \ - directory/file* || exit 1 +tar xvfT ../archive ../../list || exit 1 -tar tf archive.2 || exit 1 +cd .. ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu + ( :; +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" +TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * -mkdir directory -genfile --length 10240 --pattern zeros --file directory/file1 -# Let the things settle -sleep 1 - -tar --create \ - --file=archive.1 \ - --listed-incremental=listing \ - directory/file* - -tar tf archive.1 || exit 1 - -sleep 2 +genfile --sparse --file sparsefile 0 ABCD 1M EFGH 2000K IJKL || exit 77 +genfile --length 118 --file jeden +genfile --length 223 --file dwa +genfile --length 517 --file trzy +genfile --length 110 --file cztery -genfile --length 10240 --pattern zeros --file directory/file2 +tar cf archive jeden dwa trzy cztery || exit 1 -echo "separator" +mkdir dir +cd dir -tar --create \ - --file=archive.2 \ - --listed-incremental=listing \ - directory/file* || exit 1 +tar xvfT ../archive ../../list || exit 1 -tar tf archive.2 || exit 1 +cd .. ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "directory/file1 -separator -directory/file2 -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/listed01.at:29: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi - -$at_traceon +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "jeden +cztery +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/extrac05.at:38" +$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"` - ;; - 30 ) # 30. listed02.at:28: working --listed - at_setup_line='listed02.at:28' - at_desc="working --listed" - $at_quiet $ECHO_N " 30: working --listed $ECHO_C" - at_xfail=no + $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_28 +#AT_START_29 +# 29. 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_xfail=no test -f $XFAILFILE && at_xfail=yes - echo "# -*- compilation -*-" >> "$at_group_log" - ( - echo "30. listed02.at:28: testing ..." - $at_traceon +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "29. extrac06.at:33: testing ..." + $at_traceon - $at_traceoff -echo "$at_srcdir/listed02.at:31: -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu + { $at_traceoff +$as_echo "$at_srcdir/extrac06.at:36: +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H gnu\" +TAR_OPTIONS=\"-H v7\" export TAR_OPTIONS rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 +# Force umask +umask 022 -echo Create directories +# Make sure user's umask is honored, even if we are superuser +TAR_OPTIONS=\"\$TAR_OPTIONS --no-same-permissions\" -mkdir tart -sleep 1 -mkdir tart/c0 -sleep 1 -mkdir tart/c1 -sleep 1 +# Create a directory +mkdir directory +chmod 777 directory +genfile --stat=mode:777 directory -for file in tart/a1 tart/b1 tart/c0/cq1 tart/c0/cq2 tart/c1/ca1 tart/c1/ca2 -do - echo File \$file > \$file - sleep 1 -done +# Archive it +tar cf arc directory -sleep 1 -echo Creating main archive -tar -c -v --listed-incremental=tart.incr1 -f archive.1 tart 2> err || exit 1 +# Change its permissions ... +chmod 755 directory +genfile --stat=mode:777 directory -# The above prints two lines to stderr announcing the new directories c0 and c1. -# Ensure that they appear in this script's stderr in sorted order. -sort err 1>&2; rm -f err +# ... and attempt to restore it twice +tar xf arc directory +genfile --stat=mode:777 directory -sleep 1 -echo Modifying filesystem -rm tart/a1 +tar xf arc directory +genfile --stat=mode:777 directory -mv tart/b1 tart/b2 -mv tart/c1 tart/c2 -touch tart/c2/ca3 +# After both restores, the directory mode should be 755 +)" +echo extrac06.at:36 >"$at_check_line_file" -echo Directory contents -find tart -print | sort 2>/dev/null +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 * -sleep 1 -echo Creating incremental archive -cp -p tart.incr1 tart.incr2 -tar -c -v --listed-incremental=tart.incr2 -f archive.2 tart || exit 1 -sleep 1 +# Force umask +umask 022 -rm -rf tart/* -echo Extracting main archive -tar -x -v --listed-incremental=tart.incr1 -f archive.1 || exit 1 -echo Extracting incremental archive -# This command should produce three messages about deletion -# of the existing files, that may appear in any order. Piping -# to sort makes sure we don't depend on any particular ordering. -tar -x -v --listed-incremental=tart.incr2 -f archive.2 | sort 2>/dev/null +# Make sure user's umask is honored, even if we are superuser +TAR_OPTIONS="$TAR_OPTIONS --no-same-permissions" -echo Final files: -find tart -print | sort 2>/dev/null -)" -echo listed02.at:31 >"$at_check_line_file" +# Create a directory +mkdir directory +chmod 777 directory +genfile --stat=mode:777 directory -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +# Archive it +tar cf arc directory -if test -n "$at_trace_this"; then - ( $at_traceon; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu +# Change its permissions ... +chmod 755 directory +genfile --stat=mode:777 directory + +# ... and attempt to restore it twice +tar xf arc directory +genfile --stat=mode:777 directory + +tar xf arc directory +genfile --stat=mode:777 directory + +# After both restores, the directory mode should be 755 +) ) >"$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 gnu" +TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 +# Force umask +umask 022 -echo Create directories +# Make sure user's umask is honored, even if we are superuser +TAR_OPTIONS="$TAR_OPTIONS --no-same-permissions" -mkdir tart -sleep 1 -mkdir tart/c0 -sleep 1 -mkdir tart/c1 -sleep 1 +# Create a directory +mkdir directory +chmod 777 directory +genfile --stat=mode:777 directory -for file in tart/a1 tart/b1 tart/c0/cq1 tart/c0/cq2 tart/c1/ca1 tart/c1/ca2 -do - echo File $file > $file - sleep 1 -done +# Archive it +tar cf arc directory -sleep 1 -echo Creating main archive -tar -c -v --listed-incremental=tart.incr1 -f archive.1 tart 2> err || exit 1 +# Change its permissions ... +chmod 755 directory +genfile --stat=mode:777 directory -# The above prints two lines to stderr announcing the new directories c0 and c1. -# Ensure that they appear in this script's stderr in sorted order. -sort err 1>&2; rm -f err +# ... and attempt to restore it twice +tar xf arc directory +genfile --stat=mode:777 directory -sleep 1 -echo Modifying filesystem -rm tart/a1 +tar xf arc directory +genfile --stat=mode:777 directory -mv tart/b1 tart/b2 -mv tart/c1 tart/c2 -touch tart/c2/ca3 - -echo Directory contents -find tart -print | sort 2>/dev/null - -sleep 1 -echo Creating incremental archive -cp -p tart.incr1 tart.incr2 -tar -c -v --listed-incremental=tart.incr2 -f archive.2 tart || exit 1 - -sleep 1 +# After both restores, the directory mode should be 755 +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "777 +755 +755 +755 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/extrac06.at:36" -rm -rf tart/* -echo Extracting main archive -tar -x -v --listed-incremental=tart.incr1 -f archive.1 || exit 1 -echo Extracting incremental archive -# This command should produce three messages about deletion -# of the existing files, that may appear in any order. Piping -# to sort makes sure we don't depend on any particular ordering. -tar -x -v --listed-incremental=tart.incr2 -f archive.2 | sort 2>/dev/null +$at_failed && at_func_log_failure +$at_traceon; } -echo Final files: -find tart -print | sort 2>/dev/null -) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" -else - ( :; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu + { $at_traceoff +$as_echo "$at_srcdir/extrac06.at:36: +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" +TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 +# Force umask +umask 022 -echo Create directories +# Make sure user's umask is honored, even if we are superuser +TAR_OPTIONS=\"\$TAR_OPTIONS --no-same-permissions\" -mkdir tart -sleep 1 -mkdir tart/c0 -sleep 1 -mkdir tart/c1 -sleep 1 +# Create a directory +mkdir directory +chmod 777 directory +genfile --stat=mode:777 directory -for file in tart/a1 tart/b1 tart/c0/cq1 tart/c0/cq2 tart/c1/ca1 tart/c1/ca2 -do - echo File $file > $file - sleep 1 -done +# Archive it +tar cf arc directory -sleep 1 -echo Creating main archive -tar -c -v --listed-incremental=tart.incr1 -f archive.1 tart 2> err || exit 1 +# Change its permissions ... +chmod 755 directory +genfile --stat=mode:777 directory -# The above prints two lines to stderr announcing the new directories c0 and c1. -# Ensure that they appear in this script's stderr in sorted order. -sort err 1>&2; rm -f err +# ... and attempt to restore it twice +tar xf arc directory +genfile --stat=mode:777 directory -sleep 1 -echo Modifying filesystem -rm tart/a1 +tar xf arc directory +genfile --stat=mode:777 directory -mv tart/b1 tart/b2 -mv tart/c1 tart/c2 -touch tart/c2/ca3 +# After both restores, the directory mode should be 755 +)" +echo extrac06.at:36 >"$at_check_line_file" -echo Directory contents -find tart -print | sort 2>/dev/null +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 * -sleep 1 -echo Creating incremental archive -cp -p tart.incr1 tart.incr2 -tar -c -v --listed-incremental=tart.incr2 -f archive.2 tart || exit 1 -sleep 1 +# Force umask +umask 022 -rm -rf tart/* -echo Extracting main archive -tar -x -v --listed-incremental=tart.incr1 -f archive.1 || exit 1 -echo Extracting incremental archive -# This command should produce three messages about deletion -# of the existing files, that may appear in any order. Piping -# to sort makes sure we don't depend on any particular ordering. -tar -x -v --listed-incremental=tart.incr2 -f archive.2 | sort 2>/dev/null +# Make sure user's umask is honored, even if we are superuser +TAR_OPTIONS="$TAR_OPTIONS --no-same-permissions" -echo Final files: -find tart -print | sort 2>/dev/null -) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? -fi +# Create a directory +mkdir directory +chmod 777 directory +genfile --stat=mode:777 directory -at_failed=false -echo >>"$at_stderr"; echo "tar: tart/c0: Directory is new -tar: tart/c1: Directory is new -tar: tart/c2: Directory has been renamed from \`tart/c1' -" | $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "Create directories -Creating main archive -tart/ -tart/c0/ -tart/c1/ -tart/a1 -tart/b1 -tart/c0/cq1 -tart/c0/cq2 -tart/c1/ca1 -tart/c1/ca2 -Modifying filesystem -Directory contents -tart -tart/b2 -tart/c0 -tart/c0/cq1 -tart/c0/cq2 -tart/c2 -tart/c2/ca1 -tart/c2/ca2 -tart/c2/ca3 -Creating incremental archive -tart/ -tart/c0/ -tart/c2/ -tart/b2 -tart/c2/ca3 -Extracting main archive -tart/ -tart/c0/ -tart/c1/ -tart/a1 -tart/b1 -tart/c0/cq1 -tart/c0/cq2 -tart/c1/ca1 -tart/c1/ca2 -Extracting incremental archive -tar: Deleting \`tart/a1' -tar: Deleting \`tart/b1' -tart/ -tart/b2 -tart/c0/ -tart/c2/ -tart/c2/ca3 -Final files: -tart -tart/b2 -tart/c0 -tart/c0/cq1 -tart/c0/cq2 -tart/c2 -tart/c2/ca1 -tart/c2/ca2 -tart/c2/ca3 -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/listed02.at:31: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +# Archive it +tar cf arc directory +# Change its permissions ... +chmod 755 directory +genfile --stat=mode:777 directory - echo 1 > "$at_status_file" - exit 1 -fi +# ... and attempt to restore it twice +tar xf arc directory +genfile --stat=mode:777 directory -$at_traceon +tar xf arc directory +genfile --stat=mode:777 directory - $at_traceoff -echo "$at_srcdir/listed02.at:31: +# After both restores, the directory mode should be 755 +) ) >"$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\" +TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 - -echo Create directories +# Force umask +umask 022 -mkdir tart -sleep 1 -mkdir tart/c0 -sleep 1 -mkdir tart/c1 -sleep 1 +# Make sure user's umask is honored, even if we are superuser +TAR_OPTIONS="$TAR_OPTIONS --no-same-permissions" -for file in tart/a1 tart/b1 tart/c0/cq1 tart/c0/cq2 tart/c1/ca1 tart/c1/ca2 -do - echo File \$file > \$file - sleep 1 -done +# Create a directory +mkdir directory +chmod 777 directory +genfile --stat=mode:777 directory -sleep 1 -echo Creating main archive -tar -c -v --listed-incremental=tart.incr1 -f archive.1 tart 2> err || exit 1 +# Archive it +tar cf arc directory -# The above prints two lines to stderr announcing the new directories c0 and c1. -# Ensure that they appear in this script's stderr in sorted order. -sort err 1>&2; rm -f err +# Change its permissions ... +chmod 755 directory +genfile --stat=mode:777 directory -sleep 1 -echo Modifying filesystem -rm tart/a1 +# ... and attempt to restore it twice +tar xf arc directory +genfile --stat=mode:777 directory -mv tart/b1 tart/b2 -mv tart/c1 tart/c2 -touch tart/c2/ca3 +tar xf arc directory +genfile --stat=mode:777 directory -echo Directory contents -find tart -print | sort 2>/dev/null +# After both restores, the directory mode should be 755 +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "777 +755 +755 +755 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/extrac06.at:36" -sleep 1 -echo Creating incremental archive -cp -p tart.incr1 tart.incr2 -tar -c -v --listed-incremental=tart.incr2 -f archive.2 tart || exit 1 +$at_failed && at_func_log_failure +$at_traceon; } -sleep 1 + { $at_traceoff +$as_echo "$at_srcdir/extrac06.at:36: +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H ustar\" +export TAR_OPTIONS +rm -rf * -rm -rf tart/* -echo Extracting main archive -tar -x -v --listed-incremental=tart.incr1 -f archive.1 || exit 1 -echo Extracting incremental archive -# This command should produce three messages about deletion -# of the existing files, that may appear in any order. Piping -# to sort makes sure we don't depend on any particular ordering. -tar -x -v --listed-incremental=tart.incr2 -f archive.2 | sort 2>/dev/null -echo Final files: -find tart -print | sort 2>/dev/null -)" -echo listed02.at:31 >"$at_check_line_file" +# Force umask +umask 022 -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +# Make sure user's umask is honored, even if we are superuser +TAR_OPTIONS=\"\$TAR_OPTIONS --no-same-permissions\" -if test -n "$at_trace_this"; then - ( $at_traceon; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu +# Create a directory +mkdir directory +chmod 777 directory +genfile --stat=mode:777 directory + +# Archive it +tar cf arc directory + +# Change its permissions ... +chmod 755 directory +genfile --stat=mode:777 directory + +# ... and attempt to restore it twice +tar xf arc directory +genfile --stat=mode:777 directory + +tar xf arc directory +genfile --stat=mode:777 directory + +# After both restores, the directory mode should be 755 +)" +echo extrac06.at:36 >"$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 oldgnu" +TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 +# Force umask +umask 022 -echo Create directories +# Make sure user's umask is honored, even if we are superuser +TAR_OPTIONS="$TAR_OPTIONS --no-same-permissions" -mkdir tart -sleep 1 -mkdir tart/c0 -sleep 1 -mkdir tart/c1 -sleep 1 +# Create a directory +mkdir directory +chmod 777 directory +genfile --stat=mode:777 directory -for file in tart/a1 tart/b1 tart/c0/cq1 tart/c0/cq2 tart/c1/ca1 tart/c1/ca2 -do - echo File $file > $file - sleep 1 -done +# Archive it +tar cf arc directory -sleep 1 -echo Creating main archive -tar -c -v --listed-incremental=tart.incr1 -f archive.1 tart 2> err || exit 1 +# Change its permissions ... +chmod 755 directory +genfile --stat=mode:777 directory -# The above prints two lines to stderr announcing the new directories c0 and c1. -# Ensure that they appear in this script's stderr in sorted order. -sort err 1>&2; rm -f err +# ... and attempt to restore it twice +tar xf arc directory +genfile --stat=mode:777 directory -sleep 1 -echo Modifying filesystem -rm tart/a1 +tar xf arc directory +genfile --stat=mode:777 directory -mv tart/b1 tart/b2 -mv tart/c1 tart/c2 -touch tart/c2/ca3 +# After both restores, the directory mode should be 755 +) ) >"$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 * -echo Directory contents -find tart -print | sort 2>/dev/null -sleep 1 -echo Creating incremental archive -cp -p tart.incr1 tart.incr2 -tar -c -v --listed-incremental=tart.incr2 -f archive.2 tart || exit 1 +# Force umask +umask 022 -sleep 1 +# Make sure user's umask is honored, even if we are superuser +TAR_OPTIONS="$TAR_OPTIONS --no-same-permissions" -rm -rf tart/* -echo Extracting main archive -tar -x -v --listed-incremental=tart.incr1 -f archive.1 || exit 1 -echo Extracting incremental archive -# This command should produce three messages about deletion -# of the existing files, that may appear in any order. Piping -# to sort makes sure we don't depend on any particular ordering. -tar -x -v --listed-incremental=tart.incr2 -f archive.2 | sort 2>/dev/null +# Create a directory +mkdir directory +chmod 777 directory +genfile --stat=mode:777 directory -echo Final files: -find tart -print | sort 2>/dev/null -) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" -else - ( :; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu +# Archive it +tar cf arc directory + +# Change its permissions ... +chmod 755 directory +genfile --stat=mode:777 directory + +# ... and attempt to restore it twice +tar xf arc directory +genfile --stat=mode:777 directory + +tar xf arc directory +genfile --stat=mode:777 directory + +# After both restores, the directory mode should be 755 +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "777 +755 +755 +755 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/extrac06.at:36" + +$at_failed && at_func_log_failure +$at_traceon; } + + { $at_traceoff +$as_echo "$at_srcdir/extrac06.at:36: +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" +TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 +# Force umask +umask 022 -echo Create directories +# Make sure user's umask is honored, even if we are superuser +TAR_OPTIONS=\"\$TAR_OPTIONS --no-same-permissions\" -mkdir tart -sleep 1 -mkdir tart/c0 -sleep 1 -mkdir tart/c1 -sleep 1 +# Create a directory +mkdir directory +chmod 777 directory +genfile --stat=mode:777 directory -for file in tart/a1 tart/b1 tart/c0/cq1 tart/c0/cq2 tart/c1/ca1 tart/c1/ca2 -do - echo File $file > $file - sleep 1 -done +# Archive it +tar cf arc directory -sleep 1 -echo Creating main archive -tar -c -v --listed-incremental=tart.incr1 -f archive.1 tart 2> err || exit 1 +# Change its permissions ... +chmod 755 directory +genfile --stat=mode:777 directory -# The above prints two lines to stderr announcing the new directories c0 and c1. -# Ensure that they appear in this script's stderr in sorted order. -sort err 1>&2; rm -f err +# ... and attempt to restore it twice +tar xf arc directory +genfile --stat=mode:777 directory -sleep 1 -echo Modifying filesystem -rm tart/a1 +tar xf arc directory +genfile --stat=mode:777 directory -mv tart/b1 tart/b2 -mv tart/c1 tart/c2 -touch tart/c2/ca3 +# After both restores, the directory mode should be 755 +)" +echo extrac06.at:36 >"$at_check_line_file" -echo Directory contents -find tart -print | sort 2>/dev/null +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 * -sleep 1 -echo Creating incremental archive -cp -p tart.incr1 tart.incr2 -tar -c -v --listed-incremental=tart.incr2 -f archive.2 tart || exit 1 -sleep 1 +# Force umask +umask 022 -rm -rf tart/* -echo Extracting main archive -tar -x -v --listed-incremental=tart.incr1 -f archive.1 || exit 1 -echo Extracting incremental archive -# This command should produce three messages about deletion -# of the existing files, that may appear in any order. Piping -# to sort makes sure we don't depend on any particular ordering. -tar -x -v --listed-incremental=tart.incr2 -f archive.2 | sort 2>/dev/null +# Make sure user's umask is honored, even if we are superuser +TAR_OPTIONS="$TAR_OPTIONS --no-same-permissions" -echo Final files: -find tart -print | sort 2>/dev/null -) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? -fi +# Create a directory +mkdir directory +chmod 777 directory +genfile --stat=mode:777 directory -at_failed=false -echo >>"$at_stderr"; echo "tar: tart/c0: Directory is new -tar: tart/c1: Directory is new -tar: tart/c2: Directory has been renamed from \`tart/c1' -" | $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "Create directories -Creating main archive -tart/ -tart/c0/ -tart/c1/ -tart/a1 -tart/b1 -tart/c0/cq1 -tart/c0/cq2 -tart/c1/ca1 -tart/c1/ca2 -Modifying filesystem -Directory contents -tart -tart/b2 -tart/c0 -tart/c0/cq1 -tart/c0/cq2 -tart/c2 -tart/c2/ca1 -tart/c2/ca2 -tart/c2/ca3 -Creating incremental archive -tart/ -tart/c0/ -tart/c2/ -tart/b2 -tart/c2/ca3 -Extracting main archive -tart/ -tart/c0/ -tart/c1/ -tart/a1 -tart/b1 -tart/c0/cq1 -tart/c0/cq2 -tart/c1/ca1 -tart/c1/ca2 -Extracting incremental archive -tar: Deleting \`tart/a1' -tar: Deleting \`tart/b1' -tart/ -tart/b2 -tart/c0/ -tart/c2/ -tart/c2/ca3 -Final files: -tart -tart/b2 -tart/c0 -tart/c0/cq1 -tart/c0/cq2 -tart/c2 -tart/c2/ca1 -tart/c2/ca2 -tart/c2/ca3 -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/listed02.at:31: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +# Archive it +tar cf arc directory +# Change its permissions ... +chmod 755 directory +genfile --stat=mode:777 directory - echo 1 > "$at_status_file" - exit 1 -fi +# ... and attempt to restore it twice +tar xf arc directory +genfile --stat=mode:777 directory -$at_traceon +tar xf arc directory +genfile --stat=mode:777 directory +# After both restores, the directory mode should be 755 +) ) >"$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 * +# Force umask +umask 022 - $at_traceoff - $at_times_p && times >"$at_times_file" - ) 5>&1 2>&1 | eval $at_tee_pipe - at_status=`cat "$at_status_file"` - ;; +# Make sure user's umask is honored, even if we are superuser +TAR_OPTIONS="$TAR_OPTIONS --no-same-permissions" - 31 ) # 31. incr03.at:28: renamed files in incrementals - at_setup_line='incr03.at:28' - at_desc="renamed files in incrementals" - $at_quiet $ECHO_N " 31: renamed files in incrementals $ECHO_C" - at_xfail=no - test -f $XFAILFILE && at_xfail=yes - echo "# -*- compilation -*-" >> "$at_group_log" - ( - echo "31. incr03.at:28: testing ..." - $at_traceon +# Create a directory +mkdir directory +chmod 777 directory +genfile --stat=mode:777 directory + +# Archive it +tar cf arc directory + +# Change its permissions ... +chmod 755 directory +genfile --stat=mode:777 directory +# ... and attempt to restore it twice +tar xf arc directory +genfile --stat=mode:777 directory +tar xf arc directory +genfile --stat=mode:777 directory +# After both restores, the directory mode should be 755 +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "777 +755 +755 +755 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/extrac06.at:36" +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/incr03.at:31: + { $at_traceoff +$as_echo "$at_srcdir/extrac06.at:36: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -13137,43 +13925,38 @@ export TAR_OPTIONS rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 - -mkdir directory -genfile --file=directory/x -genfile --file=directory/y +# Force umask +umask 022 -sleep 1 +# Make sure user's umask is honored, even if we are superuser +TAR_OPTIONS=\"\$TAR_OPTIONS --no-same-permissions\" -tar -cf archive.1 -g db directory +# Create a directory +mkdir directory +chmod 777 directory +genfile --stat=mode:777 directory -mv directory/x directory/z -tar -cf archive.2 -g db directory +# Archive it +tar cf arc directory -mv directory orig +# Change its permissions ... +chmod 755 directory +genfile --stat=mode:777 directory -echo Listing of archive.1 -tar -tf archive.1 | sort -echo Listing of archive.2 -tar -tf archive.2 | sort +# ... and attempt to restore it twice +tar xf arc directory +genfile --stat=mode:777 directory -echo Directory after first restore -tar -xf archive.1 -g db -find directory | sort +tar xf arc directory +genfile --stat=mode:777 directory -echo Directory after second restore -tar -xf archive.2 -g db -find directory | sort +# After both restores, the directory mode should be 755 )" -echo incr03.at:31 >"$at_check_line_file" - -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +echo extrac06.at:36 >"$at_check_line_file" -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -13183,39 +13966,36 @@ export TAR_OPTIONS rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 - -mkdir directory -genfile --file=directory/x -genfile --file=directory/y +# Force umask +umask 022 -sleep 1 +# Make sure user's umask is honored, even if we are superuser +TAR_OPTIONS="$TAR_OPTIONS --no-same-permissions" -tar -cf archive.1 -g db directory +# Create a directory +mkdir directory +chmod 777 directory +genfile --stat=mode:777 directory -mv directory/x directory/z -tar -cf archive.2 -g db directory +# Archive it +tar cf arc directory -mv directory orig +# Change its permissions ... +chmod 755 directory +genfile --stat=mode:777 directory -echo Listing of archive.1 -tar -tf archive.1 | sort -echo Listing of archive.2 -tar -tf archive.2 | sort +# ... and attempt to restore it twice +tar xf arc directory +genfile --stat=mode:777 directory -echo Directory after first restore -tar -xf archive.1 -g db -find directory | sort +tar xf arc directory +genfile --stat=mode:777 directory -echo Directory after second restore -tar -xf archive.2 -g db -find directory | sort +# After both restores, the directory mode should be 755 ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -13225,160 +14005,238 @@ export TAR_OPTIONS rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 - -mkdir directory -genfile --file=directory/x -genfile --file=directory/y +# Force umask +umask 022 -sleep 1 +# Make sure user's umask is honored, even if we are superuser +TAR_OPTIONS="$TAR_OPTIONS --no-same-permissions" -tar -cf archive.1 -g db directory +# Create a directory +mkdir directory +chmod 777 directory +genfile --stat=mode:777 directory -mv directory/x directory/z -tar -cf archive.2 -g db directory +# Archive it +tar cf arc directory -mv directory orig +# Change its permissions ... +chmod 755 directory +genfile --stat=mode:777 directory -echo Listing of archive.1 -tar -tf archive.1 | sort -echo Listing of archive.2 -tar -tf archive.2 | sort +# ... and attempt to restore it twice +tar xf arc directory +genfile --stat=mode:777 directory -echo Directory after first restore -tar -xf archive.1 -g db -find directory | sort +tar xf arc directory +genfile --stat=mode:777 directory -echo Directory after second restore -tar -xf archive.2 -g db -find directory | sort +# After both restores, the directory mode should be 755 ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "Listing of archive.1 -directory/ -directory/x -directory/y -Listing of archive.2 -directory/ -directory/z -Directory after first restore -directory -directory/x -directory/y -Directory after second restore -directory -directory/y -directory/z -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/incr03.at:31: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "777 +755 +755 +755 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/extrac06.at:36" +$at_failed && at_func_log_failure +$at_traceon; } - echo 1 > "$at_status_file" - exit 1 -fi -$at_traceon - $at_traceoff -echo "$at_srcdir/incr03.at:31: -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu -export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H oldgnu\" + + $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_29 +#AT_START_30 +# 30. 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_xfail=no + test -f $XFAILFILE && at_xfail=yes +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "30. extrac07.at:27: testing ..." + $at_traceon + + + + + + { $at_traceoff +$as_echo "$at_srcdir/extrac07.at:30: +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H v7\" export TAR_OPTIONS rm -rf * +echo Prepare the directory +mkdir dir +genfile -f foo +cd dir +ln -s ../foo . +cd .. +chmod -w dir -test -z "`sort < /dev/null 2>&1`" || exit 77 +echo Create the archive +tar cf archive dir || exit 1 -mkdir directory -genfile --file=directory/x -genfile --file=directory/y +chmod +w dir -sleep 1 +echo Extract +mkdir out +tar -C out -xvf archive +)" +echo extrac07.at:30 >"$at_check_line_file" -tar -cf archive.1 -g db directory +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 * -mv directory/x directory/z -tar -cf archive.2 -g db directory +echo Prepare the directory +mkdir dir +genfile -f foo +cd dir +ln -s ../foo . +cd .. +chmod -w dir -mv directory orig +echo Create the archive +tar cf archive dir || exit 1 -echo Listing of archive.1 -tar -tf archive.1 | sort -echo Listing of archive.2 -tar -tf archive.2 | sort +chmod +w dir -echo Directory after first restore -tar -xf archive.1 -g db -find directory | sort +echo Extract +mkdir out +tar -C out -xvf 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 * -echo Directory after second restore -tar -xf archive.2 -g db -find directory | sort -)" -echo incr03.at:31 >"$at_check_line_file" +echo Prepare the directory +mkdir dir +genfile -f foo +cd dir +ln -s ../foo . +cd .. +chmod -w dir -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' +echo Create the archive +tar cf archive dir || exit 1 + +chmod +w dir + +echo Extract +mkdir out +tar -C out -xvf archive +) ) >"$at_stdout" 2>"$at_stderr" +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 -if test -n "$at_trace_this"; then - ( $at_traceon; +$at_failed && at_func_log_failure +$at_traceon; } + + { $at_traceoff +$as_echo "$at_srcdir/extrac07.at:30: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" +TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * +echo Prepare the directory +mkdir dir +genfile -f foo +cd dir +ln -s ../foo . +cd .. +chmod -w dir -test -z "`sort < /dev/null 2>&1`" || exit 77 - -mkdir directory -genfile --file=directory/x -genfile --file=directory/y +echo Create the archive +tar cf archive dir || exit 1 -sleep 1 +chmod +w dir -tar -cf archive.1 -g db directory +echo Extract +mkdir out +tar -C out -xvf archive +)" +echo extrac07.at:30 >"$at_check_line_file" -mv directory/x directory/z -tar -cf archive.2 -g db directory +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 * -mv directory orig +echo Prepare the directory +mkdir dir +genfile -f foo +cd dir +ln -s ../foo . +cd .. +chmod -w dir -echo Listing of archive.1 -tar -tf archive.1 | sort -echo Listing of archive.2 -tar -tf archive.2 | sort +echo Create the archive +tar cf archive dir || exit 1 -echo Directory after first restore -tar -xf archive.1 -g db -find directory | sort +chmod +w dir -echo Directory after second restore -tar -xf archive.2 -g db -find directory | sort +echo Extract +mkdir out +tar -C out -xvf archive ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -13387,161 +14245,210 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * +echo Prepare the directory +mkdir dir +genfile -f foo +cd dir +ln -s ../foo . +cd .. +chmod -w dir -test -z "`sort < /dev/null 2>&1`" || exit 77 - -mkdir directory -genfile --file=directory/x -genfile --file=directory/y - -sleep 1 - -tar -cf archive.1 -g db directory - -mv directory/x directory/z -tar -cf archive.2 -g db directory - -mv directory orig - -echo Listing of archive.1 -tar -tf archive.1 | sort -echo Listing of archive.2 -tar -tf archive.2 | sort +echo Create the archive +tar cf archive dir || exit 1 -echo Directory after first restore -tar -xf archive.1 -g db -find directory | sort +chmod +w dir -echo Directory after second restore -tar -xf archive.2 -g db -find directory | sort +echo Extract +mkdir out +tar -C out -xvf archive ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "Listing of archive.1 -directory/ -directory/x -directory/y -Listing of archive.2 -directory/ -directory/z -Directory after first restore -directory -directory/x -directory/y -Directory after second restore -directory -directory/y -directory/z -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/incr03.at:31: exit code was $at_status, expected 0" - at_failed=:;; -esac +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 - - - echo 1 > "$at_status_file" - exit 1 + : +else + ustar fi -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/incr03.at:31: -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix + { $at_traceoff +$as_echo "$at_srcdir/extrac07.at:30: +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H posix\" +TAR_OPTIONS=\"-H ustar\" export TAR_OPTIONS rm -rf * +echo Prepare the directory +mkdir dir +genfile -f foo +cd dir +ln -s ../foo . +cd .. +chmod -w dir -test -z "`sort < /dev/null 2>&1`" || exit 77 - -mkdir directory -genfile --file=directory/x -genfile --file=directory/y +echo Create the archive +tar cf archive dir || exit 1 -sleep 1 +chmod +w dir -tar -cf archive.1 -g db directory +echo Extract +mkdir out +tar -C out -xvf archive +)" +echo extrac07.at:30 >"$at_check_line_file" -mv directory/x directory/z -tar -cf archive.2 -g db directory +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 * -mv directory orig +echo Prepare the directory +mkdir dir +genfile -f foo +cd dir +ln -s ../foo . +cd .. +chmod -w dir -echo Listing of archive.1 -tar -tf archive.1 | sort -echo Listing of archive.2 -tar -tf archive.2 | sort +echo Create the archive +tar cf archive dir || exit 1 -echo Directory after first restore -tar -xf archive.1 -g db -find directory | sort +chmod +w dir -echo Directory after second restore -tar -xf archive.2 -g db -find directory | sort -)" -echo incr03.at:31 >"$at_check_line_file" +echo Extract +mkdir out +tar -C out -xvf 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 * -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' +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 + +echo Extract +mkdir out +tar -C out -xvf 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 "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 -if test -n "$at_trace_this"; then - ( $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 export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" +TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * +echo Prepare the directory +mkdir dir +genfile -f foo +cd dir +ln -s ../foo . +cd .. +chmod -w dir -test -z "`sort < /dev/null 2>&1`" || exit 77 - -mkdir directory -genfile --file=directory/x -genfile --file=directory/y +echo Create the archive +tar cf archive dir || exit 1 -sleep 1 +chmod +w dir -tar -cf archive.1 -g db directory +echo Extract +mkdir out +tar -C out -xvf archive +)" +echo extrac07.at:30 >"$at_check_line_file" -mv directory/x directory/z -tar -cf archive.2 -g db directory +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 * -mv directory orig +echo Prepare the directory +mkdir dir +genfile -f foo +cd dir +ln -s ../foo . +cd .. +chmod -w dir -echo Listing of archive.1 -tar -tf archive.1 | sort -echo Listing of archive.2 -tar -tf archive.2 | sort +echo Create the archive +tar cf archive dir || exit 1 -echo Directory after first restore -tar -xf archive.1 -g db -find directory | sort +chmod +w dir -echo Directory after second restore -tar -xf archive.2 -g db -find directory | sort +echo Extract +mkdir out +tar -C out -xvf archive ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -13550,99 +14457,46 @@ TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * +echo Prepare the directory +mkdir dir +genfile -f foo +cd dir +ln -s ../foo . +cd .. +chmod -w dir -test -z "`sort < /dev/null 2>&1`" || exit 77 - -mkdir directory -genfile --file=directory/x -genfile --file=directory/y - -sleep 1 - -tar -cf archive.1 -g db directory - -mv directory/x directory/z -tar -cf archive.2 -g db directory - -mv directory orig - -echo Listing of archive.1 -tar -tf archive.1 | sort -echo Listing of archive.2 -tar -tf archive.2 | sort +echo Create the archive +tar cf archive dir || exit 1 -echo Directory after first restore -tar -xf archive.1 -g db -find directory | sort +chmod +w dir -echo Directory after second restore -tar -xf archive.2 -g db -find directory | sort +echo Extract +mkdir out +tar -C out -xvf archive ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "Listing of archive.1 -directory/ -directory/x -directory/y -Listing of archive.2 -directory/ -directory/z -Directory after first restore -directory -directory/x -directory/y -Directory after second restore -directory -directory/y -directory/z -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/incr03.at:31: exit code was $at_status, expected 0" - at_failed=:;; -esac +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 - - - echo 1 > "$at_status_file" - exit 1 + : +else + ustar fi -$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"` - ;; - - 32 ) # 32. incr04.at:29: proper icontents initialization - at_setup_line='incr04.at:29' - at_desc="proper icontents initialization" - $at_quiet $ECHO_N " 32: proper icontents initialization $ECHO_C" - at_xfail=no - test -f $XFAILFILE && at_xfail=yes - echo "# -*- compilation -*-" >> "$at_group_log" - ( - echo "32. incr04.at:29: testing ..." - $at_traceon - - - - +$at_failed && at_func_log_failure +$at_traceon; } - - - $at_traceoff -echo "$at_srcdir/incr04.at:34: + { $at_traceoff +$as_echo "$at_srcdir/extrac07.at:30: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -13651,30 +14505,28 @@ 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 -install-sh -d a/b >/dev/null || exit 77 -awk 'BEGIN { - for (i=1;i<=142;i++) - printf(\"a/b/one_31_chars_long_file_name_%03d\\n\", i); - }' < /dev/null | genfile --files-from - +echo Create the archive +tar cf archive dir || exit 1 -sleep 1 +chmod +w dir -echo \"Initial dump\" -tar cvf a0.tar -g a.sna a -mv a/b a/c -echo \"Incremental dump\" -tar cvf a1.tar -g a.sna a +echo Extract +mkdir out +tar -C out -xvf archive )" -echo incr04.at:34 >"$at_check_line_file" - -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +echo extrac07.at:30 >"$at_check_line_file" -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -13683,26 +14535,26 @@ 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 -install-sh -d a/b >/dev/null || exit 77 -awk 'BEGIN { - for (i=1;i<=142;i++) - printf("a/b/one_31_chars_long_file_name_%03d\n", i); - }' < /dev/null | genfile --files-from - +echo Create the archive +tar cf archive dir || exit 1 -sleep 1 +chmod +w dir -echo "Initial dump" -tar cvf a0.tar -g a.sna a -mv a/b a/c -echo "Incremental dump" -tar cvf a1.tar -g a.sna a +echo Extract +mkdir out +tar -C out -xvf archive ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -13711,254 +14563,187 @@ 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 -install-sh -d a/b >/dev/null || exit 77 -awk 'BEGIN { - for (i=1;i<=142;i++) - printf("a/b/one_31_chars_long_file_name_%03d\n", i); - }' < /dev/null | genfile --files-from - +echo Create the archive +tar cf archive dir || exit 1 -sleep 1 +chmod +w dir -echo "Initial dump" -tar cvf a0.tar -g a.sna a -mv a/b a/c -echo "Incremental dump" -tar cvf a1.tar -g a.sna a +echo Extract +mkdir out +tar -C out -xvf archive ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -echo >>"$at_stderr"; echo "tar: a/b: Directory is new -tar: a/c: Directory has been renamed from \`a/b' -" | $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "Initial dump -a/ -a/b/ -a/b/one_31_chars_long_file_name_001 -a/b/one_31_chars_long_file_name_002 -a/b/one_31_chars_long_file_name_003 -a/b/one_31_chars_long_file_name_004 -a/b/one_31_chars_long_file_name_005 -a/b/one_31_chars_long_file_name_006 -a/b/one_31_chars_long_file_name_007 -a/b/one_31_chars_long_file_name_008 -a/b/one_31_chars_long_file_name_009 -a/b/one_31_chars_long_file_name_010 -a/b/one_31_chars_long_file_name_011 -a/b/one_31_chars_long_file_name_012 -a/b/one_31_chars_long_file_name_013 -a/b/one_31_chars_long_file_name_014 -a/b/one_31_chars_long_file_name_015 -a/b/one_31_chars_long_file_name_016 -a/b/one_31_chars_long_file_name_017 -a/b/one_31_chars_long_file_name_018 -a/b/one_31_chars_long_file_name_019 -a/b/one_31_chars_long_file_name_020 -a/b/one_31_chars_long_file_name_021 -a/b/one_31_chars_long_file_name_022 -a/b/one_31_chars_long_file_name_023 -a/b/one_31_chars_long_file_name_024 -a/b/one_31_chars_long_file_name_025 -a/b/one_31_chars_long_file_name_026 -a/b/one_31_chars_long_file_name_027 -a/b/one_31_chars_long_file_name_028 -a/b/one_31_chars_long_file_name_029 -a/b/one_31_chars_long_file_name_030 -a/b/one_31_chars_long_file_name_031 -a/b/one_31_chars_long_file_name_032 -a/b/one_31_chars_long_file_name_033 -a/b/one_31_chars_long_file_name_034 -a/b/one_31_chars_long_file_name_035 -a/b/one_31_chars_long_file_name_036 -a/b/one_31_chars_long_file_name_037 -a/b/one_31_chars_long_file_name_038 -a/b/one_31_chars_long_file_name_039 -a/b/one_31_chars_long_file_name_040 -a/b/one_31_chars_long_file_name_041 -a/b/one_31_chars_long_file_name_042 -a/b/one_31_chars_long_file_name_043 -a/b/one_31_chars_long_file_name_044 -a/b/one_31_chars_long_file_name_045 -a/b/one_31_chars_long_file_name_046 -a/b/one_31_chars_long_file_name_047 -a/b/one_31_chars_long_file_name_048 -a/b/one_31_chars_long_file_name_049 -a/b/one_31_chars_long_file_name_050 -a/b/one_31_chars_long_file_name_051 -a/b/one_31_chars_long_file_name_052 -a/b/one_31_chars_long_file_name_053 -a/b/one_31_chars_long_file_name_054 -a/b/one_31_chars_long_file_name_055 -a/b/one_31_chars_long_file_name_056 -a/b/one_31_chars_long_file_name_057 -a/b/one_31_chars_long_file_name_058 -a/b/one_31_chars_long_file_name_059 -a/b/one_31_chars_long_file_name_060 -a/b/one_31_chars_long_file_name_061 -a/b/one_31_chars_long_file_name_062 -a/b/one_31_chars_long_file_name_063 -a/b/one_31_chars_long_file_name_064 -a/b/one_31_chars_long_file_name_065 -a/b/one_31_chars_long_file_name_066 -a/b/one_31_chars_long_file_name_067 -a/b/one_31_chars_long_file_name_068 -a/b/one_31_chars_long_file_name_069 -a/b/one_31_chars_long_file_name_070 -a/b/one_31_chars_long_file_name_071 -a/b/one_31_chars_long_file_name_072 -a/b/one_31_chars_long_file_name_073 -a/b/one_31_chars_long_file_name_074 -a/b/one_31_chars_long_file_name_075 -a/b/one_31_chars_long_file_name_076 -a/b/one_31_chars_long_file_name_077 -a/b/one_31_chars_long_file_name_078 -a/b/one_31_chars_long_file_name_079 -a/b/one_31_chars_long_file_name_080 -a/b/one_31_chars_long_file_name_081 -a/b/one_31_chars_long_file_name_082 -a/b/one_31_chars_long_file_name_083 -a/b/one_31_chars_long_file_name_084 -a/b/one_31_chars_long_file_name_085 -a/b/one_31_chars_long_file_name_086 -a/b/one_31_chars_long_file_name_087 -a/b/one_31_chars_long_file_name_088 -a/b/one_31_chars_long_file_name_089 -a/b/one_31_chars_long_file_name_090 -a/b/one_31_chars_long_file_name_091 -a/b/one_31_chars_long_file_name_092 -a/b/one_31_chars_long_file_name_093 -a/b/one_31_chars_long_file_name_094 -a/b/one_31_chars_long_file_name_095 -a/b/one_31_chars_long_file_name_096 -a/b/one_31_chars_long_file_name_097 -a/b/one_31_chars_long_file_name_098 -a/b/one_31_chars_long_file_name_099 -a/b/one_31_chars_long_file_name_100 -a/b/one_31_chars_long_file_name_101 -a/b/one_31_chars_long_file_name_102 -a/b/one_31_chars_long_file_name_103 -a/b/one_31_chars_long_file_name_104 -a/b/one_31_chars_long_file_name_105 -a/b/one_31_chars_long_file_name_106 -a/b/one_31_chars_long_file_name_107 -a/b/one_31_chars_long_file_name_108 -a/b/one_31_chars_long_file_name_109 -a/b/one_31_chars_long_file_name_110 -a/b/one_31_chars_long_file_name_111 -a/b/one_31_chars_long_file_name_112 -a/b/one_31_chars_long_file_name_113 -a/b/one_31_chars_long_file_name_114 -a/b/one_31_chars_long_file_name_115 -a/b/one_31_chars_long_file_name_116 -a/b/one_31_chars_long_file_name_117 -a/b/one_31_chars_long_file_name_118 -a/b/one_31_chars_long_file_name_119 -a/b/one_31_chars_long_file_name_120 -a/b/one_31_chars_long_file_name_121 -a/b/one_31_chars_long_file_name_122 -a/b/one_31_chars_long_file_name_123 -a/b/one_31_chars_long_file_name_124 -a/b/one_31_chars_long_file_name_125 -a/b/one_31_chars_long_file_name_126 -a/b/one_31_chars_long_file_name_127 -a/b/one_31_chars_long_file_name_128 -a/b/one_31_chars_long_file_name_129 -a/b/one_31_chars_long_file_name_130 -a/b/one_31_chars_long_file_name_131 -a/b/one_31_chars_long_file_name_132 -a/b/one_31_chars_long_file_name_133 -a/b/one_31_chars_long_file_name_134 -a/b/one_31_chars_long_file_name_135 -a/b/one_31_chars_long_file_name_136 -a/b/one_31_chars_long_file_name_137 -a/b/one_31_chars_long_file_name_138 -a/b/one_31_chars_long_file_name_139 -a/b/one_31_chars_long_file_name_140 -a/b/one_31_chars_long_file_name_141 -a/b/one_31_chars_long_file_name_142 -Incremental dump -a/ -a/c/ -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/incr04.at:34: exit code was $at_status, expected 0" - at_failed=:;; -esac +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_failed && at_func_log_failure +$at_traceon; } - echo 1 > "$at_status_file" - exit 1 -fi -$at_traceon + # Testing one format is enough - $at_traceoff -echo "$at_srcdir/incr04.at:34: -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu + $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_xfail=no + test -f $XFAILFILE && at_xfail=yes +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "31. 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 oldgnu\" +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 +)" +echo extrac08.at:36 >"$at_check_line_file" -install-sh -d a/b >/dev/null || exit 77 -awk 'BEGIN { - for (i=1;i<=142;i++) - printf(\"a/b/one_31_chars_long_file_name_%03d\\n\", i); - }' < /dev/null | genfile --files-from - - -sleep 1 +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 * -echo \"Initial dump\" -tar cvf a0.tar -g a.sna a -mv a/b a/c -echo \"Incremental dump\" -tar cvf a1.tar -g a.sna a -)" -echo incr04.at:34 >"$at_check_line_file" +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 +) ) >"$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 * -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' +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 +) ) >"$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; } -if test -n "$at_trace_this"; then - ( $at_traceon; + { $at_traceoff +$as_echo "$at_srcdir/extrac08.at:36: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" +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 +)" +echo extrac08.at:36 >"$at_check_line_file" -install-sh -d a/b >/dev/null || exit 77 -awk 'BEGIN { - for (i=1;i<=142;i++) - printf("a/b/one_31_chars_long_file_name_%03d\n", i); - }' < /dev/null | genfile --files-from - - -sleep 1 +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 * -echo "Initial dump" -tar cvf a0.tar -g a.sna a -mv a/b a/c -echo "Incremental dump" -tar cvf a1.tar -g a.sna a +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 ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -13967,194 +14752,106 @@ 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 +) ) >"$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" -install-sh -d a/b >/dev/null || exit 77 -awk 'BEGIN { - for (i=1;i<=142;i++) - printf("a/b/one_31_chars_long_file_name_%03d\n", i); - }' < /dev/null | genfile --files-from - +$at_failed && at_func_log_failure +$at_traceon; } -sleep 1 + { $at_traceoff +$as_echo "$at_srcdir/extrac08.at:36: +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H ustar\" +export TAR_OPTIONS +rm -rf * -echo "Initial dump" -tar cvf a0.tar -g a.sna a -mv a/b a/c -echo "Incremental dump" -tar cvf a1.tar -g a.sna a -) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? -fi +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 +)" +echo extrac08.at:36 >"$at_check_line_file" -at_failed=false -echo >>"$at_stderr"; echo "tar: a/b: Directory is new -tar: a/c: Directory has been renamed from \`a/b' -" | $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "Initial dump -a/ -a/b/ -a/b/one_31_chars_long_file_name_001 -a/b/one_31_chars_long_file_name_002 -a/b/one_31_chars_long_file_name_003 -a/b/one_31_chars_long_file_name_004 -a/b/one_31_chars_long_file_name_005 -a/b/one_31_chars_long_file_name_006 -a/b/one_31_chars_long_file_name_007 -a/b/one_31_chars_long_file_name_008 -a/b/one_31_chars_long_file_name_009 -a/b/one_31_chars_long_file_name_010 -a/b/one_31_chars_long_file_name_011 -a/b/one_31_chars_long_file_name_012 -a/b/one_31_chars_long_file_name_013 -a/b/one_31_chars_long_file_name_014 -a/b/one_31_chars_long_file_name_015 -a/b/one_31_chars_long_file_name_016 -a/b/one_31_chars_long_file_name_017 -a/b/one_31_chars_long_file_name_018 -a/b/one_31_chars_long_file_name_019 -a/b/one_31_chars_long_file_name_020 -a/b/one_31_chars_long_file_name_021 -a/b/one_31_chars_long_file_name_022 -a/b/one_31_chars_long_file_name_023 -a/b/one_31_chars_long_file_name_024 -a/b/one_31_chars_long_file_name_025 -a/b/one_31_chars_long_file_name_026 -a/b/one_31_chars_long_file_name_027 -a/b/one_31_chars_long_file_name_028 -a/b/one_31_chars_long_file_name_029 -a/b/one_31_chars_long_file_name_030 -a/b/one_31_chars_long_file_name_031 -a/b/one_31_chars_long_file_name_032 -a/b/one_31_chars_long_file_name_033 -a/b/one_31_chars_long_file_name_034 -a/b/one_31_chars_long_file_name_035 -a/b/one_31_chars_long_file_name_036 -a/b/one_31_chars_long_file_name_037 -a/b/one_31_chars_long_file_name_038 -a/b/one_31_chars_long_file_name_039 -a/b/one_31_chars_long_file_name_040 -a/b/one_31_chars_long_file_name_041 -a/b/one_31_chars_long_file_name_042 -a/b/one_31_chars_long_file_name_043 -a/b/one_31_chars_long_file_name_044 -a/b/one_31_chars_long_file_name_045 -a/b/one_31_chars_long_file_name_046 -a/b/one_31_chars_long_file_name_047 -a/b/one_31_chars_long_file_name_048 -a/b/one_31_chars_long_file_name_049 -a/b/one_31_chars_long_file_name_050 -a/b/one_31_chars_long_file_name_051 -a/b/one_31_chars_long_file_name_052 -a/b/one_31_chars_long_file_name_053 -a/b/one_31_chars_long_file_name_054 -a/b/one_31_chars_long_file_name_055 -a/b/one_31_chars_long_file_name_056 -a/b/one_31_chars_long_file_name_057 -a/b/one_31_chars_long_file_name_058 -a/b/one_31_chars_long_file_name_059 -a/b/one_31_chars_long_file_name_060 -a/b/one_31_chars_long_file_name_061 -a/b/one_31_chars_long_file_name_062 -a/b/one_31_chars_long_file_name_063 -a/b/one_31_chars_long_file_name_064 -a/b/one_31_chars_long_file_name_065 -a/b/one_31_chars_long_file_name_066 -a/b/one_31_chars_long_file_name_067 -a/b/one_31_chars_long_file_name_068 -a/b/one_31_chars_long_file_name_069 -a/b/one_31_chars_long_file_name_070 -a/b/one_31_chars_long_file_name_071 -a/b/one_31_chars_long_file_name_072 -a/b/one_31_chars_long_file_name_073 -a/b/one_31_chars_long_file_name_074 -a/b/one_31_chars_long_file_name_075 -a/b/one_31_chars_long_file_name_076 -a/b/one_31_chars_long_file_name_077 -a/b/one_31_chars_long_file_name_078 -a/b/one_31_chars_long_file_name_079 -a/b/one_31_chars_long_file_name_080 -a/b/one_31_chars_long_file_name_081 -a/b/one_31_chars_long_file_name_082 -a/b/one_31_chars_long_file_name_083 -a/b/one_31_chars_long_file_name_084 -a/b/one_31_chars_long_file_name_085 -a/b/one_31_chars_long_file_name_086 -a/b/one_31_chars_long_file_name_087 -a/b/one_31_chars_long_file_name_088 -a/b/one_31_chars_long_file_name_089 -a/b/one_31_chars_long_file_name_090 -a/b/one_31_chars_long_file_name_091 -a/b/one_31_chars_long_file_name_092 -a/b/one_31_chars_long_file_name_093 -a/b/one_31_chars_long_file_name_094 -a/b/one_31_chars_long_file_name_095 -a/b/one_31_chars_long_file_name_096 -a/b/one_31_chars_long_file_name_097 -a/b/one_31_chars_long_file_name_098 -a/b/one_31_chars_long_file_name_099 -a/b/one_31_chars_long_file_name_100 -a/b/one_31_chars_long_file_name_101 -a/b/one_31_chars_long_file_name_102 -a/b/one_31_chars_long_file_name_103 -a/b/one_31_chars_long_file_name_104 -a/b/one_31_chars_long_file_name_105 -a/b/one_31_chars_long_file_name_106 -a/b/one_31_chars_long_file_name_107 -a/b/one_31_chars_long_file_name_108 -a/b/one_31_chars_long_file_name_109 -a/b/one_31_chars_long_file_name_110 -a/b/one_31_chars_long_file_name_111 -a/b/one_31_chars_long_file_name_112 -a/b/one_31_chars_long_file_name_113 -a/b/one_31_chars_long_file_name_114 -a/b/one_31_chars_long_file_name_115 -a/b/one_31_chars_long_file_name_116 -a/b/one_31_chars_long_file_name_117 -a/b/one_31_chars_long_file_name_118 -a/b/one_31_chars_long_file_name_119 -a/b/one_31_chars_long_file_name_120 -a/b/one_31_chars_long_file_name_121 -a/b/one_31_chars_long_file_name_122 -a/b/one_31_chars_long_file_name_123 -a/b/one_31_chars_long_file_name_124 -a/b/one_31_chars_long_file_name_125 -a/b/one_31_chars_long_file_name_126 -a/b/one_31_chars_long_file_name_127 -a/b/one_31_chars_long_file_name_128 -a/b/one_31_chars_long_file_name_129 -a/b/one_31_chars_long_file_name_130 -a/b/one_31_chars_long_file_name_131 -a/b/one_31_chars_long_file_name_132 -a/b/one_31_chars_long_file_name_133 -a/b/one_31_chars_long_file_name_134 -a/b/one_31_chars_long_file_name_135 -a/b/one_31_chars_long_file_name_136 -a/b/one_31_chars_long_file_name_137 -a/b/one_31_chars_long_file_name_138 -a/b/one_31_chars_long_file_name_139 -a/b/one_31_chars_long_file_name_140 -a/b/one_31_chars_long_file_name_141 -a/b/one_31_chars_long_file_name_142 -Incremental dump -a/ -a/c/ -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/incr04.at:34: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +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 * +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 +) ) >"$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 * - echo 1 > "$at_status_file" - exit 1 +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 +) ) >"$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_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/incr04.at:34: + { $at_traceoff +$as_echo "$at_srcdir/extrac08.at:36: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -14163,30 +14860,40 @@ TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * - -install-sh -d a/b >/dev/null || exit 77 -awk 'BEGIN { - for (i=1;i<=142;i++) - printf(\"a/b/one_31_chars_long_file_name_%03d\\n\", i); - }' < /dev/null | genfile --files-from - - -sleep 1 - -echo \"Initial dump\" -tar cvf a0.tar -g a.sna a -mv a/b a/c -echo \"Incremental dump\" -tar cvf a1.tar -g a.sna a +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 )" -echo incr04.at:34 >"$at_check_line_file" +echo extrac08.at:36 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +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 * -if test -n "$at_trace_this"; then - ( $at_traceon; +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 +) ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -14195,26 +14902,6399 @@ 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 +) ) >"$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/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 +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 +genfile --stat=mode.777 dir +) ) >"$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 * + +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 +) ) >"$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_31 +#AT_START_32 +# 32. 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_xfail=no + test -f $XFAILFILE && at_xfail=yes +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "32. label01.at:19: testing ..." + $at_traceon + + + + + + { $at_traceoff +$as_echo "$at_srcdir/label01.at:22: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H gnu\" +export TAR_OPTIONS +rm -rf * + +genfile --file foo +genfile --file bar +tar -cf archive --label=Test foo bar +tar tf archive +)" +echo label01.at:22 >"$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 foo +genfile --file bar +tar -cf archive --label=Test foo bar +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 foo +genfile --file bar +tar -cf archive --label=Test foo bar +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 "Test +foo +bar +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/label01.at:22" + +$at_failed && at_func_log_failure +$at_traceon; } + + { $at_traceoff +$as_echo "$at_srcdir/label01.at:22: +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H oldgnu\" +export TAR_OPTIONS +rm -rf * + +genfile --file foo +genfile --file bar +tar -cf archive --label=Test foo bar +tar tf archive +)" +echo label01.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 * + +genfile --file foo +genfile --file bar +tar -cf archive --label=Test foo bar +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 foo +genfile --file bar +tar -cf archive --label=Test foo bar +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 "Test +foo +bar +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/label01.at:22" + +$at_failed && at_func_log_failure +$at_traceon; } + + { $at_traceoff +$as_echo "$at_srcdir/label01.at:22: +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H posix\" +export TAR_OPTIONS +rm -rf * + +genfile --file foo +genfile --file bar +tar -cf archive --label=Test foo bar +tar tf archive +)" +echo label01.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 * + +genfile --file foo +genfile --file bar +tar -cf archive --label=Test foo bar +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 foo +genfile --file bar +tar -cf archive --label=Test foo bar +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 "Test +foo +bar +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/label01.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_32 +#AT_START_33 +# 33. 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_xfail=no + test -f $XFAILFILE && at_xfail=yes +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "33. label02.at:19: testing ..." + $at_traceon + + + + + + { $at_traceoff +$as_echo "$at_srcdir/label02.at:22: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H gnu\" +export TAR_OPTIONS +rm -rf * + +exec <&- +genfile --length 0 --file foo +genfile --length 12288 --file bar +genfile --length 12288 --file baz +tar --label=Test -cM -L10 -f 1.tar -f 2.tar -f 3.tar -f 4.tar foo bar baz +tar -Mt -f 1.tar -f 2.tar -f 3.tar -f 4.tar +)" +echo label02.at:22 >"$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 --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 gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H gnu" +export TAR_OPTIONS +rm -rf * + +exec <&- +genfile --length 0 --file foo +genfile --length 12288 --file bar +genfile --length 12288 --file baz +tar --label=Test -cM -L10 -f 1.tar -f 2.tar -f 3.tar -f 4.tar foo bar baz +tar -Mt -f 1.tar -f 2.tar -f 3.tar -f 4.tar +) ) >"$at_stdout" 2>"$at_stderr" +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 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_33 +#AT_START_34 +# 34. 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_xfail=no + test -f $XFAILFILE && at_xfail=yes +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "34. backup01.at:33: testing ..." + $at_traceon + + + + + + { $at_traceoff +$as_echo "$at_srcdir/backup01.at:36: +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H v7\" +export TAR_OPTIONS +rm -rf * + +mkdir dir1 dir2 +echo bla > dir1/file1 +tar cf test.tar dir1 dir2 +tar xfv test.tar --backup +)" +echo backup01.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 * + +mkdir dir1 dir2 +echo bla > dir1/file1 +tar cf test.tar dir1 dir2 +tar xfv test.tar --backup +) ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 +export TEST_TAR_FORMAT +TAR_OPTIONS="-H v7" +export TAR_OPTIONS +rm -rf * + +mkdir dir1 dir2 +echo bla > dir1/file1 +tar cf test.tar dir1 dir2 +tar xfv test.tar --backup +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "dir1/ +dir1/file1 +Renaming \`dir1/file1' to \`dir1/file1~' +dir2/ +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/backup01.at:36" + +$at_failed && at_func_log_failure +$at_traceon; } + + { $at_traceoff +$as_echo "$at_srcdir/backup01.at:36: +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H oldgnu\" +export TAR_OPTIONS +rm -rf * + +mkdir dir1 dir2 +echo bla > dir1/file1 +tar cf test.tar dir1 dir2 +tar xfv test.tar --backup +)" +echo backup01.at:36 >"$at_check_line_file" + +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H oldgnu" +export TAR_OPTIONS +rm -rf * + +mkdir dir1 dir2 +echo bla > dir1/file1 +tar cf test.tar dir1 dir2 +tar xfv test.tar --backup +) ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H oldgnu" +export TAR_OPTIONS +rm -rf * + +mkdir dir1 dir2 +echo bla > dir1/file1 +tar cf test.tar dir1 dir2 +tar xfv test.tar --backup +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "dir1/ +dir1/file1 +Renaming \`dir1/file1' to \`dir1/file1~' +dir2/ +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/backup01.at:36" + +$at_failed && at_func_log_failure +$at_traceon; } + + { $at_traceoff +$as_echo "$at_srcdir/backup01.at:36: +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H ustar\" +export TAR_OPTIONS +rm -rf * + +mkdir dir1 dir2 +echo bla > dir1/file1 +tar cf test.tar dir1 dir2 +tar xfv test.tar --backup +)" +echo backup01.at:36 >"$at_check_line_file" + +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar +export TEST_TAR_FORMAT +TAR_OPTIONS="-H ustar" +export TAR_OPTIONS +rm -rf * + +mkdir dir1 dir2 +echo bla > dir1/file1 +tar cf test.tar dir1 dir2 +tar xfv test.tar --backup +) ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar +export TEST_TAR_FORMAT +TAR_OPTIONS="-H ustar" +export TAR_OPTIONS +rm -rf * + +mkdir dir1 dir2 +echo bla > dir1/file1 +tar cf test.tar dir1 dir2 +tar xfv test.tar --backup +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "dir1/ +dir1/file1 +Renaming \`dir1/file1' to \`dir1/file1~' +dir2/ +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/backup01.at:36" + +$at_failed && at_func_log_failure +$at_traceon; } + + { $at_traceoff +$as_echo "$at_srcdir/backup01.at:36: +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H posix\" +export TAR_OPTIONS +rm -rf * + +mkdir dir1 dir2 +echo bla > dir1/file1 +tar cf test.tar dir1 dir2 +tar xfv test.tar --backup +)" +echo backup01.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 * + +mkdir dir1 dir2 +echo bla > dir1/file1 +tar cf test.tar dir1 dir2 +tar xfv test.tar --backup +) ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS="-H posix" +export TAR_OPTIONS +rm -rf * + +mkdir dir1 dir2 +echo bla > dir1/file1 +tar cf test.tar dir1 dir2 +tar xfv test.tar --backup +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "dir1/ +dir1/file1 +Renaming \`dir1/file1' to \`dir1/file1~' +dir2/ +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/backup01.at:36" + +$at_failed && at_func_log_failure +$at_traceon; } + + { $at_traceoff +$as_echo "$at_srcdir/backup01.at:36: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H gnu\" +export TAR_OPTIONS +rm -rf * + +mkdir dir1 dir2 +echo bla > dir1/file1 +tar cf test.tar dir1 dir2 +tar xfv test.tar --backup +)" +echo backup01.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 * + +mkdir dir1 dir2 +echo bla > dir1/file1 +tar cf test.tar dir1 dir2 +tar xfv test.tar --backup +) ) >"$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 dir1 dir2 +echo bla > dir1/file1 +tar cf test.tar dir1 dir2 +tar xfv test.tar --backup +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "dir1/ +dir1/file1 +Renaming \`dir1/file1' to \`dir1/file1~' +dir2/ +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/backup01.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. gzip.at:23: gzip +at_setup_line='gzip.at:23' +at_desc="gzip" +$at_quiet $as_echo_n " 35: $at_desc " +at_xfail=no +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "35. gzip.at:23: testing ..." + $at_traceon + + + +unset TAR_OPTIONS + +{ $at_traceoff +$as_echo "$at_srcdir/gzip.at:28: + +cat /dev/null | gzip - > /dev/null 2>&1 || exit 77 + +tar xfvz /dev/null +" +echo gzip.at:28 >"$at_check_line_file" + +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; + +cat /dev/null | gzip - > /dev/null 2>&1 || exit 77 + +tar xfvz /dev/null + ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; + +cat /dev/null | gzip - > /dev/null 2>&1 || exit 77 + +tar xfvz /dev/null + ) >"$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 +tar: Error is not recoverable: exiting now +" | \ + $at_diff - "$at_stderr" || at_failed=: +at_func_diff_devnull "$at_stdout" || at_failed=: +at_func_check_status 2 $at_status "$at_srcdir/gzip.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_35 +#AT_START_36 +# 36. incremental.at:23: incremental +at_setup_line='incremental.at:23' +at_desc="incremental" +$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. incremental.at:23: testing ..." + $at_traceon + + + + + + { $at_traceoff +$as_echo "$at_srcdir/incremental.at:26: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H gnu\" +export TAR_OPTIONS +rm -rf * + +mkdir structure +echo x >structure/file + +# On Nextstep (and perhaps other 4.3BSD systems), +# a newly created file's ctime isn't updated +# until the next sync or stat operation on the file. +ls -l structure/file >/dev/null + +# If the time of an initial backup and the creation time of a file contained +# in that backup are the same, the file will be backed up again when an +# incremental backup is done, because the incremental backup backs up +# files created \`on or after' the initial backup time. Without the sleep +# command, behaviour of tar becomes variable, depending whether the system +# clock ticked over to the next second between creating the file and +# backing it up. +sleep 1 + +tar cf archive --listed=list structure +tar cfv archive --listed=list structure +echo separator +# ReiserFS often offsets the timestamps of newly created files +# 1 second to the past. Try to compensate for it, until a better +# solution is found. +sleep 2 +echo y >structure/file +tar cfv archive --listed=list structure +)" +echo incremental.at:26 >"$at_check_line_file" + +if { echo 'Not enabling shell tracing (command contains a `...` command substitution)' + 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 structure +echo x >structure/file + +# On Nextstep (and perhaps other 4.3BSD systems), +# a newly created file's ctime isn't updated +# until the next sync or stat operation on the file. +ls -l structure/file >/dev/null + +# If the time of an initial backup and the creation time of a file contained +# in that backup are the same, the file will be backed up again when an +# incremental backup is done, because the incremental backup backs up +# files created `on or after' the initial backup time. Without the sleep +# command, behaviour of tar becomes variable, depending whether the system +# clock ticked over to the next second between creating the file and +# backing it up. +sleep 1 + +tar cf archive --listed=list structure +tar cfv archive --listed=list structure +echo separator +# ReiserFS often offsets the timestamps of newly created files +# 1 second to the past. Try to compensate for it, until a better +# solution is found. +sleep 2 +echo y >structure/file +tar cfv archive --listed=list structure +) ) >"$at_stdout" 2>"$at_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 structure +echo x >structure/file + +# On Nextstep (and perhaps other 4.3BSD systems), +# a newly created file's ctime isn't updated +# until the next sync or stat operation on the file. +ls -l structure/file >/dev/null + +# If the time of an initial backup and the creation time of a file contained +# in that backup are the same, the file will be backed up again when an +# incremental backup is done, because the incremental backup backs up +# files created `on or after' the initial backup time. Without the sleep +# command, behaviour of tar becomes variable, depending whether the system +# clock ticked over to the next second between creating the file and +# backing it up. +sleep 1 + +tar cf archive --listed=list structure +tar cfv archive --listed=list structure +echo separator +# ReiserFS often offsets the timestamps of newly created files +# 1 second to the past. Try to compensate for it, until a better +# solution is found. +sleep 2 +echo y >structure/file +tar cfv archive --listed=list structure +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "structure/ +separator +structure/ +structure/file +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/incremental.at:26" + +$at_failed && at_func_log_failure +$at_traceon; } + + { $at_traceoff +$as_echo "$at_srcdir/incremental.at:26: +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H oldgnu\" +export TAR_OPTIONS +rm -rf * + +mkdir structure +echo x >structure/file + +# On Nextstep (and perhaps other 4.3BSD systems), +# a newly created file's ctime isn't updated +# until the next sync or stat operation on the file. +ls -l structure/file >/dev/null + +# If the time of an initial backup and the creation time of a file contained +# in that backup are the same, the file will be backed up again when an +# incremental backup is done, because the incremental backup backs up +# files created \`on or after' the initial backup time. Without the sleep +# command, behaviour of tar becomes variable, depending whether the system +# clock ticked over to the next second between creating the file and +# backing it up. +sleep 1 + +tar cf archive --listed=list structure +tar cfv archive --listed=list structure +echo separator +# ReiserFS often offsets the timestamps of newly created files +# 1 second to the past. Try to compensate for it, until a better +# solution is found. +sleep 2 +echo y >structure/file +tar cfv archive --listed=list structure +)" +echo incremental.at:26 >"$at_check_line_file" + +if { echo 'Not enabling shell tracing (command contains a `...` command substitution)' + false; }; then + ( $at_traceon; +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H oldgnu" +export TAR_OPTIONS +rm -rf * + +mkdir structure +echo x >structure/file + +# On Nextstep (and perhaps other 4.3BSD systems), +# a newly created file's ctime isn't updated +# until the next sync or stat operation on the file. +ls -l structure/file >/dev/null + +# If the time of an initial backup and the creation time of a file contained +# in that backup are the same, the file will be backed up again when an +# incremental backup is done, because the incremental backup backs up +# files created `on or after' the initial backup time. Without the sleep +# command, behaviour of tar becomes variable, depending whether the system +# clock ticked over to the next second between creating the file and +# backing it up. +sleep 1 + +tar cf archive --listed=list structure +tar cfv archive --listed=list structure +echo separator +# ReiserFS often offsets the timestamps of newly created files +# 1 second to the past. Try to compensate for it, until a better +# solution is found. +sleep 2 +echo y >structure/file +tar cfv archive --listed=list structure +) ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H oldgnu" +export TAR_OPTIONS +rm -rf * + +mkdir structure +echo x >structure/file + +# On Nextstep (and perhaps other 4.3BSD systems), +# a newly created file's ctime isn't updated +# until the next sync or stat operation on the file. +ls -l structure/file >/dev/null + +# If the time of an initial backup and the creation time of a file contained +# in that backup are the same, the file will be backed up again when an +# incremental backup is done, because the incremental backup backs up +# files created `on or after' the initial backup time. Without the sleep +# command, behaviour of tar becomes variable, depending whether the system +# clock ticked over to the next second between creating the file and +# backing it up. +sleep 1 + +tar cf archive --listed=list structure +tar cfv archive --listed=list structure +echo separator +# ReiserFS often offsets the timestamps of newly created files +# 1 second to the past. Try to compensate for it, until a better +# solution is found. +sleep 2 +echo y >structure/file +tar cfv archive --listed=list structure +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "structure/ +separator +structure/ +structure/file +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/incremental.at:26" + +$at_failed && at_func_log_failure +$at_traceon; } + + { $at_traceoff +$as_echo "$at_srcdir/incremental.at:26: +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H posix\" +export TAR_OPTIONS +rm -rf * + +mkdir structure +echo x >structure/file + +# On Nextstep (and perhaps other 4.3BSD systems), +# a newly created file's ctime isn't updated +# until the next sync or stat operation on the file. +ls -l structure/file >/dev/null + +# If the time of an initial backup and the creation time of a file contained +# in that backup are the same, the file will be backed up again when an +# incremental backup is done, because the incremental backup backs up +# files created \`on or after' the initial backup time. Without the sleep +# command, behaviour of tar becomes variable, depending whether the system +# clock ticked over to the next second between creating the file and +# backing it up. +sleep 1 + +tar cf archive --listed=list structure +tar cfv archive --listed=list structure +echo separator +# ReiserFS often offsets the timestamps of newly created files +# 1 second to the past. Try to compensate for it, until a better +# solution is found. +sleep 2 +echo y >structure/file +tar cfv archive --listed=list structure +)" +echo incremental.at:26 >"$at_check_line_file" + +if { echo 'Not enabling shell tracing (command contains a `...` command substitution)' + false; }; then + ( $at_traceon; +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS="-H posix" +export TAR_OPTIONS +rm -rf * + +mkdir structure +echo x >structure/file + +# On Nextstep (and perhaps other 4.3BSD systems), +# a newly created file's ctime isn't updated +# until the next sync or stat operation on the file. +ls -l structure/file >/dev/null + +# If the time of an initial backup and the creation time of a file contained +# in that backup are the same, the file will be backed up again when an +# incremental backup is done, because the incremental backup backs up +# files created `on or after' the initial backup time. Without the sleep +# command, behaviour of tar becomes variable, depending whether the system +# clock ticked over to the next second between creating the file and +# backing it up. +sleep 1 + +tar cf archive --listed=list structure +tar cfv archive --listed=list structure +echo separator +# ReiserFS often offsets the timestamps of newly created files +# 1 second to the past. Try to compensate for it, until a better +# solution is found. +sleep 2 +echo y >structure/file +tar cfv archive --listed=list structure +) ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS="-H posix" +export TAR_OPTIONS +rm -rf * + +mkdir structure +echo x >structure/file + +# On Nextstep (and perhaps other 4.3BSD systems), +# a newly created file's ctime isn't updated +# until the next sync or stat operation on the file. +ls -l structure/file >/dev/null + +# If the time of an initial backup and the creation time of a file contained +# in that backup are the same, the file will be backed up again when an +# incremental backup is done, because the incremental backup backs up +# files created `on or after' the initial backup time. Without the sleep +# command, behaviour of tar becomes variable, depending whether the system +# clock ticked over to the next second between creating the file and +# backing it up. +sleep 1 + +tar cf archive --listed=list structure +tar cfv archive --listed=list structure +echo separator +# ReiserFS often offsets the timestamps of newly created files +# 1 second to the past. Try to compensate for it, until a better +# solution is found. +sleep 2 +echo y >structure/file +tar cfv archive --listed=list structure +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "structure/ +separator +structure/ +structure/file +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/incremental.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_36 +#AT_START_37 +# 37. 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_xfail=no + test -f $XFAILFILE && at_xfail=yes +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "37. incr01.at:27: testing ..." + $at_traceon + + + + + + { $at_traceoff +$as_echo "$at_srcdir/incr01.at:30: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H gnu\" +export TAR_OPTIONS +rm -rf * + +mkdir directory +\$as_ln_s foo directory/bar + +tar -cf archive.0 -g db directory +rm directory/bar +tar -cf archive.1 -g db directory + +mv directory orig + +tar xvfg archive.0 /dev/null +echo separator +tar xvfg archive.1 /dev/null +)" +echo incr01.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 directory +$as_ln_s foo directory/bar + +tar -cf archive.0 -g db directory +rm directory/bar +tar -cf archive.1 -g db directory + +mv directory orig + +tar xvfg archive.0 /dev/null +echo separator +tar xvfg archive.1 /dev/null +) ) >"$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 directory +$as_ln_s foo directory/bar + +tar -cf archive.0 -g db directory +rm directory/bar +tar -cf archive.1 -g db directory + +mv directory orig + +tar xvfg archive.0 /dev/null +echo separator +tar xvfg archive.1 /dev/null +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "directory/ +directory/bar +separator +directory/ +tar: Deleting \`directory/bar' +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/incr01.at:30" + +$at_failed && at_func_log_failure +$at_traceon; } + + { $at_traceoff +$as_echo "$at_srcdir/incr01.at:30: +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H oldgnu\" +export TAR_OPTIONS +rm -rf * + +mkdir directory +\$as_ln_s foo directory/bar + +tar -cf archive.0 -g db directory +rm directory/bar +tar -cf archive.1 -g db directory + +mv directory orig + +tar xvfg archive.0 /dev/null +echo separator +tar xvfg archive.1 /dev/null +)" +echo incr01.at:30 >"$at_check_line_file" + +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H oldgnu" +export TAR_OPTIONS +rm -rf * + +mkdir directory +$as_ln_s foo directory/bar + +tar -cf archive.0 -g db directory +rm directory/bar +tar -cf archive.1 -g db directory + +mv directory orig + +tar xvfg archive.0 /dev/null +echo separator +tar xvfg archive.1 /dev/null +) ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H oldgnu" +export TAR_OPTIONS +rm -rf * + +mkdir directory +$as_ln_s foo directory/bar + +tar -cf archive.0 -g db directory +rm directory/bar +tar -cf archive.1 -g db directory + +mv directory orig + +tar xvfg archive.0 /dev/null +echo separator +tar xvfg archive.1 /dev/null +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "directory/ +directory/bar +separator +directory/ +tar: Deleting \`directory/bar' +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/incr01.at:30" + +$at_failed && at_func_log_failure +$at_traceon; } + + { $at_traceoff +$as_echo "$at_srcdir/incr01.at:30: +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H posix\" +export TAR_OPTIONS +rm -rf * + +mkdir directory +\$as_ln_s foo directory/bar + +tar -cf archive.0 -g db directory +rm directory/bar +tar -cf archive.1 -g db directory + +mv directory orig + +tar xvfg archive.0 /dev/null +echo separator +tar xvfg archive.1 /dev/null +)" +echo incr01.at:30 >"$at_check_line_file" + +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS="-H posix" +export TAR_OPTIONS +rm -rf * + +mkdir directory +$as_ln_s foo directory/bar + +tar -cf archive.0 -g db directory +rm directory/bar +tar -cf archive.1 -g db directory + +mv directory orig + +tar xvfg archive.0 /dev/null +echo separator +tar xvfg archive.1 /dev/null +) ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS="-H posix" +export TAR_OPTIONS +rm -rf * + +mkdir directory +$as_ln_s foo directory/bar + +tar -cf archive.0 -g db directory +rm directory/bar +tar -cf archive.1 -g db directory + +mv directory orig + +tar xvfg archive.0 /dev/null +echo separator +tar xvfg archive.1 /dev/null +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "directory/ +directory/bar +separator +directory/ +tar: Deleting \`directory/bar' +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/incr01.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_37 +#AT_START_38 +# 38. 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_xfail=no + test -f $XFAILFILE && at_xfail=yes +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "38. incr02.at:32: testing ..." + $at_traceon + + + + + + { $at_traceoff +$as_echo "$at_srcdir/incr02.at:35: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H gnu\" +export TAR_OPTIONS +rm -rf * + +# Create directory structure +mkdir dir +mkdir dir/subdir1 +mkdir dir/subdir2 +genfile --length 10 --file dir/subdir1/file + +# Save mtime for later comparison +genfile --stat=mtime dir/subdir1 > ts + +# Create an archive. Using incremental mode makes sure the +# archive will have a directory-first member ordering, +# i.e.: +# dir/ +# dir/subdir1/ +# dir/subdir2/ +# dir/subdir1/foofile +# +# When restoring from this directory structure, \`dir/subdir2/' used to +# trigger apply_nonancestor_delayed_set_stat() which restored stats for +# \`subdir1' prior to restoring \`dir/subdir1/foofile'. Then, restoring the +# latter clobbered the directory timestamp. + +tar -cf archive -g db dir + +# Move away the directory +mv dir orig + +# Wait enough time for timestamps to differ in case of failure. +sleep 5 + +# Restore the directory +tar -xf archive dir + +# Check the timestamp +genfile --stat=mtime dir/subdir1 | diff ts - +)" +echo incr02.at:35 >"$at_check_line_file" + +if { echo 'Not enabling shell tracing (command contains a `...` command substitution)' + 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 * + +# Create directory structure +mkdir dir +mkdir dir/subdir1 +mkdir dir/subdir2 +genfile --length 10 --file dir/subdir1/file + +# Save mtime for later comparison +genfile --stat=mtime dir/subdir1 > ts + +# Create an archive. Using incremental mode makes sure the +# archive will have a directory-first member ordering, +# i.e.: +# dir/ +# dir/subdir1/ +# dir/subdir2/ +# dir/subdir1/foofile +# +# When restoring from this directory structure, `dir/subdir2/' used to +# trigger apply_nonancestor_delayed_set_stat() which restored stats for +# `subdir1' prior to restoring `dir/subdir1/foofile'. Then, restoring the +# latter clobbered the directory timestamp. + +tar -cf archive -g db dir + +# Move away the directory +mv dir orig + +# Wait enough time for timestamps to differ in case of failure. +sleep 5 + +# Restore the directory +tar -xf archive dir + +# Check the timestamp +genfile --stat=mtime dir/subdir1 | diff ts - +) ) >"$at_stdout" 2>"$at_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 * + +# Create directory structure +mkdir dir +mkdir dir/subdir1 +mkdir dir/subdir2 +genfile --length 10 --file dir/subdir1/file + +# Save mtime for later comparison +genfile --stat=mtime dir/subdir1 > ts + +# Create an archive. Using incremental mode makes sure the +# archive will have a directory-first member ordering, +# i.e.: +# dir/ +# dir/subdir1/ +# dir/subdir2/ +# dir/subdir1/foofile +# +# When restoring from this directory structure, `dir/subdir2/' used to +# trigger apply_nonancestor_delayed_set_stat() which restored stats for +# `subdir1' prior to restoring `dir/subdir1/foofile'. Then, restoring the +# latter clobbered the directory timestamp. + +tar -cf archive -g db dir + +# Move away the directory +mv dir orig + +# Wait enough time for timestamps to differ in case of failure. +sleep 5 + +# Restore the directory +tar -xf archive dir + +# Check the timestamp +genfile --stat=mtime dir/subdir1 | diff ts - +) ) >"$at_stdout" 2>"$at_stderr" +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/incr02.at:35" + +$at_failed && at_func_log_failure +$at_traceon; } + + { $at_traceoff +$as_echo "$at_srcdir/incr02.at:35: +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H oldgnu\" +export TAR_OPTIONS +rm -rf * + +# Create directory structure +mkdir dir +mkdir dir/subdir1 +mkdir dir/subdir2 +genfile --length 10 --file dir/subdir1/file + +# Save mtime for later comparison +genfile --stat=mtime dir/subdir1 > ts + +# Create an archive. Using incremental mode makes sure the +# archive will have a directory-first member ordering, +# i.e.: +# dir/ +# dir/subdir1/ +# dir/subdir2/ +# dir/subdir1/foofile +# +# When restoring from this directory structure, \`dir/subdir2/' used to +# trigger apply_nonancestor_delayed_set_stat() which restored stats for +# \`subdir1' prior to restoring \`dir/subdir1/foofile'. Then, restoring the +# latter clobbered the directory timestamp. + +tar -cf archive -g db dir + +# Move away the directory +mv dir orig + +# Wait enough time for timestamps to differ in case of failure. +sleep 5 + +# Restore the directory +tar -xf archive dir + +# Check the timestamp +genfile --stat=mtime dir/subdir1 | diff ts - +)" +echo incr02.at:35 >"$at_check_line_file" + +if { echo 'Not enabling shell tracing (command contains a `...` command substitution)' + 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 * + +# Create directory structure +mkdir dir +mkdir dir/subdir1 +mkdir dir/subdir2 +genfile --length 10 --file dir/subdir1/file + +# Save mtime for later comparison +genfile --stat=mtime dir/subdir1 > ts + +# Create an archive. Using incremental mode makes sure the +# archive will have a directory-first member ordering, +# i.e.: +# dir/ +# dir/subdir1/ +# dir/subdir2/ +# dir/subdir1/foofile +# +# When restoring from this directory structure, `dir/subdir2/' used to +# trigger apply_nonancestor_delayed_set_stat() which restored stats for +# `subdir1' prior to restoring `dir/subdir1/foofile'. Then, restoring the +# latter clobbered the directory timestamp. + +tar -cf archive -g db dir + +# Move away the directory +mv dir orig + +# Wait enough time for timestamps to differ in case of failure. +sleep 5 + +# Restore the directory +tar -xf archive dir + +# Check the timestamp +genfile --stat=mtime dir/subdir1 | diff ts - +) ) >"$at_stdout" 2>"$at_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 * + +# Create directory structure +mkdir dir +mkdir dir/subdir1 +mkdir dir/subdir2 +genfile --length 10 --file dir/subdir1/file + +# Save mtime for later comparison +genfile --stat=mtime dir/subdir1 > ts + +# Create an archive. Using incremental mode makes sure the +# archive will have a directory-first member ordering, +# i.e.: +# dir/ +# dir/subdir1/ +# dir/subdir2/ +# dir/subdir1/foofile +# +# When restoring from this directory structure, `dir/subdir2/' used to +# trigger apply_nonancestor_delayed_set_stat() which restored stats for +# `subdir1' prior to restoring `dir/subdir1/foofile'. Then, restoring the +# latter clobbered the directory timestamp. + +tar -cf archive -g db dir + +# Move away the directory +mv dir orig + +# Wait enough time for timestamps to differ in case of failure. +sleep 5 + +# Restore the directory +tar -xf archive dir + +# Check the timestamp +genfile --stat=mtime dir/subdir1 | diff ts - +) ) >"$at_stdout" 2>"$at_stderr" +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/incr02.at:35" + +$at_failed && at_func_log_failure +$at_traceon; } + + { $at_traceoff +$as_echo "$at_srcdir/incr02.at:35: +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H posix\" +export TAR_OPTIONS +rm -rf * + +# Create directory structure +mkdir dir +mkdir dir/subdir1 +mkdir dir/subdir2 +genfile --length 10 --file dir/subdir1/file + +# Save mtime for later comparison +genfile --stat=mtime dir/subdir1 > ts + +# Create an archive. Using incremental mode makes sure the +# archive will have a directory-first member ordering, +# i.e.: +# dir/ +# dir/subdir1/ +# dir/subdir2/ +# dir/subdir1/foofile +# +# When restoring from this directory structure, \`dir/subdir2/' used to +# trigger apply_nonancestor_delayed_set_stat() which restored stats for +# \`subdir1' prior to restoring \`dir/subdir1/foofile'. Then, restoring the +# latter clobbered the directory timestamp. + +tar -cf archive -g db dir + +# Move away the directory +mv dir orig + +# Wait enough time for timestamps to differ in case of failure. +sleep 5 + +# Restore the directory +tar -xf archive dir + +# Check the timestamp +genfile --stat=mtime dir/subdir1 | diff ts - +)" +echo incr02.at:35 >"$at_check_line_file" + +if { echo 'Not enabling shell tracing (command contains a `...` command substitution)' + 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 * + +# Create directory structure +mkdir dir +mkdir dir/subdir1 +mkdir dir/subdir2 +genfile --length 10 --file dir/subdir1/file + +# Save mtime for later comparison +genfile --stat=mtime dir/subdir1 > ts + +# Create an archive. Using incremental mode makes sure the +# archive will have a directory-first member ordering, +# i.e.: +# dir/ +# dir/subdir1/ +# dir/subdir2/ +# dir/subdir1/foofile +# +# When restoring from this directory structure, `dir/subdir2/' used to +# trigger apply_nonancestor_delayed_set_stat() which restored stats for +# `subdir1' prior to restoring `dir/subdir1/foofile'. Then, restoring the +# latter clobbered the directory timestamp. + +tar -cf archive -g db dir + +# Move away the directory +mv dir orig + +# Wait enough time for timestamps to differ in case of failure. +sleep 5 + +# Restore the directory +tar -xf archive dir + +# Check the timestamp +genfile --stat=mtime dir/subdir1 | diff ts - +) ) >"$at_stdout" 2>"$at_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 * + +# Create directory structure +mkdir dir +mkdir dir/subdir1 +mkdir dir/subdir2 +genfile --length 10 --file dir/subdir1/file + +# Save mtime for later comparison +genfile --stat=mtime dir/subdir1 > ts + +# Create an archive. Using incremental mode makes sure the +# archive will have a directory-first member ordering, +# i.e.: +# dir/ +# dir/subdir1/ +# dir/subdir2/ +# dir/subdir1/foofile +# +# When restoring from this directory structure, `dir/subdir2/' used to +# trigger apply_nonancestor_delayed_set_stat() which restored stats for +# `subdir1' prior to restoring `dir/subdir1/foofile'. Then, restoring the +# latter clobbered the directory timestamp. + +tar -cf archive -g db dir + +# Move away the directory +mv dir orig + +# Wait enough time for timestamps to differ in case of failure. +sleep 5 + +# Restore the directory +tar -xf archive dir + +# Check the timestamp +genfile --stat=mtime dir/subdir1 | diff ts - +) ) >"$at_stdout" 2>"$at_stderr" +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/incr02.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_38 +#AT_START_39 +# 39. 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_xfail=no + test -f $XFAILFILE && at_xfail=yes +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "39. listed01.at:26: testing ..." + $at_traceon + + + + + + { $at_traceoff +$as_echo "$at_srcdir/listed01.at:29: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H gnu\" +export TAR_OPTIONS +rm -rf * + +mkdir directory +genfile --length 10240 --pattern zeros --file directory/file1 +# Let the things settle +sleep 1 + +tar --create \\ + --file=archive.1 \\ + --listed-incremental=listing \\ + directory/file* + +tar tf archive.1 || exit 1 + +sleep 2 + +genfile --length 10240 --pattern zeros --file directory/file2 + +echo \"separator\" +cp listing listing.old +tar --create \\ + --file=archive.2 \\ + --listed-incremental=listing \\ + directory/file* || exit 1 + +tar tf archive.2 || exit 1 +)" +echo listed01.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 * + +mkdir directory +genfile --length 10240 --pattern zeros --file directory/file1 +# Let the things settle +sleep 1 + +tar --create \ + --file=archive.1 \ + --listed-incremental=listing \ + directory/file* + +tar tf archive.1 || exit 1 + +sleep 2 + +genfile --length 10240 --pattern zeros --file directory/file2 + +echo "separator" +cp listing listing.old +tar --create \ + --file=archive.2 \ + --listed-incremental=listing \ + directory/file* || exit 1 + +tar tf archive.2 || 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 * + +mkdir directory +genfile --length 10240 --pattern zeros --file directory/file1 +# Let the things settle +sleep 1 + +tar --create \ + --file=archive.1 \ + --listed-incremental=listing \ + directory/file* + +tar tf archive.1 || exit 1 + +sleep 2 + +genfile --length 10240 --pattern zeros --file directory/file2 + +echo "separator" +cp listing listing.old +tar --create \ + --file=archive.2 \ + --listed-incremental=listing \ + directory/file* || exit 1 + +tar tf archive.2 || exit 1 +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "directory/file1 +separator +directory/file2 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/listed01.at:29" + +$at_failed && at_func_log_failure +$at_traceon; } + + { $at_traceoff +$as_echo "$at_srcdir/listed01.at:29: +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H oldgnu\" +export TAR_OPTIONS +rm -rf * + +mkdir directory +genfile --length 10240 --pattern zeros --file directory/file1 +# Let the things settle +sleep 1 + +tar --create \\ + --file=archive.1 \\ + --listed-incremental=listing \\ + directory/file* + +tar tf archive.1 || exit 1 + +sleep 2 + +genfile --length 10240 --pattern zeros --file directory/file2 + +echo \"separator\" +cp listing listing.old +tar --create \\ + --file=archive.2 \\ + --listed-incremental=listing \\ + directory/file* || exit 1 + +tar tf archive.2 || exit 1 +)" +echo listed01.at:29 >"$at_check_line_file" + +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H oldgnu" +export TAR_OPTIONS +rm -rf * + +mkdir directory +genfile --length 10240 --pattern zeros --file directory/file1 +# Let the things settle +sleep 1 + +tar --create \ + --file=archive.1 \ + --listed-incremental=listing \ + directory/file* + +tar tf archive.1 || exit 1 + +sleep 2 + +genfile --length 10240 --pattern zeros --file directory/file2 + +echo "separator" +cp listing listing.old +tar --create \ + --file=archive.2 \ + --listed-incremental=listing \ + directory/file* || exit 1 + +tar tf archive.2 || exit 1 +) ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H oldgnu" +export TAR_OPTIONS +rm -rf * + +mkdir directory +genfile --length 10240 --pattern zeros --file directory/file1 +# Let the things settle +sleep 1 + +tar --create \ + --file=archive.1 \ + --listed-incremental=listing \ + directory/file* + +tar tf archive.1 || exit 1 + +sleep 2 + +genfile --length 10240 --pattern zeros --file directory/file2 + +echo "separator" +cp listing listing.old +tar --create \ + --file=archive.2 \ + --listed-incremental=listing \ + directory/file* || exit 1 + +tar tf archive.2 || exit 1 +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "directory/file1 +separator +directory/file2 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/listed01.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_39 +#AT_START_40 +# 40. listed02.at:28: working --listed +at_setup_line='listed02.at:28' +at_desc="working --listed" +$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. listed02.at:28: testing ..." + $at_traceon + + + + + + { $at_traceoff +$as_echo "$at_srcdir/listed02.at:31: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H gnu\" +export TAR_OPTIONS +rm -rf * + + +test -z "`sort < /dev/null 2>&1`" || exit 77 + +echo Create directories + +mkdir tart +sleep 1 +mkdir tart/c0 +sleep 1 +mkdir tart/c1 +sleep 1 + +for file in tart/a1 tart/b1 tart/c0/cq1 tart/c0/cq2 tart/c1/ca1 tart/c1/ca2 +do + echo File \$file > \$file + sleep 1 +done + +sleep 1 +echo Creating main archive +echo >&2 \"Creating main archive\" +tar -c -v --listed-incremental=tart.incr1 -f archive.1 tart 2> err || exit 1 + +# The above prints two lines to stderr announcing the new directories c0 and c1. +# Ensure that they appear in this script's stderr in sorted order. +sort err 1>&2; rm -f err + +sleep 1 +echo Modifying filesystem +rm tart/a1 + +mv tart/b1 tart/b2 +mv tart/c1 tart/c2 +touch tart/c2/ca3 + +echo Directory contents +find tart -print | sort 2>/dev/null + +sleep 1 +echo Creating incremental archive +echo >&2 \"Creating incremental archive\" +cp -p tart.incr1 tart.incr2 +tar -c -v --listed-incremental=tart.incr2 -f archive.2 tart || exit 1 + +sleep 1 + +rm -rf tart/* +echo Extracting main archive +echo >&2 \"Extracting main archive\" +tar -x -v --listed-incremental=tart.incr1 -f archive.1 || exit 1 +echo Extracting incremental archive +# This command should produce three messages about deletion +# of the existing files, that may appear in any order. Piping +# to sort makes sure we don't depend on any particular ordering. +tar -x -v --listed-incremental=tart.incr2 -f archive.2 | sort 2>/dev/null + +echo Final files: +find tart -print | sort 2>/dev/null +)" +echo listed02.at:31 >"$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 * + + +test -z "`sort < /dev/null 2>&1`" || exit 77 + +echo Create directories + +mkdir tart +sleep 1 +mkdir tart/c0 +sleep 1 +mkdir tart/c1 +sleep 1 + +for file in tart/a1 tart/b1 tart/c0/cq1 tart/c0/cq2 tart/c1/ca1 tart/c1/ca2 +do + echo File $file > $file + sleep 1 +done + +sleep 1 +echo Creating main archive +echo >&2 "Creating main archive" +tar -c -v --listed-incremental=tart.incr1 -f archive.1 tart 2> err || exit 1 + +# The above prints two lines to stderr announcing the new directories c0 and c1. +# Ensure that they appear in this script's stderr in sorted order. +sort err 1>&2; rm -f err + +sleep 1 +echo Modifying filesystem +rm tart/a1 + +mv tart/b1 tart/b2 +mv tart/c1 tart/c2 +touch tart/c2/ca3 + +echo Directory contents +find tart -print | sort 2>/dev/null + +sleep 1 +echo Creating incremental archive +echo >&2 "Creating incremental archive" +cp -p tart.incr1 tart.incr2 +tar -c -v --listed-incremental=tart.incr2 -f archive.2 tart || exit 1 + +sleep 1 + +rm -rf tart/* +echo Extracting main archive +echo >&2 "Extracting main archive" +tar -x -v --listed-incremental=tart.incr1 -f archive.1 || exit 1 +echo Extracting incremental archive +# This command should produce three messages about deletion +# of the existing files, that may appear in any order. Piping +# to sort makes sure we don't depend on any particular ordering. +tar -x -v --listed-incremental=tart.incr2 -f archive.2 | sort 2>/dev/null + +echo Final files: +find tart -print | sort 2>/dev/null +) ) >"$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 * + + +test -z "`sort < /dev/null 2>&1`" || exit 77 + +echo Create directories + +mkdir tart +sleep 1 +mkdir tart/c0 +sleep 1 +mkdir tart/c1 +sleep 1 + +for file in tart/a1 tart/b1 tart/c0/cq1 tart/c0/cq2 tart/c1/ca1 tart/c1/ca2 +do + echo File $file > $file + sleep 1 +done + +sleep 1 +echo Creating main archive +echo >&2 "Creating main archive" +tar -c -v --listed-incremental=tart.incr1 -f archive.1 tart 2> err || exit 1 + +# The above prints two lines to stderr announcing the new directories c0 and c1. +# Ensure that they appear in this script's stderr in sorted order. +sort err 1>&2; rm -f err + +sleep 1 +echo Modifying filesystem +rm tart/a1 + +mv tart/b1 tart/b2 +mv tart/c1 tart/c2 +touch tart/c2/ca3 + +echo Directory contents +find tart -print | sort 2>/dev/null + +sleep 1 +echo Creating incremental archive +echo >&2 "Creating incremental archive" +cp -p tart.incr1 tart.incr2 +tar -c -v --listed-incremental=tart.incr2 -f archive.2 tart || exit 1 + +sleep 1 + +rm -rf tart/* +echo Extracting main archive +echo >&2 "Extracting main archive" +tar -x -v --listed-incremental=tart.incr1 -f archive.1 || exit 1 +echo Extracting incremental archive +# This command should produce three messages about deletion +# of the existing files, that may appear in any order. Piping +# to sort makes sure we don't depend on any particular ordering. +tar -x -v --listed-incremental=tart.incr2 -f archive.2 | sort 2>/dev/null + +echo Final files: +find tart -print | sort 2>/dev/null +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +echo >>"$at_stderr"; $as_echo "Creating main archive +tar: tart/c0: Directory is new +tar: tart/c1: Directory is new +tar: tart: Directory is new +Creating incremental archive +tar: tart/c2: Directory has been renamed from \`tart/c1' +Extracting main archive +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Create directories +Creating main archive +tart/ +tart/c0/ +tart/c1/ +tart/a1 +tart/b1 +tart/c0/cq1 +tart/c0/cq2 +tart/c1/ca1 +tart/c1/ca2 +Modifying filesystem +Directory contents +tart +tart/b2 +tart/c0 +tart/c0/cq1 +tart/c0/cq2 +tart/c2 +tart/c2/ca1 +tart/c2/ca2 +tart/c2/ca3 +Creating incremental archive +tart/ +tart/c0/ +tart/c2/ +tart/b2 +tart/c2/ca3 +Extracting main archive +tart/ +tart/c0/ +tart/c1/ +tart/a1 +tart/b1 +tart/c0/cq1 +tart/c0/cq2 +tart/c1/ca1 +tart/c1/ca2 +Extracting incremental archive +tar: Deleting \`tart/a1' +tar: Deleting \`tart/b1' +tart/ +tart/b2 +tart/c0/ +tart/c2/ +tart/c2/ca3 +Final files: +tart +tart/b2 +tart/c0 +tart/c0/cq1 +tart/c0/cq2 +tart/c2 +tart/c2/ca1 +tart/c2/ca2 +tart/c2/ca3 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/listed02.at:31" + +$at_failed && at_func_log_failure +$at_traceon; } + + { $at_traceoff +$as_echo "$at_srcdir/listed02.at:31: +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H oldgnu\" +export TAR_OPTIONS +rm -rf * + + +test -z "`sort < /dev/null 2>&1`" || exit 77 + +echo Create directories + +mkdir tart +sleep 1 +mkdir tart/c0 +sleep 1 +mkdir tart/c1 +sleep 1 + +for file in tart/a1 tart/b1 tart/c0/cq1 tart/c0/cq2 tart/c1/ca1 tart/c1/ca2 +do + echo File \$file > \$file + sleep 1 +done + +sleep 1 +echo Creating main archive +echo >&2 \"Creating main archive\" +tar -c -v --listed-incremental=tart.incr1 -f archive.1 tart 2> err || exit 1 + +# The above prints two lines to stderr announcing the new directories c0 and c1. +# Ensure that they appear in this script's stderr in sorted order. +sort err 1>&2; rm -f err + +sleep 1 +echo Modifying filesystem +rm tart/a1 + +mv tart/b1 tart/b2 +mv tart/c1 tart/c2 +touch tart/c2/ca3 + +echo Directory contents +find tart -print | sort 2>/dev/null + +sleep 1 +echo Creating incremental archive +echo >&2 \"Creating incremental archive\" +cp -p tart.incr1 tart.incr2 +tar -c -v --listed-incremental=tart.incr2 -f archive.2 tart || exit 1 + +sleep 1 + +rm -rf tart/* +echo Extracting main archive +echo >&2 \"Extracting main archive\" +tar -x -v --listed-incremental=tart.incr1 -f archive.1 || exit 1 +echo Extracting incremental archive +# This command should produce three messages about deletion +# of the existing files, that may appear in any order. Piping +# to sort makes sure we don't depend on any particular ordering. +tar -x -v --listed-incremental=tart.incr2 -f archive.2 | sort 2>/dev/null + +echo Final files: +find tart -print | sort 2>/dev/null +)" +echo listed02.at:31 >"$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 * + + +test -z "`sort < /dev/null 2>&1`" || exit 77 + +echo Create directories + +mkdir tart +sleep 1 +mkdir tart/c0 +sleep 1 +mkdir tart/c1 +sleep 1 + +for file in tart/a1 tart/b1 tart/c0/cq1 tart/c0/cq2 tart/c1/ca1 tart/c1/ca2 +do + echo File $file > $file + sleep 1 +done + +sleep 1 +echo Creating main archive +echo >&2 "Creating main archive" +tar -c -v --listed-incremental=tart.incr1 -f archive.1 tart 2> err || exit 1 + +# The above prints two lines to stderr announcing the new directories c0 and c1. +# Ensure that they appear in this script's stderr in sorted order. +sort err 1>&2; rm -f err + +sleep 1 +echo Modifying filesystem +rm tart/a1 + +mv tart/b1 tart/b2 +mv tart/c1 tart/c2 +touch tart/c2/ca3 + +echo Directory contents +find tart -print | sort 2>/dev/null + +sleep 1 +echo Creating incremental archive +echo >&2 "Creating incremental archive" +cp -p tart.incr1 tart.incr2 +tar -c -v --listed-incremental=tart.incr2 -f archive.2 tart || exit 1 + +sleep 1 + +rm -rf tart/* +echo Extracting main archive +echo >&2 "Extracting main archive" +tar -x -v --listed-incremental=tart.incr1 -f archive.1 || exit 1 +echo Extracting incremental archive +# This command should produce three messages about deletion +# of the existing files, that may appear in any order. Piping +# to sort makes sure we don't depend on any particular ordering. +tar -x -v --listed-incremental=tart.incr2 -f archive.2 | sort 2>/dev/null + +echo Final files: +find tart -print | sort 2>/dev/null +) ) >"$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 * + + +test -z "`sort < /dev/null 2>&1`" || exit 77 + +echo Create directories + +mkdir tart +sleep 1 +mkdir tart/c0 +sleep 1 +mkdir tart/c1 +sleep 1 + +for file in tart/a1 tart/b1 tart/c0/cq1 tart/c0/cq2 tart/c1/ca1 tart/c1/ca2 +do + echo File $file > $file + sleep 1 +done + +sleep 1 +echo Creating main archive +echo >&2 "Creating main archive" +tar -c -v --listed-incremental=tart.incr1 -f archive.1 tart 2> err || exit 1 + +# The above prints two lines to stderr announcing the new directories c0 and c1. +# Ensure that they appear in this script's stderr in sorted order. +sort err 1>&2; rm -f err + +sleep 1 +echo Modifying filesystem +rm tart/a1 + +mv tart/b1 tart/b2 +mv tart/c1 tart/c2 +touch tart/c2/ca3 + +echo Directory contents +find tart -print | sort 2>/dev/null + +sleep 1 +echo Creating incremental archive +echo >&2 "Creating incremental archive" +cp -p tart.incr1 tart.incr2 +tar -c -v --listed-incremental=tart.incr2 -f archive.2 tart || exit 1 + +sleep 1 + +rm -rf tart/* +echo Extracting main archive +echo >&2 "Extracting main archive" +tar -x -v --listed-incremental=tart.incr1 -f archive.1 || exit 1 +echo Extracting incremental archive +# This command should produce three messages about deletion +# of the existing files, that may appear in any order. Piping +# to sort makes sure we don't depend on any particular ordering. +tar -x -v --listed-incremental=tart.incr2 -f archive.2 | sort 2>/dev/null + +echo Final files: +find tart -print | sort 2>/dev/null +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +echo >>"$at_stderr"; $as_echo "Creating main archive +tar: tart/c0: Directory is new +tar: tart/c1: Directory is new +tar: tart: Directory is new +Creating incremental archive +tar: tart/c2: Directory has been renamed from \`tart/c1' +Extracting main archive +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Create directories +Creating main archive +tart/ +tart/c0/ +tart/c1/ +tart/a1 +tart/b1 +tart/c0/cq1 +tart/c0/cq2 +tart/c1/ca1 +tart/c1/ca2 +Modifying filesystem +Directory contents +tart +tart/b2 +tart/c0 +tart/c0/cq1 +tart/c0/cq2 +tart/c2 +tart/c2/ca1 +tart/c2/ca2 +tart/c2/ca3 +Creating incremental archive +tart/ +tart/c0/ +tart/c2/ +tart/b2 +tart/c2/ca3 +Extracting main archive +tart/ +tart/c0/ +tart/c1/ +tart/a1 +tart/b1 +tart/c0/cq1 +tart/c0/cq2 +tart/c1/ca1 +tart/c1/ca2 +Extracting incremental archive +tar: Deleting \`tart/a1' +tar: Deleting \`tart/b1' +tart/ +tart/b2 +tart/c0/ +tart/c2/ +tart/c2/ca3 +Final files: +tart +tart/b2 +tart/c0 +tart/c0/cq1 +tart/c0/cq2 +tart/c2 +tart/c2/ca1 +tart/c2/ca2 +tart/c2/ca3 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/listed02.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_40 +#AT_START_41 +# 41. 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_xfail=no + test -f $XFAILFILE && at_xfail=yes +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "41. incr03.at:28: testing ..." + $at_traceon + + + + + + { $at_traceoff +$as_echo "$at_srcdir/incr03.at:31: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H gnu\" +export TAR_OPTIONS +rm -rf * + + +test -z "`sort < /dev/null 2>&1`" || exit 77 + +mkdir directory +genfile --file=directory/x +genfile --file=directory/y + +sleep 1 + +tar -cf archive.1 -g db directory + +mv directory/x directory/z +cp db db.old +tar -cf archive.2 -g db directory + +mv directory orig + +echo Listing of archive.1 +tar -tf archive.1 | sort +echo Listing of archive.2 +tar -tf archive.2 | sort + +echo Directory after first restore +tar -xf archive.1 -g db +find directory | sort + +echo Directory after second restore +tar -xf archive.2 -g db +find directory | sort +)" +echo incr03.at:31 >"$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 * + + +test -z "`sort < /dev/null 2>&1`" || exit 77 + +mkdir directory +genfile --file=directory/x +genfile --file=directory/y + +sleep 1 + +tar -cf archive.1 -g db directory + +mv directory/x directory/z +cp db db.old +tar -cf archive.2 -g db directory + +mv directory orig + +echo Listing of archive.1 +tar -tf archive.1 | sort +echo Listing of archive.2 +tar -tf archive.2 | sort + +echo Directory after first restore +tar -xf archive.1 -g db +find directory | sort + +echo Directory after second restore +tar -xf archive.2 -g db +find directory | sort +) ) >"$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 * + + +test -z "`sort < /dev/null 2>&1`" || exit 77 + +mkdir directory +genfile --file=directory/x +genfile --file=directory/y + +sleep 1 + +tar -cf archive.1 -g db directory + +mv directory/x directory/z +cp db db.old +tar -cf archive.2 -g db directory + +mv directory orig + +echo Listing of archive.1 +tar -tf archive.1 | sort +echo Listing of archive.2 +tar -tf archive.2 | sort + +echo Directory after first restore +tar -xf archive.1 -g db +find directory | sort + +echo Directory after second restore +tar -xf archive.2 -g db +find directory | sort +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Listing of archive.1 +directory/ +directory/x +directory/y +Listing of archive.2 +directory/ +directory/z +Directory after first restore +directory +directory/x +directory/y +Directory after second restore +directory +directory/y +directory/z +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/incr03.at:31" + +$at_failed && at_func_log_failure +$at_traceon; } + + { $at_traceoff +$as_echo "$at_srcdir/incr03.at:31: +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H oldgnu\" +export TAR_OPTIONS +rm -rf * + + +test -z "`sort < /dev/null 2>&1`" || exit 77 + +mkdir directory +genfile --file=directory/x +genfile --file=directory/y + +sleep 1 + +tar -cf archive.1 -g db directory + +mv directory/x directory/z +cp db db.old +tar -cf archive.2 -g db directory + +mv directory orig + +echo Listing of archive.1 +tar -tf archive.1 | sort +echo Listing of archive.2 +tar -tf archive.2 | sort + +echo Directory after first restore +tar -xf archive.1 -g db +find directory | sort + +echo Directory after second restore +tar -xf archive.2 -g db +find directory | sort +)" +echo incr03.at:31 >"$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 * + + +test -z "`sort < /dev/null 2>&1`" || exit 77 + +mkdir directory +genfile --file=directory/x +genfile --file=directory/y + +sleep 1 + +tar -cf archive.1 -g db directory + +mv directory/x directory/z +cp db db.old +tar -cf archive.2 -g db directory + +mv directory orig + +echo Listing of archive.1 +tar -tf archive.1 | sort +echo Listing of archive.2 +tar -tf archive.2 | sort + +echo Directory after first restore +tar -xf archive.1 -g db +find directory | sort + +echo Directory after second restore +tar -xf archive.2 -g db +find directory | sort +) ) >"$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 * + + +test -z "`sort < /dev/null 2>&1`" || exit 77 + +mkdir directory +genfile --file=directory/x +genfile --file=directory/y + +sleep 1 + +tar -cf archive.1 -g db directory + +mv directory/x directory/z +cp db db.old +tar -cf archive.2 -g db directory + +mv directory orig + +echo Listing of archive.1 +tar -tf archive.1 | sort +echo Listing of archive.2 +tar -tf archive.2 | sort + +echo Directory after first restore +tar -xf archive.1 -g db +find directory | sort + +echo Directory after second restore +tar -xf archive.2 -g db +find directory | sort +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Listing of archive.1 +directory/ +directory/x +directory/y +Listing of archive.2 +directory/ +directory/z +Directory after first restore +directory +directory/x +directory/y +Directory after second restore +directory +directory/y +directory/z +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/incr03.at:31" + +$at_failed && at_func_log_failure +$at_traceon; } + + { $at_traceoff +$as_echo "$at_srcdir/incr03.at:31: +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H posix\" +export TAR_OPTIONS +rm -rf * + + +test -z "`sort < /dev/null 2>&1`" || exit 77 + +mkdir directory +genfile --file=directory/x +genfile --file=directory/y + +sleep 1 + +tar -cf archive.1 -g db directory + +mv directory/x directory/z +cp db db.old +tar -cf archive.2 -g db directory + +mv directory orig + +echo Listing of archive.1 +tar -tf archive.1 | sort +echo Listing of archive.2 +tar -tf archive.2 | sort + +echo Directory after first restore +tar -xf archive.1 -g db +find directory | sort + +echo Directory after second restore +tar -xf archive.2 -g db +find directory | sort +)" +echo incr03.at:31 >"$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 * + + +test -z "`sort < /dev/null 2>&1`" || exit 77 + +mkdir directory +genfile --file=directory/x +genfile --file=directory/y + +sleep 1 + +tar -cf archive.1 -g db directory + +mv directory/x directory/z +cp db db.old +tar -cf archive.2 -g db directory + +mv directory orig + +echo Listing of archive.1 +tar -tf archive.1 | sort +echo Listing of archive.2 +tar -tf archive.2 | sort + +echo Directory after first restore +tar -xf archive.1 -g db +find directory | sort + +echo Directory after second restore +tar -xf archive.2 -g db +find directory | sort +) ) >"$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 * + + +test -z "`sort < /dev/null 2>&1`" || exit 77 + +mkdir directory +genfile --file=directory/x +genfile --file=directory/y + +sleep 1 + +tar -cf archive.1 -g db directory + +mv directory/x directory/z +cp db db.old +tar -cf archive.2 -g db directory + +mv directory orig + +echo Listing of archive.1 +tar -tf archive.1 | sort +echo Listing of archive.2 +tar -tf archive.2 | sort + +echo Directory after first restore +tar -xf archive.1 -g db +find directory | sort + +echo Directory after second restore +tar -xf archive.2 -g db +find directory | sort +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Listing of archive.1 +directory/ +directory/x +directory/y +Listing of archive.2 +directory/ +directory/z +Directory after first restore +directory +directory/x +directory/y +Directory after second restore +directory +directory/y +directory/z +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/incr03.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_41 +#AT_START_42 +# 42. 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_xfail=no + test -f $XFAILFILE && at_xfail=yes +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "42. incr04.at:29: testing ..." + $at_traceon + + + + + + + + { $at_traceoff +$as_echo "$at_srcdir/incr04.at:34: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H gnu\" +export TAR_OPTIONS +rm -rf * + + +install-sh -d a/b >/dev/null || exit 77 +awk 'BEGIN { + for (i=1;i<=142;i++) + printf(\"a/b/one_31_chars_long_file_name_%03d\\n\", i); + }' < /dev/null | genfile --files-from - + +sleep 1 + +echo \"Initial dump\" +tar cvf a0.tar -g a.sna a +mv a/b a/c +echo \"Incremental dump\" +tar cvf a1.tar -g a.sna a +)" +echo incr04.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 * + + +install-sh -d a/b >/dev/null || exit 77 +awk 'BEGIN { + for (i=1;i<=142;i++) + printf("a/b/one_31_chars_long_file_name_%03d\n", i); + }' < /dev/null | genfile --files-from - + +sleep 1 + +echo "Initial dump" +tar cvf a0.tar -g a.sna a +mv a/b a/c +echo "Incremental dump" +tar cvf a1.tar -g a.sna a +) ) >"$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 * + + +install-sh -d a/b >/dev/null || exit 77 +awk 'BEGIN { + for (i=1;i<=142;i++) + printf("a/b/one_31_chars_long_file_name_%03d\n", i); + }' < /dev/null | genfile --files-from - + +sleep 1 + +echo "Initial dump" +tar cvf a0.tar -g a.sna a +mv a/b a/c +echo "Incremental dump" +tar cvf a1.tar -g a.sna a +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +echo >>"$at_stderr"; $as_echo "tar: a: Directory is new +tar: a/b: Directory is new +tar: a/c: Directory has been renamed from \`a/b' +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Initial dump +a/ +a/b/ +a/b/one_31_chars_long_file_name_001 +a/b/one_31_chars_long_file_name_002 +a/b/one_31_chars_long_file_name_003 +a/b/one_31_chars_long_file_name_004 +a/b/one_31_chars_long_file_name_005 +a/b/one_31_chars_long_file_name_006 +a/b/one_31_chars_long_file_name_007 +a/b/one_31_chars_long_file_name_008 +a/b/one_31_chars_long_file_name_009 +a/b/one_31_chars_long_file_name_010 +a/b/one_31_chars_long_file_name_011 +a/b/one_31_chars_long_file_name_012 +a/b/one_31_chars_long_file_name_013 +a/b/one_31_chars_long_file_name_014 +a/b/one_31_chars_long_file_name_015 +a/b/one_31_chars_long_file_name_016 +a/b/one_31_chars_long_file_name_017 +a/b/one_31_chars_long_file_name_018 +a/b/one_31_chars_long_file_name_019 +a/b/one_31_chars_long_file_name_020 +a/b/one_31_chars_long_file_name_021 +a/b/one_31_chars_long_file_name_022 +a/b/one_31_chars_long_file_name_023 +a/b/one_31_chars_long_file_name_024 +a/b/one_31_chars_long_file_name_025 +a/b/one_31_chars_long_file_name_026 +a/b/one_31_chars_long_file_name_027 +a/b/one_31_chars_long_file_name_028 +a/b/one_31_chars_long_file_name_029 +a/b/one_31_chars_long_file_name_030 +a/b/one_31_chars_long_file_name_031 +a/b/one_31_chars_long_file_name_032 +a/b/one_31_chars_long_file_name_033 +a/b/one_31_chars_long_file_name_034 +a/b/one_31_chars_long_file_name_035 +a/b/one_31_chars_long_file_name_036 +a/b/one_31_chars_long_file_name_037 +a/b/one_31_chars_long_file_name_038 +a/b/one_31_chars_long_file_name_039 +a/b/one_31_chars_long_file_name_040 +a/b/one_31_chars_long_file_name_041 +a/b/one_31_chars_long_file_name_042 +a/b/one_31_chars_long_file_name_043 +a/b/one_31_chars_long_file_name_044 +a/b/one_31_chars_long_file_name_045 +a/b/one_31_chars_long_file_name_046 +a/b/one_31_chars_long_file_name_047 +a/b/one_31_chars_long_file_name_048 +a/b/one_31_chars_long_file_name_049 +a/b/one_31_chars_long_file_name_050 +a/b/one_31_chars_long_file_name_051 +a/b/one_31_chars_long_file_name_052 +a/b/one_31_chars_long_file_name_053 +a/b/one_31_chars_long_file_name_054 +a/b/one_31_chars_long_file_name_055 +a/b/one_31_chars_long_file_name_056 +a/b/one_31_chars_long_file_name_057 +a/b/one_31_chars_long_file_name_058 +a/b/one_31_chars_long_file_name_059 +a/b/one_31_chars_long_file_name_060 +a/b/one_31_chars_long_file_name_061 +a/b/one_31_chars_long_file_name_062 +a/b/one_31_chars_long_file_name_063 +a/b/one_31_chars_long_file_name_064 +a/b/one_31_chars_long_file_name_065 +a/b/one_31_chars_long_file_name_066 +a/b/one_31_chars_long_file_name_067 +a/b/one_31_chars_long_file_name_068 +a/b/one_31_chars_long_file_name_069 +a/b/one_31_chars_long_file_name_070 +a/b/one_31_chars_long_file_name_071 +a/b/one_31_chars_long_file_name_072 +a/b/one_31_chars_long_file_name_073 +a/b/one_31_chars_long_file_name_074 +a/b/one_31_chars_long_file_name_075 +a/b/one_31_chars_long_file_name_076 +a/b/one_31_chars_long_file_name_077 +a/b/one_31_chars_long_file_name_078 +a/b/one_31_chars_long_file_name_079 +a/b/one_31_chars_long_file_name_080 +a/b/one_31_chars_long_file_name_081 +a/b/one_31_chars_long_file_name_082 +a/b/one_31_chars_long_file_name_083 +a/b/one_31_chars_long_file_name_084 +a/b/one_31_chars_long_file_name_085 +a/b/one_31_chars_long_file_name_086 +a/b/one_31_chars_long_file_name_087 +a/b/one_31_chars_long_file_name_088 +a/b/one_31_chars_long_file_name_089 +a/b/one_31_chars_long_file_name_090 +a/b/one_31_chars_long_file_name_091 +a/b/one_31_chars_long_file_name_092 +a/b/one_31_chars_long_file_name_093 +a/b/one_31_chars_long_file_name_094 +a/b/one_31_chars_long_file_name_095 +a/b/one_31_chars_long_file_name_096 +a/b/one_31_chars_long_file_name_097 +a/b/one_31_chars_long_file_name_098 +a/b/one_31_chars_long_file_name_099 +a/b/one_31_chars_long_file_name_100 +a/b/one_31_chars_long_file_name_101 +a/b/one_31_chars_long_file_name_102 +a/b/one_31_chars_long_file_name_103 +a/b/one_31_chars_long_file_name_104 +a/b/one_31_chars_long_file_name_105 +a/b/one_31_chars_long_file_name_106 +a/b/one_31_chars_long_file_name_107 +a/b/one_31_chars_long_file_name_108 +a/b/one_31_chars_long_file_name_109 +a/b/one_31_chars_long_file_name_110 +a/b/one_31_chars_long_file_name_111 +a/b/one_31_chars_long_file_name_112 +a/b/one_31_chars_long_file_name_113 +a/b/one_31_chars_long_file_name_114 +a/b/one_31_chars_long_file_name_115 +a/b/one_31_chars_long_file_name_116 +a/b/one_31_chars_long_file_name_117 +a/b/one_31_chars_long_file_name_118 +a/b/one_31_chars_long_file_name_119 +a/b/one_31_chars_long_file_name_120 +a/b/one_31_chars_long_file_name_121 +a/b/one_31_chars_long_file_name_122 +a/b/one_31_chars_long_file_name_123 +a/b/one_31_chars_long_file_name_124 +a/b/one_31_chars_long_file_name_125 +a/b/one_31_chars_long_file_name_126 +a/b/one_31_chars_long_file_name_127 +a/b/one_31_chars_long_file_name_128 +a/b/one_31_chars_long_file_name_129 +a/b/one_31_chars_long_file_name_130 +a/b/one_31_chars_long_file_name_131 +a/b/one_31_chars_long_file_name_132 +a/b/one_31_chars_long_file_name_133 +a/b/one_31_chars_long_file_name_134 +a/b/one_31_chars_long_file_name_135 +a/b/one_31_chars_long_file_name_136 +a/b/one_31_chars_long_file_name_137 +a/b/one_31_chars_long_file_name_138 +a/b/one_31_chars_long_file_name_139 +a/b/one_31_chars_long_file_name_140 +a/b/one_31_chars_long_file_name_141 +a/b/one_31_chars_long_file_name_142 +Incremental dump +a/ +a/c/ +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/incr04.at:34" + +$at_failed && at_func_log_failure +$at_traceon; } + + { $at_traceoff +$as_echo "$at_srcdir/incr04.at:34: +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H oldgnu\" +export TAR_OPTIONS +rm -rf * + + +install-sh -d a/b >/dev/null || exit 77 +awk 'BEGIN { + for (i=1;i<=142;i++) + printf(\"a/b/one_31_chars_long_file_name_%03d\\n\", i); + }' < /dev/null | genfile --files-from - + +sleep 1 + +echo \"Initial dump\" +tar cvf a0.tar -g a.sna a +mv a/b a/c +echo \"Incremental dump\" +tar cvf a1.tar -g a.sna a +)" +echo incr04.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 * + + +install-sh -d a/b >/dev/null || exit 77 +awk 'BEGIN { + for (i=1;i<=142;i++) + printf("a/b/one_31_chars_long_file_name_%03d\n", i); + }' < /dev/null | genfile --files-from - + +sleep 1 + +echo "Initial dump" +tar cvf a0.tar -g a.sna a +mv a/b a/c +echo "Incremental dump" +tar cvf a1.tar -g a.sna a +) ) >"$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 * + + +install-sh -d a/b >/dev/null || exit 77 +awk 'BEGIN { + for (i=1;i<=142;i++) + printf("a/b/one_31_chars_long_file_name_%03d\n", i); + }' < /dev/null | genfile --files-from - + +sleep 1 + +echo "Initial dump" +tar cvf a0.tar -g a.sna a +mv a/b a/c +echo "Incremental dump" +tar cvf a1.tar -g a.sna a +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +echo >>"$at_stderr"; $as_echo "tar: a: Directory is new +tar: a/b: Directory is new +tar: a/c: Directory has been renamed from \`a/b' +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Initial dump +a/ +a/b/ +a/b/one_31_chars_long_file_name_001 +a/b/one_31_chars_long_file_name_002 +a/b/one_31_chars_long_file_name_003 +a/b/one_31_chars_long_file_name_004 +a/b/one_31_chars_long_file_name_005 +a/b/one_31_chars_long_file_name_006 +a/b/one_31_chars_long_file_name_007 +a/b/one_31_chars_long_file_name_008 +a/b/one_31_chars_long_file_name_009 +a/b/one_31_chars_long_file_name_010 +a/b/one_31_chars_long_file_name_011 +a/b/one_31_chars_long_file_name_012 +a/b/one_31_chars_long_file_name_013 +a/b/one_31_chars_long_file_name_014 +a/b/one_31_chars_long_file_name_015 +a/b/one_31_chars_long_file_name_016 +a/b/one_31_chars_long_file_name_017 +a/b/one_31_chars_long_file_name_018 +a/b/one_31_chars_long_file_name_019 +a/b/one_31_chars_long_file_name_020 +a/b/one_31_chars_long_file_name_021 +a/b/one_31_chars_long_file_name_022 +a/b/one_31_chars_long_file_name_023 +a/b/one_31_chars_long_file_name_024 +a/b/one_31_chars_long_file_name_025 +a/b/one_31_chars_long_file_name_026 +a/b/one_31_chars_long_file_name_027 +a/b/one_31_chars_long_file_name_028 +a/b/one_31_chars_long_file_name_029 +a/b/one_31_chars_long_file_name_030 +a/b/one_31_chars_long_file_name_031 +a/b/one_31_chars_long_file_name_032 +a/b/one_31_chars_long_file_name_033 +a/b/one_31_chars_long_file_name_034 +a/b/one_31_chars_long_file_name_035 +a/b/one_31_chars_long_file_name_036 +a/b/one_31_chars_long_file_name_037 +a/b/one_31_chars_long_file_name_038 +a/b/one_31_chars_long_file_name_039 +a/b/one_31_chars_long_file_name_040 +a/b/one_31_chars_long_file_name_041 +a/b/one_31_chars_long_file_name_042 +a/b/one_31_chars_long_file_name_043 +a/b/one_31_chars_long_file_name_044 +a/b/one_31_chars_long_file_name_045 +a/b/one_31_chars_long_file_name_046 +a/b/one_31_chars_long_file_name_047 +a/b/one_31_chars_long_file_name_048 +a/b/one_31_chars_long_file_name_049 +a/b/one_31_chars_long_file_name_050 +a/b/one_31_chars_long_file_name_051 +a/b/one_31_chars_long_file_name_052 +a/b/one_31_chars_long_file_name_053 +a/b/one_31_chars_long_file_name_054 +a/b/one_31_chars_long_file_name_055 +a/b/one_31_chars_long_file_name_056 +a/b/one_31_chars_long_file_name_057 +a/b/one_31_chars_long_file_name_058 +a/b/one_31_chars_long_file_name_059 +a/b/one_31_chars_long_file_name_060 +a/b/one_31_chars_long_file_name_061 +a/b/one_31_chars_long_file_name_062 +a/b/one_31_chars_long_file_name_063 +a/b/one_31_chars_long_file_name_064 +a/b/one_31_chars_long_file_name_065 +a/b/one_31_chars_long_file_name_066 +a/b/one_31_chars_long_file_name_067 +a/b/one_31_chars_long_file_name_068 +a/b/one_31_chars_long_file_name_069 +a/b/one_31_chars_long_file_name_070 +a/b/one_31_chars_long_file_name_071 +a/b/one_31_chars_long_file_name_072 +a/b/one_31_chars_long_file_name_073 +a/b/one_31_chars_long_file_name_074 +a/b/one_31_chars_long_file_name_075 +a/b/one_31_chars_long_file_name_076 +a/b/one_31_chars_long_file_name_077 +a/b/one_31_chars_long_file_name_078 +a/b/one_31_chars_long_file_name_079 +a/b/one_31_chars_long_file_name_080 +a/b/one_31_chars_long_file_name_081 +a/b/one_31_chars_long_file_name_082 +a/b/one_31_chars_long_file_name_083 +a/b/one_31_chars_long_file_name_084 +a/b/one_31_chars_long_file_name_085 +a/b/one_31_chars_long_file_name_086 +a/b/one_31_chars_long_file_name_087 +a/b/one_31_chars_long_file_name_088 +a/b/one_31_chars_long_file_name_089 +a/b/one_31_chars_long_file_name_090 +a/b/one_31_chars_long_file_name_091 +a/b/one_31_chars_long_file_name_092 +a/b/one_31_chars_long_file_name_093 +a/b/one_31_chars_long_file_name_094 +a/b/one_31_chars_long_file_name_095 +a/b/one_31_chars_long_file_name_096 +a/b/one_31_chars_long_file_name_097 +a/b/one_31_chars_long_file_name_098 +a/b/one_31_chars_long_file_name_099 +a/b/one_31_chars_long_file_name_100 +a/b/one_31_chars_long_file_name_101 +a/b/one_31_chars_long_file_name_102 +a/b/one_31_chars_long_file_name_103 +a/b/one_31_chars_long_file_name_104 +a/b/one_31_chars_long_file_name_105 +a/b/one_31_chars_long_file_name_106 +a/b/one_31_chars_long_file_name_107 +a/b/one_31_chars_long_file_name_108 +a/b/one_31_chars_long_file_name_109 +a/b/one_31_chars_long_file_name_110 +a/b/one_31_chars_long_file_name_111 +a/b/one_31_chars_long_file_name_112 +a/b/one_31_chars_long_file_name_113 +a/b/one_31_chars_long_file_name_114 +a/b/one_31_chars_long_file_name_115 +a/b/one_31_chars_long_file_name_116 +a/b/one_31_chars_long_file_name_117 +a/b/one_31_chars_long_file_name_118 +a/b/one_31_chars_long_file_name_119 +a/b/one_31_chars_long_file_name_120 +a/b/one_31_chars_long_file_name_121 +a/b/one_31_chars_long_file_name_122 +a/b/one_31_chars_long_file_name_123 +a/b/one_31_chars_long_file_name_124 +a/b/one_31_chars_long_file_name_125 +a/b/one_31_chars_long_file_name_126 +a/b/one_31_chars_long_file_name_127 +a/b/one_31_chars_long_file_name_128 +a/b/one_31_chars_long_file_name_129 +a/b/one_31_chars_long_file_name_130 +a/b/one_31_chars_long_file_name_131 +a/b/one_31_chars_long_file_name_132 +a/b/one_31_chars_long_file_name_133 +a/b/one_31_chars_long_file_name_134 +a/b/one_31_chars_long_file_name_135 +a/b/one_31_chars_long_file_name_136 +a/b/one_31_chars_long_file_name_137 +a/b/one_31_chars_long_file_name_138 +a/b/one_31_chars_long_file_name_139 +a/b/one_31_chars_long_file_name_140 +a/b/one_31_chars_long_file_name_141 +a/b/one_31_chars_long_file_name_142 +Incremental dump +a/ +a/c/ +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/incr04.at:34" + +$at_failed && at_func_log_failure +$at_traceon; } + + { $at_traceoff +$as_echo "$at_srcdir/incr04.at:34: +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H posix\" +export TAR_OPTIONS +rm -rf * + + +install-sh -d a/b >/dev/null || exit 77 +awk 'BEGIN { + for (i=1;i<=142;i++) + printf(\"a/b/one_31_chars_long_file_name_%03d\\n\", i); + }' < /dev/null | genfile --files-from - + +sleep 1 + +echo \"Initial dump\" +tar cvf a0.tar -g a.sna a +mv a/b a/c +echo \"Incremental dump\" +tar cvf a1.tar -g a.sna a +)" +echo incr04.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 * + + +install-sh -d a/b >/dev/null || exit 77 +awk 'BEGIN { + for (i=1;i<=142;i++) + printf("a/b/one_31_chars_long_file_name_%03d\n", i); + }' < /dev/null | genfile --files-from - + +sleep 1 + +echo "Initial dump" +tar cvf a0.tar -g a.sna a +mv a/b a/c +echo "Incremental dump" +tar cvf a1.tar -g a.sna a +) ) >"$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 * + + +install-sh -d a/b >/dev/null || exit 77 +awk 'BEGIN { + for (i=1;i<=142;i++) + printf("a/b/one_31_chars_long_file_name_%03d\n", i); + }' < /dev/null | genfile --files-from - + +sleep 1 + +echo "Initial dump" +tar cvf a0.tar -g a.sna a +mv a/b a/c +echo "Incremental dump" +tar cvf a1.tar -g a.sna a +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +echo >>"$at_stderr"; $as_echo "tar: a: Directory is new +tar: a/b: Directory is new +tar: a/c: Directory has been renamed from \`a/b' +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Initial dump +a/ +a/b/ +a/b/one_31_chars_long_file_name_001 +a/b/one_31_chars_long_file_name_002 +a/b/one_31_chars_long_file_name_003 +a/b/one_31_chars_long_file_name_004 +a/b/one_31_chars_long_file_name_005 +a/b/one_31_chars_long_file_name_006 +a/b/one_31_chars_long_file_name_007 +a/b/one_31_chars_long_file_name_008 +a/b/one_31_chars_long_file_name_009 +a/b/one_31_chars_long_file_name_010 +a/b/one_31_chars_long_file_name_011 +a/b/one_31_chars_long_file_name_012 +a/b/one_31_chars_long_file_name_013 +a/b/one_31_chars_long_file_name_014 +a/b/one_31_chars_long_file_name_015 +a/b/one_31_chars_long_file_name_016 +a/b/one_31_chars_long_file_name_017 +a/b/one_31_chars_long_file_name_018 +a/b/one_31_chars_long_file_name_019 +a/b/one_31_chars_long_file_name_020 +a/b/one_31_chars_long_file_name_021 +a/b/one_31_chars_long_file_name_022 +a/b/one_31_chars_long_file_name_023 +a/b/one_31_chars_long_file_name_024 +a/b/one_31_chars_long_file_name_025 +a/b/one_31_chars_long_file_name_026 +a/b/one_31_chars_long_file_name_027 +a/b/one_31_chars_long_file_name_028 +a/b/one_31_chars_long_file_name_029 +a/b/one_31_chars_long_file_name_030 +a/b/one_31_chars_long_file_name_031 +a/b/one_31_chars_long_file_name_032 +a/b/one_31_chars_long_file_name_033 +a/b/one_31_chars_long_file_name_034 +a/b/one_31_chars_long_file_name_035 +a/b/one_31_chars_long_file_name_036 +a/b/one_31_chars_long_file_name_037 +a/b/one_31_chars_long_file_name_038 +a/b/one_31_chars_long_file_name_039 +a/b/one_31_chars_long_file_name_040 +a/b/one_31_chars_long_file_name_041 +a/b/one_31_chars_long_file_name_042 +a/b/one_31_chars_long_file_name_043 +a/b/one_31_chars_long_file_name_044 +a/b/one_31_chars_long_file_name_045 +a/b/one_31_chars_long_file_name_046 +a/b/one_31_chars_long_file_name_047 +a/b/one_31_chars_long_file_name_048 +a/b/one_31_chars_long_file_name_049 +a/b/one_31_chars_long_file_name_050 +a/b/one_31_chars_long_file_name_051 +a/b/one_31_chars_long_file_name_052 +a/b/one_31_chars_long_file_name_053 +a/b/one_31_chars_long_file_name_054 +a/b/one_31_chars_long_file_name_055 +a/b/one_31_chars_long_file_name_056 +a/b/one_31_chars_long_file_name_057 +a/b/one_31_chars_long_file_name_058 +a/b/one_31_chars_long_file_name_059 +a/b/one_31_chars_long_file_name_060 +a/b/one_31_chars_long_file_name_061 +a/b/one_31_chars_long_file_name_062 +a/b/one_31_chars_long_file_name_063 +a/b/one_31_chars_long_file_name_064 +a/b/one_31_chars_long_file_name_065 +a/b/one_31_chars_long_file_name_066 +a/b/one_31_chars_long_file_name_067 +a/b/one_31_chars_long_file_name_068 +a/b/one_31_chars_long_file_name_069 +a/b/one_31_chars_long_file_name_070 +a/b/one_31_chars_long_file_name_071 +a/b/one_31_chars_long_file_name_072 +a/b/one_31_chars_long_file_name_073 +a/b/one_31_chars_long_file_name_074 +a/b/one_31_chars_long_file_name_075 +a/b/one_31_chars_long_file_name_076 +a/b/one_31_chars_long_file_name_077 +a/b/one_31_chars_long_file_name_078 +a/b/one_31_chars_long_file_name_079 +a/b/one_31_chars_long_file_name_080 +a/b/one_31_chars_long_file_name_081 +a/b/one_31_chars_long_file_name_082 +a/b/one_31_chars_long_file_name_083 +a/b/one_31_chars_long_file_name_084 +a/b/one_31_chars_long_file_name_085 +a/b/one_31_chars_long_file_name_086 +a/b/one_31_chars_long_file_name_087 +a/b/one_31_chars_long_file_name_088 +a/b/one_31_chars_long_file_name_089 +a/b/one_31_chars_long_file_name_090 +a/b/one_31_chars_long_file_name_091 +a/b/one_31_chars_long_file_name_092 +a/b/one_31_chars_long_file_name_093 +a/b/one_31_chars_long_file_name_094 +a/b/one_31_chars_long_file_name_095 +a/b/one_31_chars_long_file_name_096 +a/b/one_31_chars_long_file_name_097 +a/b/one_31_chars_long_file_name_098 +a/b/one_31_chars_long_file_name_099 +a/b/one_31_chars_long_file_name_100 +a/b/one_31_chars_long_file_name_101 +a/b/one_31_chars_long_file_name_102 +a/b/one_31_chars_long_file_name_103 +a/b/one_31_chars_long_file_name_104 +a/b/one_31_chars_long_file_name_105 +a/b/one_31_chars_long_file_name_106 +a/b/one_31_chars_long_file_name_107 +a/b/one_31_chars_long_file_name_108 +a/b/one_31_chars_long_file_name_109 +a/b/one_31_chars_long_file_name_110 +a/b/one_31_chars_long_file_name_111 +a/b/one_31_chars_long_file_name_112 +a/b/one_31_chars_long_file_name_113 +a/b/one_31_chars_long_file_name_114 +a/b/one_31_chars_long_file_name_115 +a/b/one_31_chars_long_file_name_116 +a/b/one_31_chars_long_file_name_117 +a/b/one_31_chars_long_file_name_118 +a/b/one_31_chars_long_file_name_119 +a/b/one_31_chars_long_file_name_120 +a/b/one_31_chars_long_file_name_121 +a/b/one_31_chars_long_file_name_122 +a/b/one_31_chars_long_file_name_123 +a/b/one_31_chars_long_file_name_124 +a/b/one_31_chars_long_file_name_125 +a/b/one_31_chars_long_file_name_126 +a/b/one_31_chars_long_file_name_127 +a/b/one_31_chars_long_file_name_128 +a/b/one_31_chars_long_file_name_129 +a/b/one_31_chars_long_file_name_130 +a/b/one_31_chars_long_file_name_131 +a/b/one_31_chars_long_file_name_132 +a/b/one_31_chars_long_file_name_133 +a/b/one_31_chars_long_file_name_134 +a/b/one_31_chars_long_file_name_135 +a/b/one_31_chars_long_file_name_136 +a/b/one_31_chars_long_file_name_137 +a/b/one_31_chars_long_file_name_138 +a/b/one_31_chars_long_file_name_139 +a/b/one_31_chars_long_file_name_140 +a/b/one_31_chars_long_file_name_141 +a/b/one_31_chars_long_file_name_142 +Incremental dump +a/ +a/c/ +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/incr04.at:34" + +$at_failed && at_func_log_failure +$at_traceon; } + + + + + $at_traceoff + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 | eval $at_tee_pipe +at_status=`cat "$at_status_file"` +#AT_STOP_42 +#AT_START_43 +# 43. 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_xfail=no + test -f $XFAILFILE && at_xfail=yes +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "43. incr05.at:19: testing ..." + $at_traceon + + + + + + { $at_traceoff +$as_echo "$at_srcdir/incr05.at:22: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H gnu\" +export TAR_OPTIONS +rm -rf * + +mkdir dir +mkdir dir/sub +genfile --file dir/file1 +genfile --file dir/sub/file2 + +echo Level 0 +tar -c -f archive.tar -g db -C dir -v --warning=no-new-dir . + +genfile --file dir/file3 +echo Level 1 +tar -c -f archive.tar -g db -C dir -v --warning=no-new-dir . +)" +echo incr05.at:22 >"$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 +mkdir dir/sub +genfile --file dir/file1 +genfile --file dir/sub/file2 + +echo Level 0 +tar -c -f archive.tar -g db -C dir -v --warning=no-new-dir . + +genfile --file dir/file3 +echo Level 1 +tar -c -f archive.tar -g db -C dir -v --warning=no-new-dir . +) ) >"$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 +mkdir dir/sub +genfile --file dir/file1 +genfile --file dir/sub/file2 + +echo Level 0 +tar -c -f archive.tar -g db -C dir -v --warning=no-new-dir . + +genfile --file dir/file3 +echo Level 1 +tar -c -f archive.tar -g db -C dir -v --warning=no-new-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 "Level 0 +./ +./sub/ +./file1 +./sub/file2 +Level 1 +./ +./sub/ +./file3 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/incr05.at:22" + +$at_failed && at_func_log_failure +$at_traceon; } + + { $at_traceoff +$as_echo "$at_srcdir/incr05.at:22: +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H oldgnu\" +export TAR_OPTIONS +rm -rf * + +mkdir dir +mkdir dir/sub +genfile --file dir/file1 +genfile --file dir/sub/file2 + +echo Level 0 +tar -c -f archive.tar -g db -C dir -v --warning=no-new-dir . + +genfile --file dir/file3 +echo Level 1 +tar -c -f archive.tar -g db -C dir -v --warning=no-new-dir . +)" +echo incr05.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 * + +mkdir dir +mkdir dir/sub +genfile --file dir/file1 +genfile --file dir/sub/file2 + +echo Level 0 +tar -c -f archive.tar -g db -C dir -v --warning=no-new-dir . + +genfile --file dir/file3 +echo Level 1 +tar -c -f archive.tar -g db -C dir -v --warning=no-new-dir . +) ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H oldgnu" +export TAR_OPTIONS +rm -rf * + +mkdir dir +mkdir dir/sub +genfile --file dir/file1 +genfile --file dir/sub/file2 + +echo Level 0 +tar -c -f archive.tar -g db -C dir -v --warning=no-new-dir . + +genfile --file dir/file3 +echo Level 1 +tar -c -f archive.tar -g db -C dir -v --warning=no-new-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 "Level 0 +./ +./sub/ +./file1 +./sub/file2 +Level 1 +./ +./sub/ +./file3 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/incr05.at:22" + +$at_failed && at_func_log_failure +$at_traceon; } + + { $at_traceoff +$as_echo "$at_srcdir/incr05.at:22: +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H posix\" +export TAR_OPTIONS +rm -rf * + +mkdir dir +mkdir dir/sub +genfile --file dir/file1 +genfile --file dir/sub/file2 + +echo Level 0 +tar -c -f archive.tar -g db -C dir -v --warning=no-new-dir . + +genfile --file dir/file3 +echo Level 1 +tar -c -f archive.tar -g db -C dir -v --warning=no-new-dir . +)" +echo incr05.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 * + +mkdir dir +mkdir dir/sub +genfile --file dir/file1 +genfile --file dir/sub/file2 + +echo Level 0 +tar -c -f archive.tar -g db -C dir -v --warning=no-new-dir . + +genfile --file dir/file3 +echo Level 1 +tar -c -f archive.tar -g db -C dir -v --warning=no-new-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 * + +mkdir dir +mkdir dir/sub +genfile --file dir/file1 +genfile --file dir/sub/file2 + +echo Level 0 +tar -c -f archive.tar -g db -C dir -v --warning=no-new-dir . + +genfile --file dir/file3 +echo Level 1 +tar -c -f archive.tar -g db -C dir -v --warning=no-new-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 "Level 0 +./ +./sub/ +./file1 +./sub/file2 +Level 1 +./ +./sub/ +./file3 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/incr05.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_43 +#AT_START_44 +# 44. 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_xfail=no + test -f $XFAILFILE && at_xfail=yes +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "44. incr06.at:19: testing ..." + $at_traceon + + + + + + { $at_traceoff +$as_echo "$at_srcdir/incr06.at:22: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H gnu\" +export TAR_OPTIONS +rm -rf * + +mkdir dir +mkdir dir/sub +mkdir dir/sub/a +mkdir dir/sub/b +genfile --file dir/file1 +genfile --file dir/sub/file2 +genfile --file dir/sub/a/file3 + +echo Level 0 . sub +tar -c -f archive-0.1.tar -g db.1 -C dir -v --warning=no-new-dir . sub +echo Level 0 sub . +tar -c -f archive-0.2.tar -g db.2 -C dir -v --warning=no-new-dir sub . + +mkdir dir/c +genfile --file dir/sub/b/file4 + +echo Level 1 . sub +tar -c -f archive-1.1.tar -g db.1 -C dir -v --warning=no-new-dir . sub +echo Level 1 sub . +tar -c -f archive-1.2.tar -g db.2 -C dir -v --warning=no-new-dir sub . +)" +echo incr06.at:22 >"$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 +mkdir dir/sub +mkdir dir/sub/a +mkdir dir/sub/b +genfile --file dir/file1 +genfile --file dir/sub/file2 +genfile --file dir/sub/a/file3 + +echo Level 0 . sub +tar -c -f archive-0.1.tar -g db.1 -C dir -v --warning=no-new-dir . sub +echo Level 0 sub . +tar -c -f archive-0.2.tar -g db.2 -C dir -v --warning=no-new-dir sub . + +mkdir dir/c +genfile --file dir/sub/b/file4 + +echo Level 1 . sub +tar -c -f archive-1.1.tar -g db.1 -C dir -v --warning=no-new-dir . sub +echo Level 1 sub . +tar -c -f archive-1.2.tar -g db.2 -C dir -v --warning=no-new-dir sub . +) ) >"$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 +mkdir dir/sub +mkdir dir/sub/a +mkdir dir/sub/b +genfile --file dir/file1 +genfile --file dir/sub/file2 +genfile --file dir/sub/a/file3 + +echo Level 0 . sub +tar -c -f archive-0.1.tar -g db.1 -C dir -v --warning=no-new-dir . sub +echo Level 0 sub . +tar -c -f archive-0.2.tar -g db.2 -C dir -v --warning=no-new-dir sub . + +mkdir dir/c +genfile --file dir/sub/b/file4 + +echo Level 1 . sub +tar -c -f archive-1.1.tar -g db.1 -C dir -v --warning=no-new-dir . sub +echo Level 1 sub . +tar -c -f archive-1.2.tar -g db.2 -C dir -v --warning=no-new-dir sub . +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Level 0 . sub +./ +sub/ +sub/a/ +sub/b/ +./file1 +sub/file2 +sub/a/file3 +Level 0 sub . +./ +sub/ +sub/a/ +sub/b/ +./file1 +sub/file2 +sub/a/file3 +Level 1 . sub +./ +./c/ +sub/ +sub/a/ +sub/b/ +sub/b/file4 +Level 1 sub . +./ +./c/ +sub/ +sub/a/ +sub/b/ +sub/b/file4 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/incr06.at:22" + +$at_failed && at_func_log_failure +$at_traceon; } + + { $at_traceoff +$as_echo "$at_srcdir/incr06.at:22: +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H oldgnu\" +export TAR_OPTIONS +rm -rf * + +mkdir dir +mkdir dir/sub +mkdir dir/sub/a +mkdir dir/sub/b +genfile --file dir/file1 +genfile --file dir/sub/file2 +genfile --file dir/sub/a/file3 + +echo Level 0 . sub +tar -c -f archive-0.1.tar -g db.1 -C dir -v --warning=no-new-dir . sub +echo Level 0 sub . +tar -c -f archive-0.2.tar -g db.2 -C dir -v --warning=no-new-dir sub . + +mkdir dir/c +genfile --file dir/sub/b/file4 + +echo Level 1 . sub +tar -c -f archive-1.1.tar -g db.1 -C dir -v --warning=no-new-dir . sub +echo Level 1 sub . +tar -c -f archive-1.2.tar -g db.2 -C dir -v --warning=no-new-dir sub . +)" +echo incr06.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 * + +mkdir dir +mkdir dir/sub +mkdir dir/sub/a +mkdir dir/sub/b +genfile --file dir/file1 +genfile --file dir/sub/file2 +genfile --file dir/sub/a/file3 + +echo Level 0 . sub +tar -c -f archive-0.1.tar -g db.1 -C dir -v --warning=no-new-dir . sub +echo Level 0 sub . +tar -c -f archive-0.2.tar -g db.2 -C dir -v --warning=no-new-dir sub . + +mkdir dir/c +genfile --file dir/sub/b/file4 + +echo Level 1 . sub +tar -c -f archive-1.1.tar -g db.1 -C dir -v --warning=no-new-dir . sub +echo Level 1 sub . +tar -c -f archive-1.2.tar -g db.2 -C dir -v --warning=no-new-dir sub . +) ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H oldgnu" +export TAR_OPTIONS +rm -rf * + +mkdir dir +mkdir dir/sub +mkdir dir/sub/a +mkdir dir/sub/b +genfile --file dir/file1 +genfile --file dir/sub/file2 +genfile --file dir/sub/a/file3 + +echo Level 0 . sub +tar -c -f archive-0.1.tar -g db.1 -C dir -v --warning=no-new-dir . sub +echo Level 0 sub . +tar -c -f archive-0.2.tar -g db.2 -C dir -v --warning=no-new-dir sub . + +mkdir dir/c +genfile --file dir/sub/b/file4 + +echo Level 1 . sub +tar -c -f archive-1.1.tar -g db.1 -C dir -v --warning=no-new-dir . sub +echo Level 1 sub . +tar -c -f archive-1.2.tar -g db.2 -C dir -v --warning=no-new-dir sub . +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Level 0 . sub +./ +sub/ +sub/a/ +sub/b/ +./file1 +sub/file2 +sub/a/file3 +Level 0 sub . +./ +sub/ +sub/a/ +sub/b/ +./file1 +sub/file2 +sub/a/file3 +Level 1 . sub +./ +./c/ +sub/ +sub/a/ +sub/b/ +sub/b/file4 +Level 1 sub . +./ +./c/ +sub/ +sub/a/ +sub/b/ +sub/b/file4 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/incr06.at:22" + +$at_failed && at_func_log_failure +$at_traceon; } + + { $at_traceoff +$as_echo "$at_srcdir/incr06.at:22: +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H posix\" +export TAR_OPTIONS +rm -rf * + +mkdir dir +mkdir dir/sub +mkdir dir/sub/a +mkdir dir/sub/b +genfile --file dir/file1 +genfile --file dir/sub/file2 +genfile --file dir/sub/a/file3 + +echo Level 0 . sub +tar -c -f archive-0.1.tar -g db.1 -C dir -v --warning=no-new-dir . sub +echo Level 0 sub . +tar -c -f archive-0.2.tar -g db.2 -C dir -v --warning=no-new-dir sub . + +mkdir dir/c +genfile --file dir/sub/b/file4 + +echo Level 1 . sub +tar -c -f archive-1.1.tar -g db.1 -C dir -v --warning=no-new-dir . sub +echo Level 1 sub . +tar -c -f archive-1.2.tar -g db.2 -C dir -v --warning=no-new-dir sub . +)" +echo incr06.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 * + +mkdir dir +mkdir dir/sub +mkdir dir/sub/a +mkdir dir/sub/b +genfile --file dir/file1 +genfile --file dir/sub/file2 +genfile --file dir/sub/a/file3 + +echo Level 0 . sub +tar -c -f archive-0.1.tar -g db.1 -C dir -v --warning=no-new-dir . sub +echo Level 0 sub . +tar -c -f archive-0.2.tar -g db.2 -C dir -v --warning=no-new-dir sub . + +mkdir dir/c +genfile --file dir/sub/b/file4 + +echo Level 1 . sub +tar -c -f archive-1.1.tar -g db.1 -C dir -v --warning=no-new-dir . sub +echo Level 1 sub . +tar -c -f archive-1.2.tar -g db.2 -C dir -v --warning=no-new-dir sub . +) ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS="-H posix" +export TAR_OPTIONS +rm -rf * + +mkdir dir +mkdir dir/sub +mkdir dir/sub/a +mkdir dir/sub/b +genfile --file dir/file1 +genfile --file dir/sub/file2 +genfile --file dir/sub/a/file3 + +echo Level 0 . sub +tar -c -f archive-0.1.tar -g db.1 -C dir -v --warning=no-new-dir . sub +echo Level 0 sub . +tar -c -f archive-0.2.tar -g db.2 -C dir -v --warning=no-new-dir sub . + +mkdir dir/c +genfile --file dir/sub/b/file4 + +echo Level 1 . sub +tar -c -f archive-1.1.tar -g db.1 -C dir -v --warning=no-new-dir . sub +echo Level 1 sub . +tar -c -f archive-1.2.tar -g db.2 -C dir -v --warning=no-new-dir sub . +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Level 0 . sub +./ +sub/ +sub/a/ +sub/b/ +./file1 +sub/file2 +sub/a/file3 +Level 0 sub . +./ +sub/ +sub/a/ +sub/b/ +./file1 +sub/file2 +sub/a/file3 +Level 1 . sub +./ +./c/ +sub/ +sub/a/ +sub/b/ +sub/b/file4 +Level 1 sub . +./ +./c/ +sub/ +sub/a/ +sub/b/ +sub/b/file4 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/incr06.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_44 +#AT_START_45 +# 45. 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_xfail=no + test -f $XFAILFILE && at_xfail=yes +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "45. filerem01.at:34: testing ..." + $at_traceon + + + + + + { $at_traceoff +$as_echo "$at_srcdir/filerem01.at:37: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H gnu\" +export TAR_OPTIONS +rm -rf * + +mkdir dir +mkdir dir/sub +genfile --file dir/file1 +genfile --file dir/sub/file2 + +genfile --run --checkpoint=3 --unlink dir/file1 -- \\ + tar --blocking-factor=1 --checkpoint=1 --checkpoint-action='sleep=1' \\ + --checkpoint-action='echo' -c -f archive.tar \\ + --listed-incremental db -v dir >/dev/null +)" +echo filerem01.at:37 >"$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 +mkdir dir/sub +genfile --file dir/file1 +genfile --file dir/sub/file2 + +genfile --run --checkpoint=3 --unlink dir/file1 -- \ + tar --blocking-factor=1 --checkpoint=1 --checkpoint-action='sleep=1' \ + --checkpoint-action='echo' -c -f archive.tar \ + --listed-incremental db -v dir >/dev/null +) ) >"$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 +mkdir dir/sub +genfile --file dir/file1 +genfile --file dir/sub/file2 + +genfile --run --checkpoint=3 --unlink dir/file1 -- \ + tar --blocking-factor=1 --checkpoint=1 --checkpoint-action='sleep=1' \ + --checkpoint-action='echo' -c -f archive.tar \ + --listed-incremental db -v dir >/dev/null +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +echo >>"$at_stderr"; $as_echo "tar: dir: Directory is new +tar: dir/sub: Directory is new +tar: dir/file1: File removed before we read it +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_func_check_status 1 $at_status "$at_srcdir/filerem01.at:37" + +$at_failed && at_func_log_failure +$at_traceon; } + + { $at_traceoff +$as_echo "$at_srcdir/filerem01.at:37: +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H posix\" +export TAR_OPTIONS +rm -rf * + +mkdir dir +mkdir dir/sub +genfile --file dir/file1 +genfile --file dir/sub/file2 + +genfile --run --checkpoint=3 --unlink dir/file1 -- \\ + tar --blocking-factor=1 --checkpoint=1 --checkpoint-action='sleep=1' \\ + --checkpoint-action='echo' -c -f archive.tar \\ + --listed-incremental db -v dir >/dev/null +)" +echo filerem01.at:37 >"$at_check_line_file" + +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS="-H posix" +export TAR_OPTIONS +rm -rf * + +mkdir dir +mkdir dir/sub +genfile --file dir/file1 +genfile --file dir/sub/file2 + +genfile --run --checkpoint=3 --unlink dir/file1 -- \ + tar --blocking-factor=1 --checkpoint=1 --checkpoint-action='sleep=1' \ + --checkpoint-action='echo' -c -f archive.tar \ + --listed-incremental db -v dir >/dev/null +) ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS="-H posix" +export TAR_OPTIONS +rm -rf * + +mkdir dir +mkdir dir/sub +genfile --file dir/file1 +genfile --file dir/sub/file2 + +genfile --run --checkpoint=3 --unlink dir/file1 -- \ + tar --blocking-factor=1 --checkpoint=1 --checkpoint-action='sleep=1' \ + --checkpoint-action='echo' -c -f archive.tar \ + --listed-incremental db -v dir >/dev/null +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +echo >>"$at_stderr"; $as_echo "tar: dir: Directory is new +tar: dir/sub: Directory is new +tar: dir/file1: File removed before we read it +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo stdout:; cat "$at_stdout" +at_func_check_status 1 $at_status "$at_srcdir/filerem01.at:37" + +$at_failed && at_func_log_failure +$at_traceon; } + + + + +# Timing information: +# +# For -Hgnu the above command line takes about 8 seconds to execute and +# produces: +# +# tar: dir: Directory is new +# tar: dir/sub: Directory is new +# dir/ +# tar: Write checkpoint 1 +# tar: Write checkpoint 2 +# dir/sub/ +# tar: Write checkpoint 3 +# tar: Write checkpoint 4 +# dir/file1 +# tar: Write checkpoint 5 +# dir/sub/file2 +# tar: Write checkpoint 6 +# tar: Write checkpoint 7 +# tar: Write checkpoint 8 +# +# For -Hposix the above command line takes about 14 seconds to execute and +# produces: +# +# ./tar: dir: Directory is new +# ./tar: dir/sub: Directory is new +# dir/ +# ./tar: Write checkpoint 1 +# ./tar: Write checkpoint 2 +# ./tar: Write checkpoint 3 +# dir/sub/ +# ./tar: Write checkpoint 4 +# ./tar: Write checkpoint 5 +# ./tar: Write checkpoint 6 +# dir/file1 +# ./tar: Write checkpoint 7 +# ./tar: Write checkpoint 8 +# ./tar: Write checkpoint 9 +# dir/sub/file2 +# ./tar: Write checkpoint 10 +# ./tar: Write checkpoint 11 +# ./tar: Write checkpoint 12 +# ./tar: Write checkpoint 13 +# ./tar: Write checkpoint 14 + + + $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. 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_xfail=no + test -f $XFAILFILE && at_xfail=yes +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "46. filerem02.at:24: testing ..." + $at_traceon + + + + + + { $at_traceoff +$as_echo "$at_srcdir/filerem02.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 +mkdir dir/sub +genfile --file dir/file1 +genfile --file dir/sub/file2 +mkdir dir2 +genfile --file dir2/file1 + +genfile --run --checkpoint=3 --exec 'rm -rf dir2' -- \\ + tar --blocking-factor=1 --checkpoint=1 --checkpoint-action='sleep=1' \\ + --checkpoint-action='echo' -c -f archive.tar \\ + --listed-incremental db -v --warning=no-new-dir dir dir2 >/dev/null +)" +echo filerem02.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 +mkdir dir/sub +genfile --file dir/file1 +genfile --file dir/sub/file2 +mkdir dir2 +genfile --file dir2/file1 + +genfile --run --checkpoint=3 --exec 'rm -rf dir2' -- \ + tar --blocking-factor=1 --checkpoint=1 --checkpoint-action='sleep=1' \ + --checkpoint-action='echo' -c -f archive.tar \ + --listed-incremental db -v --warning=no-new-dir dir dir2 >/dev/null +) ) >"$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 +mkdir dir/sub +genfile --file dir/file1 +genfile --file dir/sub/file2 +mkdir dir2 +genfile --file dir2/file1 + +genfile --run --checkpoint=3 --exec 'rm -rf dir2' -- \ + tar --blocking-factor=1 --checkpoint=1 --checkpoint-action='sleep=1' \ + --checkpoint-action='echo' -c -f archive.tar \ + --listed-incremental db -v --warning=no-new-dir dir dir2 >/dev/null +) ) >"$at_stdout" 2>"$at_stderr" +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 stdout:; cat "$at_stdout" +at_func_check_status 2 $at_status "$at_srcdir/filerem02.at:27" + +$at_failed && at_func_log_failure +$at_traceon; } + + { $at_traceoff +$as_echo "$at_srcdir/filerem02.at:27: +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H posix\" +export TAR_OPTIONS +rm -rf * + +mkdir dir +mkdir dir/sub +genfile --file dir/file1 +genfile --file dir/sub/file2 +mkdir dir2 +genfile --file dir2/file1 + +genfile --run --checkpoint=3 --exec 'rm -rf dir2' -- \\ + tar --blocking-factor=1 --checkpoint=1 --checkpoint-action='sleep=1' \\ + --checkpoint-action='echo' -c -f archive.tar \\ + --listed-incremental db -v --warning=no-new-dir dir dir2 >/dev/null +)" +echo filerem02.at:27 >"$at_check_line_file" + +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS="-H posix" +export TAR_OPTIONS +rm -rf * + +mkdir dir +mkdir dir/sub +genfile --file dir/file1 +genfile --file dir/sub/file2 +mkdir dir2 +genfile --file dir2/file1 + +genfile --run --checkpoint=3 --exec 'rm -rf dir2' -- \ + tar --blocking-factor=1 --checkpoint=1 --checkpoint-action='sleep=1' \ + --checkpoint-action='echo' -c -f archive.tar \ + --listed-incremental db -v --warning=no-new-dir dir dir2 >/dev/null +) ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS="-H posix" +export TAR_OPTIONS +rm -rf * + +mkdir dir +mkdir dir/sub +genfile --file dir/file1 +genfile --file dir/sub/file2 +mkdir dir2 +genfile --file dir2/file1 + +genfile --run --checkpoint=3 --exec 'rm -rf dir2' -- \ + tar --blocking-factor=1 --checkpoint=1 --checkpoint-action='sleep=1' \ + --checkpoint-action='echo' -c -f archive.tar \ + --listed-incremental db -v --warning=no-new-dir dir dir2 >/dev/null +) ) >"$at_stdout" 2>"$at_stderr" +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 stdout:; cat "$at_stdout" +at_func_check_status 2 $at_status "$at_srcdir/filerem02.at:27" + +$at_failed && at_func_log_failure +$at_traceon; } + + + + +# 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_setup_line='rename01.at:24' +at_desc="renamed dirs in incrementals" +$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. rename01.at:24: testing ..." + $at_traceon + + + + + + { $at_traceoff +$as_echo "$at_srcdir/rename01.at:27: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H gnu\" +export TAR_OPTIONS +rm -rf * + + +test -z "`sort < /dev/null 2>&1`" || exit 77 + + +mkdir foo +genfile --file foo/file1 +genfile --file foo/file2 +mkdir foo/bar +genfile --file foo/bar/file + +echo \"Creating base archive\" +tar -g incr -cf arch.1 -v foo + +mv foo/bar foo/baz + +echo \"Creating incremental archive\" +tar -g incr -cf arch.2 -v foo + +mv foo old + +tar xfg arch.1 /dev/null + +echo \"Begin directory listing 1\" +find foo | sort +echo \"End directory listing 1\" + +tar xfg arch.2 /dev/null +echo Begin directory listing 2 +find foo | sort +echo End directory listing 2 +)" +echo rename01.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 * + + +test -z "`sort < /dev/null 2>&1`" || exit 77 + + +mkdir foo +genfile --file foo/file1 +genfile --file foo/file2 +mkdir foo/bar +genfile --file foo/bar/file + +echo "Creating base archive" +tar -g incr -cf arch.1 -v foo + +mv foo/bar foo/baz + +echo "Creating incremental archive" +tar -g incr -cf arch.2 -v foo + +mv foo old + +tar xfg arch.1 /dev/null + +echo "Begin directory listing 1" +find foo | sort +echo "End directory listing 1" + +tar xfg arch.2 /dev/null +echo Begin directory listing 2 +find foo | sort +echo End directory listing 2 +) ) >"$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 * + + +test -z "`sort < /dev/null 2>&1`" || exit 77 + + +mkdir foo +genfile --file foo/file1 +genfile --file foo/file2 +mkdir foo/bar +genfile --file foo/bar/file + +echo "Creating base archive" +tar -g incr -cf arch.1 -v foo + +mv foo/bar foo/baz + +echo "Creating incremental archive" +tar -g incr -cf arch.2 -v foo + +mv foo old + +tar xfg arch.1 /dev/null + +echo "Begin directory listing 1" +find foo | sort +echo "End directory listing 1" + +tar xfg arch.2 /dev/null +echo Begin directory listing 2 +find foo | sort +echo End directory listing 2 +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +echo >>"$at_stderr"; $as_echo "tar: foo: Directory is new +tar: foo/bar: Directory is new +tar: foo/baz: Directory has been renamed from \`foo/bar' +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Creating base archive +foo/ +foo/bar/ +foo/file1 +foo/file2 +foo/bar/file +Creating incremental archive +foo/ +foo/baz/ +Begin directory listing 1 +foo +foo/bar +foo/bar/file +foo/file1 +foo/file2 +End directory listing 1 +Begin directory listing 2 +foo +foo/baz +foo/baz/file +foo/file1 +foo/file2 +End directory listing 2 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/rename01.at:27" + +$at_failed && at_func_log_failure +$at_traceon; } + + { $at_traceoff +$as_echo "$at_srcdir/rename01.at:27: +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H oldgnu\" +export TAR_OPTIONS +rm -rf * + + +test -z "`sort < /dev/null 2>&1`" || exit 77 + + +mkdir foo +genfile --file foo/file1 +genfile --file foo/file2 +mkdir foo/bar +genfile --file foo/bar/file + +echo \"Creating base archive\" +tar -g incr -cf arch.1 -v foo + +mv foo/bar foo/baz + +echo \"Creating incremental archive\" +tar -g incr -cf arch.2 -v foo + +mv foo old + +tar xfg arch.1 /dev/null + +echo \"Begin directory listing 1\" +find foo | sort +echo \"End directory listing 1\" + +tar xfg arch.2 /dev/null +echo Begin directory listing 2 +find foo | sort +echo End directory listing 2 +)" +echo rename01.at:27 >"$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 * + + +test -z "`sort < /dev/null 2>&1`" || exit 77 + + +mkdir foo +genfile --file foo/file1 +genfile --file foo/file2 +mkdir foo/bar +genfile --file foo/bar/file + +echo "Creating base archive" +tar -g incr -cf arch.1 -v foo + +mv foo/bar foo/baz + +echo "Creating incremental archive" +tar -g incr -cf arch.2 -v foo + +mv foo old + +tar xfg arch.1 /dev/null + +echo "Begin directory listing 1" +find foo | sort +echo "End directory listing 1" + +tar xfg arch.2 /dev/null +echo Begin directory listing 2 +find foo | sort +echo End directory listing 2 +) ) >"$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 * + + +test -z "`sort < /dev/null 2>&1`" || exit 77 + + +mkdir foo +genfile --file foo/file1 +genfile --file foo/file2 +mkdir foo/bar +genfile --file foo/bar/file + +echo "Creating base archive" +tar -g incr -cf arch.1 -v foo + +mv foo/bar foo/baz + +echo "Creating incremental archive" +tar -g incr -cf arch.2 -v foo + +mv foo old + +tar xfg arch.1 /dev/null + +echo "Begin directory listing 1" +find foo | sort +echo "End directory listing 1" + +tar xfg arch.2 /dev/null +echo Begin directory listing 2 +find foo | sort +echo End directory listing 2 +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +echo >>"$at_stderr"; $as_echo "tar: foo: Directory is new +tar: foo/bar: Directory is new +tar: foo/baz: Directory has been renamed from \`foo/bar' +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Creating base archive +foo/ +foo/bar/ +foo/file1 +foo/file2 +foo/bar/file +Creating incremental archive +foo/ +foo/baz/ +Begin directory listing 1 +foo +foo/bar +foo/bar/file +foo/file1 +foo/file2 +End directory listing 1 +Begin directory listing 2 +foo +foo/baz +foo/baz/file +foo/file1 +foo/file2 +End directory listing 2 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/rename01.at:27" + +$at_failed && at_func_log_failure +$at_traceon; } + + { $at_traceoff +$as_echo "$at_srcdir/rename01.at:27: +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H posix\" +export TAR_OPTIONS +rm -rf * + + +test -z "`sort < /dev/null 2>&1`" || exit 77 + + +mkdir foo +genfile --file foo/file1 +genfile --file foo/file2 +mkdir foo/bar +genfile --file foo/bar/file + +echo \"Creating base archive\" +tar -g incr -cf arch.1 -v foo + +mv foo/bar foo/baz + +echo \"Creating incremental archive\" +tar -g incr -cf arch.2 -v foo + +mv foo old + +tar xfg arch.1 /dev/null + +echo \"Begin directory listing 1\" +find foo | sort +echo \"End directory listing 1\" + +tar xfg arch.2 /dev/null +echo Begin directory listing 2 +find foo | sort +echo End directory listing 2 +)" +echo rename01.at:27 >"$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 * + + +test -z "`sort < /dev/null 2>&1`" || exit 77 + + +mkdir foo +genfile --file foo/file1 +genfile --file foo/file2 +mkdir foo/bar +genfile --file foo/bar/file + +echo "Creating base archive" +tar -g incr -cf arch.1 -v foo + +mv foo/bar foo/baz + +echo "Creating incremental archive" +tar -g incr -cf arch.2 -v foo + +mv foo old + +tar xfg arch.1 /dev/null + +echo "Begin directory listing 1" +find foo | sort +echo "End directory listing 1" + +tar xfg arch.2 /dev/null +echo Begin directory listing 2 +find foo | sort +echo End directory listing 2 +) ) >"$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 * + + +test -z "`sort < /dev/null 2>&1`" || exit 77 + + +mkdir foo +genfile --file foo/file1 +genfile --file foo/file2 +mkdir foo/bar +genfile --file foo/bar/file + +echo "Creating base archive" +tar -g incr -cf arch.1 -v foo + +mv foo/bar foo/baz + +echo "Creating incremental archive" +tar -g incr -cf arch.2 -v foo + +mv foo old + +tar xfg arch.1 /dev/null + +echo "Begin directory listing 1" +find foo | sort +echo "End directory listing 1" + +tar xfg arch.2 /dev/null +echo Begin directory listing 2 +find foo | sort +echo End directory listing 2 +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +echo >>"$at_stderr"; $as_echo "tar: foo: Directory is new +tar: foo/bar: Directory is new +tar: foo/baz: Directory has been renamed from \`foo/bar' +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Creating base archive +foo/ +foo/bar/ +foo/file1 +foo/file2 +foo/bar/file +Creating incremental archive +foo/ +foo/baz/ +Begin directory listing 1 +foo +foo/bar +foo/bar/file +foo/file1 +foo/file2 +End directory listing 1 +Begin directory listing 2 +foo +foo/baz +foo/baz/file +foo/file1 +foo/file2 +End directory listing 2 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/rename01.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_47 +#AT_START_48 +# 48. 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_xfail=no + test -f $XFAILFILE && at_xfail=yes +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "48. rename02.at:24: testing ..." + $at_traceon + + + + + + { $at_traceoff +$as_echo "$at_srcdir/rename02.at:27: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H gnu\" +export TAR_OPTIONS +rm -rf * + + +test -z "`sort < /dev/null 2>&1`" || exit 77 + +mkdir foo +genfile --file foo/file1 +genfile --file foo/file2 +mkdir foo/bar +genfile --file foo/bar/file.r +mkdir foo/bar/baz +genfile --file foo/bar/baz/file.z + +sleep 1 + +echo \"Creating base archive\" +tar -g incr -cf arch.1 -v foo + +mv foo/bar/baz foo + +echo \"Creating incremental archive\" +tar -g incr -cf arch.2 -v foo + +mv foo old + +tar xfg arch.1 /dev/null 2>tmperr +sort tmperr >&2 + +echo \"Begin directory listing 1\" +find foo | sort +echo \"End directory listing 1\" + +tar xfgv arch.2 /dev/null +echo Begin directory listing 2 +find foo | sort +echo End directory listing 2 +)" +echo rename02.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 * + + +test -z "`sort < /dev/null 2>&1`" || exit 77 + +mkdir foo +genfile --file foo/file1 +genfile --file foo/file2 +mkdir foo/bar +genfile --file foo/bar/file.r +mkdir foo/bar/baz +genfile --file foo/bar/baz/file.z + +sleep 1 + +echo "Creating base archive" +tar -g incr -cf arch.1 -v foo + +mv foo/bar/baz foo + +echo "Creating incremental archive" +tar -g incr -cf arch.2 -v foo + +mv foo old + +tar xfg arch.1 /dev/null 2>tmperr +sort tmperr >&2 + +echo "Begin directory listing 1" +find foo | sort +echo "End directory listing 1" + +tar xfgv arch.2 /dev/null +echo Begin directory listing 2 +find foo | sort +echo End directory listing 2 +) ) >"$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 * + + +test -z "`sort < /dev/null 2>&1`" || exit 77 + +mkdir foo +genfile --file foo/file1 +genfile --file foo/file2 +mkdir foo/bar +genfile --file foo/bar/file.r +mkdir foo/bar/baz +genfile --file foo/bar/baz/file.z + +sleep 1 + +echo "Creating base archive" +tar -g incr -cf arch.1 -v foo + +mv foo/bar/baz foo + +echo "Creating incremental archive" +tar -g incr -cf arch.2 -v foo + +mv foo old + +tar xfg arch.1 /dev/null 2>tmperr +sort tmperr >&2 + +echo "Begin directory listing 1" +find foo | sort +echo "End directory listing 1" + +tar xfgv arch.2 /dev/null +echo Begin directory listing 2 +find foo | sort +echo End directory listing 2 +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +echo >>"$at_stderr"; $as_echo "tar: foo: Directory is new +tar: foo/bar: Directory is new +tar: foo/bar/baz: Directory is new +tar: foo/baz: Directory has been renamed from \`foo/bar/baz' +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Creating base archive +foo/ +foo/bar/ +foo/bar/baz/ +foo/file1 +foo/file2 +foo/bar/file.r +foo/bar/baz/file.z +Creating incremental archive +foo/ +foo/bar/ +foo/baz/ +Begin directory listing 1 +foo +foo/bar +foo/bar/baz +foo/bar/baz/file.z +foo/bar/file.r +foo/file1 +foo/file2 +End directory listing 1 +foo/ +foo/bar/ +foo/baz/ +Begin directory listing 2 +foo +foo/bar +foo/bar/file.r +foo/baz +foo/baz/file.z +foo/file1 +foo/file2 +End directory listing 2 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/rename02.at:27" + +$at_failed && at_func_log_failure +$at_traceon; } + + { $at_traceoff +$as_echo "$at_srcdir/rename02.at:27: +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H oldgnu\" +export TAR_OPTIONS +rm -rf * + + +test -z "`sort < /dev/null 2>&1`" || exit 77 + +mkdir foo +genfile --file foo/file1 +genfile --file foo/file2 +mkdir foo/bar +genfile --file foo/bar/file.r +mkdir foo/bar/baz +genfile --file foo/bar/baz/file.z + +sleep 1 + +echo \"Creating base archive\" +tar -g incr -cf arch.1 -v foo + +mv foo/bar/baz foo + +echo \"Creating incremental archive\" +tar -g incr -cf arch.2 -v foo + +mv foo old + +tar xfg arch.1 /dev/null 2>tmperr +sort tmperr >&2 + +echo \"Begin directory listing 1\" +find foo | sort +echo \"End directory listing 1\" + +tar xfgv arch.2 /dev/null +echo Begin directory listing 2 +find foo | sort +echo End directory listing 2 +)" +echo rename02.at:27 >"$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 * + + +test -z "`sort < /dev/null 2>&1`" || exit 77 + +mkdir foo +genfile --file foo/file1 +genfile --file foo/file2 +mkdir foo/bar +genfile --file foo/bar/file.r +mkdir foo/bar/baz +genfile --file foo/bar/baz/file.z + +sleep 1 + +echo "Creating base archive" +tar -g incr -cf arch.1 -v foo + +mv foo/bar/baz foo + +echo "Creating incremental archive" +tar -g incr -cf arch.2 -v foo + +mv foo old + +tar xfg arch.1 /dev/null 2>tmperr +sort tmperr >&2 + +echo "Begin directory listing 1" +find foo | sort +echo "End directory listing 1" + +tar xfgv arch.2 /dev/null +echo Begin directory listing 2 +find foo | sort +echo End directory listing 2 +) ) >"$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 * + + +test -z "`sort < /dev/null 2>&1`" || exit 77 + +mkdir foo +genfile --file foo/file1 +genfile --file foo/file2 +mkdir foo/bar +genfile --file foo/bar/file.r +mkdir foo/bar/baz +genfile --file foo/bar/baz/file.z + +sleep 1 + +echo "Creating base archive" +tar -g incr -cf arch.1 -v foo + +mv foo/bar/baz foo + +echo "Creating incremental archive" +tar -g incr -cf arch.2 -v foo + +mv foo old + +tar xfg arch.1 /dev/null 2>tmperr +sort tmperr >&2 + +echo "Begin directory listing 1" +find foo | sort +echo "End directory listing 1" + +tar xfgv arch.2 /dev/null +echo Begin directory listing 2 +find foo | sort +echo End directory listing 2 +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +echo >>"$at_stderr"; $as_echo "tar: foo: Directory is new +tar: foo/bar: Directory is new +tar: foo/bar/baz: Directory is new +tar: foo/baz: Directory has been renamed from \`foo/bar/baz' +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Creating base archive +foo/ +foo/bar/ +foo/bar/baz/ +foo/file1 +foo/file2 +foo/bar/file.r +foo/bar/baz/file.z +Creating incremental archive +foo/ +foo/bar/ +foo/baz/ +Begin directory listing 1 +foo +foo/bar +foo/bar/baz +foo/bar/baz/file.z +foo/bar/file.r +foo/file1 +foo/file2 +End directory listing 1 +foo/ +foo/bar/ +foo/baz/ +Begin directory listing 2 +foo +foo/bar +foo/bar/file.r +foo/baz +foo/baz/file.z +foo/file1 +foo/file2 +End directory listing 2 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/rename02.at:27" + +$at_failed && at_func_log_failure +$at_traceon; } + + { $at_traceoff +$as_echo "$at_srcdir/rename02.at:27: +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H posix\" +export TAR_OPTIONS +rm -rf * + + +test -z "`sort < /dev/null 2>&1`" || exit 77 + +mkdir foo +genfile --file foo/file1 +genfile --file foo/file2 +mkdir foo/bar +genfile --file foo/bar/file.r +mkdir foo/bar/baz +genfile --file foo/bar/baz/file.z + +sleep 1 + +echo \"Creating base archive\" +tar -g incr -cf arch.1 -v foo + +mv foo/bar/baz foo + +echo \"Creating incremental archive\" +tar -g incr -cf arch.2 -v foo + +mv foo old + +tar xfg arch.1 /dev/null 2>tmperr +sort tmperr >&2 + +echo \"Begin directory listing 1\" +find foo | sort +echo \"End directory listing 1\" + +tar xfgv arch.2 /dev/null +echo Begin directory listing 2 +find foo | sort +echo End directory listing 2 +)" +echo rename02.at:27 >"$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 * + + +test -z "`sort < /dev/null 2>&1`" || exit 77 + +mkdir foo +genfile --file foo/file1 +genfile --file foo/file2 +mkdir foo/bar +genfile --file foo/bar/file.r +mkdir foo/bar/baz +genfile --file foo/bar/baz/file.z + +sleep 1 + +echo "Creating base archive" +tar -g incr -cf arch.1 -v foo + +mv foo/bar/baz foo + +echo "Creating incremental archive" +tar -g incr -cf arch.2 -v foo + +mv foo old -install-sh -d a/b >/dev/null || exit 77 -awk 'BEGIN { - for (i=1;i<=142;i++) - printf("a/b/one_31_chars_long_file_name_%03d\n", i); - }' < /dev/null | genfile --files-from - +tar xfg arch.1 /dev/null 2>tmperr +sort tmperr >&2 -sleep 1 +echo "Begin directory listing 1" +find foo | sort +echo "End directory listing 1" -echo "Initial dump" -tar cvf a0.tar -g a.sna a -mv a/b a/c -echo "Incremental dump" -tar cvf a1.tar -g a.sna a +tar xfgv arch.2 /dev/null +echo Begin directory listing 2 +find foo | sort +echo End directory listing 2 ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -14224,217 +21304,115 @@ export TAR_OPTIONS rm -rf * -install-sh -d a/b >/dev/null || exit 77 -awk 'BEGIN { - for (i=1;i<=142;i++) - printf("a/b/one_31_chars_long_file_name_%03d\n", i); - }' < /dev/null | genfile --files-from - +test -z "`sort < /dev/null 2>&1`" || exit 77 + +mkdir foo +genfile --file foo/file1 +genfile --file foo/file2 +mkdir foo/bar +genfile --file foo/bar/file.r +mkdir foo/bar/baz +genfile --file foo/bar/baz/file.z sleep 1 -echo "Initial dump" -tar cvf a0.tar -g a.sna a -mv a/b a/c -echo "Incremental dump" -tar cvf a1.tar -g a.sna a -) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? -fi +echo "Creating base archive" +tar -g incr -cf arch.1 -v foo -at_failed=false -echo >>"$at_stderr"; echo "tar: a/b: Directory is new -tar: a/c: Directory has been renamed from \`a/b' -" | $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "Initial dump -a/ -a/b/ -a/b/one_31_chars_long_file_name_001 -a/b/one_31_chars_long_file_name_002 -a/b/one_31_chars_long_file_name_003 -a/b/one_31_chars_long_file_name_004 -a/b/one_31_chars_long_file_name_005 -a/b/one_31_chars_long_file_name_006 -a/b/one_31_chars_long_file_name_007 -a/b/one_31_chars_long_file_name_008 -a/b/one_31_chars_long_file_name_009 -a/b/one_31_chars_long_file_name_010 -a/b/one_31_chars_long_file_name_011 -a/b/one_31_chars_long_file_name_012 -a/b/one_31_chars_long_file_name_013 -a/b/one_31_chars_long_file_name_014 -a/b/one_31_chars_long_file_name_015 -a/b/one_31_chars_long_file_name_016 -a/b/one_31_chars_long_file_name_017 -a/b/one_31_chars_long_file_name_018 -a/b/one_31_chars_long_file_name_019 -a/b/one_31_chars_long_file_name_020 -a/b/one_31_chars_long_file_name_021 -a/b/one_31_chars_long_file_name_022 -a/b/one_31_chars_long_file_name_023 -a/b/one_31_chars_long_file_name_024 -a/b/one_31_chars_long_file_name_025 -a/b/one_31_chars_long_file_name_026 -a/b/one_31_chars_long_file_name_027 -a/b/one_31_chars_long_file_name_028 -a/b/one_31_chars_long_file_name_029 -a/b/one_31_chars_long_file_name_030 -a/b/one_31_chars_long_file_name_031 -a/b/one_31_chars_long_file_name_032 -a/b/one_31_chars_long_file_name_033 -a/b/one_31_chars_long_file_name_034 -a/b/one_31_chars_long_file_name_035 -a/b/one_31_chars_long_file_name_036 -a/b/one_31_chars_long_file_name_037 -a/b/one_31_chars_long_file_name_038 -a/b/one_31_chars_long_file_name_039 -a/b/one_31_chars_long_file_name_040 -a/b/one_31_chars_long_file_name_041 -a/b/one_31_chars_long_file_name_042 -a/b/one_31_chars_long_file_name_043 -a/b/one_31_chars_long_file_name_044 -a/b/one_31_chars_long_file_name_045 -a/b/one_31_chars_long_file_name_046 -a/b/one_31_chars_long_file_name_047 -a/b/one_31_chars_long_file_name_048 -a/b/one_31_chars_long_file_name_049 -a/b/one_31_chars_long_file_name_050 -a/b/one_31_chars_long_file_name_051 -a/b/one_31_chars_long_file_name_052 -a/b/one_31_chars_long_file_name_053 -a/b/one_31_chars_long_file_name_054 -a/b/one_31_chars_long_file_name_055 -a/b/one_31_chars_long_file_name_056 -a/b/one_31_chars_long_file_name_057 -a/b/one_31_chars_long_file_name_058 -a/b/one_31_chars_long_file_name_059 -a/b/one_31_chars_long_file_name_060 -a/b/one_31_chars_long_file_name_061 -a/b/one_31_chars_long_file_name_062 -a/b/one_31_chars_long_file_name_063 -a/b/one_31_chars_long_file_name_064 -a/b/one_31_chars_long_file_name_065 -a/b/one_31_chars_long_file_name_066 -a/b/one_31_chars_long_file_name_067 -a/b/one_31_chars_long_file_name_068 -a/b/one_31_chars_long_file_name_069 -a/b/one_31_chars_long_file_name_070 -a/b/one_31_chars_long_file_name_071 -a/b/one_31_chars_long_file_name_072 -a/b/one_31_chars_long_file_name_073 -a/b/one_31_chars_long_file_name_074 -a/b/one_31_chars_long_file_name_075 -a/b/one_31_chars_long_file_name_076 -a/b/one_31_chars_long_file_name_077 -a/b/one_31_chars_long_file_name_078 -a/b/one_31_chars_long_file_name_079 -a/b/one_31_chars_long_file_name_080 -a/b/one_31_chars_long_file_name_081 -a/b/one_31_chars_long_file_name_082 -a/b/one_31_chars_long_file_name_083 -a/b/one_31_chars_long_file_name_084 -a/b/one_31_chars_long_file_name_085 -a/b/one_31_chars_long_file_name_086 -a/b/one_31_chars_long_file_name_087 -a/b/one_31_chars_long_file_name_088 -a/b/one_31_chars_long_file_name_089 -a/b/one_31_chars_long_file_name_090 -a/b/one_31_chars_long_file_name_091 -a/b/one_31_chars_long_file_name_092 -a/b/one_31_chars_long_file_name_093 -a/b/one_31_chars_long_file_name_094 -a/b/one_31_chars_long_file_name_095 -a/b/one_31_chars_long_file_name_096 -a/b/one_31_chars_long_file_name_097 -a/b/one_31_chars_long_file_name_098 -a/b/one_31_chars_long_file_name_099 -a/b/one_31_chars_long_file_name_100 -a/b/one_31_chars_long_file_name_101 -a/b/one_31_chars_long_file_name_102 -a/b/one_31_chars_long_file_name_103 -a/b/one_31_chars_long_file_name_104 -a/b/one_31_chars_long_file_name_105 -a/b/one_31_chars_long_file_name_106 -a/b/one_31_chars_long_file_name_107 -a/b/one_31_chars_long_file_name_108 -a/b/one_31_chars_long_file_name_109 -a/b/one_31_chars_long_file_name_110 -a/b/one_31_chars_long_file_name_111 -a/b/one_31_chars_long_file_name_112 -a/b/one_31_chars_long_file_name_113 -a/b/one_31_chars_long_file_name_114 -a/b/one_31_chars_long_file_name_115 -a/b/one_31_chars_long_file_name_116 -a/b/one_31_chars_long_file_name_117 -a/b/one_31_chars_long_file_name_118 -a/b/one_31_chars_long_file_name_119 -a/b/one_31_chars_long_file_name_120 -a/b/one_31_chars_long_file_name_121 -a/b/one_31_chars_long_file_name_122 -a/b/one_31_chars_long_file_name_123 -a/b/one_31_chars_long_file_name_124 -a/b/one_31_chars_long_file_name_125 -a/b/one_31_chars_long_file_name_126 -a/b/one_31_chars_long_file_name_127 -a/b/one_31_chars_long_file_name_128 -a/b/one_31_chars_long_file_name_129 -a/b/one_31_chars_long_file_name_130 -a/b/one_31_chars_long_file_name_131 -a/b/one_31_chars_long_file_name_132 -a/b/one_31_chars_long_file_name_133 -a/b/one_31_chars_long_file_name_134 -a/b/one_31_chars_long_file_name_135 -a/b/one_31_chars_long_file_name_136 -a/b/one_31_chars_long_file_name_137 -a/b/one_31_chars_long_file_name_138 -a/b/one_31_chars_long_file_name_139 -a/b/one_31_chars_long_file_name_140 -a/b/one_31_chars_long_file_name_141 -a/b/one_31_chars_long_file_name_142 -Incremental dump -a/ -a/c/ -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/incr04.at:34: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +mv foo/bar/baz foo + +echo "Creating incremental archive" +tar -g incr -cf arch.2 -v foo +mv foo old - echo 1 > "$at_status_file" - exit 1 -fi +tar xfg arch.1 /dev/null 2>tmperr +sort tmperr >&2 + +echo "Begin directory listing 1" +find foo | sort +echo "End directory listing 1" -$at_traceon +tar xfgv arch.2 /dev/null +echo Begin directory listing 2 +find foo | sort +echo End directory listing 2 +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +echo >>"$at_stderr"; $as_echo "tar: foo: Directory is new +tar: foo/bar: Directory is new +tar: foo/bar/baz: Directory is new +tar: foo/baz: Directory has been renamed from \`foo/bar/baz' +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Creating base archive +foo/ +foo/bar/ +foo/bar/baz/ +foo/file1 +foo/file2 +foo/bar/file.r +foo/bar/baz/file.z +Creating incremental archive +foo/ +foo/bar/ +foo/baz/ +Begin directory listing 1 +foo +foo/bar +foo/bar/baz +foo/bar/baz/file.z +foo/bar/file.r +foo/file1 +foo/file2 +End directory listing 1 +foo/ +foo/bar/ +foo/baz/ +Begin directory listing 2 +foo +foo/bar +foo/bar/file.r +foo/baz +foo/baz/file.z +foo/file1 +foo/file2 +End directory listing 2 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/rename02.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"` - ;; - 33 ) # 33. rename01.at:24: renamed dirs in incrementals - at_setup_line='rename01.at:24' - at_desc="renamed dirs in incrementals" - $at_quiet $ECHO_N " 33: renamed dirs in incrementals $ECHO_C" - at_xfail=no + $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. rename03.at:23: cyclic renames +at_setup_line='rename03.at:23' +at_desc="cyclic renames" +$at_quiet $as_echo_n " 49: $at_desc " +at_xfail=no test -f $XFAILFILE && at_xfail=yes - echo "# -*- compilation -*-" >> "$at_group_log" - ( - echo "33. rename01.at:24: testing ..." - $at_traceon +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "49. rename03.at:23: testing ..." + $at_traceon - $at_traceoff -echo "$at_srcdir/rename01.at:27: + { $at_traceoff +$as_echo "$at_srcdir/rename03.at:26: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -14450,18 +21428,34 @@ test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir foo genfile --file foo/file1 genfile --file foo/file2 -mkdir foo/bar -genfile --file foo/bar/file -echo \"Creating base archive\" -tar -g incr -cf arch.1 -v foo +mkdir foo/a +genfile --file foo/a/filea -mv foo/bar foo/baz +mkdir foo/b +genfile --file foo/b/fileb -echo \"Creating incremental archive\" -tar -g incr -cf arch.2 -v foo +mkdir foo/c +genfile --file foo/c/filec -mv foo old +sleep 1 + +echo \"First dump\" +echo \"First dump\">&2 +tar -g incr -cf arch.1 -v foo 2>tmperr +sort tmperr >&2 + +# Shuffle directories: +(cd foo +mv a \$\$ +mv c a +mv b c +mv \$\$ b) + +echo \"Second dump\" +echo \"Second dump\" >&2 +tar -g incr -cf arch.2 -v foo 2>tmperr +sort tmperr >&2 tar xfg arch.1 /dev/null @@ -14469,20 +21463,16 @@ echo \"Begin directory listing 1\" find foo | sort echo \"End directory listing 1\" -tar xfg arch.2 /dev/null +tar xfgv arch.2 /dev/null echo Begin directory listing 2 find foo | sort echo End directory listing 2 )" -echo rename01.at:27 >"$at_check_line_file" - -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +echo rename03.at:26 >"$at_check_line_file" -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -14498,18 +21488,34 @@ test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir foo genfile --file foo/file1 genfile --file foo/file2 -mkdir foo/bar -genfile --file foo/bar/file -echo "Creating base archive" -tar -g incr -cf arch.1 -v foo +mkdir foo/a +genfile --file foo/a/filea -mv foo/bar foo/baz +mkdir foo/b +genfile --file foo/b/fileb -echo "Creating incremental archive" -tar -g incr -cf arch.2 -v foo +mkdir foo/c +genfile --file foo/c/filec -mv foo old +sleep 1 + +echo "First dump" +echo "First dump">&2 +tar -g incr -cf arch.1 -v foo 2>tmperr +sort tmperr >&2 + +# Shuffle directories: +(cd foo +mv a $$ +mv c a +mv b c +mv $$ b) + +echo "Second dump" +echo "Second dump" >&2 +tar -g incr -cf arch.2 -v foo 2>tmperr +sort tmperr >&2 tar xfg arch.1 /dev/null @@ -14517,16 +21523,14 @@ echo "Begin directory listing 1" find foo | sort echo "End directory listing 1" -tar xfg arch.2 /dev/null +tar xfgv arch.2 /dev/null echo Begin directory listing 2 find foo | sort echo End directory listing 2 ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -14542,18 +21546,34 @@ test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir foo genfile --file foo/file1 genfile --file foo/file2 -mkdir foo/bar -genfile --file foo/bar/file -echo "Creating base archive" -tar -g incr -cf arch.1 -v foo +mkdir foo/a +genfile --file foo/a/filea -mv foo/bar foo/baz +mkdir foo/b +genfile --file foo/b/fileb -echo "Creating incremental archive" -tar -g incr -cf arch.2 -v foo +mkdir foo/c +genfile --file foo/c/filec -mv foo old +sleep 1 + +echo "First dump" +echo "First dump">&2 +tar -g incr -cf arch.1 -v foo 2>tmperr +sort tmperr >&2 + +# Shuffle directories: +(cd foo +mv a $$ +mv c a +mv b c +mv $$ b) + +echo "Second dump" +echo "Second dump" >&2 +tar -g incr -cf arch.2 -v foo 2>tmperr +sort tmperr >&2 tar xfg arch.1 /dev/null @@ -14561,59 +21581,75 @@ echo "Begin directory listing 1" find foo | sort echo "End directory listing 1" -tar xfg arch.2 /dev/null +tar xfgv arch.2 /dev/null echo Begin directory listing 2 find foo | sort echo End directory listing 2 ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -echo >>"$at_stderr"; echo "tar: foo/bar: Directory is new -tar: foo/baz: Directory has been renamed from \`foo/bar' -" | $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "Creating base archive +echo >>"$at_stderr"; $as_echo "First dump +tar: foo/a: Directory is new +tar: foo/b: Directory is new +tar: foo/c: Directory is new +tar: foo: Directory is new +Second dump +tar: foo/a: Directory has been renamed from \`foo/c' +tar: foo/b: Directory has been renamed from \`foo/a' +tar: foo/c: Directory has been renamed from \`foo/b' +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "First dump foo/ -foo/bar/ +foo/a/ +foo/b/ +foo/c/ foo/file1 foo/file2 -foo/bar/file -Creating incremental archive +foo/a/filea +foo/b/fileb +foo/c/filec +Second dump foo/ -foo/baz/ +foo/a/ +foo/b/ +foo/c/ Begin directory listing 1 foo -foo/bar -foo/bar/file +foo/a +foo/a/filea +foo/b +foo/b/fileb +foo/c +foo/c/filec foo/file1 foo/file2 End directory listing 1 +foo/ +foo/a/ +foo/b/ +foo/c/ Begin directory listing 2 foo -foo/baz -foo/baz/file +foo/a +foo/a/filec +foo/b +foo/b/filea +foo/c +foo/c/fileb foo/file1 foo/file2 End directory listing 2 -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/rename01.at:27: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/rename03.at:26" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/rename01.at:27: + { $at_traceoff +$as_echo "$at_srcdir/rename03.at:26: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -14629,18 +21665,34 @@ test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir foo genfile --file foo/file1 genfile --file foo/file2 -mkdir foo/bar -genfile --file foo/bar/file -echo \"Creating base archive\" -tar -g incr -cf arch.1 -v foo +mkdir foo/a +genfile --file foo/a/filea -mv foo/bar foo/baz +mkdir foo/b +genfile --file foo/b/fileb -echo \"Creating incremental archive\" -tar -g incr -cf arch.2 -v foo +mkdir foo/c +genfile --file foo/c/filec -mv foo old +sleep 1 + +echo \"First dump\" +echo \"First dump\">&2 +tar -g incr -cf arch.1 -v foo 2>tmperr +sort tmperr >&2 + +# Shuffle directories: +(cd foo +mv a \$\$ +mv c a +mv b c +mv \$\$ b) + +echo \"Second dump\" +echo \"Second dump\" >&2 +tar -g incr -cf arch.2 -v foo 2>tmperr +sort tmperr >&2 tar xfg arch.1 /dev/null @@ -14648,20 +21700,16 @@ echo \"Begin directory listing 1\" find foo | sort echo \"End directory listing 1\" -tar xfg arch.2 /dev/null +tar xfgv arch.2 /dev/null echo Begin directory listing 2 find foo | sort echo End directory listing 2 )" -echo rename01.at:27 >"$at_check_line_file" - -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +echo rename03.at:26 >"$at_check_line_file" -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -14677,18 +21725,34 @@ test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir foo genfile --file foo/file1 genfile --file foo/file2 -mkdir foo/bar -genfile --file foo/bar/file -echo "Creating base archive" -tar -g incr -cf arch.1 -v foo +mkdir foo/a +genfile --file foo/a/filea -mv foo/bar foo/baz +mkdir foo/b +genfile --file foo/b/fileb -echo "Creating incremental archive" -tar -g incr -cf arch.2 -v foo +mkdir foo/c +genfile --file foo/c/filec -mv foo old +sleep 1 + +echo "First dump" +echo "First dump">&2 +tar -g incr -cf arch.1 -v foo 2>tmperr +sort tmperr >&2 + +# Shuffle directories: +(cd foo +mv a $$ +mv c a +mv b c +mv $$ b) + +echo "Second dump" +echo "Second dump" >&2 +tar -g incr -cf arch.2 -v foo 2>tmperr +sort tmperr >&2 tar xfg arch.1 /dev/null @@ -14696,16 +21760,14 @@ echo "Begin directory listing 1" find foo | sort echo "End directory listing 1" -tar xfg arch.2 /dev/null +tar xfgv arch.2 /dev/null echo Begin directory listing 2 find foo | sort echo End directory listing 2 ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -14721,18 +21783,34 @@ test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir foo genfile --file foo/file1 genfile --file foo/file2 -mkdir foo/bar -genfile --file foo/bar/file -echo "Creating base archive" -tar -g incr -cf arch.1 -v foo +mkdir foo/a +genfile --file foo/a/filea -mv foo/bar foo/baz +mkdir foo/b +genfile --file foo/b/fileb -echo "Creating incremental archive" -tar -g incr -cf arch.2 -v foo +mkdir foo/c +genfile --file foo/c/filec + +sleep 1 + +echo "First dump" +echo "First dump">&2 +tar -g incr -cf arch.1 -v foo 2>tmperr +sort tmperr >&2 + +# Shuffle directories: +(cd foo +mv a $$ +mv c a +mv b c +mv $$ b) -mv foo old +echo "Second dump" +echo "Second dump" >&2 +tar -g incr -cf arch.2 -v foo 2>tmperr +sort tmperr >&2 tar xfg arch.1 /dev/null @@ -14740,59 +21818,75 @@ echo "Begin directory listing 1" find foo | sort echo "End directory listing 1" -tar xfg arch.2 /dev/null +tar xfgv arch.2 /dev/null echo Begin directory listing 2 find foo | sort echo End directory listing 2 ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -echo >>"$at_stderr"; echo "tar: foo/bar: Directory is new -tar: foo/baz: Directory has been renamed from \`foo/bar' -" | $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "Creating base archive +echo >>"$at_stderr"; $as_echo "First dump +tar: foo/a: Directory is new +tar: foo/b: Directory is new +tar: foo/c: Directory is new +tar: foo: Directory is new +Second dump +tar: foo/a: Directory has been renamed from \`foo/c' +tar: foo/b: Directory has been renamed from \`foo/a' +tar: foo/c: Directory has been renamed from \`foo/b' +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "First dump foo/ -foo/bar/ +foo/a/ +foo/b/ +foo/c/ foo/file1 foo/file2 -foo/bar/file -Creating incremental archive +foo/a/filea +foo/b/fileb +foo/c/filec +Second dump foo/ -foo/baz/ +foo/a/ +foo/b/ +foo/c/ Begin directory listing 1 foo -foo/bar -foo/bar/file +foo/a +foo/a/filea +foo/b +foo/b/fileb +foo/c +foo/c/filec foo/file1 foo/file2 End directory listing 1 +foo/ +foo/a/ +foo/b/ +foo/c/ Begin directory listing 2 foo -foo/baz -foo/baz/file +foo/a +foo/a/filec +foo/b +foo/b/filea +foo/c +foo/c/fileb foo/file1 foo/file2 End directory listing 2 -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/rename01.at:27: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/rename03.at:26" - echo 1 > "$at_status_file" - exit 1 -fi - -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/rename01.at:27: + { $at_traceoff +$as_echo "$at_srcdir/rename03.at:26: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -14808,18 +21902,34 @@ test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir foo genfile --file foo/file1 genfile --file foo/file2 -mkdir foo/bar -genfile --file foo/bar/file -echo \"Creating base archive\" -tar -g incr -cf arch.1 -v foo +mkdir foo/a +genfile --file foo/a/filea -mv foo/bar foo/baz +mkdir foo/b +genfile --file foo/b/fileb -echo \"Creating incremental archive\" -tar -g incr -cf arch.2 -v foo +mkdir foo/c +genfile --file foo/c/filec -mv foo old +sleep 1 + +echo \"First dump\" +echo \"First dump\">&2 +tar -g incr -cf arch.1 -v foo 2>tmperr +sort tmperr >&2 + +# Shuffle directories: +(cd foo +mv a \$\$ +mv c a +mv b c +mv \$\$ b) + +echo \"Second dump\" +echo \"Second dump\" >&2 +tar -g incr -cf arch.2 -v foo 2>tmperr +sort tmperr >&2 tar xfg arch.1 /dev/null @@ -14827,20 +21937,16 @@ echo \"Begin directory listing 1\" find foo | sort echo \"End directory listing 1\" -tar xfg arch.2 /dev/null +tar xfgv arch.2 /dev/null echo Begin directory listing 2 find foo | sort echo End directory listing 2 )" -echo rename01.at:27 >"$at_check_line_file" - -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +echo rename03.at:26 >"$at_check_line_file" -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -14856,18 +21962,34 @@ test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir foo genfile --file foo/file1 genfile --file foo/file2 -mkdir foo/bar -genfile --file foo/bar/file -echo "Creating base archive" -tar -g incr -cf arch.1 -v foo +mkdir foo/a +genfile --file foo/a/filea -mv foo/bar foo/baz +mkdir foo/b +genfile --file foo/b/fileb -echo "Creating incremental archive" -tar -g incr -cf arch.2 -v foo +mkdir foo/c +genfile --file foo/c/filec -mv foo old +sleep 1 + +echo "First dump" +echo "First dump">&2 +tar -g incr -cf arch.1 -v foo 2>tmperr +sort tmperr >&2 + +# Shuffle directories: +(cd foo +mv a $$ +mv c a +mv b c +mv $$ b) + +echo "Second dump" +echo "Second dump" >&2 +tar -g incr -cf arch.2 -v foo 2>tmperr +sort tmperr >&2 tar xfg arch.1 /dev/null @@ -14875,16 +21997,14 @@ echo "Begin directory listing 1" find foo | sort echo "End directory listing 1" -tar xfg arch.2 /dev/null +tar xfgv arch.2 /dev/null echo Begin directory listing 2 find foo | sort echo End directory listing 2 ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -14900,18 +22020,34 @@ test -z "`sort < /dev/null 2>&1`" || exit 77 mkdir foo genfile --file foo/file1 genfile --file foo/file2 -mkdir foo/bar -genfile --file foo/bar/file -echo "Creating base archive" -tar -g incr -cf arch.1 -v foo +mkdir foo/a +genfile --file foo/a/filea -mv foo/bar foo/baz +mkdir foo/b +genfile --file foo/b/fileb -echo "Creating incremental archive" -tar -g incr -cf arch.2 -v foo +mkdir foo/c +genfile --file foo/c/filec -mv foo old +sleep 1 + +echo "First dump" +echo "First dump">&2 +tar -g incr -cf arch.1 -v foo 2>tmperr +sort tmperr >&2 + +# Shuffle directories: +(cd foo +mv a $$ +mv c a +mv b c +mv $$ b) + +echo "Second dump" +echo "Second dump" >&2 +tar -g incr -cf arch.2 -v foo 2>tmperr +sort tmperr >&2 tar xfg arch.1 /dev/null @@ -14919,83 +22055,99 @@ echo "Begin directory listing 1" find foo | sort echo "End directory listing 1" -tar xfg arch.2 /dev/null +tar xfgv arch.2 /dev/null echo Begin directory listing 2 find foo | sort echo End directory listing 2 ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -echo >>"$at_stderr"; echo "tar: foo/bar: Directory is new -tar: foo/baz: Directory has been renamed from \`foo/bar' -" | $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "Creating base archive +echo >>"$at_stderr"; $as_echo "First dump +tar: foo/a: Directory is new +tar: foo/b: Directory is new +tar: foo/c: Directory is new +tar: foo: Directory is new +Second dump +tar: foo/a: Directory has been renamed from \`foo/c' +tar: foo/b: Directory has been renamed from \`foo/a' +tar: foo/c: Directory has been renamed from \`foo/b' +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "First dump foo/ -foo/bar/ +foo/a/ +foo/b/ +foo/c/ foo/file1 foo/file2 -foo/bar/file -Creating incremental archive +foo/a/filea +foo/b/fileb +foo/c/filec +Second dump foo/ -foo/baz/ +foo/a/ +foo/b/ +foo/c/ Begin directory listing 1 foo -foo/bar -foo/bar/file +foo/a +foo/a/filea +foo/b +foo/b/fileb +foo/c +foo/c/filec foo/file1 foo/file2 End directory listing 1 +foo/ +foo/a/ +foo/b/ +foo/c/ Begin directory listing 2 foo -foo/baz -foo/baz/file +foo/a +foo/a/filec +foo/b +foo/b/filea +foo/c +foo/c/fileb foo/file1 foo/file2 End directory listing 2 -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/rename01.at:27: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/rename03.at:26" -$at_traceon +$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"` - ;; - - 34 ) # 34. rename02.at:24: move between hierarchies - at_setup_line='rename02.at:24' - at_desc="move between hierarchies" - $at_quiet $ECHO_N " 34: move between hierarchies $ECHO_C" - at_xfail=no + $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_49 +#AT_START_50 +# 50. 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_xfail=no test -f $XFAILFILE && at_xfail=yes - echo "# -*- compilation -*-" >> "$at_group_log" - ( - echo "34. rename02.at:24: testing ..." - $at_traceon +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "50. rename04.at:27: testing ..." + $at_traceon - $at_traceoff -echo "$at_srcdir/rename02.at:27: + { $at_traceoff +$as_echo "$at_srcdir/rename04.at:30: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -15007,47 +22159,37 @@ rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 -mkdir foo -genfile --file foo/file1 -genfile --file foo/file2 -mkdir foo/bar -genfile --file foo/bar/file.r -mkdir foo/bar/baz -genfile --file foo/bar/baz/file.z - -sleep 1 - -echo \"Creating base archive\" -tar -g incr -cf arch.1 -v foo -mv foo/bar/baz foo +decho Creating directory structure +mkdir directory +mkdir directory/subdir +genfile --file=directory/file -echo \"Creating incremental archive\" -tar -g incr -cf arch.2 -v foo +decho Creating initial archive +tar -cf archive.1 -g db.1 directory -mv foo old +decho Renaming +mv directory dir -tar xfg arch.1 /dev/null 2>tmperr -sort tmperr >&2 +decho Creating incremental archive +cp db.1 db.2 +tar -cf archive.2 -g db.2 dir -echo \"Begin directory listing 1\" -find foo | sort -echo \"End directory listing 1\" +mv dir orig -tar xfgv arch.2 /dev/null -echo Begin directory listing 2 -find foo | sort -echo End directory listing 2 -)" -echo rename02.at:27 >"$at_check_line_file" +decho First restore +tar -xf archive.1 -g db.1 +find directory | sort -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +decho Second restore +tar -xf archive.2 -g db.2 +find dir | sort +)" +echo rename04.at:30 >"$at_check_line_file" -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -15059,43 +22201,35 @@ rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 -mkdir foo -genfile --file foo/file1 -genfile --file foo/file2 -mkdir foo/bar -genfile --file foo/bar/file.r -mkdir foo/bar/baz -genfile --file foo/bar/baz/file.z - -sleep 1 -echo "Creating base archive" -tar -g incr -cf arch.1 -v foo +decho Creating directory structure +mkdir directory +mkdir directory/subdir +genfile --file=directory/file -mv foo/bar/baz foo +decho Creating initial archive +tar -cf archive.1 -g db.1 directory -echo "Creating incremental archive" -tar -g incr -cf arch.2 -v foo +decho Renaming +mv directory dir -mv foo old +decho Creating incremental archive +cp db.1 db.2 +tar -cf archive.2 -g db.2 dir -tar xfg arch.1 /dev/null 2>tmperr -sort tmperr >&2 +mv dir orig -echo "Begin directory listing 1" -find foo | sort -echo "End directory listing 1" +decho First restore +tar -xf archive.1 -g db.1 +find directory | sort -tar xfgv arch.2 /dev/null -echo Begin directory listing 2 -find foo | sort -echo End directory listing 2 +decho Second restore +tar -xf archive.2 -g db.2 +find dir | sort ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -15107,97 +22241,63 @@ rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 -mkdir foo -genfile --file foo/file1 -genfile --file foo/file2 -mkdir foo/bar -genfile --file foo/bar/file.r -mkdir foo/bar/baz -genfile --file foo/bar/baz/file.z - -sleep 1 -echo "Creating base archive" -tar -g incr -cf arch.1 -v foo +decho Creating directory structure +mkdir directory +mkdir directory/subdir +genfile --file=directory/file -mv foo/bar/baz foo +decho Creating initial archive +tar -cf archive.1 -g db.1 directory -echo "Creating incremental archive" -tar -g incr -cf arch.2 -v foo +decho Renaming +mv directory dir -mv foo old +decho Creating incremental archive +cp db.1 db.2 +tar -cf archive.2 -g db.2 dir -tar xfg arch.1 /dev/null 2>tmperr -sort tmperr >&2 +mv dir orig -echo "Begin directory listing 1" -find foo | sort -echo "End directory listing 1" +decho First restore +tar -xf archive.1 -g db.1 +find directory | sort -tar xfgv arch.2 /dev/null -echo Begin directory listing 2 -find foo | sort -echo End directory listing 2 +decho Second restore +tar -xf archive.2 -g db.2 +find dir | sort ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -echo >>"$at_stderr"; echo "tar: foo/bar: Directory is new -tar: foo/bar/baz: Directory is new -tar: foo/baz: Directory has been renamed from \`foo/bar/baz' -" | $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "Creating base archive -foo/ -foo/bar/ -foo/bar/baz/ -foo/file1 -foo/file2 -foo/bar/file.r -foo/bar/baz/file.z +echo >>"$at_stderr"; $as_echo "Creating directory structure +Creating initial archive +Renaming Creating incremental archive -foo/ -foo/bar/ -foo/baz/ -Begin directory listing 1 -foo -foo/bar -foo/bar/baz -foo/bar/baz/file.z -foo/bar/file.r -foo/file1 -foo/file2 -End directory listing 1 -foo/ -foo/bar/ -foo/baz/ -Begin directory listing 2 -foo -foo/bar -foo/bar/file.r -foo/baz -foo/baz/file.z -foo/file1 -foo/file2 -End directory listing 2 -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/rename02.at:27: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi +First restore +Second restore +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Creating directory structure +Creating initial archive +Renaming +Creating incremental archive +First restore +directory +directory/file +directory/subdir +Second restore +dir +dir/subdir +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/rename04.at:30" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/rename02.at:27: + { $at_traceoff +$as_echo "$at_srcdir/rename04.at:30: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -15209,47 +22309,37 @@ rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 -mkdir foo -genfile --file foo/file1 -genfile --file foo/file2 -mkdir foo/bar -genfile --file foo/bar/file.r -mkdir foo/bar/baz -genfile --file foo/bar/baz/file.z - -sleep 1 -echo \"Creating base archive\" -tar -g incr -cf arch.1 -v foo +decho Creating directory structure +mkdir directory +mkdir directory/subdir +genfile --file=directory/file -mv foo/bar/baz foo +decho Creating initial archive +tar -cf archive.1 -g db.1 directory -echo \"Creating incremental archive\" -tar -g incr -cf arch.2 -v foo +decho Renaming +mv directory dir -mv foo old +decho Creating incremental archive +cp db.1 db.2 +tar -cf archive.2 -g db.2 dir -tar xfg arch.1 /dev/null 2>tmperr -sort tmperr >&2 +mv dir orig -echo \"Begin directory listing 1\" -find foo | sort -echo \"End directory listing 1\" +decho First restore +tar -xf archive.1 -g db.1 +find directory | sort -tar xfgv arch.2 /dev/null -echo Begin directory listing 2 -find foo | sort -echo End directory listing 2 +decho Second restore +tar -xf archive.2 -g db.2 +find dir | sort )" -echo rename02.at:27 >"$at_check_line_file" - -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +echo rename04.at:30 >"$at_check_line_file" -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -15261,43 +22351,35 @@ rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 -mkdir foo -genfile --file foo/file1 -genfile --file foo/file2 -mkdir foo/bar -genfile --file foo/bar/file.r -mkdir foo/bar/baz -genfile --file foo/bar/baz/file.z - -sleep 1 -echo "Creating base archive" -tar -g incr -cf arch.1 -v foo +decho Creating directory structure +mkdir directory +mkdir directory/subdir +genfile --file=directory/file -mv foo/bar/baz foo +decho Creating initial archive +tar -cf archive.1 -g db.1 directory -echo "Creating incremental archive" -tar -g incr -cf arch.2 -v foo +decho Renaming +mv directory dir -mv foo old +decho Creating incremental archive +cp db.1 db.2 +tar -cf archive.2 -g db.2 dir -tar xfg arch.1 /dev/null 2>tmperr -sort tmperr >&2 +mv dir orig -echo "Begin directory listing 1" -find foo | sort -echo "End directory listing 1" +decho First restore +tar -xf archive.1 -g db.1 +find directory | sort -tar xfgv arch.2 /dev/null -echo Begin directory listing 2 -find foo | sort -echo End directory listing 2 +decho Second restore +tar -xf archive.2 -g db.2 +find dir | sort ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -15307,99 +22389,65 @@ export TAR_OPTIONS rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 - -mkdir foo -genfile --file foo/file1 -genfile --file foo/file2 -mkdir foo/bar -genfile --file foo/bar/file.r -mkdir foo/bar/baz -genfile --file foo/bar/baz/file.z - -sleep 1 - -echo "Creating base archive" -tar -g incr -cf arch.1 -v foo +test -z "`sort < /dev/null 2>&1`" || exit 77 -mv foo/bar/baz foo -echo "Creating incremental archive" -tar -g incr -cf arch.2 -v foo +decho Creating directory structure +mkdir directory +mkdir directory/subdir +genfile --file=directory/file -mv foo old +decho Creating initial archive +tar -cf archive.1 -g db.1 directory -tar xfg arch.1 /dev/null 2>tmperr -sort tmperr >&2 +decho Renaming +mv directory dir -echo "Begin directory listing 1" -find foo | sort -echo "End directory listing 1" +decho Creating incremental archive +cp db.1 db.2 +tar -cf archive.2 -g db.2 dir -tar xfgv arch.2 /dev/null -echo Begin directory listing 2 -find foo | sort -echo End directory listing 2 +mv dir orig + +decho First restore +tar -xf archive.1 -g db.1 +find directory | sort + +decho Second restore +tar -xf archive.2 -g db.2 +find dir | sort ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -echo >>"$at_stderr"; echo "tar: foo/bar: Directory is new -tar: foo/bar/baz: Directory is new -tar: foo/baz: Directory has been renamed from \`foo/bar/baz' -" | $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "Creating base archive -foo/ -foo/bar/ -foo/bar/baz/ -foo/file1 -foo/file2 -foo/bar/file.r -foo/bar/baz/file.z +echo >>"$at_stderr"; $as_echo "Creating directory structure +Creating initial archive +Renaming Creating incremental archive -foo/ -foo/bar/ -foo/baz/ -Begin directory listing 1 -foo -foo/bar -foo/bar/baz -foo/bar/baz/file.z -foo/bar/file.r -foo/file1 -foo/file2 -End directory listing 1 -foo/ -foo/bar/ -foo/baz/ -Begin directory listing 2 -foo -foo/bar -foo/bar/file.r -foo/baz -foo/baz/file.z -foo/file1 -foo/file2 -End directory listing 2 -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/rename02.at:27: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi +First restore +Second restore +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Creating directory structure +Creating initial archive +Renaming +Creating incremental archive +First restore +directory +directory/file +directory/subdir +Second restore +dir +dir/subdir +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/rename04.at:30" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/rename02.at:27: + { $at_traceoff +$as_echo "$at_srcdir/rename04.at:30: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -15411,47 +22459,37 @@ rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 -mkdir foo -genfile --file foo/file1 -genfile --file foo/file2 -mkdir foo/bar -genfile --file foo/bar/file.r -mkdir foo/bar/baz -genfile --file foo/bar/baz/file.z - -sleep 1 -echo \"Creating base archive\" -tar -g incr -cf arch.1 -v foo +decho Creating directory structure +mkdir directory +mkdir directory/subdir +genfile --file=directory/file -mv foo/bar/baz foo +decho Creating initial archive +tar -cf archive.1 -g db.1 directory -echo \"Creating incremental archive\" -tar -g incr -cf arch.2 -v foo +decho Renaming +mv directory dir -mv foo old +decho Creating incremental archive +cp db.1 db.2 +tar -cf archive.2 -g db.2 dir -tar xfg arch.1 /dev/null 2>tmperr -sort tmperr >&2 +mv dir orig -echo \"Begin directory listing 1\" -find foo | sort -echo \"End directory listing 1\" +decho First restore +tar -xf archive.1 -g db.1 +find directory | sort -tar xfgv arch.2 /dev/null -echo Begin directory listing 2 -find foo | sort -echo End directory listing 2 +decho Second restore +tar -xf archive.2 -g db.2 +find dir | sort )" -echo rename02.at:27 >"$at_check_line_file" - -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +echo rename04.at:30 >"$at_check_line_file" -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -15463,43 +22501,35 @@ rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 -mkdir foo -genfile --file foo/file1 -genfile --file foo/file2 -mkdir foo/bar -genfile --file foo/bar/file.r -mkdir foo/bar/baz -genfile --file foo/bar/baz/file.z - -sleep 1 -echo "Creating base archive" -tar -g incr -cf arch.1 -v foo +decho Creating directory structure +mkdir directory +mkdir directory/subdir +genfile --file=directory/file -mv foo/bar/baz foo +decho Creating initial archive +tar -cf archive.1 -g db.1 directory -echo "Creating incremental archive" -tar -g incr -cf arch.2 -v foo +decho Renaming +mv directory dir -mv foo old +decho Creating incremental archive +cp db.1 db.2 +tar -cf archive.2 -g db.2 dir -tar xfg arch.1 /dev/null 2>tmperr -sort tmperr >&2 +mv dir orig -echo "Begin directory listing 1" -find foo | sort -echo "End directory listing 1" +decho First restore +tar -xf archive.1 -g db.1 +find directory | sort -tar xfgv arch.2 /dev/null -echo Begin directory listing 2 -find foo | sort -echo End directory listing 2 +decho Second restore +tar -xf archive.2 -g db.2 +find dir | sort ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -15511,121 +22541,87 @@ rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 -mkdir foo -genfile --file foo/file1 -genfile --file foo/file2 -mkdir foo/bar -genfile --file foo/bar/file.r -mkdir foo/bar/baz -genfile --file foo/bar/baz/file.z - -sleep 1 - -echo "Creating base archive" -tar -g incr -cf arch.1 -v foo - -mv foo/bar/baz foo - -echo "Creating incremental archive" -tar -g incr -cf arch.2 -v foo - -mv foo old - -tar xfg arch.1 /dev/null 2>tmperr -sort tmperr >&2 - -echo "Begin directory listing 1" -find foo | sort -echo "End directory listing 1" -tar xfgv arch.2 /dev/null -echo Begin directory listing 2 -find foo | sort -echo End directory listing 2 -) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? -fi +decho Creating directory structure +mkdir directory +mkdir directory/subdir +genfile --file=directory/file -at_failed=false -echo >>"$at_stderr"; echo "tar: foo/bar: Directory is new -tar: foo/bar/baz: Directory is new -tar: foo/baz: Directory has been renamed from \`foo/bar/baz' -" | $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "Creating base archive -foo/ -foo/bar/ -foo/bar/baz/ -foo/file1 -foo/file2 -foo/bar/file.r -foo/bar/baz/file.z -Creating incremental archive -foo/ -foo/bar/ -foo/baz/ -Begin directory listing 1 -foo -foo/bar -foo/bar/baz -foo/bar/baz/file.z -foo/bar/file.r -foo/file1 -foo/file2 -End directory listing 1 -foo/ -foo/bar/ -foo/baz/ -Begin directory listing 2 -foo -foo/bar -foo/bar/file.r -foo/baz -foo/baz/file.z -foo/file1 -foo/file2 -End directory listing 2 -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/rename02.at:27: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +decho Creating initial archive +tar -cf archive.1 -g db.1 directory +decho Renaming +mv directory dir - echo 1 > "$at_status_file" - exit 1 -fi +decho Creating incremental archive +cp db.1 db.2 +tar -cf archive.2 -g db.2 dir + +mv dir orig + +decho First restore +tar -xf archive.1 -g db.1 +find directory | sort -$at_traceon +decho Second restore +tar -xf archive.2 -g db.2 +find dir | sort +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +echo >>"$at_stderr"; $as_echo "Creating directory structure +Creating initial archive +Renaming +Creating incremental archive +First restore +Second restore +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Creating directory structure +Creating initial archive +Renaming +Creating incremental archive +First restore +directory +directory/file +directory/subdir +Second restore +dir +dir/subdir +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/rename04.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"` - ;; - 35 ) # 35. rename03.at:23: cyclic renames - at_setup_line='rename03.at:23' - at_desc="cyclic renames" - $at_quiet $ECHO_N " 35: cyclic renames $ECHO_C" - at_xfail=no + $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_50 +#AT_START_51 +# 51. rename05.at:24: renamed subdirectories +at_setup_line='rename05.at:24' +at_desc="renamed subdirectories" +$at_quiet $as_echo_n " 51: $at_desc " +at_xfail=no test -f $XFAILFILE && at_xfail=yes - echo "# -*- compilation -*-" >> "$at_group_log" - ( - echo "35. rename03.at:23: testing ..." - $at_traceon +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "51. rename05.at:24: testing ..." + $at_traceon - $at_traceoff -echo "$at_srcdir/rename03.at:26: + { $at_traceoff +$as_echo "$at_srcdir/rename05.at:27: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -15638,58 +22634,37 @@ rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 -mkdir foo -genfile --file foo/file1 -genfile --file foo/file2 - -mkdir foo/a -genfile --file foo/a/filea - -mkdir foo/b -genfile --file foo/b/fileb - -mkdir foo/c -genfile --file foo/c/filec - -sleep 1 +decho Creating directory structure +mkdir directory +mkdir directory/subdir +genfile --file=directory/file -echo \"First dump\" -echo \"First dump\">&2 -tar -g incr -cf arch.1 -v foo 2>tmperr -sort tmperr >&2 +decho Creating initial archive +tar -cf archive.1 -g db.1 directory -# Shuffle directories: -(cd foo -mv a \$\$ -mv c a -mv b c -mv \$\$ b) +decho Renaming +mv directory/subdir directory/subdir.0 +mv directory dir -echo \"Second dump\" -echo \"Second dump\" >&2 -tar -g incr -cf arch.2 -v foo 2>tmperr -sort tmperr >&2 +decho Creating incremental archive +cp db.1 db.2 +tar -cf archive.2 -g db.2 dir -tar xfg arch.1 /dev/null +mv dir orig -echo \"Begin directory listing 1\" -find foo | sort -echo \"End directory listing 1\" +decho First restore +tar -xf archive.1 -g db.1 +find directory | sort -tar xfgv arch.2 /dev/null -echo Begin directory listing 2 -find foo | sort -echo End directory listing 2 +decho Second restore +tar -xf archive.2 -g db.2 +find dir | sort )" -echo rename03.at:26 >"$at_check_line_file" - -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +echo rename05.at:27 >"$at_check_line_file" -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -15702,54 +22677,35 @@ rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 -mkdir foo -genfile --file foo/file1 -genfile --file foo/file2 - -mkdir foo/a -genfile --file foo/a/filea - -mkdir foo/b -genfile --file foo/b/fileb - -mkdir foo/c -genfile --file foo/c/filec - -sleep 1 +decho Creating directory structure +mkdir directory +mkdir directory/subdir +genfile --file=directory/file -echo "First dump" -echo "First dump">&2 -tar -g incr -cf arch.1 -v foo 2>tmperr -sort tmperr >&2 +decho Creating initial archive +tar -cf archive.1 -g db.1 directory -# Shuffle directories: -(cd foo -mv a $$ -mv c a -mv b c -mv $$ b) +decho Renaming +mv directory/subdir directory/subdir.0 +mv directory dir -echo "Second dump" -echo "Second dump" >&2 -tar -g incr -cf arch.2 -v foo 2>tmperr -sort tmperr >&2 +decho Creating incremental archive +cp db.1 db.2 +tar -cf archive.2 -g db.2 dir -tar xfg arch.1 /dev/null +mv dir orig -echo "Begin directory listing 1" -find foo | sort -echo "End directory listing 1" +decho First restore +tar -xf archive.1 -g db.1 +find directory | sort -tar xfgv arch.2 /dev/null -echo Begin directory listing 2 -find foo | sort -echo End directory listing 2 +decho Second restore +tar -xf archive.2 -g db.2 +find dir | sort ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -15762,121 +22718,63 @@ rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 -mkdir foo -genfile --file foo/file1 -genfile --file foo/file2 - -mkdir foo/a -genfile --file foo/a/filea - -mkdir foo/b -genfile --file foo/b/fileb - -mkdir foo/c -genfile --file foo/c/filec - -sleep 1 - -echo "First dump" -echo "First dump">&2 -tar -g incr -cf arch.1 -v foo 2>tmperr -sort tmperr >&2 - -# Shuffle directories: -(cd foo -mv a $$ -mv c a -mv b c -mv $$ b) - -echo "Second dump" -echo "Second dump" >&2 -tar -g incr -cf arch.2 -v foo 2>tmperr -sort tmperr >&2 - -tar xfg arch.1 /dev/null - -echo "Begin directory listing 1" -find foo | sort -echo "End directory listing 1" - -tar xfgv arch.2 /dev/null -echo Begin directory listing 2 -find foo | sort -echo End directory listing 2 -) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? -fi - -at_failed=false -echo >>"$at_stderr"; echo "First dump -tar: foo/a: Directory is new -tar: foo/b: Directory is new -tar: foo/c: Directory is new -Second dump -tar: foo/a: Directory has been renamed from \`foo/c' -tar: foo/b: Directory has been renamed from \`foo/a' -tar: foo/c: Directory has been renamed from \`foo/b' -" | $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "First dump -foo/ -foo/a/ -foo/b/ -foo/c/ -foo/file1 -foo/file2 -foo/a/filea -foo/b/fileb -foo/c/filec -Second dump -foo/ -foo/a/ -foo/b/ -foo/c/ -Begin directory listing 1 -foo -foo/a -foo/a/filea -foo/b -foo/b/fileb -foo/c -foo/c/filec -foo/file1 -foo/file2 -End directory listing 1 -foo/ -foo/a/ -foo/b/ -foo/c/ -Begin directory listing 2 -foo -foo/a -foo/a/filec -foo/b -foo/b/filea -foo/c -foo/c/fileb -foo/file1 -foo/file2 -End directory listing 2 -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/rename03.at:26: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +decho Creating directory structure +mkdir directory +mkdir directory/subdir +genfile --file=directory/file +decho Creating initial archive +tar -cf archive.1 -g db.1 directory - echo 1 > "$at_status_file" - exit 1 +decho Renaming +mv directory/subdir directory/subdir.0 +mv directory dir + +decho Creating incremental archive +cp db.1 db.2 +tar -cf archive.2 -g db.2 dir + +mv dir orig + +decho First restore +tar -xf archive.1 -g db.1 +find directory | sort + +decho Second restore +tar -xf archive.2 -g db.2 +find dir | sort +) ) >"$at_stdout" 2>"$at_stderr" fi +at_status=$? +at_failed=false +echo >>"$at_stderr"; $as_echo "Creating directory structure +Creating initial archive +Renaming +Creating incremental archive +First restore +Second restore +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Creating directory structure +Creating initial archive +Renaming +Creating incremental archive +First restore +directory +directory/file +directory/subdir +Second restore +dir +dir/subdir.0 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/rename05.at:27" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/rename03.at:26: + { $at_traceoff +$as_echo "$at_srcdir/rename05.at:27: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -15889,58 +22787,37 @@ rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 -mkdir foo -genfile --file foo/file1 -genfile --file foo/file2 - -mkdir foo/a -genfile --file foo/a/filea - -mkdir foo/b -genfile --file foo/b/fileb - -mkdir foo/c -genfile --file foo/c/filec - -sleep 1 +decho Creating directory structure +mkdir directory +mkdir directory/subdir +genfile --file=directory/file -echo \"First dump\" -echo \"First dump\">&2 -tar -g incr -cf arch.1 -v foo 2>tmperr -sort tmperr >&2 +decho Creating initial archive +tar -cf archive.1 -g db.1 directory -# Shuffle directories: -(cd foo -mv a \$\$ -mv c a -mv b c -mv \$\$ b) +decho Renaming +mv directory/subdir directory/subdir.0 +mv directory dir -echo \"Second dump\" -echo \"Second dump\" >&2 -tar -g incr -cf arch.2 -v foo 2>tmperr -sort tmperr >&2 +decho Creating incremental archive +cp db.1 db.2 +tar -cf archive.2 -g db.2 dir -tar xfg arch.1 /dev/null +mv dir orig -echo \"Begin directory listing 1\" -find foo | sort -echo \"End directory listing 1\" +decho First restore +tar -xf archive.1 -g db.1 +find directory | sort -tar xfgv arch.2 /dev/null -echo Begin directory listing 2 -find foo | sort -echo End directory listing 2 +decho Second restore +tar -xf archive.2 -g db.2 +find dir | sort )" -echo rename03.at:26 >"$at_check_line_file" - -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +echo rename05.at:27 >"$at_check_line_file" -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -15953,54 +22830,35 @@ rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 -mkdir foo -genfile --file foo/file1 -genfile --file foo/file2 - -mkdir foo/a -genfile --file foo/a/filea - -mkdir foo/b -genfile --file foo/b/fileb - -mkdir foo/c -genfile --file foo/c/filec - -sleep 1 +decho Creating directory structure +mkdir directory +mkdir directory/subdir +genfile --file=directory/file -echo "First dump" -echo "First dump">&2 -tar -g incr -cf arch.1 -v foo 2>tmperr -sort tmperr >&2 +decho Creating initial archive +tar -cf archive.1 -g db.1 directory -# Shuffle directories: -(cd foo -mv a $$ -mv c a -mv b c -mv $$ b) +decho Renaming +mv directory/subdir directory/subdir.0 +mv directory dir -echo "Second dump" -echo "Second dump" >&2 -tar -g incr -cf arch.2 -v foo 2>tmperr -sort tmperr >&2 +decho Creating incremental archive +cp db.1 db.2 +tar -cf archive.2 -g db.2 dir -tar xfg arch.1 /dev/null +mv dir orig -echo "Begin directory listing 1" -find foo | sort -echo "End directory listing 1" +decho First restore +tar -xf archive.1 -g db.1 +find directory | sort -tar xfgv arch.2 /dev/null -echo Begin directory listing 2 -find foo | sort -echo End directory listing 2 +decho Second restore +tar -xf archive.2 -g db.2 +find dir | sort ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -16013,121 +22871,63 @@ rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 -mkdir foo -genfile --file foo/file1 -genfile --file foo/file2 - -mkdir foo/a -genfile --file foo/a/filea - -mkdir foo/b -genfile --file foo/b/fileb - -mkdir foo/c -genfile --file foo/c/filec - -sleep 1 - -echo "First dump" -echo "First dump">&2 -tar -g incr -cf arch.1 -v foo 2>tmperr -sort tmperr >&2 - -# Shuffle directories: -(cd foo -mv a $$ -mv c a -mv b c -mv $$ b) - -echo "Second dump" -echo "Second dump" >&2 -tar -g incr -cf arch.2 -v foo 2>tmperr -sort tmperr >&2 - -tar xfg arch.1 /dev/null +decho Creating directory structure +mkdir directory +mkdir directory/subdir +genfile --file=directory/file -echo "Begin directory listing 1" -find foo | sort -echo "End directory listing 1" +decho Creating initial archive +tar -cf archive.1 -g db.1 directory -tar xfgv arch.2 /dev/null -echo Begin directory listing 2 -find foo | sort -echo End directory listing 2 -) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? -fi +decho Renaming +mv directory/subdir directory/subdir.0 +mv directory dir -at_failed=false -echo >>"$at_stderr"; echo "First dump -tar: foo/a: Directory is new -tar: foo/b: Directory is new -tar: foo/c: Directory is new -Second dump -tar: foo/a: Directory has been renamed from \`foo/c' -tar: foo/b: Directory has been renamed from \`foo/a' -tar: foo/c: Directory has been renamed from \`foo/b' -" | $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "First dump -foo/ -foo/a/ -foo/b/ -foo/c/ -foo/file1 -foo/file2 -foo/a/filea -foo/b/fileb -foo/c/filec -Second dump -foo/ -foo/a/ -foo/b/ -foo/c/ -Begin directory listing 1 -foo -foo/a -foo/a/filea -foo/b -foo/b/fileb -foo/c -foo/c/filec -foo/file1 -foo/file2 -End directory listing 1 -foo/ -foo/a/ -foo/b/ -foo/c/ -Begin directory listing 2 -foo -foo/a -foo/a/filec -foo/b -foo/b/filea -foo/c -foo/c/fileb -foo/file1 -foo/file2 -End directory listing 2 -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/rename03.at:26: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +decho Creating incremental archive +cp db.1 db.2 +tar -cf archive.2 -g db.2 dir +mv dir orig - echo 1 > "$at_status_file" - exit 1 +decho First restore +tar -xf archive.1 -g db.1 +find directory | sort + +decho Second restore +tar -xf archive.2 -g db.2 +find dir | sort +) ) >"$at_stdout" 2>"$at_stderr" fi +at_status=$? +at_failed=false +echo >>"$at_stderr"; $as_echo "Creating directory structure +Creating initial archive +Renaming +Creating incremental archive +First restore +Second restore +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Creating directory structure +Creating initial archive +Renaming +Creating incremental archive +First restore +directory +directory/file +directory/subdir +Second restore +dir +dir/subdir.0 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/rename05.at:27" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/rename03.at:26: + { $at_traceoff +$as_echo "$at_srcdir/rename05.at:27: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -16140,58 +22940,37 @@ rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 -mkdir foo -genfile --file foo/file1 -genfile --file foo/file2 - -mkdir foo/a -genfile --file foo/a/filea - -mkdir foo/b -genfile --file foo/b/fileb - -mkdir foo/c -genfile --file foo/c/filec - -sleep 1 +decho Creating directory structure +mkdir directory +mkdir directory/subdir +genfile --file=directory/file -echo \"First dump\" -echo \"First dump\">&2 -tar -g incr -cf arch.1 -v foo 2>tmperr -sort tmperr >&2 +decho Creating initial archive +tar -cf archive.1 -g db.1 directory -# Shuffle directories: -(cd foo -mv a \$\$ -mv c a -mv b c -mv \$\$ b) +decho Renaming +mv directory/subdir directory/subdir.0 +mv directory dir -echo \"Second dump\" -echo \"Second dump\" >&2 -tar -g incr -cf arch.2 -v foo 2>tmperr -sort tmperr >&2 +decho Creating incremental archive +cp db.1 db.2 +tar -cf archive.2 -g db.2 dir -tar xfg arch.1 /dev/null +mv dir orig -echo \"Begin directory listing 1\" -find foo | sort -echo \"End directory listing 1\" +decho First restore +tar -xf archive.1 -g db.1 +find directory | sort -tar xfgv arch.2 /dev/null -echo Begin directory listing 2 -find foo | sort -echo End directory listing 2 +decho Second restore +tar -xf archive.2 -g db.2 +find dir | sort )" -echo rename03.at:26 >"$at_check_line_file" - -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +echo rename05.at:27 >"$at_check_line_file" -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -16204,54 +22983,35 @@ rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 -mkdir foo -genfile --file foo/file1 -genfile --file foo/file2 - -mkdir foo/a -genfile --file foo/a/filea - -mkdir foo/b -genfile --file foo/b/fileb - -mkdir foo/c -genfile --file foo/c/filec - -sleep 1 +decho Creating directory structure +mkdir directory +mkdir directory/subdir +genfile --file=directory/file -echo "First dump" -echo "First dump">&2 -tar -g incr -cf arch.1 -v foo 2>tmperr -sort tmperr >&2 +decho Creating initial archive +tar -cf archive.1 -g db.1 directory -# Shuffle directories: -(cd foo -mv a $$ -mv c a -mv b c -mv $$ b) +decho Renaming +mv directory/subdir directory/subdir.0 +mv directory dir -echo "Second dump" -echo "Second dump" >&2 -tar -g incr -cf arch.2 -v foo 2>tmperr -sort tmperr >&2 +decho Creating incremental archive +cp db.1 db.2 +tar -cf archive.2 -g db.2 dir -tar xfg arch.1 /dev/null +mv dir orig -echo "Begin directory listing 1" -find foo | sort -echo "End directory listing 1" +decho First restore +tar -xf archive.1 -g db.1 +find directory | sort -tar xfgv arch.2 /dev/null -echo Begin directory listing 2 -find foo | sort -echo End directory listing 2 +decho Second restore +tar -xf archive.2 -g db.2 +find dir | sort ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -16264,145 +23024,87 @@ rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 -mkdir foo -genfile --file foo/file1 -genfile --file foo/file2 - -mkdir foo/a -genfile --file foo/a/filea - -mkdir foo/b -genfile --file foo/b/fileb - -mkdir foo/c -genfile --file foo/c/filec - -sleep 1 +decho Creating directory structure +mkdir directory +mkdir directory/subdir +genfile --file=directory/file -echo "First dump" -echo "First dump">&2 -tar -g incr -cf arch.1 -v foo 2>tmperr -sort tmperr >&2 +decho Creating initial archive +tar -cf archive.1 -g db.1 directory -# Shuffle directories: -(cd foo -mv a $$ -mv c a -mv b c -mv $$ b) +decho Renaming +mv directory/subdir directory/subdir.0 +mv directory dir -echo "Second dump" -echo "Second dump" >&2 -tar -g incr -cf arch.2 -v foo 2>tmperr -sort tmperr >&2 +decho Creating incremental archive +cp db.1 db.2 +tar -cf archive.2 -g db.2 dir -tar xfg arch.1 /dev/null +mv dir orig -echo "Begin directory listing 1" -find foo | sort -echo "End directory listing 1" +decho First restore +tar -xf archive.1 -g db.1 +find directory | sort -tar xfgv arch.2 /dev/null -echo Begin directory listing 2 -find foo | sort -echo End directory listing 2 +decho Second restore +tar -xf archive.2 -g db.2 +find dir | sort ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? -fi - -at_failed=false -echo >>"$at_stderr"; echo "First dump -tar: foo/a: Directory is new -tar: foo/b: Directory is new -tar: foo/c: Directory is new -Second dump -tar: foo/a: Directory has been renamed from \`foo/c' -tar: foo/b: Directory has been renamed from \`foo/a' -tar: foo/c: Directory has been renamed from \`foo/b' -" | $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "First dump -foo/ -foo/a/ -foo/b/ -foo/c/ -foo/file1 -foo/file2 -foo/a/filea -foo/b/fileb -foo/c/filec -Second dump -foo/ -foo/a/ -foo/b/ -foo/c/ -Begin directory listing 1 -foo -foo/a -foo/a/filea -foo/b -foo/b/fileb -foo/c -foo/c/filec -foo/file1 -foo/file2 -End directory listing 1 -foo/ -foo/a/ -foo/b/ -foo/c/ -Begin directory listing 2 -foo -foo/a -foo/a/filec -foo/b -foo/b/filea -foo/c -foo/c/fileb -foo/file1 -foo/file2 -End directory listing 2 -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/rename03.at:26: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 fi +at_status=$? +at_failed=false +echo >>"$at_stderr"; $as_echo "Creating directory structure +Creating initial archive +Renaming +Creating incremental archive +First restore +Second restore +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Creating directory structure +Creating initial archive +Renaming +Creating incremental archive +First restore +directory +directory/file +directory/subdir +Second restore +dir +dir/subdir.0 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/rename05.at:27" -$at_traceon - +$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"` - ;; - 36 ) # 36. rename04.at:27: renamed directory containing subdirectories - at_setup_line='rename04.at:27' - at_desc="renamed directory containing subdirectories" - $at_quiet $ECHO_N " 36: renamed directory containing subdirectories $ECHO_C" - at_xfail=no + $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_51 +#AT_START_52 +# 52. 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_xfail=no test -f $XFAILFILE && at_xfail=yes - echo "# -*- compilation -*-" >> "$at_group_log" - ( - echo "36. rename04.at:27: testing ..." - $at_traceon +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "52. chtype.at:27: testing ..." + $at_traceon - $at_traceoff -echo "$at_srcdir/rename04.at:30: + { $at_traceoff +$as_echo "$at_srcdir/chtype.at:30: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -16415,40 +23117,38 @@ rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 -decho Creating directory structure -mkdir directory -mkdir directory/subdir -genfile --file=directory/file +install-sh -d directory/b/c >/dev/null && genfile --file directory/b/c/x || exit 77 +mkdir directory/a +genfile --file directory/a/a -decho Creating initial archive -tar -cf archive.1 -g db.1 directory +echo First backup +tar --create --file=archive.1 --listed-incremental=db.1 directory -decho Renaming -mv directory dir +sleep 2 -decho Creating incremental archive -cp db.1 db.2 -tar -cf archive.2 -g db.2 dir +# Remove directory b and create a file with this name. +# Previous versions were not able to restore over this file. +rm -r directory/b +genfile --file directory/b +genfile --file directory/a/b -mv dir orig +echo Second backup +tar --create --file=archive.2 --listed-incremental=db.2 directory -decho First restore -tar -xf archive.1 -g db.1 -find directory | sort +# Delete a +rm -r directory -decho Second restore -tar -xf archive.2 -g db.2 -find dir | sort +echo Restore archive.1 +tar -xf archive.1 --listed-incremental=/dev/null +echo Restore archive.2 +tar -xf archive.2 --listed-incremental=/dev/null +find directory | sort )" -echo rename04.at:30 >"$at_check_line_file" - -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +echo chtype.at:30 >"$at_check_line_file" -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -16461,36 +23161,36 @@ rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 -decho Creating directory structure -mkdir directory -mkdir directory/subdir -genfile --file=directory/file +install-sh -d directory/b/c >/dev/null && genfile --file directory/b/c/x || exit 77 +mkdir directory/a +genfile --file directory/a/a -decho Creating initial archive -tar -cf archive.1 -g db.1 directory +echo First backup +tar --create --file=archive.1 --listed-incremental=db.1 directory -decho Renaming -mv directory dir +sleep 2 -decho Creating incremental archive -cp db.1 db.2 -tar -cf archive.2 -g db.2 dir +# Remove directory b and create a file with this name. +# Previous versions were not able to restore over this file. +rm -r directory/b +genfile --file directory/b +genfile --file directory/a/b -mv dir orig +echo Second backup +tar --create --file=archive.2 --listed-incremental=db.2 directory -decho First restore -tar -xf archive.1 -g db.1 -find directory | sort +# Delete a +rm -r directory -decho Second restore -tar -xf archive.2 -g db.2 -find dir | sort +echo Restore archive.1 +tar -xf archive.1 --listed-incremental=/dev/null +echo Restore archive.2 +tar -xf archive.2 --listed-incremental=/dev/null +find directory | sort ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -16503,76 +23203,207 @@ rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 -decho Creating directory structure -mkdir directory -mkdir directory/subdir -genfile --file=directory/file +install-sh -d directory/b/c >/dev/null && genfile --file directory/b/c/x || exit 77 +mkdir directory/a +genfile --file directory/a/a -decho Creating initial archive -tar -cf archive.1 -g db.1 directory +echo First backup +tar --create --file=archive.1 --listed-incremental=db.1 directory -decho Renaming -mv directory dir +sleep 2 -decho Creating incremental archive -cp db.1 db.2 -tar -cf archive.2 -g db.2 dir +# Remove directory b and create a file with this name. +# Previous versions were not able to restore over this file. +rm -r directory/b +genfile --file directory/b +genfile --file directory/a/b + +echo Second backup +tar --create --file=archive.2 --listed-incremental=db.2 directory + +# Delete a +rm -r directory + +echo Restore archive.1 +tar -xf archive.1 --listed-incremental=/dev/null +echo Restore archive.2 +tar -xf archive.2 --listed-incremental=/dev/null +find directory | sort +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "First backup +Second backup +Restore archive.1 +Restore archive.2 +directory +directory/a +directory/a/a +directory/a/b +directory/b +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/chtype.at:30" + +$at_failed && at_func_log_failure +$at_traceon; } + + { $at_traceoff +$as_echo "$at_srcdir/chtype.at:30: +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H oldgnu\" +export TAR_OPTIONS +rm -rf * + + +test -z "`sort < /dev/null 2>&1`" || exit 77 + + +install-sh -d directory/b/c >/dev/null && genfile --file directory/b/c/x || exit 77 +mkdir directory/a +genfile --file directory/a/a + +echo First backup +tar --create --file=archive.1 --listed-incremental=db.1 directory + +sleep 2 + +# Remove directory b and create a file with this name. +# Previous versions were not able to restore over this file. +rm -r directory/b +genfile --file directory/b +genfile --file directory/a/b + +echo Second backup +tar --create --file=archive.2 --listed-incremental=db.2 directory + +# Delete a +rm -r directory + +echo Restore archive.1 +tar -xf archive.1 --listed-incremental=/dev/null +echo Restore archive.2 +tar -xf archive.2 --listed-incremental=/dev/null +find directory | sort +)" +echo chtype.at:30 >"$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 * + + +test -z "`sort < /dev/null 2>&1`" || exit 77 + + +install-sh -d directory/b/c >/dev/null && genfile --file directory/b/c/x || exit 77 +mkdir directory/a +genfile --file directory/a/a + +echo First backup +tar --create --file=archive.1 --listed-incremental=db.1 directory + +sleep 2 + +# Remove directory b and create a file with this name. +# Previous versions were not able to restore over this file. +rm -r directory/b +genfile --file directory/b +genfile --file directory/a/b + +echo Second backup +tar --create --file=archive.2 --listed-incremental=db.2 directory + +# Delete a +rm -r directory + +echo Restore archive.1 +tar -xf archive.1 --listed-incremental=/dev/null +echo Restore archive.2 +tar -xf archive.2 --listed-incremental=/dev/null +find directory | sort +) ) >"$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 * + + +test -z "`sort < /dev/null 2>&1`" || exit 77 + + +install-sh -d directory/b/c >/dev/null && genfile --file directory/b/c/x || exit 77 +mkdir directory/a +genfile --file directory/a/a + +echo First backup +tar --create --file=archive.1 --listed-incremental=db.1 directory + +sleep 2 + +# Remove directory b and create a file with this name. +# Previous versions were not able to restore over this file. +rm -r directory/b +genfile --file directory/b +genfile --file directory/a/b -mv dir orig +echo Second backup +tar --create --file=archive.2 --listed-incremental=db.2 directory -decho First restore -tar -xf archive.1 -g db.1 -find directory | sort +# Delete a +rm -r directory -decho Second restore -tar -xf archive.2 -g db.2 -find dir | sort +echo Restore archive.1 +tar -xf archive.1 --listed-incremental=/dev/null +echo Restore archive.2 +tar -xf archive.2 --listed-incremental=/dev/null +find directory | sort ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -echo >>"$at_stderr"; echo "Creating directory structure -Creating initial archive -Renaming -Creating incremental archive -First restore -Second restore -" | $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "Creating directory structure -Creating initial archive -Renaming -Creating incremental archive -First restore +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "First backup +Second backup +Restore archive.1 +Restore archive.2 directory -directory/file -directory/subdir -Second restore -dir -dir/subdir -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/rename04.at:30: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi +directory/a +directory/a/a +directory/a/b +directory/b +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/chtype.at:30" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/rename04.at:30: -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu + { $at_traceoff +$as_echo "$at_srcdir/chtype.at:30: +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H oldgnu\" +TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * @@ -16580,45 +23411,43 @@ rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 -decho Creating directory structure -mkdir directory -mkdir directory/subdir -genfile --file=directory/file +install-sh -d directory/b/c >/dev/null && genfile --file directory/b/c/x || exit 77 +mkdir directory/a +genfile --file directory/a/a -decho Creating initial archive -tar -cf archive.1 -g db.1 directory +echo First backup +tar --create --file=archive.1 --listed-incremental=db.1 directory -decho Renaming -mv directory dir +sleep 2 -decho Creating incremental archive -cp db.1 db.2 -tar -cf archive.2 -g db.2 dir +# Remove directory b and create a file with this name. +# Previous versions were not able to restore over this file. +rm -r directory/b +genfile --file directory/b +genfile --file directory/a/b -mv dir orig +echo Second backup +tar --create --file=archive.2 --listed-incremental=db.2 directory -decho First restore -tar -xf archive.1 -g db.1 -find directory | sort +# Delete a +rm -r directory -decho Second restore -tar -xf archive.2 -g db.2 -find dir | sort +echo Restore archive.1 +tar -xf archive.1 --listed-incremental=/dev/null +echo Restore archive.2 +tar -xf archive.2 --listed-incremental=/dev/null +find directory | sort )" -echo rename04.at:30 >"$at_check_line_file" - -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +echo chtype.at:30 >"$at_check_line_file" -if test -n "$at_trace_this"; then - ( $at_traceon; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu +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 oldgnu" +TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * @@ -16626,41 +23455,41 @@ rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 -decho Creating directory structure -mkdir directory -mkdir directory/subdir -genfile --file=directory/file +install-sh -d directory/b/c >/dev/null && genfile --file directory/b/c/x || exit 77 +mkdir directory/a +genfile --file directory/a/a -decho Creating initial archive -tar -cf archive.1 -g db.1 directory +echo First backup +tar --create --file=archive.1 --listed-incremental=db.1 directory -decho Renaming -mv directory dir +sleep 2 -decho Creating incremental archive -cp db.1 db.2 -tar -cf archive.2 -g db.2 dir +# Remove directory b and create a file with this name. +# Previous versions were not able to restore over this file. +rm -r directory/b +genfile --file directory/b +genfile --file directory/a/b -mv dir orig +echo Second backup +tar --create --file=archive.2 --listed-incremental=db.2 directory -decho First restore -tar -xf archive.1 -g db.1 -find directory | sort +# Delete a +rm -r directory -decho Second restore -tar -xf archive.2 -g db.2 -find dir | sort +echo Restore archive.1 +tar -xf archive.1 --listed-incremental=/dev/null +echo Restore archive.2 +tar -xf archive.2 --listed-incremental=/dev/null +find directory | sort ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu + ( :; +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" +TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * @@ -16668,1114 +23497,1272 @@ rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 -decho Creating directory structure -mkdir directory -mkdir directory/subdir -genfile --file=directory/file +install-sh -d directory/b/c >/dev/null && genfile --file directory/b/c/x || exit 77 +mkdir directory/a +genfile --file directory/a/a -decho Creating initial archive -tar -cf archive.1 -g db.1 directory +echo First backup +tar --create --file=archive.1 --listed-incremental=db.1 directory -decho Renaming -mv directory dir +sleep 2 -decho Creating incremental archive -cp db.1 db.2 -tar -cf archive.2 -g db.2 dir +# Remove directory b and create a file with this name. +# Previous versions were not able to restore over this file. +rm -r directory/b +genfile --file directory/b +genfile --file directory/a/b -mv dir orig +echo Second backup +tar --create --file=archive.2 --listed-incremental=db.2 directory -decho First restore -tar -xf archive.1 -g db.1 -find directory | sort +# Delete a +rm -r directory -decho Second restore -tar -xf archive.2 -g db.2 -find dir | sort +echo Restore archive.1 +tar -xf archive.1 --listed-incremental=/dev/null +echo Restore archive.2 +tar -xf archive.2 --listed-incremental=/dev/null +find directory | sort ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -echo >>"$at_stderr"; echo "Creating directory structure -Creating initial archive -Renaming -Creating incremental archive -First restore -Second restore -" | $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "Creating directory structure -Creating initial archive -Renaming -Creating incremental archive -First restore +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "First backup +Second backup +Restore archive.1 +Restore archive.2 directory -directory/file -directory/subdir -Second restore -dir -dir/subdir -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/rename04.at:30: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +directory/a +directory/a/a +directory/a/b +directory/b +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/chtype.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_52 +#AT_START_53 +# 53. ignfail.at:23: ignfail +at_setup_line='ignfail.at:23' +at_desc="ignfail" +$at_quiet $as_echo_n " 53: $at_desc " +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "53. ignfail.at:23: testing ..." + $at_traceon + + - echo 1 > "$at_status_file" - exit 1 -fi -$at_traceon + { $at_traceoff +$as_echo "$at_srcdir/ignfail.at:26: +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H v7\" +export TAR_OPTIONS +rm -rf * + +# The test is meaningless for super-user. + +echo "test" > $$ +chmod 0 $$ +cat $$ > /dev/null 2>&1 +result=$? +rm -f $$ +test $result -eq 0 && exit 77 + + +touch file +mkdir directory +touch directory/file + +echo 1>&2 ----- +chmod 000 file +tar cf archive file +status=\$? +chmod 600 file +test \$status = 2 || exit 1 + +echo 1>&2 ----- +chmod 000 file +tar cf archive --ignore-failed-read file || exit 1 +status=\$? +chmod 600 file +test \$status = 0 || exit 1 + +echo 1>&2 ----- +chmod 000 directory +tar cf archive directory +status=\$? +chmod 700 directory +test \$status = 2 || exit 1 + +echo 1>&2 ----- +chmod 000 directory +tar cf archive --ignore-failed-read directory || exit 1 +status=\$? +chmod 700 directory +test \$status = 0 +)" +echo ignfail.at:26 >"$at_check_line_file" - $at_traceoff -echo "$at_srcdir/rename04.at:30: -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix +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 posix\" +TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * +# The test is meaningless for super-user. -test -z "`sort < /dev/null 2>&1`" || exit 77 +echo "test" > $$ +chmod 0 $$ +cat $$ > /dev/null 2>&1 +result=$? +rm -f $$ +test $result -eq 0 && exit 77 -decho Creating directory structure +touch file mkdir directory -mkdir directory/subdir -genfile --file=directory/file - -decho Creating initial archive -tar -cf archive.1 -g db.1 directory - -decho Renaming -mv directory dir - -decho Creating incremental archive -cp db.1 db.2 -tar -cf archive.2 -g db.2 dir - -mv dir orig +touch directory/file -decho First restore -tar -xf archive.1 -g db.1 -find directory | sort +echo 1>&2 ----- +chmod 000 file +tar cf archive file +status=$? +chmod 600 file +test $status = 2 || exit 1 -decho Second restore -tar -xf archive.2 -g db.2 -find dir | sort -)" -echo rename04.at:30 >"$at_check_line_file" +echo 1>&2 ----- +chmod 000 file +tar cf archive --ignore-failed-read file || exit 1 +status=$? +chmod 600 file +test $status = 0 || exit 1 -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +echo 1>&2 ----- +chmod 000 directory +tar cf archive directory +status=$? +chmod 700 directory +test $status = 2 || exit 1 -if test -n "$at_trace_this"; then - ( $at_traceon; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix +echo 1>&2 ----- +chmod 000 directory +tar cf archive --ignore-failed-read directory || exit 1 +status=$? +chmod 700 directory +test $status = 0 +) ) >"$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 posix" +TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * +# The test is meaningless for super-user. -test -z "`sort < /dev/null 2>&1`" || exit 77 +echo "test" > $$ +chmod 0 $$ +cat $$ > /dev/null 2>&1 +result=$? +rm -f $$ +test $result -eq 0 && exit 77 -decho Creating directory structure +touch file mkdir directory -mkdir directory/subdir -genfile --file=directory/file +touch directory/file -decho Creating initial archive -tar -cf archive.1 -g db.1 directory +echo 1>&2 ----- +chmod 000 file +tar cf archive file +status=$? +chmod 600 file +test $status = 2 || exit 1 -decho Renaming -mv directory dir +echo 1>&2 ----- +chmod 000 file +tar cf archive --ignore-failed-read file || exit 1 +status=$? +chmod 600 file +test $status = 0 || exit 1 -decho Creating incremental archive -cp db.1 db.2 -tar -cf archive.2 -g db.2 dir +echo 1>&2 ----- +chmod 000 directory +tar cf archive directory +status=$? +chmod 700 directory +test $status = 2 || exit 1 -mv dir orig +echo 1>&2 ----- +chmod 000 directory +tar cf archive --ignore-failed-read directory || exit 1 +status=$? +chmod 700 directory +test $status = 0 +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +echo >>"$at_stderr"; $as_echo "----- +tar: file: Cannot open: Permission denied +tar: Exiting with failure status due to previous errors +----- +tar: file: Warning: Cannot open: Permission denied +----- +tar: directory: Cannot open: Permission denied +tar: Exiting with failure status due to previous errors +----- +tar: directory: Warning: Cannot open: Permission denied +" | \ + $at_diff - "$at_stderr" || at_failed=: +at_func_diff_devnull "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/ignfail.at:26" -decho First restore -tar -xf archive.1 -g db.1 -find directory | sort +$at_failed && at_func_log_failure +$at_traceon; } -decho Second restore -tar -xf archive.2 -g db.2 -find dir | sort -) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" -else - ( :; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix + { $at_traceoff +$as_echo "$at_srcdir/ignfail.at:26: +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" +TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * +# The test is meaningless for super-user. -test -z "`sort < /dev/null 2>&1`" || exit 77 +echo "test" > $$ +chmod 0 $$ +cat $$ > /dev/null 2>&1 +result=$? +rm -f $$ +test $result -eq 0 && exit 77 -decho Creating directory structure +touch file mkdir directory -mkdir directory/subdir -genfile --file=directory/file +touch directory/file -decho Creating initial archive -tar -cf archive.1 -g db.1 directory +echo 1>&2 ----- +chmod 000 file +tar cf archive file +status=\$? +chmod 600 file +test \$status = 2 || exit 1 -decho Renaming -mv directory dir +echo 1>&2 ----- +chmod 000 file +tar cf archive --ignore-failed-read file || exit 1 +status=\$? +chmod 600 file +test \$status = 0 || exit 1 -decho Creating incremental archive -cp db.1 db.2 -tar -cf archive.2 -g db.2 dir +echo 1>&2 ----- +chmod 000 directory +tar cf archive directory +status=\$? +chmod 700 directory +test \$status = 2 || exit 1 -mv dir orig +echo 1>&2 ----- +chmod 000 directory +tar cf archive --ignore-failed-read directory || exit 1 +status=\$? +chmod 700 directory +test \$status = 0 +)" +echo ignfail.at:26 >"$at_check_line_file" -decho First restore -tar -xf archive.1 -g db.1 -find directory | sort +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 * -decho Second restore -tar -xf archive.2 -g db.2 -find dir | sort -) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? -fi +# The test is meaningless for super-user. -at_failed=false -echo >>"$at_stderr"; echo "Creating directory structure -Creating initial archive -Renaming -Creating incremental archive -First restore -Second restore -" | $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "Creating directory structure -Creating initial archive -Renaming -Creating incremental archive -First restore -directory -directory/file -directory/subdir -Second restore -dir -dir/subdir -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/rename04.at:30: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +echo "test" > $$ +chmod 0 $$ +cat $$ > /dev/null 2>&1 +result=$? +rm -f $$ +test $result -eq 0 && exit 77 - echo 1 > "$at_status_file" - exit 1 -fi +touch file +mkdir directory +touch directory/file + +echo 1>&2 ----- +chmod 000 file +tar cf archive file +status=$? +chmod 600 file +test $status = 2 || exit 1 + +echo 1>&2 ----- +chmod 000 file +tar cf archive --ignore-failed-read file || exit 1 +status=$? +chmod 600 file +test $status = 0 || exit 1 -$at_traceon +echo 1>&2 ----- +chmod 000 directory +tar cf archive directory +status=$? +chmod 700 directory +test $status = 2 || exit 1 + +echo 1>&2 ----- +chmod 000 directory +tar cf archive --ignore-failed-read directory || exit 1 +status=$? +chmod 700 directory +test $status = 0 +) ) >"$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 * +# The test is meaningless for super-user. +echo "test" > $$ +chmod 0 $$ +cat $$ > /dev/null 2>&1 +result=$? +rm -f $$ +test $result -eq 0 && exit 77 - $at_traceoff - $at_times_p && times >"$at_times_file" - ) 5>&1 2>&1 | eval $at_tee_pipe - at_status=`cat "$at_status_file"` - ;; +touch file +mkdir directory +touch directory/file - 37 ) # 37. rename05.at:24: renamed subdirectories - at_setup_line='rename05.at:24' - at_desc="renamed subdirectories" - $at_quiet $ECHO_N " 37: renamed subdirectories $ECHO_C" - at_xfail=no - test -f $XFAILFILE && at_xfail=yes - echo "# -*- compilation -*-" >> "$at_group_log" - ( - echo "37. rename05.at:24: testing ..." - $at_traceon +echo 1>&2 ----- +chmod 000 file +tar cf archive file +status=$? +chmod 600 file +test $status = 2 || exit 1 +echo 1>&2 ----- +chmod 000 file +tar cf archive --ignore-failed-read file || exit 1 +status=$? +chmod 600 file +test $status = 0 || exit 1 +echo 1>&2 ----- +chmod 000 directory +tar cf archive directory +status=$? +chmod 700 directory +test $status = 2 || exit 1 +echo 1>&2 ----- +chmod 000 directory +tar cf archive --ignore-failed-read directory || exit 1 +status=$? +chmod 700 directory +test $status = 0 +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +echo >>"$at_stderr"; $as_echo "----- +tar: file: Cannot open: Permission denied +tar: Exiting with failure status due to previous errors +----- +tar: file: Warning: Cannot open: Permission denied +----- +tar: directory: Cannot open: Permission denied +tar: Exiting with failure status due to previous errors +----- +tar: directory: Warning: Cannot open: Permission denied +" | \ + $at_diff - "$at_stderr" || at_failed=: +at_func_diff_devnull "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/ignfail.at:26" +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/rename05.at:27: -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu + { $at_traceoff +$as_echo "$at_srcdir/ignfail.at:26: +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H gnu\" +TAR_OPTIONS=\"-H ustar\" export TAR_OPTIONS rm -rf * +# The test is meaningless for super-user. -test -z "`sort < /dev/null 2>&1`" || exit 77 +echo "test" > $$ +chmod 0 $$ +cat $$ > /dev/null 2>&1 +result=$? +rm -f $$ +test $result -eq 0 && exit 77 -decho Creating directory structure +touch file mkdir directory -mkdir directory/subdir -genfile --file=directory/file - -decho Creating initial archive -tar -cf archive.1 -g db.1 directory - -decho Renaming -mv directory/subdir directory/subdir.0 -mv directory dir +touch directory/file -decho Creating incremental archive -cp db.1 db.2 -tar -cf archive.2 -g db.2 dir +echo 1>&2 ----- +chmod 000 file +tar cf archive file +status=\$? +chmod 600 file +test \$status = 2 || exit 1 -mv dir orig +echo 1>&2 ----- +chmod 000 file +tar cf archive --ignore-failed-read file || exit 1 +status=\$? +chmod 600 file +test \$status = 0 || exit 1 -decho First restore -tar -xf archive.1 -g db.1 -find directory | sort +echo 1>&2 ----- +chmod 000 directory +tar cf archive directory +status=\$? +chmod 700 directory +test \$status = 2 || exit 1 -decho Second restore -tar -xf archive.2 -g db.2 -find dir | sort +echo 1>&2 ----- +chmod 000 directory +tar cf archive --ignore-failed-read directory || exit 1 +status=\$? +chmod 700 directory +test \$status = 0 )" -echo rename05.at:27 >"$at_check_line_file" - -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +echo ignfail.at:26 >"$at_check_line_file" -if test -n "$at_trace_this"; then - ( $at_traceon; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu +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 gnu" +TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * +# The test is meaningless for super-user. -test -z "`sort < /dev/null 2>&1`" || exit 77 +echo "test" > $$ +chmod 0 $$ +cat $$ > /dev/null 2>&1 +result=$? +rm -f $$ +test $result -eq 0 && exit 77 -decho Creating directory structure +touch file mkdir directory -mkdir directory/subdir -genfile --file=directory/file - -decho Creating initial archive -tar -cf archive.1 -g db.1 directory - -decho Renaming -mv directory/subdir directory/subdir.0 -mv directory dir +touch directory/file -decho Creating incremental archive -cp db.1 db.2 -tar -cf archive.2 -g db.2 dir +echo 1>&2 ----- +chmod 000 file +tar cf archive file +status=$? +chmod 600 file +test $status = 2 || exit 1 -mv dir orig +echo 1>&2 ----- +chmod 000 file +tar cf archive --ignore-failed-read file || exit 1 +status=$? +chmod 600 file +test $status = 0 || exit 1 -decho First restore -tar -xf archive.1 -g db.1 -find directory | sort +echo 1>&2 ----- +chmod 000 directory +tar cf archive directory +status=$? +chmod 700 directory +test $status = 2 || exit 1 -decho Second restore -tar -xf archive.2 -g db.2 -find dir | sort +echo 1>&2 ----- +chmod 000 directory +tar cf archive --ignore-failed-read directory || exit 1 +status=$? +chmod 700 directory +test $status = 0 ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu + ( :; +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" +TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * +# The test is meaningless for super-user. -test -z "`sort < /dev/null 2>&1`" || exit 77 +echo "test" > $$ +chmod 0 $$ +cat $$ > /dev/null 2>&1 +result=$? +rm -f $$ +test $result -eq 0 && exit 77 -decho Creating directory structure +touch file mkdir directory -mkdir directory/subdir -genfile --file=directory/file - -decho Creating initial archive -tar -cf archive.1 -g db.1 directory - -decho Renaming -mv directory/subdir directory/subdir.0 -mv directory dir +touch directory/file -decho Creating incremental archive -cp db.1 db.2 -tar -cf archive.2 -g db.2 dir +echo 1>&2 ----- +chmod 000 file +tar cf archive file +status=$? +chmod 600 file +test $status = 2 || exit 1 -mv dir orig +echo 1>&2 ----- +chmod 000 file +tar cf archive --ignore-failed-read file || exit 1 +status=$? +chmod 600 file +test $status = 0 || exit 1 -decho First restore -tar -xf archive.1 -g db.1 -find directory | sort +echo 1>&2 ----- +chmod 000 directory +tar cf archive directory +status=$? +chmod 700 directory +test $status = 2 || exit 1 -decho Second restore -tar -xf archive.2 -g db.2 -find dir | sort +echo 1>&2 ----- +chmod 000 directory +tar cf archive --ignore-failed-read directory || exit 1 +status=$? +chmod 700 directory +test $status = 0 ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -echo >>"$at_stderr"; echo "Creating directory structure -Creating initial archive -Renaming -Creating incremental archive -First restore -Second restore -" | $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "Creating directory structure -Creating initial archive -Renaming -Creating incremental archive -First restore -directory -directory/file -directory/subdir -Second restore -dir -dir/subdir.0 -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/rename05.at:27: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi +echo >>"$at_stderr"; $as_echo "----- +tar: file: Cannot open: Permission denied +tar: Exiting with failure status due to previous errors +----- +tar: file: Warning: Cannot open: Permission denied +----- +tar: directory: Cannot open: Permission denied +tar: Exiting with failure status due to previous errors +----- +tar: directory: Warning: Cannot open: Permission denied +" | \ + $at_diff - "$at_stderr" || at_failed=: +at_func_diff_devnull "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/ignfail.at:26" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/rename05.at:27: -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu + { $at_traceoff +$as_echo "$at_srcdir/ignfail.at:26: +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H oldgnu\" +TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * +# The test is meaningless for super-user. -test -z "`sort < /dev/null 2>&1`" || exit 77 +echo "test" > $$ +chmod 0 $$ +cat $$ > /dev/null 2>&1 +result=$? +rm -f $$ +test $result -eq 0 && exit 77 -decho Creating directory structure +touch file mkdir directory -mkdir directory/subdir -genfile --file=directory/file - -decho Creating initial archive -tar -cf archive.1 -g db.1 directory - -decho Renaming -mv directory/subdir directory/subdir.0 -mv directory dir +touch directory/file -decho Creating incremental archive -cp db.1 db.2 -tar -cf archive.2 -g db.2 dir +echo 1>&2 ----- +chmod 000 file +tar cf archive file +status=\$? +chmod 600 file +test \$status = 2 || exit 1 -mv dir orig +echo 1>&2 ----- +chmod 000 file +tar cf archive --ignore-failed-read file || exit 1 +status=\$? +chmod 600 file +test \$status = 0 || exit 1 -decho First restore -tar -xf archive.1 -g db.1 -find directory | sort +echo 1>&2 ----- +chmod 000 directory +tar cf archive directory +status=\$? +chmod 700 directory +test \$status = 2 || exit 1 -decho Second restore -tar -xf archive.2 -g db.2 -find dir | sort +echo 1>&2 ----- +chmod 000 directory +tar cf archive --ignore-failed-read directory || exit 1 +status=\$? +chmod 700 directory +test \$status = 0 )" -echo rename05.at:27 >"$at_check_line_file" - -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +echo ignfail.at:26 >"$at_check_line_file" -if test -n "$at_trace_this"; then - ( $at_traceon; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu +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 oldgnu" +TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * +# The test is meaningless for super-user. -test -z "`sort < /dev/null 2>&1`" || exit 77 +echo "test" > $$ +chmod 0 $$ +cat $$ > /dev/null 2>&1 +result=$? +rm -f $$ +test $result -eq 0 && exit 77 -decho Creating directory structure +touch file mkdir directory -mkdir directory/subdir -genfile --file=directory/file - -decho Creating initial archive -tar -cf archive.1 -g db.1 directory - -decho Renaming -mv directory/subdir directory/subdir.0 -mv directory dir +touch directory/file -decho Creating incremental archive -cp db.1 db.2 -tar -cf archive.2 -g db.2 dir +echo 1>&2 ----- +chmod 000 file +tar cf archive file +status=$? +chmod 600 file +test $status = 2 || exit 1 -mv dir orig +echo 1>&2 ----- +chmod 000 file +tar cf archive --ignore-failed-read file || exit 1 +status=$? +chmod 600 file +test $status = 0 || exit 1 -decho First restore -tar -xf archive.1 -g db.1 -find directory | sort +echo 1>&2 ----- +chmod 000 directory +tar cf archive directory +status=$? +chmod 700 directory +test $status = 2 || exit 1 -decho Second restore -tar -xf archive.2 -g db.2 -find dir | sort +echo 1>&2 ----- +chmod 000 directory +tar cf archive --ignore-failed-read directory || exit 1 +status=$? +chmod 700 directory +test $status = 0 ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu + ( :; +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" +TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * +# The test is meaningless for super-user. -test -z "`sort < /dev/null 2>&1`" || exit 77 +echo "test" > $$ +chmod 0 $$ +cat $$ > /dev/null 2>&1 +result=$? +rm -f $$ +test $result -eq 0 && exit 77 -decho Creating directory structure +touch file mkdir directory -mkdir directory/subdir -genfile --file=directory/file - -decho Creating initial archive -tar -cf archive.1 -g db.1 directory - -decho Renaming -mv directory/subdir directory/subdir.0 -mv directory dir - -decho Creating incremental archive -cp db.1 db.2 -tar -cf archive.2 -g db.2 dir - -mv dir orig - -decho First restore -tar -xf archive.1 -g db.1 -find directory | sort - -decho Second restore -tar -xf archive.2 -g db.2 -find dir | sort -) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? -fi +touch directory/file -at_failed=false -echo >>"$at_stderr"; echo "Creating directory structure -Creating initial archive -Renaming -Creating incremental archive -First restore -Second restore -" | $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "Creating directory structure -Creating initial archive -Renaming -Creating incremental archive -First restore -directory -directory/file -directory/subdir -Second restore -dir -dir/subdir.0 -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/rename05.at:27: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +echo 1>&2 ----- +chmod 000 file +tar cf archive file +status=$? +chmod 600 file +test $status = 2 || exit 1 +echo 1>&2 ----- +chmod 000 file +tar cf archive --ignore-failed-read file || exit 1 +status=$? +chmod 600 file +test $status = 0 || exit 1 - echo 1 > "$at_status_file" - exit 1 +echo 1>&2 ----- +chmod 000 directory +tar cf archive directory +status=$? +chmod 700 directory +test $status = 2 || exit 1 + +echo 1>&2 ----- +chmod 000 directory +tar cf archive --ignore-failed-read directory || exit 1 +status=$? +chmod 700 directory +test $status = 0 +) ) >"$at_stdout" 2>"$at_stderr" fi +at_status=$? +at_failed=false +echo >>"$at_stderr"; $as_echo "----- +tar: file: Cannot open: Permission denied +tar: Exiting with failure status due to previous errors +----- +tar: file: Warning: Cannot open: Permission denied +----- +tar: directory: Cannot open: Permission denied +tar: Exiting with failure status due to previous errors +----- +tar: directory: Warning: Cannot open: Permission denied +" | \ + $at_diff - "$at_stderr" || at_failed=: +at_func_diff_devnull "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/ignfail.at:26" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/rename05.at:27: -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix + { $at_traceoff +$as_echo "$at_srcdir/ignfail.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 * +# The test is meaningless for super-user. -test -z "`sort < /dev/null 2>&1`" || exit 77 +echo "test" > $$ +chmod 0 $$ +cat $$ > /dev/null 2>&1 +result=$? +rm -f $$ +test $result -eq 0 && exit 77 -decho Creating directory structure +touch file mkdir directory -mkdir directory/subdir -genfile --file=directory/file - -decho Creating initial archive -tar -cf archive.1 -g db.1 directory - -decho Renaming -mv directory/subdir directory/subdir.0 -mv directory dir +touch directory/file -decho Creating incremental archive -cp db.1 db.2 -tar -cf archive.2 -g db.2 dir +echo 1>&2 ----- +chmod 000 file +tar cf archive file +status=\$? +chmod 600 file +test \$status = 2 || exit 1 -mv dir orig +echo 1>&2 ----- +chmod 000 file +tar cf archive --ignore-failed-read file || exit 1 +status=\$? +chmod 600 file +test \$status = 0 || exit 1 -decho First restore -tar -xf archive.1 -g db.1 -find directory | sort +echo 1>&2 ----- +chmod 000 directory +tar cf archive directory +status=\$? +chmod 700 directory +test \$status = 2 || exit 1 -decho Second restore -tar -xf archive.2 -g db.2 -find dir | sort +echo 1>&2 ----- +chmod 000 directory +tar cf archive --ignore-failed-read directory || exit 1 +status=\$? +chmod 700 directory +test \$status = 0 )" -echo rename05.at:27 >"$at_check_line_file" - -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +echo ignfail.at:26 >"$at_check_line_file" -if test -n "$at_trace_this"; then - ( $at_traceon; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix +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 posix" +TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * +# The test is meaningless for super-user. -test -z "`sort < /dev/null 2>&1`" || exit 77 +echo "test" > $$ +chmod 0 $$ +cat $$ > /dev/null 2>&1 +result=$? +rm -f $$ +test $result -eq 0 && exit 77 -decho Creating directory structure +touch file mkdir directory -mkdir directory/subdir -genfile --file=directory/file - -decho Creating initial archive -tar -cf archive.1 -g db.1 directory - -decho Renaming -mv directory/subdir directory/subdir.0 -mv directory dir +touch directory/file -decho Creating incremental archive -cp db.1 db.2 -tar -cf archive.2 -g db.2 dir +echo 1>&2 ----- +chmod 000 file +tar cf archive file +status=$? +chmod 600 file +test $status = 2 || exit 1 -mv dir orig +echo 1>&2 ----- +chmod 000 file +tar cf archive --ignore-failed-read file || exit 1 +status=$? +chmod 600 file +test $status = 0 || exit 1 -decho First restore -tar -xf archive.1 -g db.1 -find directory | sort +echo 1>&2 ----- +chmod 000 directory +tar cf archive directory +status=$? +chmod 700 directory +test $status = 2 || exit 1 -decho Second restore -tar -xf archive.2 -g db.2 -find dir | sort +echo 1>&2 ----- +chmod 000 directory +tar cf archive --ignore-failed-read directory || exit 1 +status=$? +chmod 700 directory +test $status = 0 ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + 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 * +# The test is meaningless for super-user. -test -z "`sort < /dev/null 2>&1`" || exit 77 +echo "test" > $$ +chmod 0 $$ +cat $$ > /dev/null 2>&1 +result=$? +rm -f $$ +test $result -eq 0 && exit 77 -decho Creating directory structure +touch file mkdir directory -mkdir directory/subdir -genfile --file=directory/file - -decho Creating initial archive -tar -cf archive.1 -g db.1 directory - -decho Renaming -mv directory/subdir directory/subdir.0 -mv directory dir +touch directory/file -decho Creating incremental archive -cp db.1 db.2 -tar -cf archive.2 -g db.2 dir +echo 1>&2 ----- +chmod 000 file +tar cf archive file +status=$? +chmod 600 file +test $status = 2 || exit 1 -mv dir orig +echo 1>&2 ----- +chmod 000 file +tar cf archive --ignore-failed-read file || exit 1 +status=$? +chmod 600 file +test $status = 0 || exit 1 -decho First restore -tar -xf archive.1 -g db.1 -find directory | sort +echo 1>&2 ----- +chmod 000 directory +tar cf archive directory +status=$? +chmod 700 directory +test $status = 2 || exit 1 -decho Second restore -tar -xf archive.2 -g db.2 -find dir | sort +echo 1>&2 ----- +chmod 000 directory +tar cf archive --ignore-failed-read directory || exit 1 +status=$? +chmod 700 directory +test $status = 0 ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -echo >>"$at_stderr"; echo "Creating directory structure -Creating initial archive -Renaming -Creating incremental archive -First restore -Second restore -" | $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "Creating directory structure -Creating initial archive -Renaming -Creating incremental archive -First restore -directory -directory/file -directory/subdir -Second restore -dir -dir/subdir.0 -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/rename05.at:27: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi - -$at_traceon +echo >>"$at_stderr"; $as_echo "----- +tar: file: Cannot open: Permission denied +tar: Exiting with failure status due to previous errors +----- +tar: file: Warning: Cannot open: Permission denied +----- +tar: directory: Cannot open: Permission denied +tar: Exiting with failure status due to previous errors +----- +tar: directory: Warning: Cannot open: Permission denied +" | \ + $at_diff - "$at_stderr" || at_failed=: +at_func_diff_devnull "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/ignfail.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"` - ;; - 38 ) # 38. chtype.at:27: changed file types in incrementals - at_setup_line='chtype.at:27' - at_desc="changed file types in incrementals" - $at_quiet $ECHO_N " 38: changed file types in incrementals $ECHO_C" - at_xfail=no + $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_53 +#AT_START_54 +# 54. 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_xfail=no test -f $XFAILFILE && at_xfail=yes - echo "# -*- compilation -*-" >> "$at_group_log" - ( - echo "38. chtype.at:27: testing ..." - $at_traceon +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "54. link01.at:33: testing ..." + $at_traceon - $at_traceoff -echo "$at_srcdir/chtype.at:30: -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu + { $at_traceoff +$as_echo "$at_srcdir/link01.at:36: +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H gnu\" +TAR_OPTIONS=\"-H v7\" export TAR_OPTIONS rm -rf * +mkdir directory +mkdir directory/test1 +mkdir directory/test2 -test -z "`sort < /dev/null 2>&1`" || exit 77 - - -install-sh -d directory/b/c >/dev/null && genfile --file directory/b/c/x || exit 77 -mkdir directory/a -genfile --file directory/a/a - -echo First backup -tar --create --file=archive.1 --listed-incremental=db.1 directory - -sleep 2 - -# Remove directory b and create a file with this name. -# Previous versions were not able to restore over this file. -rm -r directory/b -genfile --file directory/b -genfile --file directory/a/b +echo TEST > directory/test1/test.txt +ln directory/test1/test.txt directory/test2/test.txt || exit 77 -echo Second backup -tar --create --file=archive.2 --listed-incremental=db.2 directory +tar cf archive directory/test1/test.txt directory/test1/test.txt -# Delete a rm -r directory +tar xf archive -echo Restore archive.1 -tar -xf archive.1 --listed-incremental=/dev/null -echo Restore archive.2 -tar -xf archive.2 --listed-incremental=/dev/null -find directory | sort +ls directory/test1 )" -echo chtype.at:30 >"$at_check_line_file" - -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +echo link01.at:36 >"$at_check_line_file" -if test -n "$at_trace_this"; then - ( $at_traceon; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu +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 gnu" +TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * +mkdir directory +mkdir directory/test1 +mkdir directory/test2 -test -z "`sort < /dev/null 2>&1`" || exit 77 - - -install-sh -d directory/b/c >/dev/null && genfile --file directory/b/c/x || exit 77 -mkdir directory/a -genfile --file directory/a/a - -echo First backup -tar --create --file=archive.1 --listed-incremental=db.1 directory - -sleep 2 - -# Remove directory b and create a file with this name. -# Previous versions were not able to restore over this file. -rm -r directory/b -genfile --file directory/b -genfile --file directory/a/b +echo TEST > directory/test1/test.txt +ln directory/test1/test.txt directory/test2/test.txt || exit 77 -echo Second backup -tar --create --file=archive.2 --listed-incremental=db.2 directory +tar cf archive directory/test1/test.txt directory/test1/test.txt -# Delete a rm -r directory +tar xf archive -echo Restore archive.1 -tar -xf archive.1 --listed-incremental=/dev/null -echo Restore archive.2 -tar -xf archive.2 --listed-incremental=/dev/null -find directory | sort +ls directory/test1 ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu + ( :; +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" +TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * +mkdir directory +mkdir directory/test1 +mkdir directory/test2 -test -z "`sort < /dev/null 2>&1`" || exit 77 +echo TEST > directory/test1/test.txt +ln directory/test1/test.txt directory/test2/test.txt || exit 77 +tar cf archive directory/test1/test.txt directory/test1/test.txt -install-sh -d directory/b/c >/dev/null && genfile --file directory/b/c/x || exit 77 -mkdir directory/a -genfile --file directory/a/a +rm -r directory +tar xf archive -echo First backup -tar --create --file=archive.1 --listed-incremental=db.1 directory +ls directory/test1 +) ) >"$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.txt +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/link01.at:36" -sleep 2 +$at_failed && at_func_log_failure +$at_traceon; } -# Remove directory b and create a file with this name. -# Previous versions were not able to restore over this file. -rm -r directory/b -genfile --file directory/b -genfile --file directory/a/b + { $at_traceoff +$as_echo "$at_srcdir/link01.at:36: +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H oldgnu\" +export TAR_OPTIONS +rm -rf * -echo Second backup -tar --create --file=archive.2 --listed-incremental=db.2 directory +mkdir directory +mkdir directory/test1 +mkdir directory/test2 + +echo TEST > directory/test1/test.txt +ln directory/test1/test.txt directory/test2/test.txt || exit 77 + +tar cf archive directory/test1/test.txt directory/test1/test.txt -# Delete a rm -r directory +tar xf archive -echo Restore archive.1 -tar -xf archive.1 --listed-incremental=/dev/null -echo Restore archive.2 -tar -xf archive.2 --listed-incremental=/dev/null -find directory | sort -) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? -fi +ls directory/test1 +)" +echo link01.at:36 >"$at_check_line_file" -at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "First backup -Second backup -Restore archive.1 -Restore archive.2 -directory -directory/a -directory/a/a -directory/a/b -directory/b -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/chtype.at:30: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H oldgnu" +export TAR_OPTIONS +rm -rf * +mkdir directory +mkdir directory/test1 +mkdir directory/test2 - echo 1 > "$at_status_file" - exit 1 -fi +echo TEST > directory/test1/test.txt +ln directory/test1/test.txt directory/test2/test.txt || exit 77 + +tar cf archive directory/test1/test.txt directory/test1/test.txt -$at_traceon +rm -r directory +tar xf archive - $at_traceoff -echo "$at_srcdir/chtype.at:30: +ls directory/test1 +) ) >"$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\" +TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * +mkdir directory +mkdir directory/test1 +mkdir directory/test2 -test -z "`sort < /dev/null 2>&1`" || exit 77 +echo TEST > directory/test1/test.txt +ln directory/test1/test.txt directory/test2/test.txt || exit 77 +tar cf archive directory/test1/test.txt directory/test1/test.txt -install-sh -d directory/b/c >/dev/null && genfile --file directory/b/c/x || exit 77 -mkdir directory/a -genfile --file directory/a/a +rm -r directory +tar xf archive -echo First backup -tar --create --file=archive.1 --listed-incremental=db.1 directory +ls directory/test1 +) ) >"$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.txt +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/link01.at:36" -sleep 2 +$at_failed && at_func_log_failure +$at_traceon; } -# Remove directory b and create a file with this name. -# Previous versions were not able to restore over this file. -rm -r directory/b -genfile --file directory/b -genfile --file directory/a/b + { $at_traceoff +$as_echo "$at_srcdir/link01.at:36: +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H ustar\" +export TAR_OPTIONS +rm -rf * -echo Second backup -tar --create --file=archive.2 --listed-incremental=db.2 directory +mkdir directory +mkdir directory/test1 +mkdir directory/test2 + +echo TEST > directory/test1/test.txt +ln directory/test1/test.txt directory/test2/test.txt || exit 77 + +tar cf archive directory/test1/test.txt directory/test1/test.txt -# Delete a rm -r directory +tar xf archive -echo Restore archive.1 -tar -xf archive.1 --listed-incremental=/dev/null -echo Restore archive.2 -tar -xf archive.2 --listed-incremental=/dev/null -find directory | sort +ls directory/test1 )" -echo chtype.at:30 >"$at_check_line_file" - -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +echo link01.at:36 >"$at_check_line_file" -if test -n "$at_trace_this"; then - ( $at_traceon; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu +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 oldgnu" +TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * +mkdir directory +mkdir directory/test1 +mkdir directory/test2 -test -z "`sort < /dev/null 2>&1`" || exit 77 - - -install-sh -d directory/b/c >/dev/null && genfile --file directory/b/c/x || exit 77 -mkdir directory/a -genfile --file directory/a/a - -echo First backup -tar --create --file=archive.1 --listed-incremental=db.1 directory - -sleep 2 - -# Remove directory b and create a file with this name. -# Previous versions were not able to restore over this file. -rm -r directory/b -genfile --file directory/b -genfile --file directory/a/b +echo TEST > directory/test1/test.txt +ln directory/test1/test.txt directory/test2/test.txt || exit 77 -echo Second backup -tar --create --file=archive.2 --listed-incremental=db.2 directory +tar cf archive directory/test1/test.txt directory/test1/test.txt -# Delete a rm -r directory +tar xf archive -echo Restore archive.1 -tar -xf archive.1 --listed-incremental=/dev/null -echo Restore archive.2 -tar -xf archive.2 --listed-incremental=/dev/null -find directory | sort +ls directory/test1 ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu + ( :; +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" +TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * +mkdir directory +mkdir directory/test1 +mkdir directory/test2 -test -z "`sort < /dev/null 2>&1`" || exit 77 - - -install-sh -d directory/b/c >/dev/null && genfile --file directory/b/c/x || exit 77 -mkdir directory/a -genfile --file directory/a/a - -echo First backup -tar --create --file=archive.1 --listed-incremental=db.1 directory - -sleep 2 - -# Remove directory b and create a file with this name. -# Previous versions were not able to restore over this file. -rm -r directory/b -genfile --file directory/b -genfile --file directory/a/b +echo TEST > directory/test1/test.txt +ln directory/test1/test.txt directory/test2/test.txt || exit 77 -echo Second backup -tar --create --file=archive.2 --listed-incremental=db.2 directory +tar cf archive directory/test1/test.txt directory/test1/test.txt -# Delete a rm -r directory +tar xf archive -echo Restore archive.1 -tar -xf archive.1 --listed-incremental=/dev/null -echo Restore archive.2 -tar -xf archive.2 --listed-incremental=/dev/null -find directory | sort +ls directory/test1 ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "First backup -Second backup -Restore archive.1 -Restore archive.2 -directory -directory/a -directory/a/a -directory/a/b -directory/b -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/chtype.at:30: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "test.txt +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/link01.at:36" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/chtype.at:30: + { $at_traceoff +$as_echo "$at_srcdir/link01.at:36: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -17784,46 +24771,25 @@ TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * +mkdir directory +mkdir directory/test1 +mkdir directory/test2 -test -z "`sort < /dev/null 2>&1`" || exit 77 - - -install-sh -d directory/b/c >/dev/null && genfile --file directory/b/c/x || exit 77 -mkdir directory/a -genfile --file directory/a/a - -echo First backup -tar --create --file=archive.1 --listed-incremental=db.1 directory - -sleep 2 - -# Remove directory b and create a file with this name. -# Previous versions were not able to restore over this file. -rm -r directory/b -genfile --file directory/b -genfile --file directory/a/b +echo TEST > directory/test1/test.txt +ln directory/test1/test.txt directory/test2/test.txt || exit 77 -echo Second backup -tar --create --file=archive.2 --listed-incremental=db.2 directory +tar cf archive directory/test1/test.txt directory/test1/test.txt -# Delete a rm -r directory +tar xf archive -echo Restore archive.1 -tar -xf archive.1 --listed-incremental=/dev/null -echo Restore archive.2 -tar -xf archive.2 --listed-incremental=/dev/null -find directory | sort +ls directory/test1 )" -echo chtype.at:30 >"$at_check_line_file" - -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +echo link01.at:36 >"$at_check_line_file" -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -17832,42 +24798,23 @@ TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * +mkdir directory +mkdir directory/test1 +mkdir directory/test2 -test -z "`sort < /dev/null 2>&1`" || exit 77 - - -install-sh -d directory/b/c >/dev/null && genfile --file directory/b/c/x || exit 77 -mkdir directory/a -genfile --file directory/a/a - -echo First backup -tar --create --file=archive.1 --listed-incremental=db.1 directory - -sleep 2 - -# Remove directory b and create a file with this name. -# Previous versions were not able to restore over this file. -rm -r directory/b -genfile --file directory/b -genfile --file directory/a/b +echo TEST > directory/test1/test.txt +ln directory/test1/test.txt directory/test2/test.txt || exit 77 -echo Second backup -tar --create --file=archive.2 --listed-incremental=db.2 directory +tar cf archive directory/test1/test.txt directory/test1/test.txt -# Delete a rm -r directory +tar xf archive -echo Restore archive.1 -tar -xf archive.1 --listed-incremental=/dev/null -echo Restore archive.2 -tar -xf archive.2 --listed-incremental=/dev/null -find directory | sort +ls directory/test1 ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -17876,93 +24823,146 @@ TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * +mkdir directory +mkdir directory/test1 +mkdir directory/test2 -test -z "`sort < /dev/null 2>&1`" || exit 77 +echo TEST > directory/test1/test.txt +ln directory/test1/test.txt directory/test2/test.txt || exit 77 +tar cf archive directory/test1/test.txt directory/test1/test.txt -install-sh -d directory/b/c >/dev/null && genfile --file directory/b/c/x || exit 77 -mkdir directory/a -genfile --file directory/a/a +rm -r directory +tar xf archive -echo First backup -tar --create --file=archive.1 --listed-incremental=db.1 directory +ls directory/test1 +) ) >"$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.txt +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/link01.at:36" -sleep 2 +$at_failed && at_func_log_failure +$at_traceon; } -# Remove directory b and create a file with this name. -# Previous versions were not able to restore over this file. -rm -r directory/b -genfile --file directory/b -genfile --file directory/a/b + { $at_traceoff +$as_echo "$at_srcdir/link01.at:36: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H gnu\" +export TAR_OPTIONS +rm -rf * -echo Second backup -tar --create --file=archive.2 --listed-incremental=db.2 directory +mkdir directory +mkdir directory/test1 +mkdir directory/test2 + +echo TEST > directory/test1/test.txt +ln directory/test1/test.txt directory/test2/test.txt || exit 77 + +tar cf archive directory/test1/test.txt directory/test1/test.txt -# Delete a rm -r directory +tar xf archive -echo Restore archive.1 -tar -xf archive.1 --listed-incremental=/dev/null -echo Restore archive.2 -tar -xf archive.2 --listed-incremental=/dev/null -find directory | sort -) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? -fi +ls directory/test1 +)" +echo link01.at:36 >"$at_check_line_file" -at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "First backup -Second backup -Restore archive.1 -Restore archive.2 -directory -directory/a -directory/a/a -directory/a/b -directory/b -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/chtype.at:30: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +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 directory +mkdir directory/test1 +mkdir directory/test2 + +echo TEST > directory/test1/test.txt +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 + +ls directory/test1 +) ) >"$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 directory +mkdir directory/test1 +mkdir directory/test2 - echo 1 > "$at_status_file" - exit 1 -fi +echo TEST > directory/test1/test.txt +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 -$at_traceon +ls directory/test1 +) ) >"$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.txt +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/link01.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"` - ;; - 39 ) # 39. ignfail.at:23: ignfail - at_setup_line='ignfail.at:23' - at_desc="ignfail" - $at_quiet $ECHO_N " 39: ignfail $ECHO_C" - at_xfail=no + $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_54 +#AT_START_55 +# 55. 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_xfail=no test -f $XFAILFILE && at_xfail=yes - echo "# -*- compilation -*-" >> "$at_group_log" - ( - echo "39. ignfail.at:23: testing ..." - $at_traceon +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "55. link02.at:32: testing ..." + $at_traceon - $at_traceoff -echo "$at_srcdir/ignfail.at:26: + { $at_traceoff +$as_echo "$at_srcdir/link02.at:35: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -17971,57 +24971,18 @@ TAR_OPTIONS=\"-H v7\" export TAR_OPTIONS rm -rf * -# The test is meaningless for super-user. - -echo "test" > $$ -chmod 0 $$ -cat $$ > /dev/null 2>&1 -result=$? -rm -f $$ -test $result -eq 0 && exit 77 - - -touch file -mkdir directory -touch directory/file - -echo 1>&2 ----- -chmod 000 file -tar cf archive file -status=\$? -chmod 600 file -test \$status = 2 || exit 1 - -echo 1>&2 ----- -chmod 000 file -tar cf archive --ignore-failed-read file || exit 1 -status=\$? -chmod 600 file -test \$status = 0 || exit 1 - -echo 1>&2 ----- -chmod 000 directory -tar cf archive directory -status=\$? -chmod 700 directory -test \$status = 2 || exit 1 - -echo 1>&2 ----- -chmod 000 directory -tar cf archive --ignore-failed-read directory || exit 1 -status=\$? -chmod 700 directory -test \$status = 0 +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' )" -echo ignfail.at:26 >"$at_check_line_file" +echo link02.at:35 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -18030,53 +24991,16 @@ TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * -# The test is meaningless for super-user. - -echo "test" > $$ -chmod 0 $$ -cat $$ > /dev/null 2>&1 -result=$? -rm -f $$ -test $result -eq 0 && exit 77 - - -touch file -mkdir directory -touch directory/file - -echo 1>&2 ----- -chmod 000 file -tar cf archive file -status=$? -chmod 600 file -test $status = 2 || exit 1 - -echo 1>&2 ----- -chmod 000 file -tar cf archive --ignore-failed-read file || exit 1 -status=$? -chmod 600 file -test $status = 0 || exit 1 - -echo 1>&2 ----- -chmod 000 directory -tar cf archive directory -status=$? -chmod 700 directory -test $status = 2 || exit 1 - -echo 1>&2 ----- -chmod 000 directory -tar cf archive --ignore-failed-read directory || exit 1 -status=$? -chmod 700 directory -test $status = 0 +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' ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -18085,81 +25009,29 @@ TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * -# The test is meaningless for super-user. - -echo "test" > $$ -chmod 0 $$ -cat $$ > /dev/null 2>&1 -result=$? -rm -f $$ -test $result -eq 0 && exit 77 - - -touch file -mkdir directory -touch directory/file - -echo 1>&2 ----- -chmod 000 file -tar cf archive file -status=$? -chmod 600 file -test $status = 2 || exit 1 - -echo 1>&2 ----- -chmod 000 file -tar cf archive --ignore-failed-read file || exit 1 -status=$? -chmod 600 file -test $status = 0 || exit 1 - -echo 1>&2 ----- -chmod 000 directory -tar cf archive directory -status=$? -chmod 700 directory -test $status = 2 || exit 1 - -echo 1>&2 ----- -chmod 000 directory -tar cf archive --ignore-failed-read directory || exit 1 -status=$? -chmod 700 directory -test $status = 0 +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' ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -echo >>"$at_stderr"; echo "----- -tar: file: Cannot open: Permission denied -tar: Exiting with failure status due to previous errors ------ -tar: file: Warning: Cannot open: Permission denied ------ -tar: directory: Cannot open: Permission denied -tar: Exiting with failure status due to previous errors ------ -tar: directory: Warning: Cannot open: Permission denied -" | $at_diff - "$at_stderr" || at_failed=: -$at_diff "$at_devnull" "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/ignfail.at:26: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi +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_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/ignfail.at:26: + { $at_traceoff +$as_echo "$at_srcdir/link02.at:35: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -18168,57 +25040,18 @@ TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * -# The test is meaningless for super-user. - -echo "test" > $$ -chmod 0 $$ -cat $$ > /dev/null 2>&1 -result=$? -rm -f $$ -test $result -eq 0 && exit 77 - - -touch file -mkdir directory -touch directory/file - -echo 1>&2 ----- -chmod 000 file -tar cf archive file -status=\$? -chmod 600 file -test \$status = 2 || exit 1 - -echo 1>&2 ----- -chmod 000 file -tar cf archive --ignore-failed-read file || exit 1 -status=\$? -chmod 600 file -test \$status = 0 || exit 1 - -echo 1>&2 ----- -chmod 000 directory -tar cf archive directory -status=\$? -chmod 700 directory -test \$status = 2 || exit 1 - -echo 1>&2 ----- -chmod 000 directory -tar cf archive --ignore-failed-read directory || exit 1 -status=\$? -chmod 700 directory -test \$status = 0 +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' )" -echo ignfail.at:26 >"$at_check_line_file" - -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +echo link02.at:35 >"$at_check_line_file" -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -18226,54 +25059,17 @@ export TEST_TAR_FORMAT TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * - -# The test is meaningless for super-user. - -echo "test" > $$ -chmod 0 $$ -cat $$ > /dev/null 2>&1 -result=$? -rm -f $$ -test $result -eq 0 && exit 77 - - -touch file -mkdir directory -touch directory/file - -echo 1>&2 ----- -chmod 000 file -tar cf archive file -status=$? -chmod 600 file -test $status = 2 || exit 1 - -echo 1>&2 ----- -chmod 000 file -tar cf archive --ignore-failed-read file || exit 1 -status=$? -chmod 600 file -test $status = 0 || exit 1 - -echo 1>&2 ----- -chmod 000 directory -tar cf archive directory -status=$? -chmod 700 directory -test $status = 2 || exit 1 - -echo 1>&2 ----- -chmod 000 directory -tar cf archive --ignore-failed-read directory || exit 1 -status=$? -chmod 700 directory -test $status = 0 + +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' ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -18282,81 +25078,29 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * -# The test is meaningless for super-user. - -echo "test" > $$ -chmod 0 $$ -cat $$ > /dev/null 2>&1 -result=$? -rm -f $$ -test $result -eq 0 && exit 77 - - -touch file -mkdir directory -touch directory/file - -echo 1>&2 ----- -chmod 000 file -tar cf archive file -status=$? -chmod 600 file -test $status = 2 || exit 1 - -echo 1>&2 ----- -chmod 000 file -tar cf archive --ignore-failed-read file || exit 1 -status=$? -chmod 600 file -test $status = 0 || exit 1 - -echo 1>&2 ----- -chmod 000 directory -tar cf archive directory -status=$? -chmod 700 directory -test $status = 2 || exit 1 - -echo 1>&2 ----- -chmod 000 directory -tar cf archive --ignore-failed-read directory || exit 1 -status=$? -chmod 700 directory -test $status = 0 +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' ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -echo >>"$at_stderr"; echo "----- -tar: file: Cannot open: Permission denied -tar: Exiting with failure status due to previous errors ------ -tar: file: Warning: Cannot open: Permission denied ------ -tar: directory: Cannot open: Permission denied -tar: Exiting with failure status due to previous errors ------ -tar: directory: Warning: Cannot open: Permission denied -" | $at_diff - "$at_stderr" || at_failed=: -$at_diff "$at_devnull" "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/ignfail.at:26: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi +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_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/ignfail.at:26: + { $at_traceoff +$as_echo "$at_srcdir/link02.at:35: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -18365,57 +25109,18 @@ TAR_OPTIONS=\"-H ustar\" export TAR_OPTIONS rm -rf * -# The test is meaningless for super-user. - -echo "test" > $$ -chmod 0 $$ -cat $$ > /dev/null 2>&1 -result=$? -rm -f $$ -test $result -eq 0 && exit 77 - - -touch file -mkdir directory -touch directory/file - -echo 1>&2 ----- -chmod 000 file -tar cf archive file -status=\$? -chmod 600 file -test \$status = 2 || exit 1 - -echo 1>&2 ----- -chmod 000 file -tar cf archive --ignore-failed-read file || exit 1 -status=\$? -chmod 600 file -test \$status = 0 || exit 1 - -echo 1>&2 ----- -chmod 000 directory -tar cf archive directory -status=\$? -chmod 700 directory -test \$status = 2 || exit 1 - -echo 1>&2 ----- -chmod 000 directory -tar cf archive --ignore-failed-read directory || exit 1 -status=\$? -chmod 700 directory -test \$status = 0 +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' )" -echo ignfail.at:26 >"$at_check_line_file" +echo link02.at:35 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -18424,53 +25129,16 @@ TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * -# The test is meaningless for super-user. - -echo "test" > $$ -chmod 0 $$ -cat $$ > /dev/null 2>&1 -result=$? -rm -f $$ -test $result -eq 0 && exit 77 - - -touch file -mkdir directory -touch directory/file - -echo 1>&2 ----- -chmod 000 file -tar cf archive file -status=$? -chmod 600 file -test $status = 2 || exit 1 - -echo 1>&2 ----- -chmod 000 file -tar cf archive --ignore-failed-read file || exit 1 -status=$? -chmod 600 file -test $status = 0 || exit 1 - -echo 1>&2 ----- -chmod 000 directory -tar cf archive directory -status=$? -chmod 700 directory -test $status = 2 || exit 1 - -echo 1>&2 ----- -chmod 000 directory -tar cf archive --ignore-failed-read directory || exit 1 -status=$? -chmod 700 directory -test $status = 0 +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' ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -18479,81 +25147,29 @@ TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * -# The test is meaningless for super-user. - -echo "test" > $$ -chmod 0 $$ -cat $$ > /dev/null 2>&1 -result=$? -rm -f $$ -test $result -eq 0 && exit 77 - - -touch file -mkdir directory -touch directory/file - -echo 1>&2 ----- -chmod 000 file -tar cf archive file -status=$? -chmod 600 file -test $status = 2 || exit 1 - -echo 1>&2 ----- -chmod 000 file -tar cf archive --ignore-failed-read file || exit 1 -status=$? -chmod 600 file -test $status = 0 || exit 1 - -echo 1>&2 ----- -chmod 000 directory -tar cf archive directory -status=$? -chmod 700 directory -test $status = 2 || exit 1 - -echo 1>&2 ----- -chmod 000 directory -tar cf archive --ignore-failed-read directory || exit 1 -status=$? -chmod 700 directory -test $status = 0 +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' ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -echo >>"$at_stderr"; echo "----- -tar: file: Cannot open: Permission denied -tar: Exiting with failure status due to previous errors ------ -tar: file: Warning: Cannot open: Permission denied ------ -tar: directory: Cannot open: Permission denied -tar: Exiting with failure status due to previous errors ------ -tar: directory: Warning: Cannot open: Permission denied -" | $at_diff - "$at_stderr" || at_failed=: -$at_diff "$at_devnull" "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/ignfail.at:26: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi +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_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/ignfail.at:26: + { $at_traceoff +$as_echo "$at_srcdir/link02.at:35: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -18562,57 +25178,18 @@ TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * -# The test is meaningless for super-user. - -echo "test" > $$ -chmod 0 $$ -cat $$ > /dev/null 2>&1 -result=$? -rm -f $$ -test $result -eq 0 && exit 77 - - -touch file -mkdir directory -touch directory/file - -echo 1>&2 ----- -chmod 000 file -tar cf archive file -status=\$? -chmod 600 file -test \$status = 2 || exit 1 - -echo 1>&2 ----- -chmod 000 file -tar cf archive --ignore-failed-read file || exit 1 -status=\$? -chmod 600 file -test \$status = 0 || exit 1 - -echo 1>&2 ----- -chmod 000 directory -tar cf archive directory -status=\$? -chmod 700 directory -test \$status = 2 || exit 1 - -echo 1>&2 ----- -chmod 000 directory -tar cf archive --ignore-failed-read directory || exit 1 -status=\$? -chmod 700 directory -test \$status = 0 -)" -echo ignfail.at:26 >"$at_check_line_file" - -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; +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' +)" +echo link02.at:35 >"$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 @@ -18621,53 +25198,16 @@ TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * -# The test is meaningless for super-user. - -echo "test" > $$ -chmod 0 $$ -cat $$ > /dev/null 2>&1 -result=$? -rm -f $$ -test $result -eq 0 && exit 77 - - -touch file -mkdir directory -touch directory/file - -echo 1>&2 ----- -chmod 000 file -tar cf archive file -status=$? -chmod 600 file -test $status = 2 || exit 1 - -echo 1>&2 ----- -chmod 000 file -tar cf archive --ignore-failed-read file || exit 1 -status=$? -chmod 600 file -test $status = 0 || exit 1 - -echo 1>&2 ----- -chmod 000 directory -tar cf archive directory -status=$? -chmod 700 directory -test $status = 2 || exit 1 - -echo 1>&2 ----- -chmod 000 directory -tar cf archive --ignore-failed-read directory || exit 1 -status=$? -chmod 700 directory -test $status = 0 +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' ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -18676,81 +25216,29 @@ TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * -# The test is meaningless for super-user. - -echo "test" > $$ -chmod 0 $$ -cat $$ > /dev/null 2>&1 -result=$? -rm -f $$ -test $result -eq 0 && exit 77 - - -touch file -mkdir directory -touch directory/file - -echo 1>&2 ----- -chmod 000 file -tar cf archive file -status=$? -chmod 600 file -test $status = 2 || exit 1 - -echo 1>&2 ----- -chmod 000 file -tar cf archive --ignore-failed-read file || exit 1 -status=$? -chmod 600 file -test $status = 0 || exit 1 - -echo 1>&2 ----- -chmod 000 directory -tar cf archive directory -status=$? -chmod 700 directory -test $status = 2 || exit 1 - -echo 1>&2 ----- -chmod 000 directory -tar cf archive --ignore-failed-read directory || exit 1 -status=$? -chmod 700 directory -test $status = 0 +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' ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -echo >>"$at_stderr"; echo "----- -tar: file: Cannot open: Permission denied -tar: Exiting with failure status due to previous errors ------ -tar: file: Warning: Cannot open: Permission denied ------ -tar: directory: Cannot open: Permission denied -tar: Exiting with failure status due to previous errors ------ -tar: directory: Warning: Cannot open: Permission denied -" | $at_diff - "$at_stderr" || at_failed=: -$at_diff "$at_devnull" "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/ignfail.at:26: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi +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_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/ignfail.at:26: + { $at_traceoff +$as_echo "$at_srcdir/link02.at:35: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -18759,57 +25247,18 @@ TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -# The test is meaningless for super-user. - -echo "test" > $$ -chmod 0 $$ -cat $$ > /dev/null 2>&1 -result=$? -rm -f $$ -test $result -eq 0 && exit 77 - - -touch file -mkdir directory -touch directory/file - -echo 1>&2 ----- -chmod 000 file -tar cf archive file -status=\$? -chmod 600 file -test \$status = 2 || exit 1 - -echo 1>&2 ----- -chmod 000 file -tar cf archive --ignore-failed-read file || exit 1 -status=\$? -chmod 600 file -test \$status = 0 || exit 1 - -echo 1>&2 ----- -chmod 000 directory -tar cf archive directory -status=\$? -chmod 700 directory -test \$status = 2 || exit 1 - -echo 1>&2 ----- -chmod 000 directory -tar cf archive --ignore-failed-read directory || exit 1 -status=\$? -chmod 700 directory -test \$status = 0 +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' )" -echo ignfail.at:26 >"$at_check_line_file" - -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +echo link02.at:35 >"$at_check_line_file" -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -18818,160 +25267,73 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -# The test is meaningless for super-user. - -echo "test" > $$ -chmod 0 $$ -cat $$ > /dev/null 2>&1 -result=$? -rm -f $$ -test $result -eq 0 && exit 77 - - -touch file -mkdir directory -touch directory/file - -echo 1>&2 ----- -chmod 000 file -tar cf archive file -status=$? -chmod 600 file -test $status = 2 || exit 1 - -echo 1>&2 ----- -chmod 000 file -tar cf archive --ignore-failed-read file || exit 1 -status=$? -chmod 600 file -test $status = 0 || exit 1 - -echo 1>&2 ----- -chmod 000 directory -tar cf archive directory -status=$? -chmod 700 directory -test $status = 2 || exit 1 - -echo 1>&2 ----- -chmod 000 directory -tar cf archive --ignore-failed-read directory || exit 1 -status=$? -chmod 700 directory -test $status = 0 +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' ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + 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 * - -# The test is meaningless for super-user. - -echo "test" > $$ -chmod 0 $$ -cat $$ > /dev/null 2>&1 -result=$? -rm -f $$ -test $result -eq 0 && exit 77 - - -touch file -mkdir directory -touch directory/file - -echo 1>&2 ----- -chmod 000 file -tar cf archive file -status=$? -chmod 600 file -test $status = 2 || exit 1 - -echo 1>&2 ----- -chmod 000 file -tar cf archive --ignore-failed-read file || exit 1 -status=$? -chmod 600 file -test $status = 0 || exit 1 - -echo 1>&2 ----- -chmod 000 directory -tar cf archive directory -status=$? -chmod 700 directory -test $status = 2 || exit 1 - -echo 1>&2 ----- -chmod 000 directory -tar cf archive --ignore-failed-read directory || exit 1 -status=$? -chmod 700 directory -test $status = 0 -) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? -fi - -at_failed=false -echo >>"$at_stderr"; echo "----- -tar: file: Cannot open: Permission denied -tar: Exiting with failure status due to previous errors ------ -tar: file: Warning: Cannot open: Permission denied ------ -tar: directory: Cannot open: Permission denied -tar: Exiting with failure status due to previous errors ------ -tar: directory: Warning: Cannot open: Permission denied -" | $at_diff - "$at_stderr" || at_failed=: -$at_diff "$at_devnull" "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/ignfail.at:26: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - + ( :; +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H gnu" +export TAR_OPTIONS +rm -rf * - echo 1 > "$at_status_file" - exit 1 +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' +) ) >"$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_traceon - +$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"` - ;; - 40 ) # 40. link01.at:33: link count gt 2 - at_setup_line='link01.at:33' - at_desc="link count gt 2" - $at_quiet $ECHO_N " 40: link count gt 2 $ECHO_C" - at_xfail=no + $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_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_xfail=no test -f $XFAILFILE && at_xfail=yes - echo "# -*- compilation -*-" >> "$at_group_log" - ( - echo "40. link01.at:33: testing ..." - $at_traceon +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "56. link03.at:24: testing ..." + $at_traceon - $at_traceoff -echo "$at_srcdir/link01.at:36: + + + { $at_traceoff +$as_echo "$at_srcdir/link03.at:34: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -18980,29 +25342,30 @@ TAR_OPTIONS=\"-H v7\" export TAR_OPTIONS rm -rf * -mkdir directory -mkdir directory/test1 -mkdir directory/test2 -echo TEST > directory/test1/test.txt -ln directory/test1/test.txt directory/test2/test.txt || exit 77 +genfile -l 64 -f file1 +link file1 file2 +link file2 file3 +link file3 file4 -tar cf archive directory/test1/test.txt directory/test1/test.txt +echo archive.1 +tar -c -f archive.1 -l --remove-files file1 file2 file3 file4 -rm -r directory -tar xf archive +genfile -l 64 -f file1 +link file1 file2 +link file2 file3 +link file3 file4 -ls directory/test1 +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 link01.at:36 >"$at_check_line_file" - -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +echo link03.at:34 >"$at_check_line_file" -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -19011,25 +25374,28 @@ TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * -mkdir directory -mkdir directory/test1 -mkdir directory/test2 -echo TEST > directory/test1/test.txt -ln directory/test1/test.txt directory/test2/test.txt || exit 77 +genfile -l 64 -f file1 +link file1 file2 +link file2 file3 +link file3 file4 -tar cf archive directory/test1/test.txt directory/test1/test.txt +echo archive.1 +tar -c -f archive.1 -l --remove-files file1 file2 file3 file4 -rm -r directory -tar xf archive +genfile -l 64 -f file1 +link file1 file2 +link file2 file3 +link file3 file4 -ls directory/test1 +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_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -19038,44 +25404,45 @@ TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * -mkdir directory -mkdir directory/test1 -mkdir directory/test2 -echo TEST > directory/test1/test.txt -ln directory/test1/test.txt directory/test2/test.txt || exit 77 +genfile -l 64 -f file1 +link file1 file2 +link file2 file3 +link file3 file4 -tar cf archive directory/test1/test.txt directory/test1/test.txt +echo archive.1 +tar -c -f archive.1 -l --remove-files file1 file2 file3 file4 -rm -r directory -tar xf archive +genfile -l 64 -f file1 +link file1 file2 +link file2 file3 +link file3 file4 -ls directory/test1 +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" - at_status=$? fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "test.txt -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/link01.at:36: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi +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_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/link01.at:36: + { $at_traceoff +$as_echo "$at_srcdir/link03.at:34: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -19084,29 +25451,30 @@ TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * -mkdir directory -mkdir directory/test1 -mkdir directory/test2 -echo TEST > directory/test1/test.txt -ln directory/test1/test.txt directory/test2/test.txt || exit 77 +genfile -l 64 -f file1 +link file1 file2 +link file2 file3 +link file3 file4 -tar cf archive directory/test1/test.txt directory/test1/test.txt +echo archive.1 +tar -c -f archive.1 -l --remove-files file1 file2 file3 file4 -rm -r directory -tar xf archive +genfile -l 64 -f file1 +link file1 file2 +link file2 file3 +link file3 file4 -ls directory/test1 +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 link01.at:36 >"$at_check_line_file" +echo link03.at:34 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -19115,25 +25483,28 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * -mkdir directory -mkdir directory/test1 -mkdir directory/test2 -echo TEST > directory/test1/test.txt -ln directory/test1/test.txt directory/test2/test.txt || exit 77 +genfile -l 64 -f file1 +link file1 file2 +link file2 file3 +link file3 file4 -tar cf archive directory/test1/test.txt directory/test1/test.txt +echo archive.1 +tar -c -f archive.1 -l --remove-files file1 file2 file3 file4 -rm -r directory -tar xf archive +genfile -l 64 -f file1 +link file1 file2 +link file2 file3 +link file3 file4 -ls directory/test1 +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_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -19142,44 +25513,45 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * -mkdir directory -mkdir directory/test1 -mkdir directory/test2 -echo TEST > directory/test1/test.txt -ln directory/test1/test.txt directory/test2/test.txt || exit 77 +genfile -l 64 -f file1 +link file1 file2 +link file2 file3 +link file3 file4 -tar cf archive directory/test1/test.txt directory/test1/test.txt +echo archive.1 +tar -c -f archive.1 -l --remove-files file1 file2 file3 file4 -rm -r directory -tar xf archive +genfile -l 64 -f file1 +link file1 file2 +link file2 file3 +link file3 file4 -ls directory/test1 +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" - at_status=$? fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "test.txt -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/link01.at:36: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi +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_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/link01.at:36: + { $at_traceoff +$as_echo "$at_srcdir/link03.at:34: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -19188,29 +25560,30 @@ TAR_OPTIONS=\"-H ustar\" export TAR_OPTIONS rm -rf * -mkdir directory -mkdir directory/test1 -mkdir directory/test2 -echo TEST > directory/test1/test.txt -ln directory/test1/test.txt directory/test2/test.txt || exit 77 +genfile -l 64 -f file1 +link file1 file2 +link file2 file3 +link file3 file4 -tar cf archive directory/test1/test.txt directory/test1/test.txt +echo archive.1 +tar -c -f archive.1 -l --remove-files file1 file2 file3 file4 -rm -r directory -tar xf archive +genfile -l 64 -f file1 +link file1 file2 +link file2 file3 +link file3 file4 -ls directory/test1 +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 link01.at:36 >"$at_check_line_file" - -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +echo link03.at:34 >"$at_check_line_file" -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -19219,25 +25592,28 @@ TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * -mkdir directory -mkdir directory/test1 -mkdir directory/test2 -echo TEST > directory/test1/test.txt -ln directory/test1/test.txt directory/test2/test.txt || exit 77 +genfile -l 64 -f file1 +link file1 file2 +link file2 file3 +link file3 file4 -tar cf archive directory/test1/test.txt directory/test1/test.txt +echo archive.1 +tar -c -f archive.1 -l --remove-files file1 file2 file3 file4 -rm -r directory -tar xf archive +genfile -l 64 -f file1 +link file1 file2 +link file2 file3 +link file3 file4 -ls directory/test1 +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_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -19246,44 +25622,45 @@ TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * -mkdir directory -mkdir directory/test1 -mkdir directory/test2 -echo TEST > directory/test1/test.txt -ln directory/test1/test.txt directory/test2/test.txt || exit 77 +genfile -l 64 -f file1 +link file1 file2 +link file2 file3 +link file3 file4 -tar cf archive directory/test1/test.txt directory/test1/test.txt +echo archive.1 +tar -c -f archive.1 -l --remove-files file1 file2 file3 file4 -rm -r directory -tar xf archive +genfile -l 64 -f file1 +link file1 file2 +link file2 file3 +link file3 file4 -ls directory/test1 +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" - at_status=$? fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "test.txt -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/link01.at:36: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi +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_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/link01.at:36: + { $at_traceoff +$as_echo "$at_srcdir/link03.at:34: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -19292,29 +25669,30 @@ TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * -mkdir directory -mkdir directory/test1 -mkdir directory/test2 -echo TEST > directory/test1/test.txt -ln directory/test1/test.txt directory/test2/test.txt || exit 77 +genfile -l 64 -f file1 +link file1 file2 +link file2 file3 +link file3 file4 -tar cf archive directory/test1/test.txt directory/test1/test.txt +echo archive.1 +tar -c -f archive.1 -l --remove-files file1 file2 file3 file4 -rm -r directory -tar xf archive +genfile -l 64 -f file1 +link file1 file2 +link file2 file3 +link file3 file4 -ls directory/test1 +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 link01.at:36 >"$at_check_line_file" +echo link03.at:34 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -19323,25 +25701,28 @@ TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * -mkdir directory -mkdir directory/test1 -mkdir directory/test2 -echo TEST > directory/test1/test.txt -ln directory/test1/test.txt directory/test2/test.txt || exit 77 +genfile -l 64 -f file1 +link file1 file2 +link file2 file3 +link file3 file4 -tar cf archive directory/test1/test.txt directory/test1/test.txt +echo archive.1 +tar -c -f archive.1 -l --remove-files file1 file2 file3 file4 -rm -r directory -tar xf archive +genfile -l 64 -f file1 +link file1 file2 +link file2 file3 +link file3 file4 -ls directory/test1 +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_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -19350,44 +25731,45 @@ TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * -mkdir directory -mkdir directory/test1 -mkdir directory/test2 -echo TEST > directory/test1/test.txt -ln directory/test1/test.txt directory/test2/test.txt || exit 77 +genfile -l 64 -f file1 +link file1 file2 +link file2 file3 +link file3 file4 -tar cf archive directory/test1/test.txt directory/test1/test.txt +echo archive.1 +tar -c -f archive.1 -l --remove-files file1 file2 file3 file4 -rm -r directory -tar xf archive +genfile -l 64 -f file1 +link file1 file2 +link file2 file3 +link file3 file4 -ls directory/test1 +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" - at_status=$? fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "test.txt -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/link01.at:36: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi +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_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/link01.at:36: + { $at_traceoff +$as_echo "$at_srcdir/link03.at:34: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -19396,29 +25778,30 @@ TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -mkdir directory -mkdir directory/test1 -mkdir directory/test2 -echo TEST > directory/test1/test.txt -ln directory/test1/test.txt directory/test2/test.txt || exit 77 +genfile -l 64 -f file1 +link file1 file2 +link file2 file3 +link file3 file4 -tar cf archive directory/test1/test.txt directory/test1/test.txt +echo archive.1 +tar -c -f archive.1 -l --remove-files file1 file2 file3 file4 -rm -r directory -tar xf archive +genfile -l 64 -f file1 +link file1 file2 +link file2 file3 +link file3 file4 -ls directory/test1 +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 link01.at:36 >"$at_check_line_file" - -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +echo link03.at:34 >"$at_check_line_file" -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -19427,25 +25810,28 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -mkdir directory -mkdir directory/test1 -mkdir directory/test2 -echo TEST > directory/test1/test.txt -ln directory/test1/test.txt directory/test2/test.txt || exit 77 +genfile -l 64 -f file1 +link file1 file2 +link file2 file3 +link file3 file4 -tar cf archive directory/test1/test.txt directory/test1/test.txt +echo archive.1 +tar -c -f archive.1 -l --remove-files file1 file2 file3 file4 -rm -r directory -tar xf archive +genfile -l 64 -f file1 +link file1 file2 +link file2 file3 +link file3 file4 -ls directory/test1 +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_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -19454,61 +25840,62 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -mkdir directory -mkdir directory/test1 -mkdir directory/test2 -echo TEST > directory/test1/test.txt -ln directory/test1/test.txt directory/test2/test.txt || exit 77 +genfile -l 64 -f file1 +link file1 file2 +link file2 file3 +link file3 file4 -tar cf archive directory/test1/test.txt directory/test1/test.txt +echo archive.1 +tar -c -f archive.1 -l --remove-files file1 file2 file3 file4 -rm -r directory -tar xf archive +genfile -l 64 -f file1 +link file1 file2 +link file2 file3 +link file3 file4 -ls directory/test1 +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" - at_status=$? fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "test.txt -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/link01.at:36: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi - -$at_traceon +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 - $at_times_p && times >"$at_times_file" - ) 5>&1 2>&1 | eval $at_tee_pipe - at_status=`cat "$at_status_file"` - ;; - 41 ) # 41. longv7.at:24: long names in V7 archives - at_setup_line='longv7.at:24' - at_desc="long names in V7 archives" - $at_quiet $ECHO_N " 41: long names in V7 archives $ECHO_C" - at_xfail=no + $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. 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_xfail=no test -f $XFAILFILE && at_xfail=yes - echo "# -*- compilation -*-" >> "$at_group_log" - ( - echo "41. longv7.at:24: testing ..." - $at_traceon +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "57. longv7.at:24: testing ..." + $at_traceon @@ -19517,8 +25904,8 @@ $at_traceon - $at_traceoff -echo "$at_srcdir/longv7.at:30: + { $at_traceoff +$as_echo "$at_srcdir/longv7.at:30: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -19536,13 +25923,9 @@ tar tf archive )" echo longv7.at:30 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -19558,11 +25941,9 @@ tar cf archive this_is_a_very_long_name_for_a_directory_which_causes_problems echo separator tar tf archive ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -19578,50 +25959,41 @@ tar cf archive this_is_a_very_long_name_for_a_directory_which_causes_problems echo separator tar tf archive ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -echo >>"$at_stderr"; echo "tar: this_is_a_very_long_name_for_a_directory_which_causes_problems/this_is_a_very_long_file_name_which_raises_issues.c: file name is too long (max 99); not dumped +echo >>"$at_stderr"; $as_echo "tar: this_is_a_very_long_name_for_a_directory_which_causes_problems/this_is_a_very_long_file_name_which_raises_issues.c: file name is too long (max 99); not dumped tar: Exiting with failure status due to previous errors -" | $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "separator +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "separator this_is_a_very_long_name_for_a_directory_which_causes_problems/ -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/longv7.at:30: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi - -$at_traceon +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/longv7.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"` - ;; - 42 ) # 42. 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 $ECHO_N " 42: long file names divisible by block size $ECHO_C" - at_xfail=no + $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. 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_xfail=no test -f $XFAILFILE && at_xfail=yes - echo "# -*- compilation -*-" >> "$at_group_log" - ( - echo "42. long01.at:28: testing ..." - $at_traceon +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "58. long01.at:28: testing ..." + $at_traceon @@ -19631,8 +26003,8 @@ $at_traceon - $at_traceoff -echo "$at_srcdir/long01.at:36: + { $at_traceoff +$as_echo "$at_srcdir/long01.at:36: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -19647,15 +26019,11 @@ echo test > endfile tar cf archive 0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde endfile tar tf archive)" -echo long01.at:36 >"$at_check_line_file" - -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +echo long01.at:36 >"$at_check_line_file" -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -19670,11 +26038,9 @@ echo test > endfile tar cf archive 0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde endfile tar tf archive) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -19689,31 +26055,21 @@ echo test > endfile tar cf archive 0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde endfile tar tf archive) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde endfile -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/long01.at:36: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/long01.at:36" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/long01.at:36: + { $at_traceoff +$as_echo "$at_srcdir/long01.at:36: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -19730,13 +26086,9 @@ tar cf archive 0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0 tar tf archive)" echo long01.at:36 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -19751,11 +26103,9 @@ echo test > endfile tar cf archive 0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde endfile tar tf archive) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -19770,48 +26120,38 @@ echo test > endfile tar cf archive 0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde endfile tar tf archive) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde/0123456789abcde endfile -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/long01.at:36: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/long01.at:36" -$at_traceon +$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"` - ;; - - 43 ) # 43. lustar01.at:21: ustar: unsplittable file name - at_setup_line='lustar01.at:21' - at_desc="ustar: unsplittable file name" - $at_quiet $ECHO_N " 43: ustar: unsplittable file name $ECHO_C" - at_xfail=no + $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_58 +#AT_START_59 +# 59. 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_xfail=no test -f $XFAILFILE && at_xfail=yes - echo "# -*- compilation -*-" >> "$at_group_log" - ( - echo "43. lustar01.at:21: testing ..." - $at_traceon +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "59. lustar01.at:21: testing ..." + $at_traceon @@ -19819,8 +26159,8 @@ $at_traceon - $at_traceoff -echo "$at_srcdir/lustar01.at:27: + { $at_traceoff +$as_echo "$at_srcdir/lustar01.at:27: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -19834,13 +26174,9 @@ tar cf archive this_is_a_very_long_name_for_a_file_designed_to_test_generation_o )" echo lustar01.at:27 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -19852,11 +26188,9 @@ rm -rf * genfile --file=this_is_a_very_long_name_for_a_file_designed_to_test_generation_of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_between_name_and_prefix || exit 77 tar cf archive this_is_a_very_long_name_for_a_file_designed_to_test_generation_of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_between_name_and_prefix ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -19868,48 +26202,38 @@ rm -rf * genfile --file=this_is_a_very_long_name_for_a_file_designed_to_test_generation_of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_between_name_and_prefix || exit 77 tar cf archive this_is_a_very_long_name_for_a_file_designed_to_test_generation_of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_between_name_and_prefix ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -echo >>"$at_stderr"; echo "tar: this_is_a_very_long_name_for_a_file_designed_to_test_generation_of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_between_name_and_prefix: file name is too long (cannot be split); not dumped +echo >>"$at_stderr"; $as_echo "tar: this_is_a_very_long_name_for_a_file_designed_to_test_generation_of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_between_name_and_prefix: file name is too long (cannot be split); not dumped tar: Exiting with failure status due to previous errors -" | $at_diff - "$at_stderr" || at_failed=: -$at_diff "$at_devnull" "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 2) ;; - *) echo "$at_srcdir/lustar01.at:27: exit code was $at_status, expected 2" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi - -$at_traceon +" | \ + $at_diff - "$at_stderr" || at_failed=: +at_func_diff_devnull "$at_stdout" || at_failed=: +at_func_check_status 2 $at_status "$at_srcdir/lustar01.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"` - ;; - 44 ) # 44. lustar02.at:21: ustar: unsplittable path name - at_setup_line='lustar02.at:21' - at_desc="ustar: unsplittable path name" - $at_quiet $ECHO_N " 44: ustar: unsplittable path name $ECHO_C" - at_xfail=no + $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_59 +#AT_START_60 +# 60. 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_xfail=no test -f $XFAILFILE && at_xfail=yes - echo "# -*- compilation -*-" >> "$at_group_log" - ( - echo "44. lustar02.at:21: testing ..." - $at_traceon +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "60. lustar02.at:21: testing ..." + $at_traceon @@ -19921,8 +26245,8 @@ $at_traceon - $at_traceoff -echo "$at_srcdir/lustar02.at:32: + { $at_traceoff +$as_echo "$at_srcdir/lustar02.at:32: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -19937,13 +26261,9 @@ tar cf archive this_is_a_very_long_name_for_a_file_designed_to_test_generation_o )" echo lustar02.at:32 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -19956,11 +26276,9 @@ rm -rf * install-sh -d this_is_a_very_long_name_for_a_file_designed_to_test_generation_of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_be >/dev/null && genfile --file this_is_a_very_long_name_for_a_file_designed_to_test_generation_of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_be/tween_name_and_prefix || exit 77 tar cf archive this_is_a_very_long_name_for_a_file_designed_to_test_generation_of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_be ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -19973,48 +26291,38 @@ rm -rf * install-sh -d this_is_a_very_long_name_for_a_file_designed_to_test_generation_of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_be >/dev/null && genfile --file this_is_a_very_long_name_for_a_file_designed_to_test_generation_of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_be/tween_name_and_prefix || exit 77 tar cf archive this_is_a_very_long_name_for_a_file_designed_to_test_generation_of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_be ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -echo >>"$at_stderr"; echo "tar: this_is_a_very_long_name_for_a_file_designed_to_test_generation_of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_be/: file name is too long (cannot be split); not dumped +echo >>"$at_stderr"; $as_echo "tar: this_is_a_very_long_name_for_a_file_designed_to_test_generation_of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_be/: file name is too long (cannot be split); not dumped tar: Exiting with failure status due to previous errors -" | $at_diff - "$at_stderr" || at_failed=: -$at_diff "$at_devnull" "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 2) ;; - *) echo "$at_srcdir/lustar02.at:32: exit code was $at_status, expected 2" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi +" | \ + $at_diff - "$at_stderr" || at_failed=: +at_func_diff_devnull "$at_stdout" || at_failed=: +at_func_check_status 2 $at_status "$at_srcdir/lustar02.at:32" -$at_traceon +$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"` - ;; - - 45 ) # 45. lustar03.at:21: ustar: splitting long names - at_setup_line='lustar03.at:21' - at_desc="ustar: splitting long names" - $at_quiet $ECHO_N " 45: ustar: splitting long names $ECHO_C" - at_xfail=no + $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_60 +#AT_START_61 +# 61. 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_xfail=no test -f $XFAILFILE && at_xfail=yes - echo "# -*- compilation -*-" >> "$at_group_log" - ( - echo "45. lustar03.at:21: testing ..." - $at_traceon +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "61. lustar03.at:21: testing ..." + $at_traceon @@ -20024,8 +26332,8 @@ $at_traceon - $at_traceoff -echo "$at_srcdir/lustar03.at:29: + { $at_traceoff +$as_echo "$at_srcdir/lustar03.at:29: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -20042,13 +26350,9 @@ echo \"List archive\" tar tf archive)" echo lustar03.at:29 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -20063,11 +26367,9 @@ echo "Create archive" tar cf archive this_is_a_very_long_name_for_a_file_designed_to_test_generation/of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_be echo "List archive" tar tf archive) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -20082,50 +26384,40 @@ echo "Create archive" tar cf archive this_is_a_very_long_name_for_a_file_designed_to_test_generation/of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_be echo "List archive" tar tf archive) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "Create archive +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Create archive List archive this_is_a_very_long_name_for_a_file_designed_to_test_generation/of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_be/ this_is_a_very_long_name_for_a_file_designed_to_test_generation/of_ustar_archives_by_gnu_tar_semicolon_it_will_not_fit_the_name_field_and_cannot_be_split_be/file -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/lustar03.at:29: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi - -$at_traceon +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/lustar03.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"` - ;; - 46 ) # 46. multiv01.at:23: multivolume dumps from pipes - at_setup_line='multiv01.at:23' - at_desc="multivolume dumps from pipes" - $at_quiet $ECHO_N " 46: multivolume dumps from pipes $ECHO_C" - at_xfail=no + $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_61 +#AT_START_62 +# 62. 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_xfail=no test -f $XFAILFILE && at_xfail=yes - echo "# -*- compilation -*-" >> "$at_group_log" - ( - echo "46. multiv01.at:23: testing ..." - $at_traceon +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "62. multiv01.at:23: testing ..." + $at_traceon @@ -20135,8 +26427,8 @@ $at_traceon - $at_traceoff -echo "$at_srcdir/multiv01.at:30: + { $at_traceoff +$as_echo "$at_srcdir/multiv01.at:30: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -20163,7 +26455,6 @@ else fi tar -c --multi-volume --tape-length=\$TAPE_LENGTH \\ - --listed-incremental=t.snar \\ -f t1-pipe.tar -f t2-pipe.tar ./file1 ./file2 || exit 1 mkdir extract-dir-pipe @@ -20177,13 +26468,9 @@ cmp file2 extract-dir-pipe/file2 )" echo multiv01.at:30 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains a ${...} parameter expansion)' -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains a ${...} parameter expansion)' + false; }; then + ( $at_traceon; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -20210,7 +26497,6 @@ else fi tar -c --multi-volume --tape-length=$TAPE_LENGTH \ - --listed-incremental=t.snar \ -f t1-pipe.tar -f t2-pipe.tar ./file1 ./file2 || exit 1 mkdir extract-dir-pipe @@ -20222,11 +26508,9 @@ PATH=$PATH ${TRUSS} tar -f t1-pipe.tar -f - \ cmp file1 extract-dir-pipe/file1 cmp file2 extract-dir-pipe/file2 ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -20253,7 +26537,6 @@ else fi tar -c --multi-volume --tape-length=$TAPE_LENGTH \ - --listed-incremental=t.snar \ -f t1-pipe.tar -f t2-pipe.tar ./file1 ./file2 || exit 1 mkdir extract-dir-pipe @@ -20265,29 +26548,18 @@ PATH=$PATH ${TRUSS} tar -f t1-pipe.tar -f - \ cmp file1 extract-dir-pipe/file1 cmp file2 extract-dir-pipe/file2 ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -$at_diff "$at_devnull" "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/multiv01.at:30: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi +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/multiv01.at:30" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/multiv01.at:30: + { $at_traceoff +$as_echo "$at_srcdir/multiv01.at:30: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -20314,7 +26586,6 @@ else fi tar -c --multi-volume --tape-length=\$TAPE_LENGTH \\ - --listed-incremental=t.snar \\ -f t1-pipe.tar -f t2-pipe.tar ./file1 ./file2 || exit 1 mkdir extract-dir-pipe @@ -20328,13 +26599,9 @@ cmp file2 extract-dir-pipe/file2 )" echo multiv01.at:30 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains a ${...} parameter expansion)' -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains a ${...} parameter expansion)' + false; }; then + ( $at_traceon; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -20361,7 +26628,6 @@ else fi tar -c --multi-volume --tape-length=$TAPE_LENGTH \ - --listed-incremental=t.snar \ -f t1-pipe.tar -f t2-pipe.tar ./file1 ./file2 || exit 1 mkdir extract-dir-pipe @@ -20373,11 +26639,9 @@ PATH=$PATH ${TRUSS} tar -f t1-pipe.tar -f - \ cmp file1 extract-dir-pipe/file1 cmp file2 extract-dir-pipe/file2 ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -20404,7 +26668,6 @@ else fi tar -c --multi-volume --tape-length=$TAPE_LENGTH \ - --listed-incremental=t.snar \ -f t1-pipe.tar -f t2-pipe.tar ./file1 ./file2 || exit 1 mkdir extract-dir-pipe @@ -20416,29 +26679,18 @@ PATH=$PATH ${TRUSS} tar -f t1-pipe.tar -f - \ cmp file1 extract-dir-pipe/file1 cmp file2 extract-dir-pipe/file2 ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -$at_diff "$at_devnull" "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/multiv01.at:30: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi +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/multiv01.at:30" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/multiv01.at:30: + { $at_traceoff +$as_echo "$at_srcdir/multiv01.at:30: mkdir pax (cd pax TEST_TAR_FORMAT=pax @@ -20465,7 +26717,6 @@ else fi tar -c --multi-volume --tape-length=\$TAPE_LENGTH \\ - --listed-incremental=t.snar \\ -f t1-pipe.tar -f t2-pipe.tar ./file1 ./file2 || exit 1 mkdir extract-dir-pipe @@ -20479,13 +26730,9 @@ cmp file2 extract-dir-pipe/file2 )" echo multiv01.at:30 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains a ${...} parameter expansion)' -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains a ${...} parameter expansion)' + false; }; then + ( $at_traceon; mkdir pax (cd pax TEST_TAR_FORMAT=pax @@ -20512,7 +26759,6 @@ else fi tar -c --multi-volume --tape-length=$TAPE_LENGTH \ - --listed-incremental=t.snar \ -f t1-pipe.tar -f t2-pipe.tar ./file1 ./file2 || exit 1 mkdir extract-dir-pipe @@ -20524,11 +26770,9 @@ PATH=$PATH ${TRUSS} tar -f t1-pipe.tar -f - \ cmp file1 extract-dir-pipe/file1 cmp file2 extract-dir-pipe/file2 ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir pax (cd pax TEST_TAR_FORMAT=pax @@ -20555,7 +26799,6 @@ else fi tar -c --multi-volume --tape-length=$TAPE_LENGTH \ - --listed-incremental=t.snar \ -f t1-pipe.tar -f t2-pipe.tar ./file1 ./file2 || exit 1 mkdir extract-dir-pipe @@ -20567,53 +26810,42 @@ PATH=$PATH ${TRUSS} tar -f t1-pipe.tar -f - \ cmp file1 extract-dir-pipe/file1 cmp file2 extract-dir-pipe/file2 ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -$at_diff "$at_devnull" "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/multiv01.at:30: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi +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/multiv01.at:30" -$at_traceon +$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"` - ;; - - 47 ) # 47. multiv02.at:28: skipping a straddling member - at_setup_line='multiv02.at:28' - at_desc="skipping a straddling member" - $at_quiet $ECHO_N " 47: skipping a straddling member $ECHO_C" - at_xfail=no + $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_62 +#AT_START_63 +# 63. 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_xfail=no test -f $XFAILFILE && at_xfail=yes - echo "# -*- compilation -*-" >> "$at_group_log" - ( - echo "47. multiv02.at:28: testing ..." - $at_traceon +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "63. multiv02.at:28: testing ..." + $at_traceon - $at_traceoff -echo "$at_srcdir/multiv02.at:31: + { $at_traceoff +$as_echo "$at_srcdir/multiv02.at:31: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -20635,13 +26867,9 @@ tar -v -x -f A.tar -f B.tar -f C.tar -M en || exit 1 )" echo multiv02.at:31 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -20661,11 +26889,9 @@ 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 ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -20685,31 +26911,21 @@ 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 ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "separator +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "separator en -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/multiv02.at:31: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/multiv02.at:31" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/multiv02.at:31: + { $at_traceoff +$as_echo "$at_srcdir/multiv02.at:31: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -20731,13 +26947,9 @@ tar -v -x -f A.tar -f B.tar -f C.tar -M en || exit 1 )" echo multiv02.at:31 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -20757,11 +26969,9 @@ 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 ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -20781,31 +26991,21 @@ 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 ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "separator +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "separator en -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/multiv02.at:31: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/multiv02.at:31" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/multiv02.at:31: + { $at_traceoff +$as_echo "$at_srcdir/multiv02.at:31: mkdir pax (cd pax TEST_TAR_FORMAT=pax @@ -20827,13 +27027,9 @@ tar -v -x -f A.tar -f B.tar -f C.tar -M en || exit 1 )" echo multiv02.at:31 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir pax (cd pax TEST_TAR_FORMAT=pax @@ -20853,11 +27049,9 @@ 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 ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir pax (cd pax TEST_TAR_FORMAT=pax @@ -20877,55 +27071,45 @@ 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 ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "separator +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "separator en -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/multiv02.at:31: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi - -$at_traceon +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/multiv02.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"` - ;; - 48 ) # 48. multiv03.at:30: MV archive & long filenames - at_setup_line='multiv03.at:30' - at_desc="MV archive & long filenames" - $at_quiet $ECHO_N " 48: MV archive & long filenames $ECHO_C" - at_xfail=no + $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_63 +#AT_START_64 +# 64. 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_xfail=no test -f $XFAILFILE && at_xfail=yes - echo "# -*- compilation -*-" >> "$at_group_log" - ( - echo "48. multiv03.at:30: testing ..." - $at_traceon +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "64. multiv03.at:30: testing ..." + $at_traceon - $at_traceoff -echo "$at_srcdir/multiv03.at:33: + { $at_traceoff +$as_echo "$at_srcdir/multiv03.at:33: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -20967,13 +27151,9 @@ cmp \$BFILE bfile )" echo multiv03.at:33 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains a `...` command substitution)' -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains a `...` command substitution)' + false; }; then + ( $at_traceon; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -21013,11 +27193,9 @@ mv $BFILE bfile tar -M -x -f arch.1 -f arch.2 || exit 1 cmp $BFILE bfile ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -21057,29 +27235,18 @@ mv $BFILE bfile tar -M -x -f arch.1 -f arch.2 || exit 1 cmp $BFILE bfile ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false $at_diff experr "$at_stderr" || at_failed=: $at_diff expout "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/multiv03.at:33: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - +at_func_check_status 0 $at_status "$at_srcdir/multiv03.at:33" - echo 1 > "$at_status_file" - exit 1 -fi - -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/multiv03.at:33: + { $at_traceoff +$as_echo "$at_srcdir/multiv03.at:33: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -21121,13 +27288,9 @@ cmp \$BFILE bfile )" echo multiv03.at:33 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains a `...` command substitution)' -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains a `...` command substitution)' + false; }; then + ( $at_traceon; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -21167,11 +27330,9 @@ mv $BFILE bfile tar -M -x -f arch.1 -f arch.2 || exit 1 cmp $BFILE bfile ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -21211,53 +27372,42 @@ mv $BFILE bfile tar -M -x -f arch.1 -f arch.2 || exit 1 cmp $BFILE bfile ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false $at_diff experr "$at_stderr" || at_failed=: $at_diff expout "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/multiv03.at:33: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi +at_func_check_status 0 $at_status "$at_srcdir/multiv03.at:33" -$at_traceon +$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"` - ;; - - 49 ) # 49. 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 $ECHO_N " 49: split directory members in a MV archive $ECHO_C" - at_xfail=no + $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_64 +#AT_START_65 +# 65. 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_xfail=no test -f $XFAILFILE && at_xfail=yes - echo "# -*- compilation -*-" >> "$at_group_log" - ( - echo "49. multiv04.at:36: testing ..." - $at_traceon +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "65. multiv04.at:36: testing ..." + $at_traceon - $at_traceoff -echo "$at_srcdir/multiv04.at:39: + { $at_traceoff +$as_echo "$at_srcdir/multiv04.at:39: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -21285,13 +27435,9 @@ echo separator tar -MRt -f arc.1 -f arc.2)" echo multiv04.at:39 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -21317,11 +27463,9 @@ tar --listed-incremental=list -c --record-size 1024 -L 16 -f arc.1 -f arc.2 -v d echo separator tar -MRt -f arc.1 -f arc.2) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -21347,33 +27491,23 @@ tar --listed-incremental=list -c --record-size 1024 -L 16 -f arc.1 -f arc.2 -v d echo separator tar -MRt -f arc.1 -f arc.2) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "directory/ +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "directory/ separator block 0: directory/ block 35: ** Block of NULs ** -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/multiv04.at:39: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/multiv04.at:39" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/multiv04.at:39: + { $at_traceoff +$as_echo "$at_srcdir/multiv04.at:39: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -21401,13 +27535,9 @@ echo separator tar -MRt -f arc.1 -f arc.2)" echo multiv04.at:39 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -21433,11 +27563,9 @@ tar --listed-incremental=list -c --record-size 1024 -L 16 -f arc.1 -f arc.2 -v d echo separator tar -MRt -f arc.1 -f arc.2) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -21463,58 +27591,48 @@ tar --listed-incremental=list -c --record-size 1024 -L 16 -f arc.1 -f arc.2 -v d echo separator tar -MRt -f arc.1 -f arc.2) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "directory/ +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "directory/ separator block 0: directory/ block 35: ** Block of NULs ** -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/multiv04.at:39: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/multiv04.at:39" +$at_failed && at_func_log_failure +$at_traceon; } - echo 1 > "$at_status_file" - exit 1 -fi - -$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"` - ;; - - 50 ) # 50. 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 $ECHO_N " 50: Restoring after an out of sync volume $ECHO_C" - at_xfail=no + $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_65 +#AT_START_66 +# 66. 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_xfail=no test -f $XFAILFILE && at_xfail=yes - echo "# -*- compilation -*-" >> "$at_group_log" - ( - echo "50. multiv05.at:26: testing ..." - $at_traceon +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "66. multiv05.at:26: testing ..." + $at_traceon - $at_traceoff -echo "$at_srcdir/multiv05.at:30: + { $at_traceoff +$as_echo "$at_srcdir/multiv05.at:30: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -21554,13 +27672,9 @@ echo Diffing szesc )" echo multiv05.at:30 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -21598,11 +27712,9 @@ echo Diffing piec echo Diffing szesc cmp bak/szesc szesc || exit 1 ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -21640,13 +27752,13 @@ echo Diffing piec echo Diffing szesc cmp bak/szesc szesc || exit 1 ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -echo >>"$at_stderr"; echo "tar: \`trzy' is not continued on this volume -" | $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "Creating archive +echo >>"$at_stderr"; $as_echo "tar: \`trzy' is not continued on this volume +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Creating archive separator jeden dwa @@ -21660,53 +27772,118 @@ Diffing trzy Diffing cztery Diffing piec Diffing szesc -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/multiv05.at:30: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/multiv05.at:30" +$at_failed && at_func_log_failure +$at_traceon; } - echo 1 > "$at_status_file" - exit 1 -fi -$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_66 +#AT_START_67 +# 67. 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_xfail=no + test -f $XFAILFILE && at_xfail=yes +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "67. multiv06.at:27: testing ..." + $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"` - ;; - 51 ) # 51. multiv06.at:27: Multivolumes with L=record_size - at_setup_line='multiv06.at:27' - at_desc="Multivolumes with L=record_size" - $at_quiet $ECHO_N " 51: Multivolumes with L=record_size $ECHO_C" - at_xfail=no - test -f $XFAILFILE && at_xfail=yes - echo "# -*- compilation -*-" >> "$at_group_log" - ( - echo "51. multiv06.at:27: testing ..." - $at_traceon + { $at_traceoff +$as_echo "$at_srcdir/multiv06.at:30: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H gnu\" +export TAR_OPTIONS +rm -rf * +exec <&- +decho Creating file +genfile --length 20139 --file file +decho Creating archive +tar -c -M -L10 -b20 -farc.1 -farc.2 -farc.3 file +decho Testing archive +tar -t -M -farc.1 -farc.2 -farc.3)" +echo multiv06.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 * - $at_traceoff -echo "$at_srcdir/multiv06.at:30: +exec <&- +decho Creating file +genfile --length 20139 --file file +decho Creating archive +tar -c -M -L10 -b20 -farc.1 -farc.2 -farc.3 file +decho Testing archive +tar -t -M -farc.1 -farc.2 -farc.3) ) >"$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\" +TAR_OPTIONS="-H gnu" +export TAR_OPTIONS +rm -rf * + +exec <&- +decho Creating file +genfile --length 20139 --file file +decho Creating archive +tar -c -M -L10 -b20 -farc.1 -farc.2 -farc.3 file +decho Testing archive +tar -t -M -farc.1 -farc.2 -farc.3) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +echo >>"$at_stderr"; $as_echo "Creating file +Creating archive +Testing archive +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Creating file +Creating archive +Testing archive +file +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/multiv06.at:30" + +$at_failed && at_func_log_failure +$at_traceon; } + + { $at_traceoff +$as_echo "$at_srcdir/multiv06.at:30: +mkdir pax +(cd pax +TEST_TAR_FORMAT=pax +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H pax\" export TAR_OPTIONS rm -rf * @@ -21719,18 +27896,14 @@ decho Testing archive tar -t -M -farc.1 -farc.2 -farc.3)" echo multiv06.at:30 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu +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 gnu" +TAR_OPTIONS="-H pax" export TAR_OPTIONS rm -rf * @@ -21741,16 +27914,14 @@ decho Creating archive tar -c -M -L10 -b20 -farc.1 -farc.2 -farc.3 file decho Testing archive tar -t -M -farc.1 -farc.2 -farc.3) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu + ( :; +mkdir pax +(cd pax +TEST_TAR_FORMAT=pax export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" +TAR_OPTIONS="-H pax" export TAR_OPTIONS rm -rf * @@ -21761,220 +27932,514 @@ decho Creating archive tar -c -M -L10 -b20 -farc.1 -farc.2 -farc.3 file decho Testing archive tar -t -M -farc.1 -farc.2 -farc.3) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -echo >>"$at_stderr"; echo "Creating file +echo >>"$at_stderr"; $as_echo "Creating file Creating archive Testing archive -" | $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "Creating file +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Creating file Creating archive Testing archive file -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/multiv06.at:30: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/multiv06.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_67 +#AT_START_68 +# 68. 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_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 ..." + $at_traceon + + + +{ $at_traceoff +$as_echo "$at_srcdir/multiv07.at:29: + + +test -z "$TEST_DATA_DIR" && exit 77 +tarball_prereq xsplit-1.tar 0e008c84c517e48fbf23ca6a7033cde6 $TEST_DATA_DIR $TEST_DATA_URL || exit 77 + +test -z "$TEST_DATA_DIR" && exit 77 +tarball_prereq xsplit-2.tar 03150b9852d285458f43734e9e0b9a45 $TEST_DATA_DIR $TEST_DATA_URL || exit 77 + +cd \$TEST_DATA_DIR +tar -t -M -fxsplit-1.tar -fxsplit-2.tar +" +echo multiv07.at:29 >"$at_check_line_file" + +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; + + +test -z "$TEST_DATA_DIR" && exit 77 +tarball_prereq xsplit-1.tar 0e008c84c517e48fbf23ca6a7033cde6 $TEST_DATA_DIR $TEST_DATA_URL || exit 77 + +test -z "$TEST_DATA_DIR" && exit 77 +tarball_prereq xsplit-2.tar 03150b9852d285458f43734e9e0b9a45 $TEST_DATA_DIR $TEST_DATA_URL || exit 77 + +cd $TEST_DATA_DIR +tar -t -M -fxsplit-1.tar -fxsplit-2.tar + ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; + + +test -z "$TEST_DATA_DIR" && exit 77 +tarball_prereq xsplit-1.tar 0e008c84c517e48fbf23ca6a7033cde6 $TEST_DATA_DIR $TEST_DATA_URL || exit 77 + +test -z "$TEST_DATA_DIR" && exit 77 +tarball_prereq xsplit-2.tar 03150b9852d285458f43734e9e0b9a45 $TEST_DATA_DIR $TEST_DATA_URL || exit 77 + +cd $TEST_DATA_DIR +tar -t -M -fxsplit-1.tar -fxsplit-2.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 "Archive volumes split at an extended header Volume 1 +foo +bar +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/multiv07.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_68 +#AT_START_69 +# 69. old.at:23: old archives +at_setup_line='old.at:23' +at_desc="old archives" +$at_quiet $as_echo_n " 69: $at_desc " +at_xfail=no +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "69. old.at:23: testing ..." + $at_traceon + + + +unset TAR_OPTIONS +{ $at_traceoff +$as_echo "$at_srcdir/old.at:27: +mkdir directory +tar cfvo archive directory || exit 1 +tar tf archive +" +echo old.at:27 >"$at_check_line_file" + +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; +mkdir directory +tar cfvo archive directory || exit 1 +tar tf archive + ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; +mkdir directory +tar cfvo archive directory || exit 1 +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 "directory/ +directory/ +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/old.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_69 +#AT_START_70 +# 70. recurse.at:21: recurse +at_setup_line='recurse.at:21' +at_desc="recurse" +$at_quiet $as_echo_n " 70: $at_desc " +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "70. recurse.at:21: testing ..." + $at_traceon - echo 1 > "$at_status_file" - exit 1 + + + + { $at_traceoff +$as_echo "$at_srcdir/recurse.at:24: +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H v7\" +export TAR_OPTIONS +rm -rf * + +mkdir directory +touch directory/file +tar --create --file archive --no-recursion directory || exit 1 +tar tf archive +)" +echo recurse.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 * + +mkdir directory +touch directory/file +tar --create --file archive --no-recursion directory || exit 1 +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 * + +mkdir directory +touch directory/file +tar --create --file archive --no-recursion directory || exit 1 +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 "directory/ +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/recurse.at:24" + +$at_failed && at_func_log_failure +$at_traceon; } + + { $at_traceoff +$as_echo "$at_srcdir/recurse.at:24: +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H oldgnu\" +export TAR_OPTIONS +rm -rf * + +mkdir directory +touch directory/file +tar --create --file archive --no-recursion directory || exit 1 +tar tf archive +)" +echo recurse.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 * + +mkdir directory +touch directory/file +tar --create --file archive --no-recursion directory || exit 1 +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 * + +mkdir directory +touch directory/file +tar --create --file archive --no-recursion directory || exit 1 +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 "directory/ +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/recurse.at:24" + +$at_failed && at_func_log_failure +$at_traceon; } + + { $at_traceoff +$as_echo "$at_srcdir/recurse.at:24: +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H ustar\" +export TAR_OPTIONS +rm -rf * + +mkdir directory +touch directory/file +tar --create --file archive --no-recursion directory || exit 1 +tar tf archive +)" +echo recurse.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 * + +mkdir directory +touch directory/file +tar --create --file archive --no-recursion directory || exit 1 +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 * + +mkdir directory +touch directory/file +tar --create --file archive --no-recursion directory || exit 1 +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 "directory/ +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/recurse.at:24" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/multiv06.at:30: -mkdir pax -(cd pax -TEST_TAR_FORMAT=pax + { $at_traceoff +$as_echo "$at_srcdir/recurse.at:24: +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H pax\" +TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * -exec <&- -decho Creating file -genfile --length 20139 --file file -decho Creating archive -tar -c -M -L10 -b20 -farc.1 -farc.2 -farc.3 file -decho Testing archive -tar -t -M -farc.1 -farc.2 -farc.3)" -echo multiv06.at:30 >"$at_check_line_file" - -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +mkdir directory +touch directory/file +tar --create --file archive --no-recursion directory || exit 1 +tar tf archive +)" +echo recurse.at:24 >"$at_check_line_file" -if test -n "$at_trace_this"; then - ( $at_traceon; -mkdir pax -(cd pax -TEST_TAR_FORMAT=pax +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 pax" +TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * -exec <&- -decho Creating file -genfile --length 20139 --file file -decho Creating archive -tar -c -M -L10 -b20 -farc.1 -farc.2 -farc.3 file -decho Testing archive -tar -t -M -farc.1 -farc.2 -farc.3) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" +mkdir directory +touch directory/file +tar --create --file archive --no-recursion directory || exit 1 +tar tf archive +) ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? else - ( :; -mkdir pax -(cd pax -TEST_TAR_FORMAT=pax + ( :; +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT -TAR_OPTIONS="-H pax" +TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * -exec <&- -decho Creating file -genfile --length 20139 --file file -decho Creating archive -tar -c -M -L10 -b20 -farc.1 -farc.2 -farc.3 file -decho Testing archive -tar -t -M -farc.1 -farc.2 -farc.3) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? +mkdir directory +touch directory/file +tar --create --file archive --no-recursion directory || exit 1 +tar tf archive +) ) >"$at_stdout" 2>"$at_stderr" fi - +at_status=$? at_failed=false -echo >>"$at_stderr"; echo "Creating file -Creating archive -Testing archive -" | $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "Creating file -Creating archive -Testing archive -file -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/multiv06.at:30: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi - -$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"` - ;; - - 52 ) # 52. old.at:23: old archives - at_setup_line='old.at:23' - at_desc="old archives" - $at_quiet $ECHO_N " 52: old archives $ECHO_C" - at_xfail=no - echo "# -*- compilation -*-" >> "$at_group_log" - ( - echo "52. old.at:23: testing ..." - $at_traceon +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "directory/ +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/recurse.at:24" +$at_failed && at_func_log_failure +$at_traceon; } + { $at_traceoff +$as_echo "$at_srcdir/recurse.at:24: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H gnu\" +export TAR_OPTIONS +rm -rf * -unset TAR_OPTIONS -$at_traceoff -echo "$at_srcdir/old.at:27: mkdir directory -tar cfvo archive directory || exit 1 +touch directory/file +tar --create --file archive --no-recursion directory || exit 1 tar tf archive -" -echo old.at:27 >"$at_check_line_file" +)" +echo recurse.at:24 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +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 * -if test -n "$at_trace_this"; then - ( $at_traceon; mkdir directory -tar cfvo archive directory || exit 1 +touch directory/file +tar --create --file archive --no-recursion directory || exit 1 tar tf archive - ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" +) ) >"$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 directory -tar cfvo archive directory || exit 1 +touch directory/file +tar --create --file archive --no-recursion directory || exit 1 tar tf archive - ) >"$at_stdout" 2>"$at_stderr" - at_status=$? +) ) >"$at_stdout" 2>"$at_stderr" fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "directory/ -directory/ -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/old.at:27: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "directory/ +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/recurse.at:24" - echo 1 > "$at_status_file" - exit 1 -fi +$at_failed && at_func_log_failure +$at_traceon; } -$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"` - ;; - 53 ) # 53. recurse.at:21: recurse - at_setup_line='recurse.at:21' - at_desc="recurse" - $at_quiet $ECHO_N " 53: recurse $ECHO_C" - at_xfail=no + $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_70 +#AT_START_71 +# 71. 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_xfail=no test -f $XFAILFILE && at_xfail=yes - echo "# -*- compilation -*-" >> "$at_group_log" - ( - echo "53. recurse.at:21: testing ..." - $at_traceon +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "71. same-order01.at:26: testing ..." + $at_traceon - $at_traceoff -echo "$at_srcdir/recurse.at:24: + { $at_traceoff +$as_echo "$at_srcdir/same-order01.at:29: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -21983,20 +28448,24 @@ TAR_OPTIONS=\"-H v7\" export TAR_OPTIONS rm -rf * + +test -z "`sort < /dev/null 2>&1`" || exit 77 + + +genfile -l 1024 -f file1 +genfile -l 1024 -f file2 +tar cf archive file1 file2 + mkdir directory -touch directory/file -tar --create --file archive --no-recursion directory || exit 1 -tar tf archive -)" -echo recurse.at:24 >"$at_check_line_file" +tar -xf archive --same-order -C directory || exit 1 -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +ls directory|sort +)" +echo same-order01.at:29 >"$at_check_line_file" -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -22005,16 +28474,22 @@ TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * + +test -z "`sort < /dev/null 2>&1`" || exit 77 + + +genfile -l 1024 -f file1 +genfile -l 1024 -f file2 +tar cf archive file1 file2 + mkdir directory -touch directory/file -tar --create --file archive --no-recursion directory || exit 1 -tar tf archive +tar -xf archive --same-order -C directory || exit 1 + +ls directory|sort ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -22023,35 +28498,34 @@ TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * -mkdir directory -touch directory/file -tar --create --file archive --no-recursion directory || exit 1 -tar tf archive -) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? -fi -at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "directory/ -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/recurse.at:24: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +test -z "`sort < /dev/null 2>&1`" || exit 77 - echo 1 > "$at_status_file" - exit 1 +genfile -l 1024 -f file1 +genfile -l 1024 -f file2 +tar cf archive file1 file2 + +mkdir directory +tar -xf archive --same-order -C directory || exit 1 + +ls directory|sort +) ) >"$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 +file2 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/same-order01.at:29" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/recurse.at:24: + { $at_traceoff +$as_echo "$at_srcdir/same-order01.at:29: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -22060,20 +28534,24 @@ TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * + +test -z "`sort < /dev/null 2>&1`" || exit 77 + + +genfile -l 1024 -f file1 +genfile -l 1024 -f file2 +tar cf archive file1 file2 + mkdir directory -touch directory/file -tar --create --file archive --no-recursion directory || exit 1 -tar tf archive -)" -echo recurse.at:24 >"$at_check_line_file" +tar -xf archive --same-order -C directory || exit 1 -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +ls directory|sort +)" +echo same-order01.at:29 >"$at_check_line_file" -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -22082,16 +28560,22 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * + +test -z "`sort < /dev/null 2>&1`" || exit 77 + + +genfile -l 1024 -f file1 +genfile -l 1024 -f file2 +tar cf archive file1 file2 + mkdir directory -touch directory/file -tar --create --file archive --no-recursion directory || exit 1 -tar tf archive +tar -xf archive --same-order -C directory || exit 1 + +ls directory|sort ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -22100,35 +28584,34 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * -mkdir directory -touch directory/file -tar --create --file archive --no-recursion directory || exit 1 -tar tf archive -) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? -fi -at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "directory/ -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/recurse.at:24: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +test -z "`sort < /dev/null 2>&1`" || exit 77 + + +genfile -l 1024 -f file1 +genfile -l 1024 -f file2 +tar cf archive file1 file2 +mkdir directory +tar -xf archive --same-order -C directory || exit 1 - echo 1 > "$at_status_file" - exit 1 +ls directory|sort +) ) >"$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 +file2 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/same-order01.at:29" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/recurse.at:24: + { $at_traceoff +$as_echo "$at_srcdir/same-order01.at:29: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -22137,20 +28620,24 @@ TAR_OPTIONS=\"-H ustar\" export TAR_OPTIONS rm -rf * + +test -z "`sort < /dev/null 2>&1`" || exit 77 + + +genfile -l 1024 -f file1 +genfile -l 1024 -f file2 +tar cf archive file1 file2 + mkdir directory -touch directory/file -tar --create --file archive --no-recursion directory || exit 1 -tar tf archive -)" -echo recurse.at:24 >"$at_check_line_file" +tar -xf archive --same-order -C directory || exit 1 -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +ls directory|sort +)" +echo same-order01.at:29 >"$at_check_line_file" -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -22159,16 +28646,22 @@ TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * + +test -z "`sort < /dev/null 2>&1`" || exit 77 + + +genfile -l 1024 -f file1 +genfile -l 1024 -f file2 +tar cf archive file1 file2 + mkdir directory -touch directory/file -tar --create --file archive --no-recursion directory || exit 1 -tar tf archive +tar -xf archive --same-order -C directory || exit 1 + +ls directory|sort ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -22177,35 +28670,34 @@ TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * -mkdir directory -touch directory/file -tar --create --file archive --no-recursion directory || exit 1 -tar tf archive -) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? -fi -at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "directory/ -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/recurse.at:24: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +test -z "`sort < /dev/null 2>&1`" || exit 77 - echo 1 > "$at_status_file" - exit 1 +genfile -l 1024 -f file1 +genfile -l 1024 -f file2 +tar cf archive file1 file2 + +mkdir directory +tar -xf archive --same-order -C directory || exit 1 + +ls directory|sort +) ) >"$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 +file2 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/same-order01.at:29" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/recurse.at:24: + { $at_traceoff +$as_echo "$at_srcdir/same-order01.at:29: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -22214,20 +28706,24 @@ TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * + +test -z "`sort < /dev/null 2>&1`" || exit 77 + + +genfile -l 1024 -f file1 +genfile -l 1024 -f file2 +tar cf archive file1 file2 + mkdir directory -touch directory/file -tar --create --file archive --no-recursion directory || exit 1 -tar tf archive -)" -echo recurse.at:24 >"$at_check_line_file" +tar -xf archive --same-order -C directory || exit 1 -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +ls directory|sort +)" +echo same-order01.at:29 >"$at_check_line_file" -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -22236,16 +28732,22 @@ TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * + +test -z "`sort < /dev/null 2>&1`" || exit 77 + + +genfile -l 1024 -f file1 +genfile -l 1024 -f file2 +tar cf archive file1 file2 + mkdir directory -touch directory/file -tar --create --file archive --no-recursion directory || exit 1 -tar tf archive +tar -xf archive --same-order -C directory || exit 1 + +ls directory|sort ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -22254,35 +28756,34 @@ TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * -mkdir directory -touch directory/file -tar --create --file archive --no-recursion directory || exit 1 -tar tf archive -) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? -fi -at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "directory/ -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/recurse.at:24: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +test -z "`sort < /dev/null 2>&1`" || exit 77 - echo 1 > "$at_status_file" - exit 1 +genfile -l 1024 -f file1 +genfile -l 1024 -f file2 +tar cf archive file1 file2 + +mkdir directory +tar -xf archive --same-order -C directory || exit 1 + +ls directory|sort +) ) >"$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 +file2 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/same-order01.at:29" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/recurse.at:24: + { $at_traceoff +$as_echo "$at_srcdir/same-order01.at:29: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -22291,20 +28792,24 @@ TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * + +test -z "`sort < /dev/null 2>&1`" || exit 77 + + +genfile -l 1024 -f file1 +genfile -l 1024 -f file2 +tar cf archive file1 file2 + mkdir directory -touch directory/file -tar --create --file archive --no-recursion directory || exit 1 -tar tf archive -)" -echo recurse.at:24 >"$at_check_line_file" +tar -xf archive --same-order -C directory || exit 1 -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +ls directory|sort +)" +echo same-order01.at:29 >"$at_check_line_file" -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -22313,16 +28818,22 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * + +test -z "`sort < /dev/null 2>&1`" || exit 77 + + +genfile -l 1024 -f file1 +genfile -l 1024 -f file2 +tar cf archive file1 file2 + mkdir directory -touch directory/file -tar --create --file archive --no-recursion directory || exit 1 -tar tf archive +tar -xf archive --same-order -C directory || exit 1 + +ls directory|sort ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -22331,59 +28842,58 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -mkdir directory -touch directory/file -tar --create --file archive --no-recursion directory || exit 1 -tar tf archive -) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? -fi -at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "directory/ -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/recurse.at:24: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +test -z "`sort < /dev/null 2>&1`" || exit 77 - echo 1 > "$at_status_file" - exit 1 -fi +genfile -l 1024 -f file1 +genfile -l 1024 -f file2 +tar cf archive file1 file2 + +mkdir directory +tar -xf archive --same-order -C directory || exit 1 -$at_traceon +ls directory|sort +) ) >"$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 +file2 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/same-order01.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"` - ;; - 54 ) # 54. 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 $ECHO_N " 54: working -C with --same-order $ECHO_C" - at_xfail=no + $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_71 +#AT_START_72 +# 72. 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_xfail=no test -f $XFAILFILE && at_xfail=yes - echo "# -*- compilation -*-" >> "$at_group_log" - ( - echo "54. same-order01.at:26: testing ..." - $at_traceon +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "72. same-order02.at:25: testing ..." + $at_traceon - $at_traceoff -echo "$at_srcdir/same-order01.at:29: + { $at_traceoff +$as_echo "$at_srcdir/same-order02.at:28: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -22392,28 +28902,25 @@ TAR_OPTIONS=\"-H v7\" export TAR_OPTIONS rm -rf * - -test -z "`sort < /dev/null 2>&1`" || exit 77 - - genfile -l 1024 -f file1 genfile -l 1024 -f file2 tar cf archive file1 file2 -mkdir directory -tar -xf archive --same-order -C directory || exit 1 +mkdir en +mkdir to -ls directory|sort -)" -echo same-order01.at:29 >"$at_check_line_file" +HERE=\`pwd\` +tar -xf archive --same-order -C \$HERE/en file1 -C \$HERE/to file2 || exit 1 -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +ls en +echo separator +ls to +)" +echo same-order02.at:28 >"$at_check_line_file" -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains a `...` command substitution)' + false; }; then + ( $at_traceon; mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -22422,24 +28929,23 @@ TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * - -test -z "`sort < /dev/null 2>&1`" || exit 77 - - genfile -l 1024 -f file1 genfile -l 1024 -f file2 tar cf archive file1 file2 -mkdir directory -tar -xf archive --same-order -C directory || exit 1 +mkdir en +mkdir to -ls directory|sort +HERE=`pwd` +tar -xf archive --same-order -C $HERE/en file1 -C $HERE/to file2 || exit 1 + +ls en +echo separator +ls to ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -22448,44 +28954,36 @@ TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * - -test -z "`sort < /dev/null 2>&1`" || exit 77 - - genfile -l 1024 -f file1 genfile -l 1024 -f file2 tar cf archive file1 file2 -mkdir directory -tar -xf archive --same-order -C directory || exit 1 +mkdir en +mkdir to -ls directory|sort +HERE=`pwd` +tar -xf archive --same-order -C $HERE/en file1 -C $HERE/to file2 || exit 1 + +ls en +echo separator +ls to ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "file1 +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "file1 +separator file2 -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/same-order01.at:29: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/same-order02.at:28" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/same-order01.at:29: + { $at_traceoff +$as_echo "$at_srcdir/same-order02.at:28: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -22494,28 +28992,25 @@ TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * - -test -z "`sort < /dev/null 2>&1`" || exit 77 - - genfile -l 1024 -f file1 genfile -l 1024 -f file2 tar cf archive file1 file2 -mkdir directory -tar -xf archive --same-order -C directory || exit 1 +mkdir en +mkdir to + +HERE=\`pwd\` +tar -xf archive --same-order -C \$HERE/en file1 -C \$HERE/to file2 || exit 1 -ls directory|sort +ls en +echo separator +ls to )" -echo same-order01.at:29 >"$at_check_line_file" - -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +echo same-order02.at:28 >"$at_check_line_file" -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains a `...` command substitution)' + false; }; then + ( $at_traceon; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -22524,24 +29019,23 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * - -test -z "`sort < /dev/null 2>&1`" || exit 77 - - genfile -l 1024 -f file1 genfile -l 1024 -f file2 tar cf archive file1 file2 -mkdir directory -tar -xf archive --same-order -C directory || exit 1 +mkdir en +mkdir to -ls directory|sort +HERE=`pwd` +tar -xf archive --same-order -C $HERE/en file1 -C $HERE/to file2 || exit 1 + +ls en +echo separator +ls to ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -22550,44 +29044,36 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * - -test -z "`sort < /dev/null 2>&1`" || exit 77 - - genfile -l 1024 -f file1 genfile -l 1024 -f file2 tar cf archive file1 file2 -mkdir directory -tar -xf archive --same-order -C directory || exit 1 +mkdir en +mkdir to -ls directory|sort +HERE=`pwd` +tar -xf archive --same-order -C $HERE/en file1 -C $HERE/to file2 || exit 1 + +ls en +echo separator +ls to ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "file1 +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "file1 +separator file2 -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/same-order01.at:29: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/same-order02.at:28" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/same-order01.at:29: + { $at_traceoff +$as_echo "$at_srcdir/same-order02.at:28: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -22596,28 +29082,25 @@ TAR_OPTIONS=\"-H ustar\" export TAR_OPTIONS rm -rf * - -test -z "`sort < /dev/null 2>&1`" || exit 77 - - genfile -l 1024 -f file1 genfile -l 1024 -f file2 tar cf archive file1 file2 -mkdir directory -tar -xf archive --same-order -C directory || exit 1 +mkdir en +mkdir to -ls directory|sort -)" -echo same-order01.at:29 >"$at_check_line_file" +HERE=\`pwd\` +tar -xf archive --same-order -C \$HERE/en file1 -C \$HERE/to file2 || exit 1 -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +ls en +echo separator +ls to +)" +echo same-order02.at:28 >"$at_check_line_file" -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains a `...` command substitution)' + false; }; then + ( $at_traceon; mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -22626,24 +29109,23 @@ TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * - -test -z "`sort < /dev/null 2>&1`" || exit 77 - - genfile -l 1024 -f file1 genfile -l 1024 -f file2 tar cf archive file1 file2 -mkdir directory -tar -xf archive --same-order -C directory || exit 1 +mkdir en +mkdir to -ls directory|sort +HERE=`pwd` +tar -xf archive --same-order -C $HERE/en file1 -C $HERE/to file2 || exit 1 + +ls en +echo separator +ls to ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -22652,44 +29134,36 @@ TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * - -test -z "`sort < /dev/null 2>&1`" || exit 77 - - genfile -l 1024 -f file1 genfile -l 1024 -f file2 tar cf archive file1 file2 -mkdir directory -tar -xf archive --same-order -C directory || exit 1 +mkdir en +mkdir to -ls directory|sort +HERE=`pwd` +tar -xf archive --same-order -C $HERE/en file1 -C $HERE/to file2 || exit 1 + +ls en +echo separator +ls to ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "file1 +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "file1 +separator file2 -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/same-order01.at:29: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/same-order02.at:28" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/same-order01.at:29: + { $at_traceoff +$as_echo "$at_srcdir/same-order02.at:28: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -22698,28 +29172,25 @@ TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * - -test -z "`sort < /dev/null 2>&1`" || exit 77 - - genfile -l 1024 -f file1 genfile -l 1024 -f file2 tar cf archive file1 file2 -mkdir directory -tar -xf archive --same-order -C directory || exit 1 +mkdir en +mkdir to -ls directory|sort -)" -echo same-order01.at:29 >"$at_check_line_file" +HERE=\`pwd\` +tar -xf archive --same-order -C \$HERE/en file1 -C \$HERE/to file2 || exit 1 -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +ls en +echo separator +ls to +)" +echo same-order02.at:28 >"$at_check_line_file" -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains a `...` command substitution)' + false; }; then + ( $at_traceon; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -22728,24 +29199,23 @@ TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * - -test -z "`sort < /dev/null 2>&1`" || exit 77 - - genfile -l 1024 -f file1 genfile -l 1024 -f file2 tar cf archive file1 file2 -mkdir directory -tar -xf archive --same-order -C directory || exit 1 +mkdir en +mkdir to -ls directory|sort +HERE=`pwd` +tar -xf archive --same-order -C $HERE/en file1 -C $HERE/to file2 || exit 1 + +ls en +echo separator +ls to ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -22754,44 +29224,36 @@ TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * - -test -z "`sort < /dev/null 2>&1`" || exit 77 - - genfile -l 1024 -f file1 genfile -l 1024 -f file2 tar cf archive file1 file2 -mkdir directory -tar -xf archive --same-order -C directory || exit 1 +mkdir en +mkdir to -ls directory|sort +HERE=`pwd` +tar -xf archive --same-order -C $HERE/en file1 -C $HERE/to file2 || exit 1 + +ls en +echo separator +ls to ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "file1 +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "file1 +separator file2 -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/same-order01.at:29: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/same-order02.at:28" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/same-order01.at:29: + { $at_traceoff +$as_echo "$at_srcdir/same-order02.at:28: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -22800,28 +29262,25 @@ TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * - -test -z "`sort < /dev/null 2>&1`" || exit 77 - - genfile -l 1024 -f file1 genfile -l 1024 -f file2 tar cf archive file1 file2 -mkdir directory -tar -xf archive --same-order -C directory || exit 1 +mkdir en +mkdir to -ls directory|sort -)" -echo same-order01.at:29 >"$at_check_line_file" +HERE=\`pwd\` +tar -xf archive --same-order -C \$HERE/en file1 -C \$HERE/to file2 || exit 1 -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +ls en +echo separator +ls to +)" +echo same-order02.at:28 >"$at_check_line_file" -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains a `...` command substitution)' + false; }; then + ( $at_traceon; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -22830,24 +29289,23 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * - -test -z "`sort < /dev/null 2>&1`" || exit 77 - - genfile -l 1024 -f file1 genfile -l 1024 -f file2 tar cf archive file1 file2 -mkdir directory -tar -xf archive --same-order -C directory || exit 1 +mkdir en +mkdir to -ls directory|sort +HERE=`pwd` +tar -xf archive --same-order -C $HERE/en file1 -C $HERE/to file2 || exit 1 + +ls en +echo separator +ls to ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -22856,68 +29314,60 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * - -test -z "`sort < /dev/null 2>&1`" || exit 77 - - genfile -l 1024 -f file1 genfile -l 1024 -f file2 tar cf archive file1 file2 -mkdir directory -tar -xf archive --same-order -C directory || exit 1 +mkdir en +mkdir to -ls directory|sort +HERE=`pwd` +tar -xf archive --same-order -C $HERE/en file1 -C $HERE/to file2 || exit 1 + +ls en +echo separator +ls to ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "file1 +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "file1 +separator file2 -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/same-order01.at:29: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi - -$at_traceon +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/same-order02.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"` - ;; - 55 ) # 55. same-order02.at:25: multiple -C options - at_setup_line='same-order02.at:25' - at_desc="multiple -C options" - $at_quiet $ECHO_N " 55: multiple -C options $ECHO_C" - at_xfail=no + $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. shortrec.at:25: short records +at_setup_line='shortrec.at:25' +at_desc="short records" +$at_quiet $as_echo_n " 73: $at_desc " +at_xfail=no test -f $XFAILFILE && at_xfail=yes - echo "# -*- compilation -*-" >> "$at_group_log" - ( - echo "55. same-order02.at:25: testing ..." - $at_traceon +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "73. shortrec.at:25: testing ..." + $at_traceon - $at_traceoff -echo "$at_srcdir/same-order02.at:28: + { $at_traceoff +$as_echo "$at_srcdir/shortrec.at:28: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -22926,29 +29376,20 @@ TAR_OPTIONS=\"-H v7\" export TAR_OPTIONS rm -rf * -genfile -l 1024 -f file1 -genfile -l 1024 -f file2 -tar cf archive file1 file2 - -mkdir en -mkdir to - -HERE=\`pwd\` -tar -xf archive --same-order -C \$HERE/en file1 -C \$HERE/to file2 || exit 1 - -ls en -echo separator -ls to -)" -echo same-order02.at:28 >"$at_check_line_file" +mkdir directory +(cd directory && touch a b c d e f g h i j k l m n o p q r) +tar -c -b 1 -f - directory | tar -t -f - > /dev/null +tar -c -b 1 -f archive directory +tar -t -f archive > /dev/null +tar -t -f - < archive > /dev/null -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains a `...` command substitution)' -fi +rm -r directory +)" +echo shortrec.at:28 >"$at_check_line_file" -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -22957,25 +29398,18 @@ TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * -genfile -l 1024 -f file1 -genfile -l 1024 -f file2 -tar cf archive file1 file2 - -mkdir en -mkdir to - -HERE=`pwd` -tar -xf archive --same-order -C $HERE/en file1 -C $HERE/to file2 || exit 1 +mkdir directory +(cd directory && touch a b c d e f g h i j k l m n o p q r) +tar -c -b 1 -f - directory | tar -t -f - > /dev/null +tar -c -b 1 -f archive directory +tar -t -f archive > /dev/null +tar -t -f - < archive > /dev/null -ls en -echo separator -ls to +rm -r directory ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -22984,46 +29418,27 @@ TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * -genfile -l 1024 -f file1 -genfile -l 1024 -f file2 -tar cf archive file1 file2 - -mkdir en -mkdir to - -HERE=`pwd` -tar -xf archive --same-order -C $HERE/en file1 -C $HERE/to file2 || exit 1 +mkdir directory +(cd directory && touch a b c d e f g h i j k l m n o p q r) +tar -c -b 1 -f - directory | tar -t -f - > /dev/null +tar -c -b 1 -f archive directory +tar -t -f archive > /dev/null +tar -t -f - < archive > /dev/null -ls en -echo separator -ls to +rm -r directory ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "file1 -separator -file2 -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/same-order02.at:28: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi +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/shortrec.at:28" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/same-order02.at:28: + { $at_traceoff +$as_echo "$at_srcdir/shortrec.at:28: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -23032,29 +29447,20 @@ TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * -genfile -l 1024 -f file1 -genfile -l 1024 -f file2 -tar cf archive file1 file2 - -mkdir en -mkdir to - -HERE=\`pwd\` -tar -xf archive --same-order -C \$HERE/en file1 -C \$HERE/to file2 || exit 1 +mkdir directory +(cd directory && touch a b c d e f g h i j k l m n o p q r) +tar -c -b 1 -f - directory | tar -t -f - > /dev/null +tar -c -b 1 -f archive directory +tar -t -f archive > /dev/null +tar -t -f - < archive > /dev/null -ls en -echo separator -ls to +rm -r directory )" -echo same-order02.at:28 >"$at_check_line_file" - -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains a `...` command substitution)' -fi +echo shortrec.at:28 >"$at_check_line_file" -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -23063,25 +29469,18 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * -genfile -l 1024 -f file1 -genfile -l 1024 -f file2 -tar cf archive file1 file2 - -mkdir en -mkdir to - -HERE=`pwd` -tar -xf archive --same-order -C $HERE/en file1 -C $HERE/to file2 || exit 1 +mkdir directory +(cd directory && touch a b c d e f g h i j k l m n o p q r) +tar -c -b 1 -f - directory | tar -t -f - > /dev/null +tar -c -b 1 -f archive directory +tar -t -f archive > /dev/null +tar -t -f - < archive > /dev/null -ls en -echo separator -ls to +rm -r directory ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -23090,46 +29489,27 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * -genfile -l 1024 -f file1 -genfile -l 1024 -f file2 -tar cf archive file1 file2 - -mkdir en -mkdir to - -HERE=`pwd` -tar -xf archive --same-order -C $HERE/en file1 -C $HERE/to file2 || exit 1 +mkdir directory +(cd directory && touch a b c d e f g h i j k l m n o p q r) +tar -c -b 1 -f - directory | tar -t -f - > /dev/null +tar -c -b 1 -f archive directory +tar -t -f archive > /dev/null +tar -t -f - < archive > /dev/null -ls en -echo separator -ls to +rm -r directory ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "file1 -separator -file2 -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/same-order02.at:28: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi +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/shortrec.at:28" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/same-order02.at:28: + { $at_traceoff +$as_echo "$at_srcdir/shortrec.at:28: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -23138,29 +29518,20 @@ TAR_OPTIONS=\"-H ustar\" export TAR_OPTIONS rm -rf * -genfile -l 1024 -f file1 -genfile -l 1024 -f file2 -tar cf archive file1 file2 - -mkdir en -mkdir to - -HERE=\`pwd\` -tar -xf archive --same-order -C \$HERE/en file1 -C \$HERE/to file2 || exit 1 +mkdir directory +(cd directory && touch a b c d e f g h i j k l m n o p q r) +tar -c -b 1 -f - directory | tar -t -f - > /dev/null +tar -c -b 1 -f archive directory +tar -t -f archive > /dev/null +tar -t -f - < archive > /dev/null -ls en -echo separator -ls to +rm -r directory )" -echo same-order02.at:28 >"$at_check_line_file" - -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains a `...` command substitution)' -fi +echo shortrec.at:28 >"$at_check_line_file" -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -23169,25 +29540,18 @@ TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * -genfile -l 1024 -f file1 -genfile -l 1024 -f file2 -tar cf archive file1 file2 - -mkdir en -mkdir to - -HERE=`pwd` -tar -xf archive --same-order -C $HERE/en file1 -C $HERE/to file2 || exit 1 +mkdir directory +(cd directory && touch a b c d e f g h i j k l m n o p q r) +tar -c -b 1 -f - directory | tar -t -f - > /dev/null +tar -c -b 1 -f archive directory +tar -t -f archive > /dev/null +tar -t -f - < archive > /dev/null -ls en -echo separator -ls to +rm -r directory ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -23196,46 +29560,193 @@ TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * -genfile -l 1024 -f file1 -genfile -l 1024 -f file2 -tar cf archive file1 file2 +mkdir directory +(cd directory && touch a b c d e f g h i j k l m n o p q r) +tar -c -b 1 -f - directory | tar -t -f - > /dev/null +tar -c -b 1 -f archive directory +tar -t -f archive > /dev/null +tar -t -f - < archive > /dev/null -mkdir en -mkdir to +rm -r directory +) ) >"$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/shortrec.at:28" -HERE=`pwd` -tar -xf archive --same-order -C $HERE/en file1 -C $HERE/to file2 || exit 1 +$at_failed && at_func_log_failure +$at_traceon; } -ls en -echo separator -ls to + { $at_traceoff +$as_echo "$at_srcdir/shortrec.at:28: +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H posix\" +export TAR_OPTIONS +rm -rf * + +mkdir directory +(cd directory && touch a b c d e f g h i j k l m n o p q r) +tar -c -b 1 -f - directory | tar -t -f - > /dev/null +tar -c -b 1 -f archive directory +tar -t -f archive > /dev/null +tar -t -f - < archive > /dev/null + +rm -r directory +)" +echo shortrec.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 * + +mkdir directory +(cd directory && touch a b c d e f g h i j k l m n o p q r) +tar -c -b 1 -f - directory | tar -t -f - > /dev/null +tar -c -b 1 -f archive directory +tar -t -f archive > /dev/null +tar -t -f - < archive > /dev/null + +rm -r directory +) ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS="-H posix" +export TAR_OPTIONS +rm -rf * + +mkdir directory +(cd directory && touch a b c d e f g h i j k l m n o p q r) +tar -c -b 1 -f - directory | tar -t -f - > /dev/null +tar -c -b 1 -f archive directory +tar -t -f archive > /dev/null +tar -t -f - < archive > /dev/null + +rm -r directory +) ) >"$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/shortrec.at:28" + +$at_failed && at_func_log_failure +$at_traceon; } + + { $at_traceoff +$as_echo "$at_srcdir/shortrec.at:28: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H gnu\" +export TAR_OPTIONS +rm -rf * + +mkdir directory +(cd directory && touch a b c d e f g h i j k l m n o p q r) +tar -c -b 1 -f - directory | tar -t -f - > /dev/null +tar -c -b 1 -f archive directory +tar -t -f archive > /dev/null +tar -t -f - < archive > /dev/null + +rm -r directory +)" +echo shortrec.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 * + +mkdir directory +(cd directory && touch a b c d e f g h i j k l m n o p q r) +tar -c -b 1 -f - directory | tar -t -f - > /dev/null +tar -c -b 1 -f archive directory +tar -t -f archive > /dev/null +tar -t -f - < archive > /dev/null + +rm -r directory +) ) >"$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 directory +(cd directory && touch a b c d e f g h i j k l m n o p q r) +tar -c -b 1 -f - directory | tar -t -f - > /dev/null +tar -c -b 1 -f archive directory +tar -t -f archive > /dev/null +tar -t -f - < archive > /dev/null + +rm -r directory ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "file1 -separator -file2 -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/same-order02.at:28: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +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/shortrec.at:28" +$at_failed && at_func_log_failure +$at_traceon; } - echo 1 > "$at_status_file" - exit 1 -fi -$at_traceon - $at_traceoff -echo "$at_srcdir/same-order02.at:28: + + $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_73 +#AT_START_74 +# 74. sparse01.at:21: sparse files +at_setup_line='sparse01.at:21' +at_desc="sparse files" +$at_quiet $as_echo_n " 74: $at_desc " +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "74. sparse01.at:21: testing ..." + $at_traceon + + + + + + { $at_traceoff +$as_echo "$at_srcdir/sparse01.at:24: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -23244,29 +29755,24 @@ TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * -genfile -l 1024 -f file1 -genfile -l 1024 -f file2 -tar cf archive file1 file2 - -mkdir en -mkdir to - -HERE=\`pwd\` -tar -xf archive --same-order -C \$HERE/en file1 -C \$HERE/to file2 || exit 1 +genfile --length 1000 -f begin +genfile --length 1000 -f end +genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77 +tar -c -f archive --sparse begin sparsefile end || exit 1 +echo separator -ls en +tar tfv archive echo separator -ls to +mkdir directory +tar Cxf directory archive +genfile --stat=name,size sparsefile +cmp sparsefile directory/sparsefile )" -echo same-order02.at:28 >"$at_check_line_file" - -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains a `...` command substitution)' -fi +echo sparse01.at:24 >"$at_check_line_file" -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -23275,25 +29781,22 @@ TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * -genfile -l 1024 -f file1 -genfile -l 1024 -f file2 -tar cf archive file1 file2 - -mkdir en -mkdir to - -HERE=`pwd` -tar -xf archive --same-order -C $HERE/en file1 -C $HERE/to file2 || exit 1 +genfile --length 1000 -f begin +genfile --length 1000 -f end +genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77 +tar -c -f archive --sparse begin sparsefile end || exit 1 +echo separator -ls en +tar tfv archive echo separator -ls to +mkdir directory +tar Cxf directory archive +genfile --stat=name,size sparsefile +cmp sparsefile directory/sparsefile ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -23302,46 +29805,31 @@ TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * -genfile -l 1024 -f file1 -genfile -l 1024 -f file2 -tar cf archive file1 file2 - -mkdir en -mkdir to - -HERE=`pwd` -tar -xf archive --same-order -C $HERE/en file1 -C $HERE/to file2 || exit 1 +genfile --length 1000 -f begin +genfile --length 1000 -f end +genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77 +tar -c -f archive --sparse begin sparsefile end || exit 1 +echo separator -ls en +tar tfv archive echo separator -ls to +mkdir directory +tar Cxf directory archive +genfile --stat=name,size sparsefile +cmp sparsefile directory/sparsefile ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "file1 -separator -file2 -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/same-order02.at:28: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi +at_func_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; tee stdout <"$at_stdout" +at_func_check_status 0 $at_status "$at_srcdir/sparse01.at:24" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/same-order02.at:28: + { $at_traceoff +$as_echo "$at_srcdir/sparse01.at:24: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -23350,29 +29838,24 @@ TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -genfile -l 1024 -f file1 -genfile -l 1024 -f file2 -tar cf archive file1 file2 - -mkdir en -mkdir to - -HERE=\`pwd\` -tar -xf archive --same-order -C \$HERE/en file1 -C \$HERE/to file2 || exit 1 +genfile --length 1000 -f begin +genfile --length 1000 -f end +genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77 +tar -c -f archive --sparse begin sparsefile end || exit 1 +echo separator -ls en +tar tfv archive echo separator -ls to +mkdir directory +tar Cxf directory archive +genfile --stat=name,size sparsefile +cmp sparsefile directory/sparsefile )" -echo same-order02.at:28 >"$at_check_line_file" - -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains a `...` command substitution)' -fi +echo sparse01.at:24 >"$at_check_line_file" -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -23381,25 +29864,22 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -genfile -l 1024 -f file1 -genfile -l 1024 -f file2 -tar cf archive file1 file2 - -mkdir en -mkdir to - -HERE=`pwd` -tar -xf archive --same-order -C $HERE/en file1 -C $HERE/to file2 || exit 1 +genfile --length 1000 -f begin +genfile --length 1000 -f end +genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77 +tar -c -f archive --sparse begin sparsefile end || exit 1 +echo separator -ls en +tar tfv archive echo separator -ls to +mkdir directory +tar Cxf directory archive +genfile --stat=name,size sparsefile +cmp sparsefile directory/sparsefile ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -23408,450 +29888,390 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -genfile -l 1024 -f file1 -genfile -l 1024 -f file2 -tar cf archive file1 file2 - -mkdir en -mkdir to - -HERE=`pwd` -tar -xf archive --same-order -C $HERE/en file1 -C $HERE/to file2 || exit 1 +genfile --length 1000 -f begin +genfile --length 1000 -f end +genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77 +tar -c -f archive --sparse begin sparsefile end || exit 1 +echo separator -ls en +tar tfv archive echo separator -ls to +mkdir directory +tar Cxf directory archive +genfile --stat=name,size sparsefile +cmp sparsefile directory/sparsefile ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "file1 -separator -file2 -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/same-order02.at:28: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi - -$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"` - ;; - - 56 ) # 56. shortrec.at:25: short records - at_setup_line='shortrec.at:25' - at_desc="short records" - $at_quiet $ECHO_N " 56: short records $ECHO_C" - at_xfail=no - test -f $XFAILFILE && at_xfail=yes - echo "# -*- compilation -*-" >> "$at_group_log" - ( - echo "56. shortrec.at:25: testing ..." - $at_traceon - - - - - +at_func_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; tee stdout <"$at_stdout" +at_func_check_status 0 $at_status "$at_srcdir/sparse01.at:24" +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/shortrec.at:28: -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 + { $at_traceoff +$as_echo "$at_srcdir/sparse01.at:24: +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H v7\" +TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * -mkdir directory -(cd directory && touch a b c d e f g h i j k l m n o p q r) -tar -c -b 1 -f - directory | tar -t -f - -tar -c -b 1 -f archive directory -tar -t -f archive -tar -t -f - < archive +genfile --length 1000 -f begin +genfile --length 1000 -f end +genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77 +tar -c -f archive --sparse begin sparsefile end || exit 1 +echo separator -rm -r directory +tar tfv archive +echo separator +mkdir directory +tar Cxf directory archive +genfile --stat=name,size sparsefile +cmp sparsefile directory/sparsefile )" -echo shortrec.at:28 >"$at_check_line_file" - -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +echo sparse01.at:24 >"$at_check_line_file" -if test -n "$at_trace_this"; then - ( $at_traceon; -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 +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 v7" +TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * -mkdir directory -(cd directory && touch a b c d e f g h i j k l m n o p q r) -tar -c -b 1 -f - directory | tar -t -f - -tar -c -b 1 -f archive directory -tar -t -f archive -tar -t -f - < archive +genfile --length 1000 -f begin +genfile --length 1000 -f end +genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77 +tar -c -f archive --sparse begin sparsefile end || exit 1 +echo separator -rm -r directory +tar tfv archive +echo separator +mkdir directory +tar Cxf directory archive +genfile --stat=name,size sparsefile +cmp sparsefile directory/sparsefile ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; -mkdir v7 -(cd v7 -TEST_TAR_FORMAT=v7 + ( :; +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H v7" +TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * +genfile --length 1000 -f begin +genfile --length 1000 -f end +genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77 +tar -c -f archive --sparse begin sparsefile end || exit 1 +echo separator + +tar tfv archive +echo separator mkdir directory -(cd directory && touch a b c d e f g h i j k l m n o p q r) -tar -c -b 1 -f - directory | tar -t -f - -tar -c -b 1 -f archive directory -tar -t -f archive -tar -t -f - < archive - -rm -r directory +tar Cxf directory archive +genfile --stat=name,size sparsefile +cmp sparsefile directory/sparsefile ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; cat "$at_stdout" -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/shortrec.at:28: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +at_func_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; tee stdout <"$at_stdout" +at_func_check_status 0 $at_status "$at_srcdir/sparse01.at:24" +$at_failed && at_func_log_failure +$at_traceon; } - echo 1 > "$at_status_file" - exit 1 -fi -$at_traceon - $at_traceoff -echo "$at_srcdir/shortrec.at:28: grep -v '^.*tar: Record size = ' stderr; exit 0" -echo shortrec.at:28 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - at_trace_this=yes -fi +cat >stdout.re <<'_ATEOF' +separator +-rw-r--r-- ^ ^ * *1000 0-90-90-90-9-0-90-9-0-90-9 0-90-9:0-90-9 begin +-rw-r--r-- ^ ^ * *10344448 0-90-90-90-9-0-90-9-0-90-9 0-90-9:0-90-9 sparsefile +-rw-r--r-- ^ ^ * *1000 0-90-90-90-9-0-90-9-0-90-9 0-90-9:0-90-9 end +separator +sparsefile 10344448 +_ATEOF -if test -n "$at_trace_this"; then - ( $at_traceon; grep -v '^.*tar: Record size = ' stderr; exit 0 ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" -else - ( :; grep -v '^.*tar: Record size = ' stderr; exit 0 ) >"$at_stdout" 2>"$at_stderr" - at_status=$? -fi +awk '{print NR " " $0}' stdout > $$.1 +awk '{print NR " " $0}' stdout.re | join - $$.1 | +while read NUM RE LINE +do + echo "$LINE" | grep -- "$RE" >/dev/null || exit 1 +done -at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -$at_diff "$at_devnull" "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/shortrec.at:28: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then + + $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_74 +#AT_START_75 +# 75. 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_xfail=no + test -f $XFAILFILE && at_xfail=yes +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "75. sparse02.at:21: testing ..." + $at_traceon - echo 1 > "$at_status_file" - exit 1 -fi -$at_traceon +# Tar 1.14 - 1.15.1 was unable to extract sparse files to a pipe. +# References: <16896.21739.460782.124775@jik.kamens.brookline.ma.us> +# http://lists.gnu.org/archive/html/bug-tar/2005-02/msg00003.html -$at_traceoff -echo "$at_srcdir/shortrec.at:28: -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu + + + { $at_traceoff +$as_echo "$at_srcdir/sparse02.at:28: +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H oldgnu\" +TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * -mkdir directory -(cd directory && touch a b c d e f g h i j k l m n o p q r) -tar -c -b 1 -f - directory | tar -t -f - -tar -c -b 1 -f archive directory -tar -t -f archive -tar -t -f - < archive +genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77 +tar -c -f archive --sparse sparsefile || exit 1 +echo separator -rm -r directory +tar xfO archive | cat - > sparsecopy || exit 1 +cmp sparsefile sparsecopy )" -echo shortrec.at:28 >"$at_check_line_file" - -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +echo sparse02.at:28 >"$at_check_line_file" -if test -n "$at_trace_this"; then - ( $at_traceon; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu +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 oldgnu" +TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * -mkdir directory -(cd directory && touch a b c d e f g h i j k l m n o p q r) -tar -c -b 1 -f - directory | tar -t -f - -tar -c -b 1 -f archive directory -tar -t -f archive -tar -t -f - < archive +genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77 +tar -c -f archive --sparse sparsefile || exit 1 +echo separator -rm -r directory +tar xfO archive | cat - > sparsecopy || exit 1 +cmp sparsefile sparsecopy ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu + ( :; +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" +TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * -mkdir directory -(cd directory && touch a b c d e f g h i j k l m n o p q r) -tar -c -b 1 -f - directory | tar -t -f - -tar -c -b 1 -f archive directory -tar -t -f archive -tar -t -f - < archive +genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77 +tar -c -f archive --sparse sparsefile || exit 1 +echo separator -rm -r directory +tar xfO archive | cat - > sparsecopy || exit 1 +cmp sparsefile sparsecopy ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; cat "$at_stdout" -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/shortrec.at:28: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "separator +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/sparse02.at:28" +$at_failed && at_func_log_failure +$at_traceon; } - echo 1 > "$at_status_file" - exit 1 -fi + { $at_traceoff +$as_echo "$at_srcdir/sparse02.at:28: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H gnu\" +export TAR_OPTIONS +rm -rf * -$at_traceon +genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77 +tar -c -f archive --sparse sparsefile || exit 1 +echo separator +tar xfO archive | cat - > sparsecopy || exit 1 +cmp sparsefile sparsecopy +)" +echo sparse02.at:28 >"$at_check_line_file" - $at_traceoff -echo "$at_srcdir/shortrec.at:28: grep -v '^.*tar: Record size = ' stderr; exit 0" -echo shortrec.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 * -at_trace_this= -if test -n "$at_traceon"; then - at_trace_this=yes -fi +genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77 +tar -c -f archive --sparse sparsefile || exit 1 +echo separator -if test -n "$at_trace_this"; then - ( $at_traceon; grep -v '^.*tar: Record size = ' stderr; exit 0 ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" +tar xfO archive | cat - > sparsecopy || exit 1 +cmp sparsefile sparsecopy +) ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? else - ( :; grep -v '^.*tar: Record size = ' stderr; exit 0 ) >"$at_stdout" 2>"$at_stderr" - at_status=$? -fi - -at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -$at_diff "$at_devnull" "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/shortrec.at:28: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then + ( :; +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS="-H gnu" +export TAR_OPTIONS +rm -rf * +genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77 +tar -c -f archive --sparse sparsefile || exit 1 +echo separator - echo 1 > "$at_status_file" - exit 1 +tar xfO archive | cat - > sparsecopy || exit 1 +cmp sparsefile sparsecopy +) ) >"$at_stdout" 2>"$at_stderr" fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "separator +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/sparse02.at:28" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } -$at_traceoff -echo "$at_srcdir/shortrec.at:28: -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar + { $at_traceoff +$as_echo "$at_srcdir/sparse02.at:28: +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H ustar\" +TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * -mkdir directory -(cd directory && touch a b c d e f g h i j k l m n o p q r) -tar -c -b 1 -f - directory | tar -t -f - -tar -c -b 1 -f archive directory -tar -t -f archive -tar -t -f - < archive +genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77 +tar -c -f archive --sparse sparsefile || exit 1 +echo separator -rm -r directory +tar xfO archive | cat - > sparsecopy || exit 1 +cmp sparsefile sparsecopy )" -echo shortrec.at:28 >"$at_check_line_file" - -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +echo sparse02.at:28 >"$at_check_line_file" -if test -n "$at_trace_this"; then - ( $at_traceon; -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar +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 ustar" +TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * -mkdir directory -(cd directory && touch a b c d e f g h i j k l m n o p q r) -tar -c -b 1 -f - directory | tar -t -f - -tar -c -b 1 -f archive directory -tar -t -f archive -tar -t -f - < archive +genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77 +tar -c -f archive --sparse sparsefile || exit 1 +echo separator -rm -r directory +tar xfO archive | cat - > sparsecopy || exit 1 +cmp sparsefile sparsecopy ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; -mkdir ustar -(cd ustar -TEST_TAR_FORMAT=ustar + ( :; +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H ustar" +TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * -mkdir directory -(cd directory && touch a b c d e f g h i j k l m n o p q r) -tar -c -b 1 -f - directory | tar -t -f - -tar -c -b 1 -f archive directory -tar -t -f archive -tar -t -f - < archive +genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77 +tar -c -f archive --sparse sparsefile || exit 1 +echo separator -rm -r directory +tar xfO archive | cat - > sparsecopy || exit 1 +cmp sparsefile sparsecopy ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; cat "$at_stdout" -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/shortrec.at:28: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "separator +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/sparse02.at:28" +$at_failed && at_func_log_failure +$at_traceon; } - echo 1 > "$at_status_file" - exit 1 -fi -$at_traceon $at_traceoff -echo "$at_srcdir/shortrec.at:28: grep -v '^.*tar: Record size = ' stderr; exit 0" -echo shortrec.at:28 >"$at_check_line_file" - -at_trace_this= -if test -n "$at_traceon"; then - at_trace_this=yes -fi + $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_setup_line='sparse03.at:21' +at_desc="storing sparse files > 8G" +$at_quiet $as_echo_n " 76: $at_desc " +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "76. sparse03.at:21: testing ..." + $at_traceon -if test -n "$at_trace_this"; then - ( $at_traceon; grep -v '^.*tar: Record size = ' stderr; exit 0 ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" -else - ( :; grep -v '^.*tar: Record size = ' stderr; exit 0 ) >"$at_stdout" 2>"$at_stderr" - at_status=$? -fi -at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -$at_diff "$at_devnull" "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/shortrec.at:28: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +# Tar 1.15.1 incorrectly computed sparse member size if the extended +# PAX header contained size keyword. +# References: <87vf46nb36.fsf@penguin.cs.ucla.edu> +# http://lists.gnu.org/archive/html/bug-tar/2005-06/msg00040.html - echo 1 > "$at_status_file" - exit 1 -fi -$at_traceon -$at_traceoff -echo "$at_srcdir/shortrec.at:28: + { $at_traceoff +$as_echo "$at_srcdir/sparse03.at:29: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -23860,24 +30280,24 @@ TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * -mkdir directory -(cd directory && touch a b c d e f g h i j k l m n o p q r) -tar -c -b 1 -f - directory | tar -t -f - -tar -c -b 1 -f archive directory -tar -t -f archive -tar -t -f - < archive +genfile --length 1000 --file begin +genfile --length 1000 --file end +genfile --sparse --file sparsefile --block-size 512 8G A || exit 77 +tar -c -f archive --sparse begin sparsefile end || exit 1 +echo separator -rm -r directory +tar tfv archive +echo separator +mkdir directory +tar Cxf directory archive +genfile --stat=name,size sparsefile +cmp sparsefile directory/sparsefile )" -echo shortrec.at:28 >"$at_check_line_file" - -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +echo sparse03.at:29 >"$at_check_line_file" -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -23886,20 +30306,22 @@ TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * -mkdir directory -(cd directory && touch a b c d e f g h i j k l m n o p q r) -tar -c -b 1 -f - directory | tar -t -f - -tar -c -b 1 -f archive directory -tar -t -f archive -tar -t -f - < archive +genfile --length 1000 --file begin +genfile --length 1000 --file end +genfile --sparse --file sparsefile --block-size 512 8G A || exit 77 +tar -c -f archive --sparse begin sparsefile end || exit 1 +echo separator -rm -r directory +tar tfv archive +echo separator +mkdir directory +tar Cxf directory archive +genfile --stat=name,size sparsefile +cmp sparsefile directory/sparsefile ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -23908,76 +30330,80 @@ TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * -mkdir directory -(cd directory && touch a b c d e f g h i j k l m n o p q r) -tar -c -b 1 -f - directory | tar -t -f - -tar -c -b 1 -f archive directory -tar -t -f archive -tar -t -f - < archive +genfile --length 1000 --file begin +genfile --length 1000 --file end +genfile --sparse --file sparsefile --block-size 512 8G A || exit 77 +tar -c -f archive --sparse begin sparsefile end || exit 1 +echo separator -rm -r directory +tar tfv archive +echo separator +mkdir directory +tar Cxf directory archive +genfile --stat=name,size sparsefile +cmp sparsefile directory/sparsefile ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; cat "$at_stdout" -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/shortrec.at:28: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +at_func_diff_devnull "$at_stderr" || at_failed=: +echo stdout:; tee stdout <"$at_stdout" +at_func_check_status 0 $at_status "$at_srcdir/sparse03.at:29" +$at_failed && at_func_log_failure +$at_traceon; } - echo 1 > "$at_status_file" - exit 1 -fi -$at_traceon - $at_traceoff -echo "$at_srcdir/shortrec.at:28: grep -v '^.*tar: Record size = ' stderr; exit 0" -echo shortrec.at:28 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - at_trace_this=yes -fi +cat >stdout.re <<'_ATEOF' +separator +-rw-r--r-- ^ ^ * *1000 0-90-90-90-9-0-90-9-0-90-9 0-90-9:0-90-9 begin +-rw-r--r-- ^ ^ * *8589935104 0-90-90-90-9-0-90-9-0-90-9 0-90-9:0-90-9 sparsefile +-rw-r--r-- ^ ^ * *1000 0-90-90-90-9-0-90-9-0-90-9 0-90-9:0-90-9 end +separator +sparsefile 8589935104 +_ATEOF -if test -n "$at_trace_this"; then - ( $at_traceon; grep -v '^.*tar: Record size = ' stderr; exit 0 ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" -else - ( :; grep -v '^.*tar: Record size = ' stderr; exit 0 ) >"$at_stdout" 2>"$at_stderr" - at_status=$? -fi +awk '{print NR " " $0}' stdout > $$.1 +awk '{print NR " " $0}' stdout.re | join - $$.1 | +while read NUM RE LINE +do + echo "$LINE" | grep -- "$RE" >/dev/null || exit 1 +done -at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -$at_diff "$at_devnull" "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/shortrec.at:28: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then + + $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_76 +#AT_START_77 +# 77. 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_xfail=no + test -f $XFAILFILE && at_xfail=yes +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "77. sparsemv.at:21: testing ..." + $at_traceon - echo 1 > "$at_status_file" - exit 1 -fi -$at_traceon +# Check if sparse files are correctly split between GNU multi-volume +# archives. +# There are two cases: the file can be split within an empty (null) block, +# or within a data block. Since null blocks are not archived, the first +# case means the file is split between two consecutive data blocks. +# + + -$at_traceoff -echo "$at_srcdir/shortrec.at:28: + { $at_traceoff +$as_echo "$at_srcdir/sparsemv.at:31: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -23986,24 +30412,30 @@ TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -mkdir directory -(cd directory && touch a b c d e f g h i j k l m n o p q r) -tar -c -b 1 -f - directory | tar -t -f - -tar -c -b 1 -f archive directory -tar -t -f archive -tar -t -f - < archive +exec <&- +genfile --sparse --file sparsefile 0 ABCDEFGHIJK 1M ABCDEFGHI || exit 77 +echo \"Pass 1: Split between data blocks\" +echo \"Create archive\" +tar --sparse -c --record-size=512 -M -L6 -f arc.1 -f arc.2 sparsefile || exit 1 +echo \"Test archive\" +tar --record-size=512 -t -M -f arc.1 -f arc.2 +echo \"Compare archive\" +tar --record-size=512 -d -M -f arc.1 -f arc.2 -rm -r directory +echo \"Pass 2: Split within a data block\" +genfile --sparse --file sparsefile 0 ABCDEFGHIJ 1M ABCDEFGHI || exit 77 +echo \"Create archive\" +tar --sparse -c --record-size=512 -M -L6 -f arc.1 -f arc.2 sparsefile || exit 1 +echo \"Test archive\" +tar --record-size=512 -t -M -f arc.1 -f arc.2 +echo \"Compare archive\" +tar --record-size=512 -d -M -f arc.1 -f arc.2 )" -echo shortrec.at:28 >"$at_check_line_file" - -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +echo sparsemv.at:31 >"$at_check_line_file" -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -24012,20 +30444,28 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -mkdir directory -(cd directory && touch a b c d e f g h i j k l m n o p q r) -tar -c -b 1 -f - directory | tar -t -f - -tar -c -b 1 -f archive directory -tar -t -f archive -tar -t -f - < archive +exec <&- +genfile --sparse --file sparsefile 0 ABCDEFGHIJK 1M ABCDEFGHI || exit 77 +echo "Pass 1: Split between data blocks" +echo "Create archive" +tar --sparse -c --record-size=512 -M -L6 -f arc.1 -f arc.2 sparsefile || exit 1 +echo "Test archive" +tar --record-size=512 -t -M -f arc.1 -f arc.2 +echo "Compare archive" +tar --record-size=512 -d -M -f arc.1 -f arc.2 -rm -r directory +echo "Pass 2: Split within a data block" +genfile --sparse --file sparsefile 0 ABCDEFGHIJ 1M ABCDEFGHI || exit 77 +echo "Create archive" +tar --sparse -c --record-size=512 -M -L6 -f arc.1 -f arc.2 sparsefile || exit 1 +echo "Test archive" +tar --record-size=512 -t -M -f arc.1 -f arc.2 +echo "Compare archive" +tar --record-size=512 -d -M -f arc.1 -f arc.2 ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -24034,615 +30474,684 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -mkdir directory -(cd directory && touch a b c d e f g h i j k l m n o p q r) -tar -c -b 1 -f - directory | tar -t -f - -tar -c -b 1 -f archive directory -tar -t -f archive -tar -t -f - < archive +exec <&- +genfile --sparse --file sparsefile 0 ABCDEFGHIJK 1M ABCDEFGHI || exit 77 +echo "Pass 1: Split between data blocks" +echo "Create archive" +tar --sparse -c --record-size=512 -M -L6 -f arc.1 -f arc.2 sparsefile || exit 1 +echo "Test archive" +tar --record-size=512 -t -M -f arc.1 -f arc.2 +echo "Compare archive" +tar --record-size=512 -d -M -f arc.1 -f arc.2 -rm -r directory +echo "Pass 2: Split within a data block" +genfile --sparse --file sparsefile 0 ABCDEFGHIJ 1M ABCDEFGHI || exit 77 +echo "Create archive" +tar --sparse -c --record-size=512 -M -L6 -f arc.1 -f arc.2 sparsefile || exit 1 +echo "Test archive" +tar --record-size=512 -t -M -f arc.1 -f arc.2 +echo "Compare archive" +tar --record-size=512 -d -M -f arc.1 -f arc.2 ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? -fi - -at_failed=false -echo stderr:; tee stderr <"$at_stderr" -echo stdout:; cat "$at_stdout" -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/shortrec.at:28: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi - -$at_traceon - - - $at_traceoff -echo "$at_srcdir/shortrec.at:28: grep -v '^.*tar: Record size = ' stderr; exit 0" -echo shortrec.at:28 >"$at_check_line_file" - -at_trace_this= -if test -n "$at_traceon"; then - at_trace_this=yes -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; grep -v '^.*tar: Record size = ' stderr; exit 0 ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" -else - ( :; grep -v '^.*tar: Record size = ' stderr; exit 0 ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -$at_diff "$at_devnull" "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/shortrec.at:28: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi - -$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"` - ;; - - 57 ) # 57. sparse01.at:21: sparse files - at_setup_line='sparse01.at:21' - at_desc="sparse files" - $at_quiet $ECHO_N " 57: sparse files $ECHO_C" - at_xfail=no - test -f $XFAILFILE && at_xfail=yes - echo "# -*- compilation -*-" >> "$at_group_log" - ( - echo "57. sparse01.at:21: testing ..." - $at_traceon - - - +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Pass 1: Split between data blocks +Create archive +Test archive +sparsefile +Compare archive +Pass 2: Split within a data block +Create archive +Test archive +sparsefile +Compare archive +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/sparsemv.at:31" +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/sparse01.at:24: -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix + { $at_traceoff +$as_echo "$at_srcdir/sparsemv.at:31: +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H posix\" +TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * -genfile --length 1000 -f begin -genfile --length 1000 -f end -genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77 -tar -c -f archive --sparse begin sparsefile end || exit 1 -echo separator +exec <&- +genfile --sparse --file sparsefile 0 ABCDEFGHIJK 1M ABCDEFGHI || exit 77 +echo \"Pass 1: Split between data blocks\" +echo \"Create archive\" +tar --sparse -c --record-size=512 -M -L6 -f arc.1 -f arc.2 sparsefile || exit 1 +echo \"Test archive\" +tar --record-size=512 -t -M -f arc.1 -f arc.2 +echo \"Compare archive\" +tar --record-size=512 -d -M -f arc.1 -f arc.2 -tar tfv archive -echo separator -mkdir directory -tar Cxf directory archive -genfile --stat=name,size sparsefile -cmp sparsefile directory/sparsefile +echo \"Pass 2: Split within a data block\" +genfile --sparse --file sparsefile 0 ABCDEFGHIJ 1M ABCDEFGHI || exit 77 +echo \"Create archive\" +tar --sparse -c --record-size=512 -M -L6 -f arc.1 -f arc.2 sparsefile || exit 1 +echo \"Test archive\" +tar --record-size=512 -t -M -f arc.1 -f arc.2 +echo \"Compare archive\" +tar --record-size=512 -d -M -f arc.1 -f arc.2 )" -echo sparse01.at:24 >"$at_check_line_file" - -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +echo sparsemv.at:31 >"$at_check_line_file" -if test -n "$at_trace_this"; then - ( $at_traceon; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix +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 posix" +TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * -genfile --length 1000 -f begin -genfile --length 1000 -f end -genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77 -tar -c -f archive --sparse begin sparsefile end || exit 1 -echo separator +exec <&- +genfile --sparse --file sparsefile 0 ABCDEFGHIJK 1M ABCDEFGHI || exit 77 +echo "Pass 1: Split between data blocks" +echo "Create archive" +tar --sparse -c --record-size=512 -M -L6 -f arc.1 -f arc.2 sparsefile || exit 1 +echo "Test archive" +tar --record-size=512 -t -M -f arc.1 -f arc.2 +echo "Compare archive" +tar --record-size=512 -d -M -f arc.1 -f arc.2 -tar tfv archive -echo separator -mkdir directory -tar Cxf directory archive -genfile --stat=name,size sparsefile -cmp sparsefile directory/sparsefile +echo "Pass 2: Split within a data block" +genfile --sparse --file sparsefile 0 ABCDEFGHIJ 1M ABCDEFGHI || exit 77 +echo "Create archive" +tar --sparse -c --record-size=512 -M -L6 -f arc.1 -f arc.2 sparsefile || exit 1 +echo "Test archive" +tar --record-size=512 -t -M -f arc.1 -f arc.2 +echo "Compare archive" +tar --record-size=512 -d -M -f arc.1 -f arc.2 ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix + ( :; +mkdir oldgnu +(cd oldgnu +TEST_TAR_FORMAT=oldgnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" +TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * -genfile --length 1000 -f begin -genfile --length 1000 -f end -genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77 -tar -c -f archive --sparse begin sparsefile end || exit 1 -echo separator +exec <&- +genfile --sparse --file sparsefile 0 ABCDEFGHIJK 1M ABCDEFGHI || exit 77 +echo "Pass 1: Split between data blocks" +echo "Create archive" +tar --sparse -c --record-size=512 -M -L6 -f arc.1 -f arc.2 sparsefile || exit 1 +echo "Test archive" +tar --record-size=512 -t -M -f arc.1 -f arc.2 +echo "Compare archive" +tar --record-size=512 -d -M -f arc.1 -f arc.2 -tar tfv archive -echo separator -mkdir directory -tar Cxf directory archive -genfile --stat=name,size sparsefile -cmp sparsefile directory/sparsefile +echo "Pass 2: Split within a data block" +genfile --sparse --file sparsefile 0 ABCDEFGHIJ 1M ABCDEFGHI || exit 77 +echo "Create archive" +tar --sparse -c --record-size=512 -M -L6 -f arc.1 -f arc.2 sparsefile || exit 1 +echo "Test archive" +tar --record-size=512 -t -M -f arc.1 -f arc.2 +echo "Compare archive" +tar --record-size=512 -d -M -f arc.1 -f arc.2 ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo stdout:; tee stdout <"$at_stdout" -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/sparse01.at:24: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Pass 1: Split between data blocks +Create archive +Test archive +sparsefile +Compare archive +Pass 2: Split within a data block +Create archive +Test archive +sparsefile +Compare archive +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/sparsemv.at:31" +$at_failed && at_func_log_failure +$at_traceon; } - echo 1 > "$at_status_file" - exit 1 -fi -$at_traceon - $at_traceoff -echo "$at_srcdir/sparse01.at:24: -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu + + $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_77 +#AT_START_78 +# 78. 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_xfail=no + test -f $XFAILFILE && at_xfail=yes +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "78. spmvp00.at:21: testing ..." + $at_traceon + + + + + + + { $at_traceoff +$as_echo "$at_srcdir/spmvp00.at:24: +mkdir pax +(cd pax +TEST_TAR_FORMAT=pax export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H gnu\" +TAR_OPTIONS=\"-H pax\" export TAR_OPTIONS rm -rf * -genfile --length 1000 -f begin -genfile --length 1000 -f end -genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77 -tar -c -f archive --sparse begin sparsefile end || exit 1 -echo separator +exec <&- +genfile --sparse --file sparsefile 0 ABCDEFGHI 1M ABCDEFGHI || exit 77 +echo \"Pass 1: Split between data blocks\" +echo \"Create archive\" +tar --sparse --sparse-version=0.0 -c --record-size=512 -M -L6 -f arc.1 -f arc.2 -f arc.3 sparsefile +echo \"Test archive\" +tar -t -M -f arc.1 -f arc.2 -f arc.3 +echo \"Compare archive\" +tar -d -M -f arc.1 -f arc.2 -f arc.3 -tar tfv archive -echo separator -mkdir directory -tar Cxf directory archive -genfile --stat=name,size sparsefile -cmp sparsefile directory/sparsefile +echo \"Pass 2: Split within a data block\" +genfile --sparse --file sparsefile 0 ABCDEFGH 1M ABCDEFGHI || exit 77 +echo \"Create archive\" +tar --sparse --sparse-version=0.0 -c --record-size=512 -M -L6 -f arc.1 -f arc.2 -f arc.3 sparsefile +echo \"Test archive\" +tar -t -M -f arc.1 -f arc.2 -f arc.3 +echo \"Compare archive\" +tar -d -M -f arc.1 -f arc.2 -f arc.3 )" -echo sparse01.at:24 >"$at_check_line_file" - -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +echo spmvp00.at:24 >"$at_check_line_file" -if test -n "$at_trace_this"; then - ( $at_traceon; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu +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 gnu" +TAR_OPTIONS="-H pax" export TAR_OPTIONS rm -rf * -genfile --length 1000 -f begin -genfile --length 1000 -f end -genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77 -tar -c -f archive --sparse begin sparsefile end || exit 1 -echo separator +exec <&- +genfile --sparse --file sparsefile 0 ABCDEFGHI 1M ABCDEFGHI || exit 77 +echo "Pass 1: Split between data blocks" +echo "Create archive" +tar --sparse --sparse-version=0.0 -c --record-size=512 -M -L6 -f arc.1 -f arc.2 -f arc.3 sparsefile +echo "Test archive" +tar -t -M -f arc.1 -f arc.2 -f arc.3 +echo "Compare archive" +tar -d -M -f arc.1 -f arc.2 -f arc.3 -tar tfv archive -echo separator -mkdir directory -tar Cxf directory archive -genfile --stat=name,size sparsefile -cmp sparsefile directory/sparsefile +echo "Pass 2: Split within a data block" +genfile --sparse --file sparsefile 0 ABCDEFGH 1M ABCDEFGHI || exit 77 +echo "Create archive" +tar --sparse --sparse-version=0.0 -c --record-size=512 -M -L6 -f arc.1 -f arc.2 -f arc.3 sparsefile +echo "Test archive" +tar -t -M -f arc.1 -f arc.2 -f arc.3 +echo "Compare archive" +tar -d -M -f arc.1 -f arc.2 -f arc.3 ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu + ( :; +mkdir pax +(cd pax +TEST_TAR_FORMAT=pax export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" +TAR_OPTIONS="-H pax" export TAR_OPTIONS rm -rf * -genfile --length 1000 -f begin -genfile --length 1000 -f end -genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77 -tar -c -f archive --sparse begin sparsefile end || exit 1 -echo separator +exec <&- +genfile --sparse --file sparsefile 0 ABCDEFGHI 1M ABCDEFGHI || exit 77 +echo "Pass 1: Split between data blocks" +echo "Create archive" +tar --sparse --sparse-version=0.0 -c --record-size=512 -M -L6 -f arc.1 -f arc.2 -f arc.3 sparsefile +echo "Test archive" +tar -t -M -f arc.1 -f arc.2 -f arc.3 +echo "Compare archive" +tar -d -M -f arc.1 -f arc.2 -f arc.3 -tar tfv archive -echo separator -mkdir directory -tar Cxf directory archive -genfile --stat=name,size sparsefile -cmp sparsefile directory/sparsefile +echo "Pass 2: Split within a data block" +genfile --sparse --file sparsefile 0 ABCDEFGH 1M ABCDEFGHI || exit 77 +echo "Create archive" +tar --sparse --sparse-version=0.0 -c --record-size=512 -M -L6 -f arc.1 -f arc.2 -f arc.3 sparsefile +echo "Test archive" +tar -t -M -f arc.1 -f arc.2 -f arc.3 +echo "Compare archive" +tar -d -M -f arc.1 -f arc.2 -f arc.3 ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo stdout:; tee stdout <"$at_stdout" -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/sparse01.at:24: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Pass 1: Split between data blocks +Create archive +Test archive +sparsefile +Compare archive +Pass 2: Split within a data block +Create archive +Test archive +sparsefile +Compare archive +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/spmvp00.at:24" +$at_failed && at_func_log_failure +$at_traceon; } - echo 1 > "$at_status_file" - exit 1 -fi -$at_traceon - $at_traceoff -echo "$at_srcdir/sparse01.at:24: -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu + + $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_78 +#AT_START_79 +# 79. 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_xfail=no + test -f $XFAILFILE && at_xfail=yes +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "79. spmvp01.at:21: testing ..." + $at_traceon + + + + + + + { $at_traceoff +$as_echo "$at_srcdir/spmvp01.at:24: +mkdir pax +(cd pax +TEST_TAR_FORMAT=pax export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H oldgnu\" +TAR_OPTIONS=\"-H pax\" export TAR_OPTIONS rm -rf * -genfile --length 1000 -f begin -genfile --length 1000 -f end -genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77 -tar -c -f archive --sparse begin sparsefile end || exit 1 -echo separator +exec <&- +genfile --sparse --file sparsefile 0 ABCDEFGHIJK 1M ABCDEFGHI || exit 77 +echo \"Pass 1: Split between data blocks\" +echo \"Create archive\" +tar --sparse --sparse-version=0.1 -c --record-size=512 -M -L6 -f arc.1 -f arc.2 -f arc.3 sparsefile +echo \"Test archive\" +tar -t -M -f arc.1 -f arc.2 -f arc.3 +echo \"Compare archive\" +tar -d -M -f arc.1 -f arc.2 -f arc.3 -tar tfv archive -echo separator -mkdir directory -tar Cxf directory archive -genfile --stat=name,size sparsefile -cmp sparsefile directory/sparsefile +echo \"Pass 2: Split within a data block\" +genfile --sparse --file sparsefile 0 ABCDEFGHIJ 1M ABCDEFGHI || exit 77 +echo \"Create archive\" +tar --sparse --sparse-version=0.1 -c --record-size=512 -M -L6 -f arc.1 -f arc.2 -f arc.3 sparsefile +echo \"Test archive\" +tar -t -M -f arc.1 -f arc.2 -f arc.3 +echo \"Compare archive\" +tar -d -M -f arc.1 -f arc.2 -f arc.3 )" -echo sparse01.at:24 >"$at_check_line_file" - -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +echo spmvp01.at:24 >"$at_check_line_file" -if test -n "$at_trace_this"; then - ( $at_traceon; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu +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 oldgnu" +TAR_OPTIONS="-H pax" export TAR_OPTIONS rm -rf * -genfile --length 1000 -f begin -genfile --length 1000 -f end -genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77 -tar -c -f archive --sparse begin sparsefile end || exit 1 -echo separator +exec <&- +genfile --sparse --file sparsefile 0 ABCDEFGHIJK 1M ABCDEFGHI || exit 77 +echo "Pass 1: Split between data blocks" +echo "Create archive" +tar --sparse --sparse-version=0.1 -c --record-size=512 -M -L6 -f arc.1 -f arc.2 -f arc.3 sparsefile +echo "Test archive" +tar -t -M -f arc.1 -f arc.2 -f arc.3 +echo "Compare archive" +tar -d -M -f arc.1 -f arc.2 -f arc.3 -tar tfv archive -echo separator -mkdir directory -tar Cxf directory archive -genfile --stat=name,size sparsefile -cmp sparsefile directory/sparsefile +echo "Pass 2: Split within a data block" +genfile --sparse --file sparsefile 0 ABCDEFGHIJ 1M ABCDEFGHI || exit 77 +echo "Create archive" +tar --sparse --sparse-version=0.1 -c --record-size=512 -M -L6 -f arc.1 -f arc.2 -f arc.3 sparsefile +echo "Test archive" +tar -t -M -f arc.1 -f arc.2 -f arc.3 +echo "Compare archive" +tar -d -M -f arc.1 -f arc.2 -f arc.3 ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; -mkdir oldgnu -(cd oldgnu -TEST_TAR_FORMAT=oldgnu + ( :; +mkdir pax +(cd pax +TEST_TAR_FORMAT=pax export TEST_TAR_FORMAT -TAR_OPTIONS="-H oldgnu" +TAR_OPTIONS="-H pax" export TAR_OPTIONS rm -rf * -genfile --length 1000 -f begin -genfile --length 1000 -f end -genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77 -tar -c -f archive --sparse begin sparsefile end || exit 1 -echo separator +exec <&- +genfile --sparse --file sparsefile 0 ABCDEFGHIJK 1M ABCDEFGHI || exit 77 +echo "Pass 1: Split between data blocks" +echo "Create archive" +tar --sparse --sparse-version=0.1 -c --record-size=512 -M -L6 -f arc.1 -f arc.2 -f arc.3 sparsefile +echo "Test archive" +tar -t -M -f arc.1 -f arc.2 -f arc.3 +echo "Compare archive" +tar -d -M -f arc.1 -f arc.2 -f arc.3 -tar tfv archive -echo separator -mkdir directory -tar Cxf directory archive -genfile --stat=name,size sparsefile -cmp sparsefile directory/sparsefile +echo "Pass 2: Split within a data block" +genfile --sparse --file sparsefile 0 ABCDEFGHIJ 1M ABCDEFGHI || exit 77 +echo "Create archive" +tar --sparse --sparse-version=0.1 -c --record-size=512 -M -L6 -f arc.1 -f arc.2 -f arc.3 sparsefile +echo "Test archive" +tar -t -M -f arc.1 -f arc.2 -f arc.3 +echo "Compare archive" +tar -d -M -f arc.1 -f arc.2 -f arc.3 ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo stdout:; tee stdout <"$at_stdout" -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/sparse01.at:24: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi - -$at_traceon - - - - +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Pass 1: Split between data blocks +Create archive +Test archive +sparsefile +Compare archive +Pass 2: Split within a data block +Create archive +Test archive +sparsefile +Compare archive +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/spmvp01.at:24" -cat >stdout.re <<'_ATEOF' -separator --rw-r--r-- ^ ^ * *1000 0-90-90-90-9-0-90-9-0-90-9 0-90-9:0-90-9 begin --rw-r--r-- ^ ^ * *10344448 0-90-90-90-9-0-90-9-0-90-9 0-90-9:0-90-9 sparsefile --rw-r--r-- ^ ^ * *1000 0-90-90-90-9-0-90-9-0-90-9 0-90-9:0-90-9 end -separator -sparsefile 10344448 -_ATEOF +$at_failed && at_func_log_failure +$at_traceon; } -awk '{print NR " " $0}' stdout > $$.1 -awk '{print NR " " $0}' stdout.re | join - $$.1 | -while read NUM RE LINE -do - echo "$LINE" | grep -- "$RE" >/dev/null || exit 1 -done - $at_traceoff - $at_times_p && times >"$at_times_file" - ) 5>&1 2>&1 | eval $at_tee_pipe - at_status=`cat "$at_status_file"` - ;; - 58 ) # 58. 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 $ECHO_N " 58: extracting sparse file over a pipe $ECHO_C" - at_xfail=no + $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_79 +#AT_START_80 +# 80. 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_xfail=no test -f $XFAILFILE && at_xfail=yes - echo "# -*- compilation -*-" >> "$at_group_log" - ( - echo "58. sparse02.at:21: testing ..." - $at_traceon +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "80. spmvp10.at:21: testing ..." + $at_traceon -# Tar 1.14 - 1.15.1 was unable to extract sparse files to a pipe. -# References: <16896.21739.460782.124775@jik.kamens.brookline.ma.us> -# http://lists.gnu.org/archive/html/bug-tar/2005-02/msg00003.html - $at_traceoff -echo "$at_srcdir/sparse02.at:28: -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix + { $at_traceoff +$as_echo "$at_srcdir/spmvp10.at:24: +mkdir pax +(cd pax +TEST_TAR_FORMAT=pax export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H posix\" +TAR_OPTIONS=\"-H pax\" export TAR_OPTIONS rm -rf * -genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77 -tar -c -f archive --sparse sparsefile || exit 1 -echo separator +exec <&- +genfile --sparse --file sparsefile 0 ABCDEFGH 1M ABCDEFGHI || exit 77 +echo \"Pass 1: Split between data blocks\" +echo \"Create archive\" +tar --sparse --sparse-version=1.0 -c --record-size=512 -M -L6 -f arc.1 -f arc.2 -f arc.3 sparsefile +echo \"Test archive\" +tar -t -M -f arc.1 -f arc.2 -f arc.3 +echo \"Compare archive\" +tar -d -M -f arc.1 -f arc.2 -f arc.3 -tar xfO archive | cat - > sparsecopy || exit 1 -cmp sparsefile sparsecopy +echo \"Pass 2: Split within a data block\" +genfile --sparse --file sparsefile 0 ABCDEFG 1M ABCDEFGHI || exit 77 +echo \"Create archive\" +tar --sparse --sparse-version=1.0 -c --record-size=512 -M -L6 -f arc.1 -f arc.2 -f arc.3 sparsefile +echo \"Test archive\" +tar -t -M -f arc.1 -f arc.2 -f arc.3 +echo \"Compare archive\" +tar -d -M -f arc.1 -f arc.2 -f arc.3 )" -echo sparse02.at:28 >"$at_check_line_file" - -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +echo spmvp10.at:24 >"$at_check_line_file" -if test -n "$at_trace_this"; then - ( $at_traceon; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix +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 posix" +TAR_OPTIONS="-H pax" export TAR_OPTIONS rm -rf * -genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77 -tar -c -f archive --sparse sparsefile || exit 1 -echo separator +exec <&- +genfile --sparse --file sparsefile 0 ABCDEFGH 1M ABCDEFGHI || exit 77 +echo "Pass 1: Split between data blocks" +echo "Create archive" +tar --sparse --sparse-version=1.0 -c --record-size=512 -M -L6 -f arc.1 -f arc.2 -f arc.3 sparsefile +echo "Test archive" +tar -t -M -f arc.1 -f arc.2 -f arc.3 +echo "Compare archive" +tar -d -M -f arc.1 -f arc.2 -f arc.3 -tar xfO archive | cat - > sparsecopy || exit 1 -cmp sparsefile sparsecopy +echo "Pass 2: Split within a data block" +genfile --sparse --file sparsefile 0 ABCDEFG 1M ABCDEFGHI || exit 77 +echo "Create archive" +tar --sparse --sparse-version=1.0 -c --record-size=512 -M -L6 -f arc.1 -f arc.2 -f arc.3 sparsefile +echo "Test archive" +tar -t -M -f arc.1 -f arc.2 -f arc.3 +echo "Compare archive" +tar -d -M -f arc.1 -f arc.2 -f arc.3 ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; -mkdir posix -(cd posix -TEST_TAR_FORMAT=posix + ( :; +mkdir pax +(cd pax +TEST_TAR_FORMAT=pax export TEST_TAR_FORMAT -TAR_OPTIONS="-H posix" +TAR_OPTIONS="-H pax" export TAR_OPTIONS rm -rf * -genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77 -tar -c -f archive --sparse sparsefile || exit 1 -echo separator +exec <&- +genfile --sparse --file sparsefile 0 ABCDEFGH 1M ABCDEFGHI || exit 77 +echo "Pass 1: Split between data blocks" +echo "Create archive" +tar --sparse --sparse-version=1.0 -c --record-size=512 -M -L6 -f arc.1 -f arc.2 -f arc.3 sparsefile +echo "Test archive" +tar -t -M -f arc.1 -f arc.2 -f arc.3 +echo "Compare archive" +tar -d -M -f arc.1 -f arc.2 -f arc.3 + +echo "Pass 2: Split within a data block" +genfile --sparse --file sparsefile 0 ABCDEFG 1M ABCDEFGHI || exit 77 +echo "Create archive" +tar --sparse --sparse-version=1.0 -c --record-size=512 -M -L6 -f arc.1 -f arc.2 -f arc.3 sparsefile +echo "Test archive" +tar -t -M -f arc.1 -f arc.2 -f arc.3 +echo "Compare archive" +tar -d -M -f arc.1 -f arc.2 -f arc.3 +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Pass 1: Split between data blocks +Create archive +Test archive +sparsefile +Compare archive +Pass 2: Split within a data block +Create archive +Test archive +sparsefile +Compare archive +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/spmvp10.at:24" + +$at_failed && at_func_log_failure +$at_traceon; } -tar xfO archive | cat - > sparsecopy || exit 1 -cmp sparsefile sparsecopy -) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? -fi -at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "separator -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/sparse02.at:28: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - echo 1 > "$at_status_file" - exit 1 -fi + $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_80 +#AT_START_81 +# 81. 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_xfail=no + test -f $XFAILFILE && at_xfail=yes +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "81. update.at:28: testing ..." + $at_traceon -$at_traceon - $at_traceoff -echo "$at_srcdir/sparse02.at:28: -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu + + + + { $at_traceoff +$as_echo "$at_srcdir/update.at:31: +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT -TAR_OPTIONS=\"-H gnu\" +TAR_OPTIONS=\"-H v7\" export TAR_OPTIONS rm -rf * -genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77 -tar -c -f archive --sparse sparsefile || exit 1 -echo separator -tar xfO archive | cat - > sparsecopy || exit 1 -cmp sparsefile sparsecopy -)" -echo sparse02.at:28 >"$at_check_line_file" +test -z "`sort < /dev/null 2>&1`" || exit 77 -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +mkdir directory +genfile --length 10240 --pattern zeros --file directory/file1 +genfile --length 10240 --pattern default --file directory/file2 -if test -n "$at_trace_this"; then - ( $at_traceon; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu +tar cf archive directory || exit 1 +echo separator +tar uf archive directory || exit 1 +echo separator +tar tf archive | sort || exit 1 +)" +echo update.at:31 >"$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 gnu" +TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * -genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77 -tar -c -f archive --sparse sparsefile || exit 1 -echo separator -tar xfO archive | cat - > sparsecopy || exit 1 -cmp sparsefile sparsecopy +test -z "`sort < /dev/null 2>&1`" || exit 77 + +mkdir directory +genfile --length 10240 --pattern zeros --file directory/file1 +genfile --length 10240 --pattern default --file directory/file2 + +tar cf archive directory || exit 1 +echo separator +tar uf archive directory || exit 1 +echo separator +tar tf archive | sort || exit 1 ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; -mkdir gnu -(cd gnu -TEST_TAR_FORMAT=gnu + ( :; +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 export TEST_TAR_FORMAT -TAR_OPTIONS="-H gnu" +TAR_OPTIONS="-H v7" export TAR_OPTIONS rm -rf * -genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77 -tar -c -f archive --sparse sparsefile || exit 1 -echo separator - -tar xfO archive | cat - > sparsecopy || exit 1 -cmp sparsefile sparsecopy -) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? -fi -at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "separator -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/sparse02.at:28: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +test -z "`sort < /dev/null 2>&1`" || exit 77 +mkdir directory +genfile --length 10240 --pattern zeros --file directory/file1 +genfile --length 10240 --pattern default --file directory/file2 - echo 1 > "$at_status_file" - exit 1 +tar cf archive directory || exit 1 +echo separator +tar uf archive directory || exit 1 +echo separator +tar tf archive | sort || exit 1 +) ) >"$at_stdout" 2>"$at_stderr" fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "separator +separator +directory/ +directory/file1 +directory/file2 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/update.at:31" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/sparse02.at:28: + { $at_traceoff +$as_echo "$at_srcdir/update.at:31: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -24651,22 +31160,24 @@ TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * -genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77 -tar -c -f archive --sparse sparsefile || exit 1 -echo separator -tar xfO archive | cat - > sparsecopy || exit 1 -cmp sparsefile sparsecopy -)" -echo sparse02.at:28 >"$at_check_line_file" +test -z "`sort < /dev/null 2>&1`" || exit 77 -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +mkdir directory +genfile --length 10240 --pattern zeros --file directory/file1 +genfile --length 10240 --pattern default --file directory/file2 + +tar cf archive directory || exit 1 +echo separator +tar uf archive directory || exit 1 +echo separator +tar tf archive | sort || exit 1 +)" +echo update.at:31 >"$at_check_line_file" -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -24675,18 +31186,22 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * -genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77 -tar -c -f archive --sparse sparsefile || exit 1 -echo separator -tar xfO archive | cat - > sparsecopy || exit 1 -cmp sparsefile sparsecopy +test -z "`sort < /dev/null 2>&1`" || exit 77 + +mkdir directory +genfile --length 10240 --pattern zeros --file directory/file1 +genfile --length 10240 --pattern default --file directory/file2 + +tar cf archive directory || exit 1 +echo separator +tar uf archive directory || exit 1 +echo separator +tar tf archive | sort || exit 1 ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -24695,66 +31210,126 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * -genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL || exit 77 -tar -c -f archive --sparse sparsefile || exit 1 -echo separator -tar xfO archive | cat - > sparsecopy || exit 1 -cmp sparsefile sparsecopy +test -z "`sort < /dev/null 2>&1`" || exit 77 + +mkdir directory +genfile --length 10240 --pattern zeros --file directory/file1 +genfile --length 10240 --pattern default --file directory/file2 + +tar cf archive directory || exit 1 +echo separator +tar uf archive directory || exit 1 +echo separator +tar tf archive | sort || exit 1 ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "separator -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/sparse02.at:28: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "separator +separator +directory/ +directory/file1 +directory/file2 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/update.at:31" +$at_failed && at_func_log_failure +$at_traceon; } - echo 1 > "$at_status_file" - exit 1 -fi + { $at_traceoff +$as_echo "$at_srcdir/update.at:31: +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H ustar\" +export TAR_OPTIONS +rm -rf * -$at_traceon +test -z "`sort < /dev/null 2>&1`" || exit 77 +mkdir directory +genfile --length 10240 --pattern zeros --file directory/file1 +genfile --length 10240 --pattern default --file directory/file2 +tar cf archive directory || exit 1 +echo separator +tar uf archive directory || exit 1 +echo separator +tar tf archive | sort || exit 1 +)" +echo update.at:31 >"$at_check_line_file" - $at_traceoff - $at_times_p && times >"$at_times_file" - ) 5>&1 2>&1 | eval $at_tee_pipe - at_status=`cat "$at_status_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 * - 59 ) # 59. sparse03.at:21: storing sparse files > 8G - at_setup_line='sparse03.at:21' - at_desc="storing sparse files > 8G" - $at_quiet $ECHO_N " 59: storing sparse files > 8G $ECHO_C" - at_xfail=no - test -f $XFAILFILE && at_xfail=yes - echo "# -*- compilation -*-" >> "$at_group_log" - ( - echo "59. sparse03.at:21: testing ..." - $at_traceon +test -z "`sort < /dev/null 2>&1`" || exit 77 +mkdir directory +genfile --length 10240 --pattern zeros --file directory/file1 +genfile --length 10240 --pattern default --file directory/file2 -# Tar 1.15.1 incorrectly computed sparse member size if the extended -# PAX header contained size keyword. -# References: <87vf46nb36.fsf@penguin.cs.ucla.edu> -# http://lists.gnu.org/archive/html/bug-tar/2005-06/msg00040.html +tar cf archive directory || exit 1 +echo separator +tar uf archive directory || exit 1 +echo separator +tar tf archive | sort || exit 1 +) ) >"$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 * +test -z "`sort < /dev/null 2>&1`" || exit 77 - $at_traceoff -echo "$at_srcdir/sparse03.at:29: +mkdir directory +genfile --length 10240 --pattern zeros --file directory/file1 +genfile --length 10240 --pattern default --file directory/file2 + +tar cf archive directory || exit 1 +echo separator +tar uf archive directory || exit 1 +echo separator +tar tf archive | sort || exit 1 +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "separator +separator +directory/ +directory/file1 +directory/file2 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/update.at:31" + +$at_failed && at_func_log_failure +$at_traceon; } + + { $at_traceoff +$as_echo "$at_srcdir/update.at:31: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -24763,28 +31338,24 @@ TAR_OPTIONS=\"-H posix\" export TAR_OPTIONS rm -rf * -genfile --length 1000 --file begin -genfile --length 1000 --file end -genfile --sparse --file sparsefile --block-size 512 8G A || exit 77 -tar -c -f archive --sparse begin sparsefile end || exit 1 -echo separator -tar tfv archive -echo separator +test -z "`sort < /dev/null 2>&1`" || exit 77 + mkdir directory -tar Cxf directory archive -genfile --stat=name,size sparsefile -cmp sparsefile directory/sparsefile -)" -echo sparse03.at:29 >"$at_check_line_file" +genfile --length 10240 --pattern zeros --file directory/file1 +genfile --length 10240 --pattern default --file directory/file2 -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +tar cf archive directory || exit 1 +echo separator +tar uf archive directory || exit 1 +echo separator +tar tf archive | sort || exit 1 +)" +echo update.at:31 >"$at_check_line_file" -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -24793,24 +31364,22 @@ TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * -genfile --length 1000 --file begin -genfile --length 1000 --file end -genfile --sparse --file sparsefile --block-size 512 8G A || exit 77 -tar -c -f archive --sparse begin sparsefile end || exit 1 -echo separator -tar tfv archive -echo separator +test -z "`sort < /dev/null 2>&1`" || exit 77 + mkdir directory -tar Cxf directory archive -genfile --stat=name,size sparsefile -cmp sparsefile directory/sparsefile +genfile --length 10240 --pattern zeros --file directory/file1 +genfile --length 10240 --pattern default --file directory/file2 + +tar cf archive directory || exit 1 +echo separator +tar uf archive directory || exit 1 +echo separator +tar tf archive | sort || exit 1 ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -24819,91 +31388,37 @@ TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * -genfile --length 1000 --file begin -genfile --length 1000 --file end -genfile --sparse --file sparsefile --block-size 512 8G A || exit 77 -tar -c -f archive --sparse begin sparsefile end || exit 1 -echo separator -tar tfv archive -echo separator +test -z "`sort < /dev/null 2>&1`" || exit 77 + mkdir directory -tar Cxf directory archive -genfile --stat=name,size sparsefile -cmp sparsefile directory/sparsefile +genfile --length 10240 --pattern zeros --file directory/file1 +genfile --length 10240 --pattern default --file directory/file2 + +tar cf archive directory || exit 1 +echo separator +tar uf archive directory || exit 1 +echo separator +tar tf archive | sort || exit 1 ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo stdout:; tee stdout <"$at_stdout" -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/sparse03.at:29: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi - -$at_traceon - - - - - -cat >stdout.re <<'_ATEOF' -separator --rw-r--r-- ^ ^ * *1000 0-90-90-90-9-0-90-9-0-90-9 0-90-9:0-90-9 begin --rw-r--r-- ^ ^ * *8589935104 0-90-90-90-9-0-90-9-0-90-9 0-90-9:0-90-9 sparsefile --rw-r--r-- ^ ^ * *1000 0-90-90-90-9-0-90-9-0-90-9 0-90-9:0-90-9 end +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "separator separator -sparsefile 8589935104 -_ATEOF - -awk '{print NR " " $0}' stdout > $$.1 -awk '{print NR " " $0}' stdout.re | join - $$.1 | -while read NUM RE LINE -do - echo "$LINE" | grep -- "$RE" >/dev/null || exit 1 -done - - - $at_traceoff - $at_times_p && times >"$at_times_file" - ) 5>&1 2>&1 | eval $at_tee_pipe - at_status=`cat "$at_status_file"` - ;; - - 60 ) # 60. sparsemv.at:21: sparse files in MV archives - at_setup_line='sparsemv.at:21' - at_desc="sparse files in MV archives" - $at_quiet $ECHO_N " 60: sparse files in MV archives $ECHO_C" - at_xfail=no - test -f $XFAILFILE && at_xfail=yes - echo "# -*- compilation -*-" >> "$at_group_log" - ( - echo "60. sparsemv.at:21: testing ..." - $at_traceon - - - -# Check if sparse files are correctly split between GNU multi-volume -# archives. -# There are two cases: the file can be split within an empty (null) block, -# or within a data block. Since null blocks are not archived, the first -# case means the file is split between two consecutive data blocks. -# - +directory/ +directory/file1 +directory/file2 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/update.at:31" +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/sparsemv.at:31: + { $at_traceoff +$as_echo "$at_srcdir/update.at:31: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -24912,34 +31427,24 @@ TAR_OPTIONS=\"-H gnu\" export TAR_OPTIONS rm -rf * -exec <&- -genfile --sparse --file sparsefile 0 ABCDEFGHIJK 1M ABCDEFGHI || exit 77 -echo \"Pass 1: Split between data blocks\" -echo \"Create archive\" -tar --sparse -c --record-size=512 -M -L6 -f arc.1 -f arc.2 sparsefile || exit 1 -echo \"Test archive\" -tar --record-size=512 -t -M -f arc.1 -f arc.2 -echo \"Compare archive\" -tar --record-size=512 -d -M -f arc.1 -f arc.2 -echo \"Pass 2: Split within a data block\" -genfile --sparse --file sparsefile 0 ABCDEFGHIJ 1M ABCDEFGHI || exit 77 -echo \"Create archive\" -tar --sparse -c --record-size=512 -M -L6 -f arc.1 -f arc.2 sparsefile || exit 1 -echo \"Test archive\" -tar --record-size=512 -t -M -f arc.1 -f arc.2 -echo \"Compare archive\" -tar --record-size=512 -d -M -f arc.1 -f arc.2 -)" -echo sparsemv.at:31 >"$at_check_line_file" +test -z "`sort < /dev/null 2>&1`" || exit 77 -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +mkdir directory +genfile --length 10240 --pattern zeros --file directory/file1 +genfile --length 10240 --pattern default --file directory/file2 + +tar cf archive directory || exit 1 +echo separator +tar uf archive directory || exit 1 +echo separator +tar tf archive | sort || exit 1 +)" +echo update.at:31 >"$at_check_line_file" -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -24948,30 +31453,22 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -exec <&- -genfile --sparse --file sparsefile 0 ABCDEFGHIJK 1M ABCDEFGHI || exit 77 -echo "Pass 1: Split between data blocks" -echo "Create archive" -tar --sparse -c --record-size=512 -M -L6 -f arc.1 -f arc.2 sparsefile || exit 1 -echo "Test archive" -tar --record-size=512 -t -M -f arc.1 -f arc.2 -echo "Compare archive" -tar --record-size=512 -d -M -f arc.1 -f arc.2 -echo "Pass 2: Split within a data block" -genfile --sparse --file sparsefile 0 ABCDEFGHIJ 1M ABCDEFGHI || exit 77 -echo "Create archive" -tar --sparse -c --record-size=512 -M -L6 -f arc.1 -f arc.2 sparsefile || exit 1 -echo "Test archive" -tar --record-size=512 -t -M -f arc.1 -f arc.2 -echo "Compare archive" -tar --record-size=512 -d -M -f arc.1 -f arc.2 +test -z "`sort < /dev/null 2>&1`" || exit 77 + +mkdir directory +genfile --length 10240 --pattern zeros --file directory/file1 +genfile --length 10240 --pattern default --file directory/file2 + +tar cf archive directory || exit 1 +echo separator +tar uf archive directory || exit 1 +echo separator +tar tf archive | sort || exit 1 ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -24980,58 +31477,163 @@ TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -exec <&- -genfile --sparse --file sparsefile 0 ABCDEFGHIJK 1M ABCDEFGHI || exit 77 -echo "Pass 1: Split between data blocks" -echo "Create archive" -tar --sparse -c --record-size=512 -M -L6 -f arc.1 -f arc.2 sparsefile || exit 1 -echo "Test archive" -tar --record-size=512 -t -M -f arc.1 -f arc.2 -echo "Compare archive" -tar --record-size=512 -d -M -f arc.1 -f arc.2 -echo "Pass 2: Split within a data block" -genfile --sparse --file sparsefile 0 ABCDEFGHIJ 1M ABCDEFGHI || exit 77 -echo "Create archive" -tar --sparse -c --record-size=512 -M -L6 -f arc.1 -f arc.2 sparsefile || exit 1 -echo "Test archive" -tar --record-size=512 -t -M -f arc.1 -f arc.2 -echo "Compare archive" -tar --record-size=512 -d -M -f arc.1 -f arc.2 +test -z "`sort < /dev/null 2>&1`" || exit 77 + +mkdir directory +genfile --length 10240 --pattern zeros --file directory/file1 +genfile --length 10240 --pattern default --file directory/file2 + +tar cf archive directory || exit 1 +echo separator +tar uf archive directory || exit 1 +echo separator +tar tf archive | sort || exit 1 ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "Pass 1: Split between data blocks -Create archive -Test archive -sparsefile -Compare archive -Pass 2: Split within a data block -Create archive -Test archive -sparsefile -Compare archive -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/sparsemv.at:31: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "separator +separator +directory/ +directory/file1 +directory/file2 +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/update.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_81 +#AT_START_82 +# 82. update01.at:29: update directories +at_setup_line='update01.at:29' +at_desc="update directories" +$at_quiet $as_echo_n " 82: $at_desc " +at_xfail=no + test -f $XFAILFILE && at_xfail=yes +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "82. update01.at:29: testing ..." + $at_traceon + + + + + + { $at_traceoff +$as_echo "$at_srcdir/update01.at:32: +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H v7\" +export TAR_OPTIONS +rm -rf * + + +test -z "`sort < /dev/null 2>&1`" || exit 77 + +mkdir a +genfile --file a/b + +tar cf arc a + +echo \"separator\" + +sleep 2 +genfile --file a/c + +tar ufv arc a +echo \"separator\" +tar tf arc | sort || exit 1 +)" +echo update01.at:32 >"$at_check_line_file" + +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; +mkdir v7 +(cd v7 +TEST_TAR_FORMAT=v7 +export TEST_TAR_FORMAT +TAR_OPTIONS="-H v7" +export TAR_OPTIONS +rm -rf * + + +test -z "`sort < /dev/null 2>&1`" || exit 77 + +mkdir a +genfile --file a/b + +tar cf arc a + +echo "separator" + +sleep 2 +genfile --file a/c + +tar ufv arc a +echo "separator" +tar tf arc | sort || exit 1 +) ) >"$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 * - echo 1 > "$at_status_file" - exit 1 +test -z "`sort < /dev/null 2>&1`" || exit 77 + +mkdir a +genfile --file a/b + +tar cf arc a + +echo "separator" + +sleep 2 +genfile --file a/c + +tar ufv arc a +echo "separator" +tar tf arc | sort || exit 1 +) ) >"$at_stdout" 2>"$at_stderr" fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "separator +a/c +separator +a/ +a/b +a/c +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/update01.at:32" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/sparsemv.at:31: + { $at_traceoff +$as_echo "$at_srcdir/update01.at:32: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -25040,34 +31642,28 @@ TAR_OPTIONS=\"-H oldgnu\" export TAR_OPTIONS rm -rf * -exec <&- -genfile --sparse --file sparsefile 0 ABCDEFGHIJK 1M ABCDEFGHI || exit 77 -echo \"Pass 1: Split between data blocks\" -echo \"Create archive\" -tar --sparse -c --record-size=512 -M -L6 -f arc.1 -f arc.2 sparsefile || exit 1 -echo \"Test archive\" -tar --record-size=512 -t -M -f arc.1 -f arc.2 -echo \"Compare archive\" -tar --record-size=512 -d -M -f arc.1 -f arc.2 -echo \"Pass 2: Split within a data block\" -genfile --sparse --file sparsefile 0 ABCDEFGHIJ 1M ABCDEFGHI || exit 77 -echo \"Create archive\" -tar --sparse -c --record-size=512 -M -L6 -f arc.1 -f arc.2 sparsefile || exit 1 -echo \"Test archive\" -tar --record-size=512 -t -M -f arc.1 -f arc.2 -echo \"Compare archive\" -tar --record-size=512 -d -M -f arc.1 -f arc.2 -)" -echo sparsemv.at:31 >"$at_check_line_file" +test -z "`sort < /dev/null 2>&1`" || exit 77 -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +mkdir a +genfile --file a/b + +tar cf arc a + +echo \"separator\" + +sleep 2 +genfile --file a/c -if test -n "$at_trace_this"; then - ( $at_traceon; +tar ufv arc a +echo \"separator\" +tar tf arc | sort || exit 1 +)" +echo update01.at:32 >"$at_check_line_file" + +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -25076,30 +31672,26 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * -exec <&- -genfile --sparse --file sparsefile 0 ABCDEFGHIJK 1M ABCDEFGHI || exit 77 -echo "Pass 1: Split between data blocks" -echo "Create archive" -tar --sparse -c --record-size=512 -M -L6 -f arc.1 -f arc.2 sparsefile || exit 1 -echo "Test archive" -tar --record-size=512 -t -M -f arc.1 -f arc.2 -echo "Compare archive" -tar --record-size=512 -d -M -f arc.1 -f arc.2 -echo "Pass 2: Split within a data block" -genfile --sparse --file sparsefile 0 ABCDEFGHIJ 1M ABCDEFGHI || exit 77 -echo "Create archive" -tar --sparse -c --record-size=512 -M -L6 -f arc.1 -f arc.2 sparsefile || exit 1 -echo "Test archive" -tar --record-size=512 -t -M -f arc.1 -f arc.2 -echo "Compare archive" -tar --record-size=512 -d -M -f arc.1 -f arc.2 +test -z "`sort < /dev/null 2>&1`" || exit 77 + +mkdir a +genfile --file a/b + +tar cf arc a + +echo "separator" + +sleep 2 +genfile --file a/c + +tar ufv arc a +echo "separator" +tar tf arc | sort || exit 1 ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -25108,547 +31700,372 @@ TAR_OPTIONS="-H oldgnu" export TAR_OPTIONS rm -rf * -exec <&- -genfile --sparse --file sparsefile 0 ABCDEFGHIJK 1M ABCDEFGHI || exit 77 -echo "Pass 1: Split between data blocks" -echo "Create archive" -tar --sparse -c --record-size=512 -M -L6 -f arc.1 -f arc.2 sparsefile || exit 1 -echo "Test archive" -tar --record-size=512 -t -M -f arc.1 -f arc.2 -echo "Compare archive" -tar --record-size=512 -d -M -f arc.1 -f arc.2 -echo "Pass 2: Split within a data block" -genfile --sparse --file sparsefile 0 ABCDEFGHIJ 1M ABCDEFGHI || exit 77 -echo "Create archive" -tar --sparse -c --record-size=512 -M -L6 -f arc.1 -f arc.2 sparsefile || exit 1 -echo "Test archive" -tar --record-size=512 -t -M -f arc.1 -f arc.2 -echo "Compare archive" -tar --record-size=512 -d -M -f arc.1 -f arc.2 -) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? -fi +test -z "`sort < /dev/null 2>&1`" || exit 77 -at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "Pass 1: Split between data blocks -Create archive -Test archive -sparsefile -Compare archive -Pass 2: Split within a data block -Create archive -Test archive -sparsefile -Compare archive -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/sparsemv.at:31: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +mkdir a +genfile --file a/b +tar cf arc a - echo 1 > "$at_status_file" - exit 1 -fi +echo "separator" -$at_traceon +sleep 2 +genfile --file a/c +tar ufv arc a +echo "separator" +tar tf arc | sort || exit 1 +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "separator +a/c +separator +a/ +a/b +a/c +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/update01.at:32" +$at_failed && at_func_log_failure +$at_traceon; } + { $at_traceoff +$as_echo "$at_srcdir/update01.at:32: +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H ustar\" +export TAR_OPTIONS +rm -rf * - $at_traceoff - $at_times_p && times >"$at_times_file" - ) 5>&1 2>&1 | eval $at_tee_pipe - at_status=`cat "$at_status_file"` - ;; - 61 ) # 61. 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 $ECHO_N " 61: sparse files in PAX MV archives, v.0.0 $ECHO_C" - at_xfail=no - test -f $XFAILFILE && at_xfail=yes - echo "# -*- compilation -*-" >> "$at_group_log" - ( - echo "61. spmvp00.at:21: testing ..." - $at_traceon +test -z "`sort < /dev/null 2>&1`" || exit 77 +mkdir a +genfile --file a/b +tar cf arc a +echo \"separator\" +sleep 2 +genfile --file a/c +tar ufv arc a +echo \"separator\" +tar tf arc | sort || exit 1 +)" +echo update01.at:32 >"$at_check_line_file" - $at_traceoff -echo "$at_srcdir/spmvp00.at:24: -mkdir pax -(cd pax -TEST_TAR_FORMAT=pax +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 pax\" +TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * -exec <&- -genfile --sparse --file sparsefile 0 ABCDEFGHI 1M ABCDEFGHI || exit 77 -echo \"Pass 1: Split between data blocks\" -echo \"Create archive\" -tar --sparse --sparse-version=0.0 -c --record-size=512 -M -L6 -f arc.1 -f arc.2 -f arc.3 sparsefile -echo \"Test archive\" -tar -t -M -f arc.1 -f arc.2 -f arc.3 -echo \"Compare archive\" -tar -d -M -f arc.1 -f arc.2 -f arc.3 -echo \"Pass 2: Split within a data block\" -genfile --sparse --file sparsefile 0 ABCDEFGH 1M ABCDEFGHI || exit 77 -echo \"Create archive\" -tar --sparse --sparse-version=0.0 -c --record-size=512 -M -L6 -f arc.1 -f arc.2 -f arc.3 sparsefile -echo \"Test archive\" -tar -t -M -f arc.1 -f arc.2 -f arc.3 -echo \"Compare archive\" -tar -d -M -f arc.1 -f arc.2 -f arc.3 -)" -echo spmvp00.at:24 >"$at_check_line_file" +test -z "`sort < /dev/null 2>&1`" || exit 77 -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +mkdir a +genfile --file a/b -if test -n "$at_trace_this"; then - ( $at_traceon; -mkdir pax -(cd pax -TEST_TAR_FORMAT=pax -export TEST_TAR_FORMAT -TAR_OPTIONS="-H pax" -export TAR_OPTIONS -rm -rf * +tar cf arc a -exec <&- -genfile --sparse --file sparsefile 0 ABCDEFGHI 1M ABCDEFGHI || exit 77 -echo "Pass 1: Split between data blocks" -echo "Create archive" -tar --sparse --sparse-version=0.0 -c --record-size=512 -M -L6 -f arc.1 -f arc.2 -f arc.3 sparsefile -echo "Test archive" -tar -t -M -f arc.1 -f arc.2 -f arc.3 -echo "Compare archive" -tar -d -M -f arc.1 -f arc.2 -f arc.3 +echo "separator" -echo "Pass 2: Split within a data block" -genfile --sparse --file sparsefile 0 ABCDEFGH 1M ABCDEFGHI || exit 77 -echo "Create archive" -tar --sparse --sparse-version=0.0 -c --record-size=512 -M -L6 -f arc.1 -f arc.2 -f arc.3 sparsefile -echo "Test archive" -tar -t -M -f arc.1 -f arc.2 -f arc.3 -echo "Compare archive" -tar -d -M -f arc.1 -f arc.2 -f arc.3 +sleep 2 +genfile --file a/c + +tar ufv arc a +echo "separator" +tar tf arc | sort || exit 1 ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; -mkdir pax -(cd pax -TEST_TAR_FORMAT=pax + ( :; +mkdir ustar +(cd ustar +TEST_TAR_FORMAT=ustar export TEST_TAR_FORMAT -TAR_OPTIONS="-H pax" +TAR_OPTIONS="-H ustar" export TAR_OPTIONS rm -rf * -exec <&- -genfile --sparse --file sparsefile 0 ABCDEFGHI 1M ABCDEFGHI || exit 77 -echo "Pass 1: Split between data blocks" -echo "Create archive" -tar --sparse --sparse-version=0.0 -c --record-size=512 -M -L6 -f arc.1 -f arc.2 -f arc.3 sparsefile -echo "Test archive" -tar -t -M -f arc.1 -f arc.2 -f arc.3 -echo "Compare archive" -tar -d -M -f arc.1 -f arc.2 -f arc.3 -echo "Pass 2: Split within a data block" -genfile --sparse --file sparsefile 0 ABCDEFGH 1M ABCDEFGHI || exit 77 -echo "Create archive" -tar --sparse --sparse-version=0.0 -c --record-size=512 -M -L6 -f arc.1 -f arc.2 -f arc.3 sparsefile -echo "Test archive" -tar -t -M -f arc.1 -f arc.2 -f arc.3 -echo "Compare archive" -tar -d -M -f arc.1 -f arc.2 -f arc.3 -) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? -fi +test -z "`sort < /dev/null 2>&1`" || exit 77 -at_failed=false -echo >>"$at_stderr"; echo "tar: Record size = 12 blocks -tar: Record size = 12 blocks -" | $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "Pass 1: Split between data blocks -Create archive -Test archive -sparsefile -Compare archive -Pass 2: Split within a data block -Create archive -Test archive -sparsefile -Compare archive -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/spmvp00.at:24: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +mkdir a +genfile --file a/b +tar cf arc a - echo 1 > "$at_status_file" - exit 1 -fi +echo "separator" -$at_traceon +sleep 2 +genfile --file a/c +tar ufv arc a +echo "separator" +tar tf arc | sort || exit 1 +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "separator +a/c +separator +a/ +a/b +a/c +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/update01.at:32" +$at_failed && at_func_log_failure +$at_traceon; } + { $at_traceoff +$as_echo "$at_srcdir/update01.at:32: +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H posix\" +export TAR_OPTIONS +rm -rf * - $at_traceoff - $at_times_p && times >"$at_times_file" - ) 5>&1 2>&1 | eval $at_tee_pipe - at_status=`cat "$at_status_file"` - ;; - 62 ) # 62. 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 $ECHO_N " 62: sparse files in PAX MV archives, v.0.1 $ECHO_C" - at_xfail=no - test -f $XFAILFILE && at_xfail=yes - echo "# -*- compilation -*-" >> "$at_group_log" - ( - echo "62. spmvp01.at:21: testing ..." - $at_traceon +test -z "`sort < /dev/null 2>&1`" || exit 77 +mkdir a +genfile --file a/b +tar cf arc a +echo \"separator\" +sleep 2 +genfile --file a/c +tar ufv arc a +echo \"separator\" +tar tf arc | sort || exit 1 +)" +echo update01.at:32 >"$at_check_line_file" - $at_traceoff -echo "$at_srcdir/spmvp01.at:24: -mkdir pax -(cd pax -TEST_TAR_FORMAT=pax +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 pax\" +TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * -exec <&- -genfile --sparse --file sparsefile 0 ABCDEFGHIJK 1M ABCDEFGHI || exit 77 -echo \"Pass 1: Split between data blocks\" -echo \"Create archive\" -tar --sparse --sparse-version=0.1 -c --record-size=512 -M -L6 -f arc.1 -f arc.2 -f arc.3 sparsefile -echo \"Test archive\" -tar -t -M -f arc.1 -f arc.2 -f arc.3 -echo \"Compare archive\" -tar -d -M -f arc.1 -f arc.2 -f arc.3 -echo \"Pass 2: Split within a data block\" -genfile --sparse --file sparsefile 0 ABCDEFGHIJ 1M ABCDEFGHI || exit 77 -echo \"Create archive\" -tar --sparse --sparse-version=0.1 -c --record-size=512 -M -L6 -f arc.1 -f arc.2 -f arc.3 sparsefile -echo \"Test archive\" -tar -t -M -f arc.1 -f arc.2 -f arc.3 -echo \"Compare archive\" -tar -d -M -f arc.1 -f arc.2 -f arc.3 -)" -echo spmvp01.at:24 >"$at_check_line_file" +test -z "`sort < /dev/null 2>&1`" || exit 77 -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +mkdir a +genfile --file a/b -if test -n "$at_trace_this"; then - ( $at_traceon; -mkdir pax -(cd pax -TEST_TAR_FORMAT=pax -export TEST_TAR_FORMAT -TAR_OPTIONS="-H pax" -export TAR_OPTIONS -rm -rf * +tar cf arc a -exec <&- -genfile --sparse --file sparsefile 0 ABCDEFGHIJK 1M ABCDEFGHI || exit 77 -echo "Pass 1: Split between data blocks" -echo "Create archive" -tar --sparse --sparse-version=0.1 -c --record-size=512 -M -L6 -f arc.1 -f arc.2 -f arc.3 sparsefile -echo "Test archive" -tar -t -M -f arc.1 -f arc.2 -f arc.3 -echo "Compare archive" -tar -d -M -f arc.1 -f arc.2 -f arc.3 +echo "separator" -echo "Pass 2: Split within a data block" -genfile --sparse --file sparsefile 0 ABCDEFGHIJ 1M ABCDEFGHI || exit 77 -echo "Create archive" -tar --sparse --sparse-version=0.1 -c --record-size=512 -M -L6 -f arc.1 -f arc.2 -f arc.3 sparsefile -echo "Test archive" -tar -t -M -f arc.1 -f arc.2 -f arc.3 -echo "Compare archive" -tar -d -M -f arc.1 -f arc.2 -f arc.3 +sleep 2 +genfile --file a/c + +tar ufv arc a +echo "separator" +tar tf arc | sort || exit 1 ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; -mkdir pax -(cd pax -TEST_TAR_FORMAT=pax + ( :; +mkdir posix +(cd posix +TEST_TAR_FORMAT=posix export TEST_TAR_FORMAT -TAR_OPTIONS="-H pax" +TAR_OPTIONS="-H posix" export TAR_OPTIONS rm -rf * -exec <&- -genfile --sparse --file sparsefile 0 ABCDEFGHIJK 1M ABCDEFGHI || exit 77 -echo "Pass 1: Split between data blocks" -echo "Create archive" -tar --sparse --sparse-version=0.1 -c --record-size=512 -M -L6 -f arc.1 -f arc.2 -f arc.3 sparsefile -echo "Test archive" -tar -t -M -f arc.1 -f arc.2 -f arc.3 -echo "Compare archive" -tar -d -M -f arc.1 -f arc.2 -f arc.3 -echo "Pass 2: Split within a data block" -genfile --sparse --file sparsefile 0 ABCDEFGHIJ 1M ABCDEFGHI || exit 77 -echo "Create archive" -tar --sparse --sparse-version=0.1 -c --record-size=512 -M -L6 -f arc.1 -f arc.2 -f arc.3 sparsefile -echo "Test archive" -tar -t -M -f arc.1 -f arc.2 -f arc.3 -echo "Compare archive" -tar -d -M -f arc.1 -f arc.2 -f arc.3 -) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? -fi +test -z "`sort < /dev/null 2>&1`" || exit 77 -at_failed=false -echo >>"$at_stderr"; echo "tar: Record size = 12 blocks -tar: Record size = 12 blocks -" | $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "Pass 1: Split between data blocks -Create archive -Test archive -sparsefile -Compare archive -Pass 2: Split within a data block -Create archive -Test archive -sparsefile -Compare archive -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/spmvp01.at:24: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +mkdir a +genfile --file a/b +tar cf arc a - echo 1 > "$at_status_file" - exit 1 -fi +echo "separator" -$at_traceon +sleep 2 +genfile --file a/c +tar ufv arc a +echo "separator" +tar tf arc | sort || exit 1 +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "separator +a/c +separator +a/ +a/b +a/c +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/update01.at:32" +$at_failed && at_func_log_failure +$at_traceon; } + { $at_traceoff +$as_echo "$at_srcdir/update01.at:32: +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu +export TEST_TAR_FORMAT +TAR_OPTIONS=\"-H gnu\" +export TAR_OPTIONS +rm -rf * - $at_traceoff - $at_times_p && times >"$at_times_file" - ) 5>&1 2>&1 | eval $at_tee_pipe - at_status=`cat "$at_status_file"` - ;; - 63 ) # 63. 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 $ECHO_N " 63: sparse files in PAX MV archives, v.1.0 $ECHO_C" - at_xfail=no - test -f $XFAILFILE && at_xfail=yes - echo "# -*- compilation -*-" >> "$at_group_log" - ( - echo "63. spmvp10.at:21: testing ..." - $at_traceon +test -z "`sort < /dev/null 2>&1`" || exit 77 +mkdir a +genfile --file a/b +tar cf arc a +echo \"separator\" +sleep 2 +genfile --file a/c +tar ufv arc a +echo \"separator\" +tar tf arc | sort || exit 1 +)" +echo update01.at:32 >"$at_check_line_file" - $at_traceoff -echo "$at_srcdir/spmvp10.at:24: -mkdir pax -(cd pax -TEST_TAR_FORMAT=pax +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 pax\" +TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -exec <&- -genfile --sparse --file sparsefile 0 ABCDEFGH 1M ABCDEFGHI || exit 77 -echo \"Pass 1: Split between data blocks\" -echo \"Create archive\" -tar --sparse --sparse-version=1.0 -c --record-size=512 -M -L6 -f arc.1 -f arc.2 -f arc.3 sparsefile -echo \"Test archive\" -tar -t -M -f arc.1 -f arc.2 -f arc.3 -echo \"Compare archive\" -tar -d -M -f arc.1 -f arc.2 -f arc.3 -echo \"Pass 2: Split within a data block\" -genfile --sparse --file sparsefile 0 ABCDEFG 1M ABCDEFGHI || exit 77 -echo \"Create archive\" -tar --sparse --sparse-version=1.0 -c --record-size=512 -M -L6 -f arc.1 -f arc.2 -f arc.3 sparsefile -echo \"Test archive\" -tar -t -M -f arc.1 -f arc.2 -f arc.3 -echo \"Compare archive\" -tar -d -M -f arc.1 -f arc.2 -f arc.3 -)" -echo spmvp10.at:24 >"$at_check_line_file" +test -z "`sort < /dev/null 2>&1`" || exit 77 -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +mkdir a +genfile --file a/b -if test -n "$at_trace_this"; then - ( $at_traceon; -mkdir pax -(cd pax -TEST_TAR_FORMAT=pax -export TEST_TAR_FORMAT -TAR_OPTIONS="-H pax" -export TAR_OPTIONS -rm -rf * +tar cf arc a -exec <&- -genfile --sparse --file sparsefile 0 ABCDEFGH 1M ABCDEFGHI || exit 77 -echo "Pass 1: Split between data blocks" -echo "Create archive" -tar --sparse --sparse-version=1.0 -c --record-size=512 -M -L6 -f arc.1 -f arc.2 -f arc.3 sparsefile -echo "Test archive" -tar -t -M -f arc.1 -f arc.2 -f arc.3 -echo "Compare archive" -tar -d -M -f arc.1 -f arc.2 -f arc.3 +echo "separator" -echo "Pass 2: Split within a data block" -genfile --sparse --file sparsefile 0 ABCDEFG 1M ABCDEFGHI || exit 77 -echo "Create archive" -tar --sparse --sparse-version=1.0 -c --record-size=512 -M -L6 -f arc.1 -f arc.2 -f arc.3 sparsefile -echo "Test archive" -tar -t -M -f arc.1 -f arc.2 -f arc.3 -echo "Compare archive" -tar -d -M -f arc.1 -f arc.2 -f arc.3 +sleep 2 +genfile --file a/c + +tar ufv arc a +echo "separator" +tar tf arc | sort || exit 1 ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; -mkdir pax -(cd pax -TEST_TAR_FORMAT=pax + ( :; +mkdir gnu +(cd gnu +TEST_TAR_FORMAT=gnu export TEST_TAR_FORMAT -TAR_OPTIONS="-H pax" +TAR_OPTIONS="-H gnu" export TAR_OPTIONS rm -rf * -exec <&- -genfile --sparse --file sparsefile 0 ABCDEFGH 1M ABCDEFGHI || exit 77 -echo "Pass 1: Split between data blocks" -echo "Create archive" -tar --sparse --sparse-version=1.0 -c --record-size=512 -M -L6 -f arc.1 -f arc.2 -f arc.3 sparsefile -echo "Test archive" -tar -t -M -f arc.1 -f arc.2 -f arc.3 -echo "Compare archive" -tar -d -M -f arc.1 -f arc.2 -f arc.3 -echo "Pass 2: Split within a data block" -genfile --sparse --file sparsefile 0 ABCDEFG 1M ABCDEFGHI || exit 77 -echo "Create archive" -tar --sparse --sparse-version=1.0 -c --record-size=512 -M -L6 -f arc.1 -f arc.2 -f arc.3 sparsefile -echo "Test archive" -tar -t -M -f arc.1 -f arc.2 -f arc.3 -echo "Compare archive" -tar -d -M -f arc.1 -f arc.2 -f arc.3 -) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? -fi +test -z "`sort < /dev/null 2>&1`" || exit 77 -at_failed=false -echo >>"$at_stderr"; echo "tar: Record size = 12 blocks -tar: Record size = 12 blocks -" | $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "Pass 1: Split between data blocks -Create archive -Test archive -sparsefile -Compare archive -Pass 2: Split within a data block -Create archive -Test archive -sparsefile -Compare archive -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/spmvp10.at:24: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +mkdir a +genfile --file a/b +tar cf arc a - echo 1 > "$at_status_file" - exit 1 -fi +echo "separator" + +sleep 2 +genfile --file a/c -$at_traceon +tar ufv arc a +echo "separator" +tar tf arc | sort || exit 1 +) ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "separator +a/c +separator +a/ +a/b +a/c +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/update01.at:32" +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff - $at_times_p && times >"$at_times_file" - ) 5>&1 2>&1 | eval $at_tee_pipe - at_status=`cat "$at_status_file"` - ;; - 64 ) # 64. update.at:27: update unchanged directories - at_setup_line='update.at:27' - at_desc="update unchanged directories" - $at_quiet $ECHO_N " 64: update unchanged directories $ECHO_C" - at_xfail=no + $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_82 +#AT_START_83 +# 83. 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_xfail=no test -f $XFAILFILE && at_xfail=yes - echo "# -*- compilation -*-" >> "$at_group_log" - ( - echo "64. update.at:27: testing ..." - $at_traceon +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "83. update02.at:26: testing ..." + $at_traceon - $at_traceoff -echo "$at_srcdir/update.at:30: + { $at_traceoff +$as_echo "$at_srcdir/update02.at:29: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -25660,25 +32077,25 @@ rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 -mkdir directory -genfile --length 10240 --pattern zeros --file directory/file1 -genfile --length 10240 --pattern default --file directory/file2 +mkdir a +genfile --file a/b -tar cf archive directory || exit 1 -echo separator -tar uf archive directory || exit 1 -echo separator -tar tf archive | sort || exit 1 -)" -echo update.at:30 >"$at_check_line_file" +tar cf arc a + +echo \"separator\" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +sleep 2 +touch a/b + +tar ufv arc a +echo \"separator\" +tar tf arc | sort || exit 1 +)" +echo update02.at:29 >"$at_check_line_file" -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -25690,21 +32107,23 @@ rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 -mkdir directory -genfile --length 10240 --pattern zeros --file directory/file1 -genfile --length 10240 --pattern default --file directory/file2 +mkdir a +genfile --file a/b -tar cf archive directory || exit 1 -echo separator -tar uf archive directory || exit 1 -echo separator -tar tf archive | sort || exit 1 +tar cf arc a + +echo "separator" + +sleep 2 +touch a/b + +tar ufv arc a +echo "separator" +tar tf arc | sort || exit 1 ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -25716,44 +32135,39 @@ rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 -mkdir directory -genfile --length 10240 --pattern zeros --file directory/file1 -genfile --length 10240 --pattern default --file directory/file2 +mkdir a +genfile --file a/b -tar cf archive directory || exit 1 -echo separator -tar uf archive directory || exit 1 -echo separator -tar tf archive | sort || exit 1 -) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? -fi +tar cf arc a -at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "separator -separator -directory/ -directory/file1 -directory/file2 -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/update.at:30: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +echo "separator" +sleep 2 +touch a/b - echo 1 > "$at_status_file" - exit 1 +tar ufv arc a +echo "separator" +tar tf arc | sort || exit 1 +) ) >"$at_stdout" 2>"$at_stderr" fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "separator +a/b +separator +a/ +a/b +a/b +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/update02.at:29" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/update.at:30: + { $at_traceoff +$as_echo "$at_srcdir/update02.at:29: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -25765,25 +32179,25 @@ rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 -mkdir directory -genfile --length 10240 --pattern zeros --file directory/file1 -genfile --length 10240 --pattern default --file directory/file2 +mkdir a +genfile --file a/b -tar cf archive directory || exit 1 -echo separator -tar uf archive directory || exit 1 -echo separator -tar tf archive | sort || exit 1 -)" -echo update.at:30 >"$at_check_line_file" +tar cf arc a -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +echo \"separator\" + +sleep 2 +touch a/b + +tar ufv arc a +echo \"separator\" +tar tf arc | sort || exit 1 +)" +echo update02.at:29 >"$at_check_line_file" -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -25795,21 +32209,23 @@ rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 -mkdir directory -genfile --length 10240 --pattern zeros --file directory/file1 -genfile --length 10240 --pattern default --file directory/file2 +mkdir a +genfile --file a/b -tar cf archive directory || exit 1 -echo separator -tar uf archive directory || exit 1 -echo separator -tar tf archive | sort || exit 1 +tar cf arc a + +echo "separator" + +sleep 2 +touch a/b + +tar ufv arc a +echo "separator" +tar tf arc | sort || exit 1 ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -25821,44 +32237,39 @@ rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 -mkdir directory -genfile --length 10240 --pattern zeros --file directory/file1 -genfile --length 10240 --pattern default --file directory/file2 +mkdir a +genfile --file a/b -tar cf archive directory || exit 1 -echo separator -tar uf archive directory || exit 1 -echo separator -tar tf archive | sort || exit 1 -) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? -fi +tar cf arc a -at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "separator -separator -directory/ -directory/file1 -directory/file2 -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/update.at:30: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +echo "separator" +sleep 2 +touch a/b - echo 1 > "$at_status_file" - exit 1 +tar ufv arc a +echo "separator" +tar tf arc | sort || exit 1 +) ) >"$at_stdout" 2>"$at_stderr" fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "separator +a/b +separator +a/ +a/b +a/b +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/update02.at:29" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/update.at:30: + { $at_traceoff +$as_echo "$at_srcdir/update02.at:29: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -25870,25 +32281,25 @@ rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 -mkdir directory -genfile --length 10240 --pattern zeros --file directory/file1 -genfile --length 10240 --pattern default --file directory/file2 +mkdir a +genfile --file a/b -tar cf archive directory || exit 1 -echo separator -tar uf archive directory || exit 1 -echo separator -tar tf archive | sort || exit 1 -)" -echo update.at:30 >"$at_check_line_file" +tar cf arc a -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +echo \"separator\" + +sleep 2 +touch a/b + +tar ufv arc a +echo \"separator\" +tar tf arc | sort || exit 1 +)" +echo update02.at:29 >"$at_check_line_file" -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -25900,21 +32311,23 @@ rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 -mkdir directory -genfile --length 10240 --pattern zeros --file directory/file1 -genfile --length 10240 --pattern default --file directory/file2 +mkdir a +genfile --file a/b -tar cf archive directory || exit 1 -echo separator -tar uf archive directory || exit 1 -echo separator -tar tf archive | sort || exit 1 +tar cf arc a + +echo "separator" + +sleep 2 +touch a/b + +tar ufv arc a +echo "separator" +tar tf arc | sort || exit 1 ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -25926,44 +32339,39 @@ rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 -mkdir directory -genfile --length 10240 --pattern zeros --file directory/file1 -genfile --length 10240 --pattern default --file directory/file2 +mkdir a +genfile --file a/b -tar cf archive directory || exit 1 -echo separator -tar uf archive directory || exit 1 -echo separator -tar tf archive | sort || exit 1 -) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? -fi +tar cf arc a -at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "separator -separator -directory/ -directory/file1 -directory/file2 -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/update.at:30: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +echo "separator" +sleep 2 +touch a/b - echo 1 > "$at_status_file" - exit 1 +tar ufv arc a +echo "separator" +tar tf arc | sort || exit 1 +) ) >"$at_stdout" 2>"$at_stderr" fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "separator +a/b +separator +a/ +a/b +a/b +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/update02.at:29" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/update.at:30: + { $at_traceoff +$as_echo "$at_srcdir/update02.at:29: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -25975,25 +32383,25 @@ rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 -mkdir directory -genfile --length 10240 --pattern zeros --file directory/file1 -genfile --length 10240 --pattern default --file directory/file2 +mkdir a +genfile --file a/b -tar cf archive directory || exit 1 -echo separator -tar uf archive directory || exit 1 -echo separator -tar tf archive | sort || exit 1 -)" -echo update.at:30 >"$at_check_line_file" +tar cf arc a -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +echo \"separator\" + +sleep 2 +touch a/b + +tar ufv arc a +echo \"separator\" +tar tf arc | sort || exit 1 +)" +echo update02.at:29 >"$at_check_line_file" -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -26005,21 +32413,23 @@ rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 -mkdir directory -genfile --length 10240 --pattern zeros --file directory/file1 -genfile --length 10240 --pattern default --file directory/file2 +mkdir a +genfile --file a/b -tar cf archive directory || exit 1 -echo separator -tar uf archive directory || exit 1 -echo separator -tar tf archive | sort || exit 1 +tar cf arc a + +echo "separator" + +sleep 2 +touch a/b + +tar ufv arc a +echo "separator" +tar tf arc | sort || exit 1 ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -26031,44 +32441,39 @@ rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 -mkdir directory -genfile --length 10240 --pattern zeros --file directory/file1 -genfile --length 10240 --pattern default --file directory/file2 +mkdir a +genfile --file a/b -tar cf archive directory || exit 1 -echo separator -tar uf archive directory || exit 1 -echo separator -tar tf archive | sort || exit 1 -) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? -fi +tar cf arc a -at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "separator -separator -directory/ -directory/file1 -directory/file2 -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/update.at:30: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then +echo "separator" +sleep 2 +touch a/b - echo 1 > "$at_status_file" - exit 1 +tar ufv arc a +echo "separator" +tar tf arc | sort || exit 1 +) ) >"$at_stdout" 2>"$at_stderr" fi +at_status=$? +at_failed=false +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "separator +a/b +separator +a/ +a/b +a/b +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/update02.at:29" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/update.at:30: + { $at_traceoff +$as_echo "$at_srcdir/update02.at:29: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -26080,25 +32485,25 @@ rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 -mkdir directory -genfile --length 10240 --pattern zeros --file directory/file1 -genfile --length 10240 --pattern default --file directory/file2 +mkdir a +genfile --file a/b -tar cf archive directory || exit 1 -echo separator -tar uf archive directory || exit 1 -echo separator -tar tf archive | sort || exit 1 -)" -echo update.at:30 >"$at_check_line_file" +tar cf arc a -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi +echo \"separator\" + +sleep 2 +touch a/b + +tar ufv arc a +echo \"separator\" +tar tf arc | sort || exit 1 +)" +echo update02.at:29 >"$at_check_line_file" -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -26110,21 +32515,23 @@ rm -rf * test -z "`sort < /dev/null 2>&1`" || exit 77 -mkdir directory -genfile --length 10240 --pattern zeros --file directory/file1 -genfile --length 10240 --pattern default --file directory/file2 +mkdir a +genfile --file a/b -tar cf archive directory || exit 1 -echo separator -tar uf archive directory || exit 1 -echo separator -tar tf archive | sort || exit 1 +tar cf arc a + +echo "separator" + +sleep 2 +touch a/b + +tar ufv arc a +echo "separator" +tar tf arc | sort || exit 1 ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -26134,70 +32541,65 @@ export TAR_OPTIONS rm -rf * -test -z "`sort < /dev/null 2>&1`" || exit 77 +test -z "`sort < /dev/null 2>&1`" || exit 77 + +mkdir a +genfile --file a/b + +tar cf arc a + +echo "separator" -mkdir directory -genfile --length 10240 --pattern zeros --file directory/file1 -genfile --length 10240 --pattern default --file directory/file2 +sleep 2 +touch a/b -tar cf archive directory || exit 1 -echo separator -tar uf archive directory || exit 1 -echo separator -tar tf archive | sort || exit 1 +tar ufv arc a +echo "separator" +tar tf arc | sort || exit 1 ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "separator +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "separator +a/b separator -directory/ -directory/file1 -directory/file2 -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/update.at:30: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi - -$at_traceon +a/ +a/b +a/b +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/update02.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"` - ;; - 65 ) # 65. volume.at:23: volume - at_setup_line='volume.at:23' - at_desc="volume" - $at_quiet $ECHO_N " 65: volume $ECHO_C" - at_xfail=no + $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_83 +#AT_START_84 +# 84. volume.at:23: volume +at_setup_line='volume.at:23' +at_desc="volume" +$at_quiet $as_echo_n " 84: $at_desc " +at_xfail=no test -f $XFAILFILE && at_xfail=yes - echo "# -*- compilation -*-" >> "$at_group_log" - ( - echo "65. volume.at:23: testing ..." - $at_traceon +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "84. volume.at:23: testing ..." + $at_traceon - $at_traceoff -echo "$at_srcdir/volume.at:26: + { $at_traceoff +$as_echo "$at_srcdir/volume.at:26: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -26224,13 +32626,9 @@ test \$? = 2 )" echo volume.at:26 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -26255,11 +32653,9 @@ echo 1>&2 ----- tar xfV archive babel test $? = 2 ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -26284,11 +32680,10 @@ echo 1>&2 ----- tar xfV archive babel test $? = 2 ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -echo >>"$at_stderr"; echo "----- +echo >>"$at_stderr"; $as_echo "----- tar: Volume \`label' does not match \`lab' tar: Error is not recoverable: exiting now ----- @@ -26297,25 +32692,16 @@ tar: Error is not recoverable: exiting now ----- tar: Volume \`label' does not match \`babel' tar: Error is not recoverable: exiting now -" | $at_diff - "$at_stderr" || at_failed=: -$at_diff "$at_devnull" "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/volume.at:26: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi +" | \ + $at_diff - "$at_stderr" || at_failed=: +at_func_diff_devnull "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/volume.at:26" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/volume.at:26: + { $at_traceoff +$as_echo "$at_srcdir/volume.at:26: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -26342,13 +32728,9 @@ test \$? = 2 )" echo volume.at:26 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -26373,11 +32755,9 @@ echo 1>&2 ----- tar xfV archive babel test $? = 2 ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -26402,11 +32782,10 @@ echo 1>&2 ----- tar xfV archive babel test $? = 2 ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -echo >>"$at_stderr"; echo "----- +echo >>"$at_stderr"; $as_echo "----- tar: Volume \`label' does not match \`lab' tar: Error is not recoverable: exiting now ----- @@ -26415,49 +32794,40 @@ tar: Error is not recoverable: exiting now ----- tar: Volume \`label' does not match \`babel' tar: Error is not recoverable: exiting now -" | $at_diff - "$at_stderr" || at_failed=: -$at_diff "$at_devnull" "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/volume.at:26: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi +" | \ + $at_diff - "$at_stderr" || at_failed=: +at_func_diff_devnull "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/volume.at:26" -$at_traceon +$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"` - ;; - - 66 ) # 66. volsize.at:29: volume header size - at_setup_line='volsize.at:29' - at_desc="volume header size" - $at_quiet $ECHO_N " 66: volume header size $ECHO_C" - at_xfail=no + $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_84 +#AT_START_85 +# 85. 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_xfail=no test -f $XFAILFILE && at_xfail=yes - echo "# -*- compilation -*-" >> "$at_group_log" - ( - echo "66. volsize.at:29: testing ..." - $at_traceon +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "85. volsize.at:29: testing ..." + $at_traceon - $at_traceoff -echo "$at_srcdir/volsize.at:32: + { $at_traceoff +$as_echo "$at_srcdir/volsize.at:32: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -26483,13 +32853,9 @@ find abc|sort )" echo volsize.at:32 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -26513,11 +32879,9 @@ echo Extracted directory tar xf $TEST_DATA_DIR/abc.tar find abc|sort ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -26541,14 +32905,11 @@ echo Extracted directory tar xf $TEST_DATA_DIR/abc.tar find abc|sort ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -echo >>"$at_stderr"; echo "tar: Record size = 5 blocks -tar: Record size = 5 blocks -" | $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "Short Listing +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Short Listing abc/not-a-file.gif abc/CCC Verbose Listing @@ -26557,24 +32918,15 @@ V--------- 0/0 1536 2006-05-08 22:07 abc/not-a-file.gif--Volume Heade Extracted directory abc abc/CCC -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/volsize.at:32: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/volsize.at:32" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/volsize.at:32: + { $at_traceoff +$as_echo "$at_srcdir/volsize.at:32: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -26600,13 +32952,9 @@ find abc|sort )" echo volsize.at:32 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -26630,11 +32978,9 @@ echo Extracted directory tar xf $TEST_DATA_DIR/abc.tar find abc|sort ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -26658,14 +33004,11 @@ echo Extracted directory tar xf $TEST_DATA_DIR/abc.tar find abc|sort ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -echo >>"$at_stderr"; echo "tar: Record size = 5 blocks -tar: Record size = 5 blocks -" | $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "Short Listing +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Short Listing abc/not-a-file.gif abc/CCC Verbose Listing @@ -26674,24 +33017,15 @@ V--------- 0/0 1536 2006-05-08 22:07 abc/not-a-file.gif--Volume Heade Extracted directory abc abc/CCC -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/volsize.at:32: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/volsize.at:32" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/volsize.at:32: + { $at_traceoff +$as_echo "$at_srcdir/volsize.at:32: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -26717,13 +33051,9 @@ find abc|sort )" echo volsize.at:32 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -26747,11 +33077,9 @@ echo Extracted directory tar xf $TEST_DATA_DIR/abc.tar find abc|sort ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -26775,14 +33103,11 @@ echo Extracted directory tar xf $TEST_DATA_DIR/abc.tar find abc|sort ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -echo >>"$at_stderr"; echo "tar: Record size = 5 blocks -tar: Record size = 5 blocks -" | $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "Short Listing +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Short Listing abc/not-a-file.gif abc/CCC Verbose Listing @@ -26791,24 +33116,15 @@ V--------- 0/0 1536 2006-05-08 22:07 abc/not-a-file.gif--Volume Heade Extracted directory abc abc/CCC -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/volsize.at:32: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/volsize.at:32" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/volsize.at:32: + { $at_traceoff +$as_echo "$at_srcdir/volsize.at:32: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -26834,13 +33150,9 @@ find abc|sort )" echo volsize.at:32 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -26864,11 +33176,9 @@ echo Extracted directory tar xf $TEST_DATA_DIR/abc.tar find abc|sort ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -26892,14 +33202,11 @@ echo Extracted directory tar xf $TEST_DATA_DIR/abc.tar find abc|sort ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -echo >>"$at_stderr"; echo "tar: Record size = 5 blocks -tar: Record size = 5 blocks -" | $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "Short Listing +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Short Listing abc/not-a-file.gif abc/CCC Verbose Listing @@ -26908,24 +33215,15 @@ V--------- 0/0 1536 2006-05-08 22:07 abc/not-a-file.gif--Volume Heade Extracted directory abc abc/CCC -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/volsize.at:32: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/volsize.at:32" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/volsize.at:32: + { $at_traceoff +$as_echo "$at_srcdir/volsize.at:32: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -26951,13 +33249,9 @@ find abc|sort )" echo volsize.at:32 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -26981,11 +33275,9 @@ echo Extracted directory tar xf $TEST_DATA_DIR/abc.tar find abc|sort ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -27009,14 +33301,11 @@ echo Extracted directory tar xf $TEST_DATA_DIR/abc.tar find abc|sort ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -echo >>"$at_stderr"; echo "tar: Record size = 5 blocks -tar: Record size = 5 blocks -" | $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "Short Listing +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "Short Listing abc/not-a-file.gif abc/CCC Verbose Listing @@ -27025,49 +33314,40 @@ V--------- 0/0 1536 2006-05-08 22:07 abc/not-a-file.gif--Volume Heade Extracted directory abc abc/CCC -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/volsize.at:32: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi - -$at_traceon +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/volsize.at:32" +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff - $at_times_p && times >"$at_times_file" - ) 5>&1 2>&1 | eval $at_tee_pipe - at_status=`cat "$at_status_file"` - ;; - 67 ) # 67. comprec.at:21: compressed format recognition - at_setup_line='comprec.at:21' - at_desc="compressed format recognition" - $at_quiet $ECHO_N " 67: compressed format recognition $ECHO_C" - at_xfail=no + $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_85 +#AT_START_86 +# 86. 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_xfail=no test -f $XFAILFILE && at_xfail=yes - echo "# -*- compilation -*-" >> "$at_group_log" - ( - echo "67. comprec.at:21: testing ..." - $at_traceon +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "86. comprec.at:21: testing ..." + $at_traceon - $at_traceoff -echo "$at_srcdir/comprec.at:25: + { $at_traceoff +$as_echo "$at_srcdir/comprec.at:25: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -27089,13 +33369,9 @@ cmp orig file1 )" echo comprec.at:25 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -27115,11 +33391,9 @@ mv file1 orig tar xfv archive cmp orig file1 ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -27139,32 +33413,22 @@ mv file1 orig tar xfv archive cmp orig file1 ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "separator +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "separator separator file1 -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/comprec.at:25: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/comprec.at:25" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/comprec.at:25: + { $at_traceoff +$as_echo "$at_srcdir/comprec.at:25: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -27186,13 +33450,9 @@ cmp orig file1 )" echo comprec.at:25 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -27212,11 +33472,9 @@ mv file1 orig tar xfv archive cmp orig file1 ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -27236,32 +33494,22 @@ mv file1 orig tar xfv archive cmp orig file1 ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "separator +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "separator separator file1 -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/comprec.at:25: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/comprec.at:25" - echo 1 > "$at_status_file" - exit 1 -fi - -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/comprec.at:25: + { $at_traceoff +$as_echo "$at_srcdir/comprec.at:25: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -27283,13 +33531,9 @@ cmp orig file1 )" echo comprec.at:25 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -27309,11 +33553,9 @@ mv file1 orig tar xfv archive cmp orig file1 ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -27333,32 +33575,22 @@ mv file1 orig tar xfv archive cmp orig file1 ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "separator +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "separator separator file1 -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/comprec.at:25: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/comprec.at:25" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/comprec.at:25: + { $at_traceoff +$as_echo "$at_srcdir/comprec.at:25: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -27380,13 +33612,9 @@ cmp orig file1 )" echo comprec.at:25 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -27406,11 +33634,9 @@ mv file1 orig tar xfv archive cmp orig file1 ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -27430,32 +33656,22 @@ mv file1 orig tar xfv archive cmp orig file1 ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "separator +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "separator separator file1 -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/comprec.at:25: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/comprec.at:25" - echo 1 > "$at_status_file" - exit 1 -fi - -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/comprec.at:25: + { $at_traceoff +$as_echo "$at_srcdir/comprec.at:25: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -27477,13 +33693,9 @@ cmp orig file1 )" echo comprec.at:25 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -27503,11 +33715,9 @@ mv file1 orig tar xfv archive cmp orig file1 ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -27527,56 +33737,46 @@ mv file1 orig tar xfv archive cmp orig file1 ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "separator +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "separator separator file1 -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/comprec.at:25: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/comprec.at:25" -$at_traceon +$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"` - ;; - - 68 ) # 68. shortfile.at:26: short input files - at_setup_line='shortfile.at:26' - at_desc="short input files" - $at_quiet $ECHO_N " 68: short input files $ECHO_C" - at_xfail=no + $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_86 +#AT_START_87 +# 87. 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_xfail=no test -f $XFAILFILE && at_xfail=yes - echo "# -*- compilation -*-" >> "$at_group_log" - ( - echo "68. shortfile.at:26: testing ..." - $at_traceon +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "87. shortfile.at:26: testing ..." + $at_traceon - $at_traceoff -echo "$at_srcdir/shortfile.at:29: + { $at_traceoff +$as_echo "$at_srcdir/shortfile.at:29: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -27590,13 +33790,9 @@ tar tf foo )" echo shortfile.at:29 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -27608,11 +33804,9 @@ rm -rf * genfile --length 511 --file foo || exit 5 tar tf foo ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -27624,55 +33818,45 @@ rm -rf * genfile --length 511 --file foo || exit 5 tar tf foo ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -echo >>"$at_stderr"; echo "tar: This does not look like a tar archive +echo >>"$at_stderr"; $as_echo "tar: This does not look like a tar archive tar: Exiting with failure status due to previous errors -" | $at_diff - "$at_stderr" || at_failed=: -$at_diff "$at_devnull" "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 2) ;; - *) echo "$at_srcdir/shortfile.at:29: exit code was $at_status, expected 2" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi - -$at_traceon +" | \ + $at_diff - "$at_stderr" || at_failed=: +at_func_diff_devnull "$at_stdout" || at_failed=: +at_func_check_status 2 $at_status "$at_srcdir/shortfile.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"` - ;; - 69 ) # 69. shortupd.at:29: updating short archives - at_setup_line='shortupd.at:29' - at_desc="updating short archives" - $at_quiet $ECHO_N " 69: updating short archives $ECHO_C" - at_xfail=no + $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. 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_xfail=no test -f $XFAILFILE && at_xfail=yes - echo "# -*- compilation -*-" >> "$at_group_log" - ( - echo "69. shortupd.at:29: testing ..." - $at_traceon +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "88. shortupd.at:29: testing ..." + $at_traceon - $at_traceoff -echo "$at_srcdir/shortupd.at:32: + { $at_traceoff +$as_echo "$at_srcdir/shortupd.at:32: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -27686,13 +33870,9 @@ tar uf archive foo )" echo shortupd.at:32 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -27704,11 +33884,9 @@ rm -rf * touch foo tar uf archive foo ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -27720,29 +33898,18 @@ rm -rf * touch foo tar uf archive foo ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -$at_diff "$at_devnull" "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/shortupd.at:32: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi +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/shortupd.at:32" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/shortupd.at:32: + { $at_traceoff +$as_echo "$at_srcdir/shortupd.at:32: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -27756,13 +33923,9 @@ tar uf archive foo )" echo shortupd.at:32 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -27774,11 +33937,9 @@ rm -rf * touch foo tar uf archive foo ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -27790,29 +33951,18 @@ rm -rf * touch foo tar uf archive foo ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -$at_diff "$at_devnull" "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/shortupd.at:32: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi +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/shortupd.at:32" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/shortupd.at:32: + { $at_traceoff +$as_echo "$at_srcdir/shortupd.at:32: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -27826,13 +33976,9 @@ tar uf archive foo )" echo shortupd.at:32 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -27844,11 +33990,9 @@ rm -rf * touch foo tar uf archive foo ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -27860,29 +34004,18 @@ rm -rf * touch foo tar uf archive foo ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -$at_diff "$at_devnull" "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/shortupd.at:32: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi +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/shortupd.at:32" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/shortupd.at:32: + { $at_traceoff +$as_echo "$at_srcdir/shortupd.at:32: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -27896,13 +34029,9 @@ tar uf archive foo )" echo shortupd.at:32 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -27914,11 +34043,9 @@ rm -rf * touch foo tar uf archive foo ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -27929,30 +34056,19 @@ rm -rf * touch foo tar uf archive foo -) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? -fi - -at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -$at_diff "$at_devnull" "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/shortupd.at:32: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - 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/shortupd.at:32" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/shortupd.at:32: + { $at_traceoff +$as_echo "$at_srcdir/shortupd.at:32: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -27966,13 +34082,9 @@ tar uf archive foo )" echo shortupd.at:32 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -27984,11 +34096,9 @@ rm -rf * touch foo tar uf archive foo ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -28000,53 +34110,42 @@ rm -rf * touch foo tar uf archive foo ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -$at_diff "$at_devnull" "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/shortupd.at:32: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi +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/shortupd.at:32" -$at_traceon +$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"` - ;; - - 70 ) # 70. truncate.at:29: truncate - at_setup_line='truncate.at:29' - at_desc="truncate" - $at_quiet $ECHO_N " 70: truncate $ECHO_C" - at_xfail=no + $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_88 +#AT_START_89 +# 89. truncate.at:29: truncate +at_setup_line='truncate.at:29' +at_desc="truncate" +$at_quiet $as_echo_n " 89: $at_desc " +at_xfail=no test -f $XFAILFILE && at_xfail=yes - echo "# -*- compilation -*-" >> "$at_group_log" - ( - echo "70. truncate.at:29: testing ..." - $at_traceon +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "89. truncate.at:29: testing ..." + $at_traceon - $at_traceoff -echo "$at_srcdir/truncate.at:32: + { $at_traceoff +$as_echo "$at_srcdir/truncate.at:32: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -28057,7 +34156,7 @@ rm -rf * genfile --file foo --length 50000k genfile --file baz -genfile --run 'tar -vcf bar foo baz' --checkpoint 10 --length 49995k --truncate foo +genfile --run --checkpoint 10 --length 49995k --truncate foo -- tar --checkpoint -vcf bar foo baz echo Exit status: \$? echo separator sleep 1 @@ -28065,13 +34164,9 @@ genfile --file foo --seek 49995k --length 5k --pattern=zeros tar dvf bar)" echo truncate.at:32 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -28082,17 +34177,15 @@ rm -rf * genfile --file foo --length 50000k genfile --file baz -genfile --run 'tar -vcf bar foo baz' --checkpoint 10 --length 49995k --truncate foo +genfile --run --checkpoint 10 --length 49995k --truncate foo -- tar --checkpoint -vcf bar foo baz echo Exit status: $? echo separator sleep 1 genfile --file foo --seek 49995k --length 5k --pattern=zeros tar dvf bar) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -28103,43 +34196,34 @@ rm -rf * genfile --file foo --length 50000k genfile --file baz -genfile --run 'tar -vcf bar foo baz' --checkpoint 10 --length 49995k --truncate foo +genfile --run --checkpoint 10 --length 49995k --truncate foo -- tar --checkpoint -vcf bar foo baz echo Exit status: $? echo separator sleep 1 genfile --file foo --seek 49995k --length 5k --pattern=zeros tar dvf bar) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -echo >>"$at_stderr"; echo "tar: foo: File shrank by 5120 bytes; padding with zeros -" | $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "foo +echo >>"$at_stderr"; $as_echo "tar: foo: File shrank by 5120 bytes; padding with zeros +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "foo baz Exit status: 1 separator foo foo: Mod time differs baz -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 1) ;; - *) echo "$at_srcdir/truncate.at:32: exit code was $at_status, expected 1" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 1 $at_status "$at_srcdir/truncate.at:32" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/truncate.at:32: + { $at_traceoff +$as_echo "$at_srcdir/truncate.at:32: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -28150,7 +34234,7 @@ rm -rf * genfile --file foo --length 50000k genfile --file baz -genfile --run 'tar -vcf bar foo baz' --checkpoint 10 --length 49995k --truncate foo +genfile --run --checkpoint 10 --length 49995k --truncate foo -- tar --checkpoint -vcf bar foo baz echo Exit status: \$? echo separator sleep 1 @@ -28158,13 +34242,9 @@ genfile --file foo --seek 49995k --length 5k --pattern=zeros tar dvf bar)" echo truncate.at:32 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -28175,17 +34255,15 @@ rm -rf * genfile --file foo --length 50000k genfile --file baz -genfile --run 'tar -vcf bar foo baz' --checkpoint 10 --length 49995k --truncate foo +genfile --run --checkpoint 10 --length 49995k --truncate foo -- tar --checkpoint -vcf bar foo baz echo Exit status: $? echo separator sleep 1 genfile --file foo --seek 49995k --length 5k --pattern=zeros tar dvf bar) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -28196,43 +34274,34 @@ rm -rf * genfile --file foo --length 50000k genfile --file baz -genfile --run 'tar -vcf bar foo baz' --checkpoint 10 --length 49995k --truncate foo +genfile --run --checkpoint 10 --length 49995k --truncate foo -- tar --checkpoint -vcf bar foo baz echo Exit status: $? echo separator sleep 1 genfile --file foo --seek 49995k --length 5k --pattern=zeros tar dvf bar) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -echo >>"$at_stderr"; echo "tar: foo: File shrank by 5120 bytes; padding with zeros -" | $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "foo +echo >>"$at_stderr"; $as_echo "tar: foo: File shrank by 5120 bytes; padding with zeros +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "foo baz Exit status: 1 separator foo foo: Mod time differs baz -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 1) ;; - *) echo "$at_srcdir/truncate.at:32: exit code was $at_status, expected 1" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 1 $at_status "$at_srcdir/truncate.at:32" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/truncate.at:32: + { $at_traceoff +$as_echo "$at_srcdir/truncate.at:32: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -28243,7 +34312,7 @@ rm -rf * genfile --file foo --length 50000k genfile --file baz -genfile --run 'tar -vcf bar foo baz' --checkpoint 10 --length 49995k --truncate foo +genfile --run --checkpoint 10 --length 49995k --truncate foo -- tar --checkpoint -vcf bar foo baz echo Exit status: \$? echo separator sleep 1 @@ -28251,13 +34320,9 @@ genfile --file foo --seek 49995k --length 5k --pattern=zeros tar dvf bar)" echo truncate.at:32 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -28268,17 +34333,15 @@ rm -rf * genfile --file foo --length 50000k genfile --file baz -genfile --run 'tar -vcf bar foo baz' --checkpoint 10 --length 49995k --truncate foo +genfile --run --checkpoint 10 --length 49995k --truncate foo -- tar --checkpoint -vcf bar foo baz echo Exit status: $? echo separator sleep 1 genfile --file foo --seek 49995k --length 5k --pattern=zeros tar dvf bar) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -28289,43 +34352,34 @@ rm -rf * genfile --file foo --length 50000k genfile --file baz -genfile --run 'tar -vcf bar foo baz' --checkpoint 10 --length 49995k --truncate foo +genfile --run --checkpoint 10 --length 49995k --truncate foo -- tar --checkpoint -vcf bar foo baz echo Exit status: $? echo separator sleep 1 genfile --file foo --seek 49995k --length 5k --pattern=zeros tar dvf bar) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -echo >>"$at_stderr"; echo "tar: foo: File shrank by 5120 bytes; padding with zeros -" | $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "foo +echo >>"$at_stderr"; $as_echo "tar: foo: File shrank by 5120 bytes; padding with zeros +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "foo baz Exit status: 1 separator foo foo: Mod time differs baz -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 1) ;; - *) echo "$at_srcdir/truncate.at:32: exit code was $at_status, expected 1" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 1 $at_status "$at_srcdir/truncate.at:32" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/truncate.at:32: + { $at_traceoff +$as_echo "$at_srcdir/truncate.at:32: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -28336,7 +34390,7 @@ rm -rf * genfile --file foo --length 50000k genfile --file baz -genfile --run 'tar -vcf bar foo baz' --checkpoint 10 --length 49995k --truncate foo +genfile --run --checkpoint 10 --length 49995k --truncate foo -- tar --checkpoint -vcf bar foo baz echo Exit status: \$? echo separator sleep 1 @@ -28344,13 +34398,9 @@ genfile --file foo --seek 49995k --length 5k --pattern=zeros tar dvf bar)" echo truncate.at:32 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -28361,17 +34411,15 @@ rm -rf * genfile --file foo --length 50000k genfile --file baz -genfile --run 'tar -vcf bar foo baz' --checkpoint 10 --length 49995k --truncate foo +genfile --run --checkpoint 10 --length 49995k --truncate foo -- tar --checkpoint -vcf bar foo baz echo Exit status: $? echo separator sleep 1 genfile --file foo --seek 49995k --length 5k --pattern=zeros tar dvf bar) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -28382,43 +34430,34 @@ rm -rf * genfile --file foo --length 50000k genfile --file baz -genfile --run 'tar -vcf bar foo baz' --checkpoint 10 --length 49995k --truncate foo +genfile --run --checkpoint 10 --length 49995k --truncate foo -- tar --checkpoint -vcf bar foo baz echo Exit status: $? echo separator sleep 1 genfile --file foo --seek 49995k --length 5k --pattern=zeros tar dvf bar) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -echo >>"$at_stderr"; echo "tar: foo: File shrank by 5120 bytes; padding with zeros -" | $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "foo +echo >>"$at_stderr"; $as_echo "tar: foo: File shrank by 5120 bytes; padding with zeros +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "foo baz Exit status: 1 separator foo foo: Mod time differs baz -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 1) ;; - *) echo "$at_srcdir/truncate.at:32: exit code was $at_status, expected 1" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 1 $at_status "$at_srcdir/truncate.at:32" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/truncate.at:32: + { $at_traceoff +$as_echo "$at_srcdir/truncate.at:32: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -28429,7 +34468,7 @@ rm -rf * genfile --file foo --length 50000k genfile --file baz -genfile --run 'tar -vcf bar foo baz' --checkpoint 10 --length 49995k --truncate foo +genfile --run --checkpoint 10 --length 49995k --truncate foo -- tar --checkpoint -vcf bar foo baz echo Exit status: \$? echo separator sleep 1 @@ -28437,13 +34476,9 @@ genfile --file foo --seek 49995k --length 5k --pattern=zeros tar dvf bar)" echo truncate.at:32 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -28454,17 +34489,15 @@ rm -rf * genfile --file foo --length 50000k genfile --file baz -genfile --run 'tar -vcf bar foo baz' --checkpoint 10 --length 49995k --truncate foo +genfile --run --checkpoint 10 --length 49995k --truncate foo -- tar --checkpoint -vcf bar foo baz echo Exit status: $? echo separator sleep 1 genfile --file foo --seek 49995k --length 5k --pattern=zeros tar dvf bar) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -28475,67 +34508,58 @@ rm -rf * genfile --file foo --length 50000k genfile --file baz -genfile --run 'tar -vcf bar foo baz' --checkpoint 10 --length 49995k --truncate foo +genfile --run --checkpoint 10 --length 49995k --truncate foo -- tar --checkpoint -vcf bar foo baz echo Exit status: $? echo separator sleep 1 genfile --file foo --seek 49995k --length 5k --pattern=zeros tar dvf bar) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -echo >>"$at_stderr"; echo "tar: foo: File shrank by 5120 bytes; padding with zeros -" | $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "foo +echo >>"$at_stderr"; $as_echo "tar: foo: File shrank by 5120 bytes; padding with zeros +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "foo baz Exit status: 1 separator foo foo: Mod time differs baz -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 1) ;; - *) echo "$at_srcdir/truncate.at:32: exit code was $at_status, expected 1" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi - -$at_traceon +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 1 $at_status "$at_srcdir/truncate.at:32" +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff - $at_times_p && times >"$at_times_file" - ) 5>&1 2>&1 | eval $at_tee_pipe - at_status=`cat "$at_status_file"` - ;; - 71 ) # 71. grow.at:24: grow - at_setup_line='grow.at:24' - at_desc="grow" - $at_quiet $ECHO_N " 71: grow $ECHO_C" - at_xfail=no + $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_89 +#AT_START_90 +# 90. grow.at:24: grow +at_setup_line='grow.at:24' +at_desc="grow" +$at_quiet $as_echo_n " 90: $at_desc " +at_xfail=no test -f $XFAILFILE && at_xfail=yes - echo "# -*- compilation -*-" >> "$at_group_log" - ( - echo "71. grow.at:24: testing ..." - $at_traceon +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "90. grow.at:24: testing ..." + $at_traceon - $at_traceoff -echo "$at_srcdir/grow.at:27: + { $at_traceoff +$as_echo "$at_srcdir/grow.at:27: mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -28546,18 +34570,13 @@ rm -rf * genfile --file foo --length 50000k genfile --file baz -genfile --run 'tar -vcf bar foo baz' --checkpoint 10 --length 1024 \\ - --append foo +genfile --run --checkpoint 10 --length 1024 --append foo -- tar --checkpoint -vcf bar foo baz )" echo grow.at:27 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -28568,14 +34587,11 @@ rm -rf * genfile --file foo --length 50000k genfile --file baz -genfile --run 'tar -vcf bar foo baz' --checkpoint 10 --length 1024 \ - --append foo +genfile --run --checkpoint 10 --length 1024 --append foo -- tar --checkpoint -vcf bar foo baz ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir v7 (cd v7 TEST_TAR_FORMAT=v7 @@ -28586,35 +34602,25 @@ rm -rf * genfile --file foo --length 50000k genfile --file baz -genfile --run 'tar -vcf bar foo baz' --checkpoint 10 --length 1024 \ - --append foo +genfile --run --checkpoint 10 --length 1024 --append foo -- tar --checkpoint -vcf bar foo baz ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -echo >>"$at_stderr"; echo "tar: foo: file changed as we read it -" | $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "foo +echo >>"$at_stderr"; $as_echo "tar: foo: file changed as we read it +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "foo baz -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 1) ;; - *) echo "$at_srcdir/grow.at:27: exit code was $at_status, expected 1" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 1 $at_status "$at_srcdir/grow.at:27" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/grow.at:27: + { $at_traceoff +$as_echo "$at_srcdir/grow.at:27: mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -28625,18 +34631,13 @@ rm -rf * genfile --file foo --length 50000k genfile --file baz -genfile --run 'tar -vcf bar foo baz' --checkpoint 10 --length 1024 \\ - --append foo +genfile --run --checkpoint 10 --length 1024 --append foo -- tar --checkpoint -vcf bar foo baz )" echo grow.at:27 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -28647,14 +34648,11 @@ rm -rf * genfile --file foo --length 50000k genfile --file baz -genfile --run 'tar -vcf bar foo baz' --checkpoint 10 --length 1024 \ - --append foo +genfile --run --checkpoint 10 --length 1024 --append foo -- tar --checkpoint -vcf bar foo baz ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir oldgnu (cd oldgnu TEST_TAR_FORMAT=oldgnu @@ -28665,35 +34663,25 @@ rm -rf * genfile --file foo --length 50000k genfile --file baz -genfile --run 'tar -vcf bar foo baz' --checkpoint 10 --length 1024 \ - --append foo +genfile --run --checkpoint 10 --length 1024 --append foo -- tar --checkpoint -vcf bar foo baz ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -echo >>"$at_stderr"; echo "tar: foo: file changed as we read it -" | $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "foo +echo >>"$at_stderr"; $as_echo "tar: foo: file changed as we read it +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "foo baz -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 1) ;; - *) echo "$at_srcdir/grow.at:27: exit code was $at_status, expected 1" - at_failed=:;; -esac -if $at_failed; then - +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 1 $at_status "$at_srcdir/grow.at:27" - echo 1 > "$at_status_file" - exit 1 -fi - -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/grow.at:27: + { $at_traceoff +$as_echo "$at_srcdir/grow.at:27: mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -28704,18 +34692,13 @@ rm -rf * genfile --file foo --length 50000k genfile --file baz -genfile --run 'tar -vcf bar foo baz' --checkpoint 10 --length 1024 \\ - --append foo +genfile --run --checkpoint 10 --length 1024 --append foo -- tar --checkpoint -vcf bar foo baz )" echo grow.at:27 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -28726,14 +34709,11 @@ rm -rf * genfile --file foo --length 50000k genfile --file baz -genfile --run 'tar -vcf bar foo baz' --checkpoint 10 --length 1024 \ - --append foo +genfile --run --checkpoint 10 --length 1024 --append foo -- tar --checkpoint -vcf bar foo baz ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir ustar (cd ustar TEST_TAR_FORMAT=ustar @@ -28744,35 +34724,25 @@ rm -rf * genfile --file foo --length 50000k genfile --file baz -genfile --run 'tar -vcf bar foo baz' --checkpoint 10 --length 1024 \ - --append foo +genfile --run --checkpoint 10 --length 1024 --append foo -- tar --checkpoint -vcf bar foo baz ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -echo >>"$at_stderr"; echo "tar: foo: file changed as we read it -" | $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "foo +echo >>"$at_stderr"; $as_echo "tar: foo: file changed as we read it +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "foo baz -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 1) ;; - *) echo "$at_srcdir/grow.at:27: exit code was $at_status, expected 1" - at_failed=:;; -esac -if $at_failed; then - - - echo 1 > "$at_status_file" - exit 1 -fi +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 1 $at_status "$at_srcdir/grow.at:27" -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/grow.at:27: + { $at_traceoff +$as_echo "$at_srcdir/grow.at:27: mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -28783,18 +34753,13 @@ rm -rf * genfile --file foo --length 50000k genfile --file baz -genfile --run 'tar -vcf bar foo baz' --checkpoint 10 --length 1024 \\ - --append foo +genfile --run --checkpoint 10 --length 1024 --append foo -- tar --checkpoint -vcf bar foo baz )" echo grow.at:27 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -28805,14 +34770,11 @@ rm -rf * genfile --file foo --length 50000k genfile --file baz -genfile --run 'tar -vcf bar foo baz' --checkpoint 10 --length 1024 \ - --append foo +genfile --run --checkpoint 10 --length 1024 --append foo -- tar --checkpoint -vcf bar foo baz ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir posix (cd posix TEST_TAR_FORMAT=posix @@ -28823,35 +34785,25 @@ rm -rf * genfile --file foo --length 50000k genfile --file baz -genfile --run 'tar -vcf bar foo baz' --checkpoint 10 --length 1024 \ - --append foo +genfile --run --checkpoint 10 --length 1024 --append foo -- tar --checkpoint -vcf bar foo baz ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -echo >>"$at_stderr"; echo "tar: foo: file changed as we read it -" | $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "foo +echo >>"$at_stderr"; $as_echo "tar: foo: file changed as we read it +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "foo baz -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 1) ;; - *) echo "$at_srcdir/grow.at:27: exit code was $at_status, expected 1" - at_failed=:;; -esac -if $at_failed; then - +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 1 $at_status "$at_srcdir/grow.at:27" - echo 1 > "$at_status_file" - exit 1 -fi - -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } - $at_traceoff -echo "$at_srcdir/grow.at:27: + { $at_traceoff +$as_echo "$at_srcdir/grow.at:27: mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -28862,18 +34814,13 @@ rm -rf * genfile --file foo --length 50000k genfile --file baz -genfile --run 'tar -vcf bar foo baz' --checkpoint 10 --length 1024 \\ - --append foo +genfile --run --checkpoint 10 --length 1024 --append foo -- tar --checkpoint -vcf bar foo baz )" echo grow.at:27 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -28884,14 +34831,11 @@ rm -rf * genfile --file foo --length 50000k genfile --file baz -genfile --run 'tar -vcf bar foo baz' --checkpoint 10 --length 1024 \ - --append foo +genfile --run --checkpoint 10 --length 1024 --append foo -- tar --checkpoint -vcf bar foo baz ) ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; mkdir gnu (cd gnu TEST_TAR_FORMAT=gnu @@ -28902,58 +34846,285 @@ rm -rf * genfile --file foo --length 50000k genfile --file baz -genfile --run 'tar -vcf bar foo baz' --checkpoint 10 --length 1024 \ - --append foo +genfile --run --checkpoint 10 --length 1024 --append foo -- tar --checkpoint -vcf bar foo baz ) ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -echo >>"$at_stderr"; echo "tar: foo: file changed as we read it -" | $at_diff - "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "foo +echo >>"$at_stderr"; $as_echo "tar: foo: file changed as we read it +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "foo baz -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 1) ;; - *) echo "$at_srcdir/grow.at:27: exit code was $at_status, expected 1" - at_failed=:;; -esac -if $at_failed; then +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 1 $at_status "$at_srcdir/grow.at:27" +$at_failed && at_func_log_failure +$at_traceon; } - echo 1 > "$at_status_file" - exit 1 + + + + $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_90 +#AT_START_91 +# 91. 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_xfail=no +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "91. remfiles01.at:28: testing ..." + $at_traceon + + + +unset TAR_OPTIONS +{ $at_traceoff +$as_echo "$at_srcdir/remfiles01.at:32: + +cat /dev/null | gzip - > /dev/null 2>&1 || exit 77 + + +test -z "`sort < /dev/null 2>&1`" || exit 77 + + +mkdir dir +cd dir +genfile --file a --length 0 +chmod 0 a +genfile --file b +mkdir c + +# Depending on when the SIGPIPE gets delivered, the invocation below +# may finish with either +# tar: a: Cannot write: Broken pipe +# or +# tar: Child returned status 2 + +tar -c -f a -z --remove-files b c 2>err +EC=\$? +sed -n '/(child)/p' err >&2 +rm err +find . | sort +exit \$EC +" +echo remfiles01.at:32 >"$at_check_line_file" + +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; + +cat /dev/null | gzip - > /dev/null 2>&1 || exit 77 + + +test -z "`sort < /dev/null 2>&1`" || exit 77 + + +mkdir dir +cd dir +genfile --file a --length 0 +chmod 0 a +genfile --file b +mkdir c + +# Depending on when the SIGPIPE gets delivered, the invocation below +# may finish with either +# tar: a: Cannot write: Broken pipe +# or +# tar: Child returned status 2 + +tar -c -f a -z --remove-files b c 2>err +EC=$? +sed -n '/(child)/p' err >&2 +rm err +find . | sort +exit $EC + ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; + +cat /dev/null | gzip - > /dev/null 2>&1 || exit 77 + + +test -z "`sort < /dev/null 2>&1`" || exit 77 + + +mkdir dir +cd dir +genfile --file a --length 0 +chmod 0 a +genfile --file b +mkdir c + +# Depending on when the SIGPIPE gets delivered, the invocation below +# may finish with either +# tar: a: Cannot write: Broken pipe +# or +# tar: Child returned status 2 + +tar -c -f a -z --remove-files b c 2>err +EC=$? +sed -n '/(child)/p' err >&2 +rm err +find . | sort +exit $EC + ) >"$at_stdout" 2>"$at_stderr" fi +at_status=$? +at_failed=false +echo >>"$at_stderr"; $as_echo "tar (child): a: Cannot open: Permission denied +tar (child): Error is not recoverable: exiting now +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo ". +./a +./b +./c +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 2 $at_status "$at_srcdir/remfiles01.at:32" + +$at_failed && at_func_log_failure +$at_traceon; } + -$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_91 +#AT_START_92 +# 92. 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_xfail=no +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "92. remfiles02.at:28: testing ..." + $at_traceon +unset TAR_OPTIONS +{ $at_traceoff +$as_echo "$at_srcdir/remfiles02.at:32: - $at_traceoff - $at_times_p && times >"$at_times_file" - ) 5>&1 2>&1 | eval $at_tee_pipe - at_status=`cat "$at_status_file"` - ;; +cat /dev/null | gzip - > /dev/null 2>&1 || exit 77 + + +test -z "`sort < /dev/null 2>&1`" || exit 77 - 72 ) # 72. gtarfail.at:21: gtarfail - at_setup_line='gtarfail.at:21' - at_desc="gtarfail" - $at_quiet $ECHO_N " 72: gtarfail $ECHO_C" - at_xfail=no - echo "# -*- compilation -*-" >> "$at_group_log" - ( - echo "72. gtarfail.at:21: testing ..." - $at_traceon + +mkdir dir +cd dir +mkdir a +genfile --file b +mkdir c + +tar -c -f a -z --remove-files b c 2>err +EC=\$? +sed -n '/(child)/p' err >&2 +rm err +find . | sort +exit \$EC +" +echo remfiles02.at:32 >"$at_check_line_file" + +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; + +cat /dev/null | gzip - > /dev/null 2>&1 || exit 77 + + +test -z "`sort < /dev/null 2>&1`" || exit 77 + + +mkdir dir +cd dir +mkdir a +genfile --file b +mkdir c + +tar -c -f a -z --remove-files b c 2>err +EC=$? +sed -n '/(child)/p' err >&2 +rm err +find . | sort +exit $EC + ) >"$at_stdout" 2>"$at_stder1" + at_func_filter_trace $? +else + ( :; + +cat /dev/null | gzip - > /dev/null 2>&1 || exit 77 + + +test -z "`sort < /dev/null 2>&1`" || exit 77 + + +mkdir dir +cd dir +mkdir a +genfile --file b +mkdir c + +tar -c -f a -z --remove-files b c 2>err +EC=$? +sed -n '/(child)/p' err >&2 +rm err +find . | sort +exit $EC + ) >"$at_stdout" 2>"$at_stderr" +fi +at_status=$? +at_failed=false +echo >>"$at_stderr"; $as_echo "tar (child): a: Cannot open: Is a directory +tar (child): Error is not recoverable: exiting now +" | \ + $at_diff - "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo ". +./a +./b +./c +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 2 $at_status "$at_srcdir/remfiles02.at:32" + +$at_failed && at_func_log_failure +$at_traceon; } + + + $at_traceoff + $at_times_p && times >"$at_times_file" +) 5>&1 2>&1 | eval $at_tee_pipe +at_status=`cat "$at_status_file"` +#AT_STOP_92 +#AT_START_93 +# 93. gtarfail.at:21: gtarfail +at_setup_line='gtarfail.at:21' +at_desc="gtarfail" +$at_quiet $as_echo_n " 93: $at_desc " +at_xfail=no +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "93. gtarfail.at:21: testing ..." + $at_traceon unset TAR_OPTIONS -$at_traceoff -echo "$at_srcdir/gtarfail.at:26: +{ $at_traceoff +$as_echo "$at_srcdir/gtarfail.at:26: test -z "$STAR_TESTSCRIPTS" && exit 77 tarball_prereq gtarfail.tar bf7612e401aaa679edbb07ae1183811b $STAR_TESTSCRIPTS $STAR_DATA_URL || exit 77 @@ -28963,13 +35134,9 @@ tar --utc -tvf \$STAR_TESTSCRIPTS/gtarfail.tar " echo gtarfail.at:26 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; test -z "$STAR_TESTSCRIPTS" && exit 77 tarball_prereq gtarfail.tar bf7612e401aaa679edbb07ae1183811b $STAR_TESTSCRIPTS $STAR_DATA_URL || exit 77 @@ -28977,11 +35144,9 @@ tarball_prereq gtarfail.tar bf7612e401aaa679edbb07ae1183811b $STAR_TESTSCRIPTS $ tar --utc -tvf $STAR_TESTSCRIPTS/gtarfail.tar ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; test -z "$STAR_TESTSCRIPTS" && exit 77 tarball_prereq gtarfail.tar bf7612e401aaa679edbb07ae1183811b $STAR_TESTSCRIPTS $STAR_DATA_URL || exit 77 @@ -28989,56 +35154,46 @@ tarball_prereq gtarfail.tar bf7612e401aaa679edbb07ae1183811b $STAR_TESTSCRIPTS $ tar --utc -tvf $STAR_TESTSCRIPTS/gtarfail.tar ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "-rw-r--r-- jes/glone 518 2001-05-25 14:41 vedpowered.gif +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "-rw-r--r-- jes/glone 518 2001-05-25 14:41 vedpowered.gif -rw-r--r-- jes/glone 6825 1997-04-29 00:19 cd.gif -rw-r--r-- jes/glone 33354 1999-06-22 12:17 DSCN0049c.JPG -rw-r--r-- jes/glone 86159 2001-06-05 18:16 Window1.jpg -rw-r--r-- jes/glone 1310 2001-05-25 13:05 vipower.gif -rw-rw-rw- jes/glone 148753 1998-09-15 13:08 billyboy.jpg -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/gtarfail.at:26: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/gtarfail.at:26" - echo 1 > "$at_status_file" - exit 1 -fi - -$at_traceon +$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"` - ;; - - 73 ) # 73. gtarfail2.at:21: gtarfail2 - at_setup_line='gtarfail2.at:21' - at_desc="gtarfail2" - $at_quiet $ECHO_N " 73: gtarfail2 $ECHO_C" - at_xfail=no - echo "# -*- compilation -*-" >> "$at_group_log" - ( - echo "73. gtarfail2.at:21: testing ..." - $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_93 +#AT_START_94 +# 94. gtarfail2.at:21: gtarfail2 +at_setup_line='gtarfail2.at:21' +at_desc="gtarfail2" +$at_quiet $as_echo_n " 94: $at_desc " +at_xfail=no +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "94. gtarfail2.at:21: testing ..." + $at_traceon unset TAR_OPTIONS -$at_traceoff -echo "$at_srcdir/gtarfail2.at:26: +{ $at_traceoff +$as_echo "$at_srcdir/gtarfail2.at:26: test -z "$STAR_TESTSCRIPTS" && exit 77 tarball_prereq gtarfail2.tar 6b607d1faec14b82f69525d9c5b66e53 $STAR_TESTSCRIPTS $STAR_DATA_URL || exit 77 @@ -29047,36 +35202,29 @@ tar --utc -tvf \$STAR_TESTSCRIPTS/gtarfail2.tar " echo gtarfail2.at:26 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; test -z "$STAR_TESTSCRIPTS" && exit 77 tarball_prereq gtarfail2.tar 6b607d1faec14b82f69525d9c5b66e53 $STAR_TESTSCRIPTS $STAR_DATA_URL || exit 77 tar --utc -tvf $STAR_TESTSCRIPTS/gtarfail2.tar ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; test -z "$STAR_TESTSCRIPTS" && exit 77 tarball_prereq gtarfail2.tar 6b607d1faec14b82f69525d9c5b66e53 $STAR_TESTSCRIPTS $STAR_DATA_URL || exit 77 tar --utc -tvf $STAR_TESTSCRIPTS/gtarfail2.tar ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "-rwxr-xr-x jes/glone 214 2001-09-21 14:08 .clean +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "-rwxr-xr-x jes/glone 214 2001-09-21 14:08 .clean lrwxrwxrwx jes/cats 0 1998-05-07 12:39 RULES -> makefiles/RULES drwxr-sr-x jes/glone 0 2001-12-10 00:00 build/ -rw-r--r-- jes/glone 312019 2001-12-10 00:00 build/smake-1.2.tar.gz @@ -29086,45 +35234,36 @@ drwxr-sr-x jes/glone 0 2001-11-09 18:20 build/psmake/ -rw-r--r-- jes/glone 647 2001-02-25 23:50 build/psmake/Makefile lrwxrwxrwx jes/glone 0 2001-08-29 10:53 build/psmake/archconf.c -> ../archconf.c lrwxrwxrwx jes/glone 0 2001-08-29 10:54 build/psmake/astoi.c -> ../../lib/astoi.c -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/gtarfail2.at:26: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/gtarfail2.at:26" - echo 1 > "$at_status_file" - exit 1 -fi - -$at_traceon +$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"` - ;; - - 74 ) # 74. multi-fail.at:21: multi-fail - at_setup_line='multi-fail.at:21' - at_desc="multi-fail" - $at_quiet $ECHO_N " 74: multi-fail $ECHO_C" - at_xfail=no - echo "# -*- compilation -*-" >> "$at_group_log" - ( - echo "74. multi-fail.at:21: testing ..." - $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_94 +#AT_START_95 +# 95. 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_xfail=no +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "95. multi-fail.at:21: testing ..." + $at_traceon unset TAR_OPTIONS -$at_traceoff -echo "$at_srcdir/multi-fail.at:26: +{ $at_traceoff +$as_echo "$at_srcdir/multi-fail.at:26: test -z "$STAR_TESTSCRIPTS" && exit 77 tarball_prereq gnu-multi-fail-volume1.gtar 7c28663dd98b0bd91ceb4be7af55254e $STAR_TESTSCRIPTS $STAR_DATA_URL || exit 77 @@ -29139,13 +35278,9 @@ tar --utc -tvM -f \$STAR_TESTSCRIPTS/gnu-multi-fail-volume1.gtar \\ " echo multi-fail.at:26 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; test -z "$STAR_TESTSCRIPTS" && exit 77 tarball_prereq gnu-multi-fail-volume1.gtar 7c28663dd98b0bd91ceb4be7af55254e $STAR_TESTSCRIPTS $STAR_DATA_URL || exit 77 @@ -29158,11 +35293,9 @@ tarball_prereq gnu-multi-fail-volume2.gtar b5d41c4c3ec440687d4a44957b5079a8 $STA tar --utc -tvM -f $STAR_TESTSCRIPTS/gnu-multi-fail-volume1.gtar \ -f $STAR_TESTSCRIPTS/gnu-multi-fail-volume2.gtar <&- ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; test -z "$STAR_TESTSCRIPTS" && exit 77 tarball_prereq gnu-multi-fail-volume1.gtar 7c28663dd98b0bd91ceb4be7af55254e $STAR_TESTSCRIPTS $STAR_DATA_URL || exit 77 @@ -29175,12 +35308,11 @@ tarball_prereq gnu-multi-fail-volume2.gtar b5d41c4c3ec440687d4a44957b5079a8 $STA tar --utc -tvM -f $STAR_TESTSCRIPTS/gnu-multi-fail-volume1.gtar \ -f $STAR_TESTSCRIPTS/gnu-multi-fail-volume2.gtar <&- ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false -$at_diff "$at_devnull" "$at_stderr" || at_failed=: -echo >>"$at_stdout"; echo "drwxrwsr-x joerg/bs 0 2003-10-11 14:32 OBJ/i386-sunos5-gcc/ +at_func_diff_devnull "$at_stderr" || at_failed=: +echo >>"$at_stdout"; $as_echo "drwxrwsr-x joerg/bs 0 2003-10-11 14:32 OBJ/i386-sunos5-gcc/ -rw-r--r-- joerg/bs 1 2003-10-11 14:32 OBJ/i386-sunos5-gcc/Dnull -rw-r--r-- joerg/bs 1743 2003-10-10 18:06 OBJ/i386-sunos5-gcc/star.d -rw-r--r-- joerg/bs 1460 2003-10-11 11:53 OBJ/i386-sunos5-gcc/header.d @@ -29232,45 +35364,36 @@ echo >>"$at_stdout"; echo "drwxrwsr-x joerg/bs 0 2003-10-11 14:32 OBJ/i -rw-r--r-- joerg/bs 2576 2003-10-10 18:07 OBJ/i386-sunos5-gcc/names.o -rw-r--r-- joerg/bs 952 2003-10-10 18:07 OBJ/i386-sunos5-gcc/movearch.o -rw-r--r-- joerg/bs 2756 2003-10-07 17:53 OBJ/i386-sunos5-gcc/table.o -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/multi-fail.at:26: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/multi-fail.at:26" - echo 1 > "$at_status_file" - exit 1 -fi - -$at_traceon +$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"` - ;; - - 75 ) # 75. ustar-big-2g.at:21: ustar-big-2g - at_setup_line='ustar-big-2g.at:21' - at_desc="ustar-big-2g" - $at_quiet $ECHO_N " 75: ustar-big-2g $ECHO_C" - at_xfail=no - echo "# -*- compilation -*-" >> "$at_group_log" - ( - echo "75. ustar-big-2g.at:21: testing ..." - $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_95 +#AT_START_96 +# 96. 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_xfail=no +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "96. ustar-big-2g.at:21: testing ..." + $at_traceon unset TAR_OPTIONS -$at_traceoff -echo "$at_srcdir/ustar-big-2g.at:26: +{ $at_traceoff +$as_echo "$at_srcdir/ustar-big-2g.at:26: cat /dev/null | bzip2 - > /dev/null 2>&1 || exit 77 @@ -29283,13 +35406,9 @@ tar --utc -tvjf \$STAR_TESTSCRIPTS/ustar-big-2g.tar.bz2 " echo ustar-big-2g.at:26 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; cat /dev/null | bzip2 - > /dev/null 2>&1 || exit 77 @@ -29300,11 +35419,9 @@ tarball_prereq ustar-big-2g.tar.bz2 b63979733629c8fcdf40b60065422767 $STAR_TESTS tar --utc -tvjf $STAR_TESTSCRIPTS/ustar-big-2g.tar.bz2 ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; cat /dev/null | bzip2 - > /dev/null 2>&1 || exit 77 @@ -29315,28 +35432,18 @@ tarball_prereq ustar-big-2g.tar.bz2 b63979733629c8fcdf40b60065422767 $STAR_TESTS tar --utc -tvjf $STAR_TESTSCRIPTS/ustar-big-2g.tar.bz2 ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false echo stderr:; tee stderr <"$at_stderr" -echo >>"$at_stdout"; echo "-rw------- jes/glone 2147483647 2002-06-15 14:53 big +echo >>"$at_stdout"; $as_echo "-rw------- jes/glone 2147483647 2002-06-15 14:53 big -rw-r--r-- jes/glone 0 2002-06-15 14:53 file -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/ustar-big-2g.at:26: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/ustar-big-2g.at:26" - echo 1 > "$at_status_file" - exit 1 -fi - -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } @@ -29352,28 +35459,28 @@ do done - $at_traceoff - $at_times_p && times >"$at_times_file" - ) 5>&1 2>&1 | eval $at_tee_pipe - at_status=`cat "$at_status_file"` - ;; - - 76 ) # 76. ustar-big-8g.at:21: ustar-big-8g - at_setup_line='ustar-big-8g.at:21' - at_desc="ustar-big-8g" - $at_quiet $ECHO_N " 76: ustar-big-8g $ECHO_C" - at_xfail=no - echo "# -*- compilation -*-" >> "$at_group_log" - ( - echo "76. ustar-big-8g.at:21: testing ..." - $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. 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_xfail=no +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "97. ustar-big-8g.at:21: testing ..." + $at_traceon unset TAR_OPTIONS -$at_traceoff -echo "$at_srcdir/ustar-big-8g.at:26: +{ $at_traceoff +$as_echo "$at_srcdir/ustar-big-8g.at:26: cat /dev/null | bzip2 - > /dev/null 2>&1 || exit 77 @@ -29386,13 +35493,9 @@ tar --utc -tvjf \$STAR_TESTSCRIPTS/ustar-big-8g.tar.bz2 " echo ustar-big-8g.at:26 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; cat /dev/null | bzip2 - > /dev/null 2>&1 || exit 77 @@ -29403,11 +35506,9 @@ tarball_prereq ustar-big-8g.tar.bz2 60ff503fa4b8288bef7ada89e9c91b0f $STAR_TESTS tar --utc -tvjf $STAR_TESTSCRIPTS/ustar-big-8g.tar.bz2 ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; cat /dev/null | bzip2 - > /dev/null 2>&1 || exit 77 @@ -29418,28 +35519,18 @@ tarball_prereq ustar-big-8g.tar.bz2 60ff503fa4b8288bef7ada89e9c91b0f $STAR_TESTS tar --utc -tvjf $STAR_TESTSCRIPTS/ustar-big-8g.tar.bz2 ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false echo stderr:; tee stderr <"$at_stderr" -echo >>"$at_stdout"; echo "-rw------- jes/glone 8589934591 2002-06-15 15:08 8gb-1 +echo >>"$at_stdout"; $as_echo "-rw------- jes/glone 8589934591 2002-06-15 15:08 8gb-1 -rw-r--r-- jes/glone 0 2002-06-15 14:53 file -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/ustar-big-8g.at:26: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/ustar-big-8g.at:26" - echo 1 > "$at_status_file" - exit 1 -fi - -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } @@ -29455,28 +35546,28 @@ do done - $at_traceoff - $at_times_p && times >"$at_times_file" - ) 5>&1 2>&1 | eval $at_tee_pipe - at_status=`cat "$at_status_file"` - ;; - - 77 ) # 77. pax-big-10g.at:21: pax-big-10g - at_setup_line='pax-big-10g.at:21' - at_desc="pax-big-10g" - $at_quiet $ECHO_N " 77: pax-big-10g $ECHO_C" - at_xfail=no - echo "# -*- compilation -*-" >> "$at_group_log" - ( - echo "77. pax-big-10g.at:21: testing ..." - $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_97 +#AT_START_98 +# 98. 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_xfail=no +echo "# -*- compilation -*-" >> "$at_group_log" +( + $as_echo "98. pax-big-10g.at:21: testing ..." + $at_traceon unset TAR_OPTIONS -$at_traceoff -echo "$at_srcdir/pax-big-10g.at:26: +{ $at_traceoff +$as_echo "$at_srcdir/pax-big-10g.at:26: cat /dev/null | bzip2 - > /dev/null 2>&1 || exit 77 @@ -29489,13 +35580,9 @@ tar --utc -tvjf \$STAR_TESTSCRIPTS/pax-big-10g.tar.bz2 " echo pax-big-10g.at:26 >"$at_check_line_file" -at_trace_this= -if test -n "$at_traceon"; then - echo 'Not enabling shell tracing (command contains an embedded newline)' -fi - -if test -n "$at_trace_this"; then - ( $at_traceon; +if { echo 'Not enabling shell tracing (command contains an embedded newline)' + false; }; then + ( $at_traceon; cat /dev/null | bzip2 - > /dev/null 2>&1 || exit 77 @@ -29506,11 +35593,9 @@ tarball_prereq pax-big-10g.tar.bz2 ca15c23acc8d8bb1f27e60113a5f8bff $STAR_TESTSC tar --utc -tvjf $STAR_TESTSCRIPTS/pax-big-10g.tar.bz2 ) >"$at_stdout" 2>"$at_stder1" - at_status=$? - grep '^ *+' "$at_stder1" >&2 - grep -v '^ *+' "$at_stder1" >"$at_stderr" + at_func_filter_trace $? else - ( :; + ( :; cat /dev/null | bzip2 - > /dev/null 2>&1 || exit 77 @@ -29521,28 +35606,18 @@ tarball_prereq pax-big-10g.tar.bz2 ca15c23acc8d8bb1f27e60113a5f8bff $STAR_TESTSC tar --utc -tvjf $STAR_TESTSCRIPTS/pax-big-10g.tar.bz2 ) >"$at_stdout" 2>"$at_stderr" - at_status=$? fi - +at_status=$? at_failed=false echo stderr:; tee stderr <"$at_stderr" -echo >>"$at_stdout"; echo "-rw------- jes/glone 10737418240 2002-06-15 21:18 10g +echo >>"$at_stdout"; $as_echo "-rw------- jes/glone 10737418240 2002-06-15 21:18 10g -rw-r--r-- jes/glone 0 2002-06-15 14:53 file -" | $at_diff - "$at_stdout" || at_failed=: -case $at_status in - 77) echo 77 > "$at_status_file"; exit 77;; - 0) ;; - *) echo "$at_srcdir/pax-big-10g.at:26: exit code was $at_status, expected 0" - at_failed=:;; -esac -if $at_failed; then - +" | \ + $at_diff - "$at_stdout" || at_failed=: +at_func_check_status 0 $at_status "$at_srcdir/pax-big-10g.at:26" - echo 1 > "$at_status_file" - exit 1 -fi - -$at_traceon +$at_failed && at_func_log_failure +$at_traceon; } @@ -29558,315 +35633,8 @@ do done - $at_traceoff - $at_times_p && times >"$at_times_file" - ) 5>&1 2>&1 | eval $at_tee_pipe - at_status=`cat "$at_status_file"` - ;; - - - * ) - echo "$as_me: no such test group: $at_group" >&2 - continue - ;; - esac - - # Be sure to come back to the suite directory, in particular - # since below we might `rm' the group directory we are in currently. - cd "$at_suite_dir" - - case $at_group in - banner-*) ;; - *) - if test ! -f "$at_check_line_file"; then - sed "s/^ */$as_me: warning: /" <<_ATEOF - A failure happened in a test group before any test could be - run. This means that test suite is improperly designed. Please - report this failure to . -_ATEOF - echo "$at_setup_line" >"$at_check_line_file" - fi - at_group_count=`expr 1 + $at_group_count` - $at_verbose $ECHO_N "$at_group. $at_setup_line: $ECHO_C" - echo $ECHO_N "$at_group. $at_setup_line: $ECHO_C" >> "$at_group_log" - case $at_xfail:$at_status in - yes:0) - at_msg="UNEXPECTED PASS" - at_xpass_list="$at_xpass_list $at_group" - at_errexit=$at_errexit_p - ;; - no:0) - at_msg="ok" - at_pass_list="$at_pass_list $at_group" - at_errexit=false - ;; - *:77) - at_msg='skipped ('`cat "$at_check_line_file"`')' - at_skip_list="$at_skip_list $at_group" - at_errexit=false - ;; - yes:*) - at_msg='expected failure ('`cat "$at_check_line_file"`')' - at_xfail_list="$at_xfail_list $at_group" - at_errexit=false - ;; - no:*) - at_msg='FAILED ('`cat "$at_check_line_file"`')' - at_fail_list="$at_fail_list $at_group" - at_errexit=$at_errexit_p - ;; - esac - # Make sure there is a separator even with long titles. - echo " $at_msg" - at_log_msg="$at_group. $at_desc ($at_setup_line): $at_msg" - case $at_status in - 0|77) - # $at_times_file is only available if the group succeeded. - # We're not including the group log, so the success message - # is written in the global log separately. But we also - # write to the group log in case they're using -d. - if test -f "$at_times_file"; then - at_log_msg="$at_log_msg ("`sed 1d "$at_times_file"`')' - rm -f "$at_times_file" - fi - echo "$at_log_msg" >> "$at_group_log" - echo "$at_log_msg" >&5 - - # Cleanup the group directory, unless the user wants the files. - if $at_debug_p ; then - { - echo "#! /bin/sh" - echo 'test "${ZSH_VERSION+set}" = set && alias -g '\''${1+"$@"}'\''='\''"$@"'\''' - echo "cd '$at_dir'" - echo 'exec ${CONFIG_SHELL-'"$SHELL"'}' "$0" \ - '-v -d' "$at_debug_args" "$at_group" '${1+"$@"}' - echo 'exit 1' - } >$at_group_dir/run - chmod +x $at_group_dir/run - - elif test -d "$at_group_dir"; then - find "$at_group_dir" -type d ! -perm -700 -exec chmod u+rwx \{\} \; - rm -fr "$at_group_dir" - fi - ;; - *) - # Upon failure, include the log into the testsuite's global - # log. The failure message is written in the group log. It - # is later included in the global log. - echo "$at_log_msg" >> "$at_group_log" - - # Upon failure, keep the group directory for autopsy, and - # create the debugging script. - { - echo "#! /bin/sh" - echo 'test "${ZSH_VERSION+set}" = set && alias -g '\''${1+"$@"}'\''='\''"$@"'\''' - echo "cd '$at_dir'" - echo 'exec ${CONFIG_SHELL-'"$SHELL"'}' "$0" \ - '-v -d' "$at_debug_args" "$at_group" '${1+"$@"}' - echo 'exit 1' - } >$at_group_dir/run - chmod +x $at_group_dir/run - - $at_errexit && break - ;; - esac - ;; - esac -done - -# Back to the top directory. -cd "$at_dir" - -# Compute the duration of the suite. -at_stop_date=`date` -at_stop_time=`date +%s 2>/dev/null` -echo "$as_me: ending at: $at_stop_date" >&5 -case $at_start_time,$at_stop_time in - [0-9]*,[0-9]*) - at_duration_s=`expr $at_stop_time - $at_start_time` - at_duration_m=`expr $at_duration_s / 60` - at_duration_h=`expr $at_duration_m / 60` - at_duration_s=`expr $at_duration_s % 60` - at_duration_m=`expr $at_duration_m % 60` - at_duration="${at_duration_h}h ${at_duration_m}m ${at_duration_s}s" - echo "$as_me: test suite duration: $at_duration" >&5 - ;; -esac - -# Wrap up the test suite with summary statistics. -at_skip_count=`set dummy $at_skip_list; shift; echo $#` -at_fail_count=`set dummy $at_fail_list; shift; echo $#` -at_xpass_count=`set dummy $at_xpass_list; shift; echo $#` -at_xfail_count=`set dummy $at_xfail_list; shift; echo $#` - -at_run_count=`expr $at_group_count - $at_skip_count` -at_unexpected_count=`expr $at_xpass_count + $at_fail_count` -at_total_fail_count=`expr $at_xfail_count + $at_fail_count` - -echo -cat <<\_ASBOX -## ------------- ## -## Test results. ## -## ------------- ## -_ASBOX -echo -{ - echo - cat <<\_ASBOX -## ------------- ## -## Test results. ## -## ------------- ## -_ASBOX - echo -} >&5 - -if test $at_run_count = 1; then - at_result="1 test" - at_were=was -else - at_result="$at_run_count tests" - at_were=were -fi -if $at_errexit_p && test $at_unexpected_count != 0; then - if test $at_xpass_count = 1; then - at_result="$at_result $at_were run, one passed" - else - at_result="$at_result $at_were run, one failed" - fi - at_result="$at_result unexpectedly and inhibited subsequent tests." -else - # Don't you just love exponential explosion of the number of cases? - case $at_xpass_count:$at_fail_count:$at_xfail_count in - # So far, so good. - 0:0:0) at_result="$at_result $at_were successful." ;; - 0:0:*) at_result="$at_result behaved as expected." ;; - - # Some unexpected failures - 0:*:0) at_result="$at_result $at_were run, -$at_fail_count failed unexpectedly." ;; - - # Some failures, both expected and unexpected - 0:*:1) at_result="$at_result $at_were run, -$at_total_fail_count failed ($at_xfail_count expected failure)." ;; - 0:*:*) at_result="$at_result $at_were run, -$at_total_fail_count failed ($at_xfail_count expected failures)." ;; - - # No unexpected failures, but some xpasses - *:0:*) at_result="$at_result $at_were run, -$at_xpass_count passed unexpectedly." ;; - - # No expected failures, but failures and xpasses - *:1:0) at_result="$at_result $at_were run, -$at_unexpected_count did not behave as expected ($at_fail_count unexpected failure)." ;; - *:*:0) at_result="$at_result $at_were run, -$at_unexpected_count did not behave as expected ($at_fail_count unexpected failures)." ;; - - # All of them. - *:*:1) at_result="$at_result $at_were run, -$at_xpass_count passed unexpectedly, -$at_total_fail_count failed ($at_xfail_count expected failure)." ;; - *:*:*) at_result="$at_result $at_were run, -$at_xpass_count passed unexpectedly, -$at_total_fail_count failed ($at_xfail_count expected failures)." ;; - esac - - if test $at_skip_count = 0 && test $at_run_count -gt 1; then - at_result="All $at_result" - fi -fi - -# Now put skips in the mix. -case $at_skip_count in - 0) ;; - 1) at_result="$at_result -1 test was skipped." ;; - *) at_result="$at_result -$at_skip_count tests were skipped." ;; -esac - -if test $at_unexpected_count = 0; then - echo "$at_result" - echo "$at_result" >&5 -else - echo "ERROR: $at_result" >&2 - echo "ERROR: $at_result" >&5 - { - echo - cat <<\_ASBOX -## ------------------------ ## -## Summary of the failures. ## -## ------------------------ ## -_ASBOX - - # Summary of failed and skipped tests. - if test $at_fail_count != 0; then - echo "Failed tests:" - $SHELL "$0" $at_fail_list --list - echo - fi - if test $at_skip_count != 0; then - echo "Skipped tests:" - $SHELL "$0" $at_skip_list --list - echo - fi - if test $at_xpass_count != 0; then - echo "Unexpected passes:" - $SHELL "$0" $at_xpass_list --list - echo - fi - if test $at_fail_count != 0; then - cat <<\_ASBOX -## ---------------------- ## -## Detailed failed tests. ## -## ---------------------- ## -_ASBOX - echo - for at_group in $at_fail_list - do - at_group_normalized=$at_group - - while :; do - case $at_group_normalized in #( - $at_format*) break;; - esac - at_group_normalized=0$at_group_normalized - done - - cat "$at_suite_dir/$at_group_normalized/$as_me.log" - echo - done - echo - fi - if test -n "$at_top_srcdir"; then - sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX -## ${at_top_build_prefix}config.log ## -_ASBOX - sed 's/^/| /' ${at_top_build_prefix}config.log - echo - fi - } >&5 - - sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX -## $as_me.log was created. ## -_ASBOX - - echo - echo "Please send \`${at_testdir+${at_testdir}/}$as_me.log' and all information you think might help:" - echo - echo " To: " - echo " Subject: [GNU tar 1.22] $as_me:$at_fail_list${at_fail_list:+ failed${at_xpass_list:+,}}$at_xpass_list${at_xpass_list:+ passed unexpectedly}" - echo - if test $at_debug_p = false; then - echo - echo 'You may investigate any problem if you feel able to do so, in which' - echo 'case the test suite provides a good starting point. Its output may' - echo "be found below \`${at_testdir+${at_testdir}/}$as_me.dir'." - echo - fi - exit 1 -fi - -exit 0 - - - + $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_98