testsuite   [plain text]


#! /bin/sh
#
# Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software
# Foundation, Inc.
# This test suite is free software; the Free Software Foundation gives
# unlimited permission to copy, distribute and modify it.
## --------------------- ##
## M4sh Initialization.  ##
## --------------------- ##

# Be Bourne compatible
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
  # is contrary to our usage.  Disable this feature.
  alias -g '${1+"$@"}'='"$@"'
  setopt NO_GLOB_SUBST
else
  case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
fi
BIN_SH=xpg4; export BIN_SH # for Tru64
DUALCASE=1; export DUALCASE # for MKS sh


# PATH needs CR
# Avoid depending upon Character Ranges.
as_cr_letters='abcdefghijklmnopqrstuvwxyz'
as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
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=';'
  else
    PATH_SEPARATOR=:
  fi
  rm -f conf$$.sh
fi

# Support unset when possible.
if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
  as_unset=unset
else
  as_unset=false
fi


# IFS
# We need space, tab and new line, in precisely that order.  Quoting is
# 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.
case $0 in
  *[\\/]* ) as_myself=$0 ;;
  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
  IFS=$as_save_IFS
  test -z "$as_dir" && as_dir=.
  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
done
IFS=$as_save_IFS

     ;;
esac
# We did not find ourselves, most probably we were run as `sh COMMAND'
# in which case we are not to be found in the path.
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
  { (exit 1); exit 1; }
fi

# Work around bugs in pre-3.0 UWIN ksh.
for as_var in ENV MAIL MAILPATH
do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
done
PS1='$ '
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

# Required to use basename.
if expr a : '\(a\)' >/dev/null 2>&1 &&
   test "X`expr 00001 : '.*\(...\)'`" = X001; then
  as_expr=expr
else
  as_expr=false
fi

if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
  as_basename=basename
else
  as_basename=false
fi


# Name of the executable.
as_me=`$as_basename -- "$0" ||
$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
	 X"$0" : 'X\(//\)$' \| \
	 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
echo X/"$0" |
    sed '/^.*\/\([^/][^/]*\)\/*$/{
	    s//\1/
	    q
	  }
	  /^X\/\(\/\/\)$/{
	    s//\1/
	    q
	  }
	  /^X\/\(\/\).*/{
	    s//\1/
	    q
	  }
	  s/.*/./; q'`

# CDPATH.
$as_unset CDPATH


if test "x$CONFIG_SHELL" = x; then
  if (eval ":") 2>/dev/null; then
  as_have_required=yes
else
  as_have_required=no
fi

  if test $as_have_required = yes && 	 (eval ":
(as_func_return () {
  (exit \$1)
}
as_func_success () {
  as_func_return 0
}
as_func_failure () {
  as_func_return 1
}
as_func_ret_success () {
  return 0
}
as_func_ret_failure () {
  return 1
}

exitcode=0
if as_func_success; then
  :
else
  exitcode=1
  echo as_func_success failed.
fi

if as_func_failure; then
  exitcode=1
  echo as_func_failure succeeded.
fi

if as_func_ret_success; then
  :
else
  exitcode=1
  echo as_func_ret_success failed.
fi

if as_func_ret_failure; then
  exitcode=1
  echo as_func_ret_failure succeeded.
fi

if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
  :
else
  exitcode=1
  echo positional parameters were not saved.
fi

test \$exitcode = 0) || { (exit 1); exit 1; }

(
  as_lineno_1=\$LINENO
  as_lineno_2=\$LINENO
  test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" &&
  test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; }
") 2> /dev/null; then
  :
else
  as_candidate_shells=
    as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in /usr/bin/posix$PATH_SEPARATOR/bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
do
  IFS=$as_save_IFS
  test -z "$as_dir" && as_dir=.
  case $as_dir in
	 /*)
	   for as_base in sh bash ksh sh5; do
	     as_candidate_shells="$as_candidate_shells $as_dir/$as_base"
	   done;;
       esac
done
IFS=$as_save_IFS


      for as_shell in $as_candidate_shells $SHELL; do
	 # Try only shells that exist, to save several forks.
	 if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
		{ ("$as_shell") 2> /dev/null <<\_ASEOF
# Be Bourne compatible
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
  # is contrary to our usage.  Disable this feature.
  alias -g '${1+"$@"}'='"$@"'
  setopt NO_GLOB_SUBST
else
  case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
fi
BIN_SH=xpg4; export BIN_SH # for Tru64
DUALCASE=1; export DUALCASE # for MKS sh

:
_ASEOF
}; then
  CONFIG_SHELL=$as_shell
	       as_have_required=yes
	       if { "$as_shell" 2> /dev/null <<\_ASEOF
# Be Bourne compatible
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
  # is contrary to our usage.  Disable this feature.
  alias -g '${1+"$@"}'='"$@"'
  setopt NO_GLOB_SUBST
else
  case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
fi
BIN_SH=xpg4; export BIN_SH # for Tru64
DUALCASE=1; export DUALCASE # for MKS sh

:
(as_func_return () {
  (exit $1)
}
as_func_success () {
  as_func_return 0
}
as_func_failure () {
  as_func_return 1
}
as_func_ret_success () {
  return 0
}
as_func_ret_failure () {
  return 1
}

exitcode=0
if as_func_success; then
  :
else
  exitcode=1
  echo as_func_success failed.
fi

if as_func_failure; then
  exitcode=1
  echo as_func_failure succeeded.
fi

if as_func_ret_success; then
  :
else
  exitcode=1
  echo as_func_ret_success failed.
fi

if as_func_ret_failure; then
  exitcode=1
  echo as_func_ret_failure succeeded.
fi

if ( set x; as_func_ret_success y && test x = "$1" ); then
  :
else
  exitcode=1
  echo positional parameters were not saved.
fi

test $exitcode = 0) || { (exit 1); exit 1; }

(
  as_lineno_1=$LINENO
  as_lineno_2=$LINENO
  test "x$as_lineno_1" != "x$as_lineno_2" &&
  test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; }

_ASEOF
}; then
  break
fi

fi

      done

      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+"$@"}
fi


    if test $as_have_required = no; then
  echo This script requires a shell more modern than all the
      echo shells that I found on your system.  Please install a
      echo modern shell, or manually run the script under such a
      echo shell if you do have one.
      { (exit 1); exit 1; }
fi


fi

fi



(eval "as_func_return () {
  (exit \$1)
}
as_func_success () {
  as_func_return 0
}
as_func_failure () {
  as_func_return 1
}
as_func_ret_success () {
  return 0
}
as_func_ret_failure () {
  return 1
}

exitcode=0
if as_func_success; then
  :
else
  exitcode=1
  echo as_func_success failed.
fi

if as_func_failure; then
  exitcode=1
  echo as_func_failure succeeded.
fi

if as_func_ret_success; then
  :
else
  exitcode=1
  echo as_func_ret_success failed.
fi

if as_func_ret_failure; then
  exitcode=1
  echo as_func_ret_failure succeeded.
fi

if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
  :
else
  exitcode=1
  echo positional parameters were not saved.
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
}



  as_lineno_1=$LINENO
  as_lineno_2=$LINENO
  test "x$as_lineno_1" != "x$as_lineno_2" &&
  test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {

  # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
  # uniformly replaced by the line number.  The first 'sed' inserts a
  # line-number line after each line using $LINENO; the second 'sed'
  # does the real work.  The second script uses 'N' to pair each
  # line-number line with the line containing $LINENO, and appends
  # trailing '-' during substitution so that $LINENO is not a special
  # case at line end.
  # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
  # scripts with optimization help from Paolo Bonzini.  Blame Lee
  # E. McMahon (1931-1989) for sed's syntax.  :-)
  sed -n '
    p
    /[$]LINENO/=
  ' <$as_myself |
    sed '
      s/[$]LINENO.*/&-/
      t lineno
      b
      :lineno
      N
      :loop
      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
      t loop
      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
   { (exit 1); exit 1; }; }

  # Don't try to exec as it changes $[0], causing all sort of problems
  # (the dirname of $[0] is not the place where we might find the
  # original and so on.  Autoconf is especially sensitive to this).
  . "./$as_me.lineno"
  # Exit status is that of the last command.
  exit
}


if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
  as_dirname=dirname
else
  as_dirname=false
fi

ECHO_C= ECHO_N= ECHO_T=
case `echo -n x` in
-n*)
  case `echo 'x\c'` in
  *c*) ECHO_T='	';;	# ECHO_T is single tab character.
  *)   ECHO_C='\c';;
  esac;;
*)
  ECHO_N='-n';;
esac

if expr a : '\(a\)' >/dev/null 2>&1 &&
   test "X`expr 00001 : '.*\(...\)'`" = X001; then
  as_expr=expr
else
  as_expr=false
fi

rm -f conf$$ conf$$.exe conf$$.file
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 ||
    as_ln_s='cp -p'
elif ln conf$$.file conf$$ 2>/dev/null; then
  as_ln_s=ln
else
  as_ln_s='cp -p'
fi
rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
rmdir conf$$.dir 2>/dev/null

if mkdir -p . 2>/dev/null; then
  as_mkdir_p=:
else
  test -d ./-p && rmdir ./-p
  as_mkdir_p=false
fi

# Find out whether ``test -x'' works.  Don't use a zero-byte file, as
# systems may use methods other than mode bits to determine executability.
cat >conf$$.file <<_ASEOF
#! /bin/sh
exit 0
_ASEOF
chmod +x conf$$.file
if test -x conf$$.file >/dev/null 2>&1; then
  as_executable_p="test -x"
else
  as_executable_p=:
fi
rm -f conf$$.file

# Sed expression to map a string onto a valid CPP name.
as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"

# Sed expression to map a string onto a valid variable name.
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.
at_times_p=false
(times) >/dev/null 2>&1 && at_times_p=:

# CLI Arguments to pass to the debugging scripts.
at_debug_args=
# -e sets to true
at_errexit_p=false
# Shall we be verbose?
at_verbose=:
at_quiet=echo

# 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.
at_debug_p=false
# Display help message?
at_help_p=false
# Display the version message?
at_version_p=false
# List test groups?
at_list_p=false
# Test groups to run
at_groups=

# The directory we are in.
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

# 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'
# 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;
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;
7;indexfile.at:26;tar --index-file=this_is_a_very_long_file_name_which_raises_issues.c --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;chtype.at:27;changed file types in incrementals;incremental chtype;
37;ignfail.at:23;ignfail;ignfail;
38;link01.at:33;link count gt 2;link01;
39;longv7.at:24;long names in V7 archives;longname longv7;
40;long01.at:28;long file names divisible by block size;longname long512;
41;lustar01.at:21;ustar: unsplittable file name;longname ustar lustar01;
42;lustar02.at:21;ustar: unsplittable path name;longname ustar lustar02;
43;lustar03.at:21;ustar: splitting long names;longname ustar lustar03;
44;multiv01.at:23;multivolume dumps from pipes;multivolume multiv multiv01;
45;multiv02.at:28;skipping a straddling member;multivolume multiv multiv02;
46;multiv03.at:30;MV archive & long filenames;multivolume multiv multiv03;
47;multiv04.at:36;split directory members in a MV archive;multivolume multiv incremental multiv04;
48;multiv05.at:26;Restoring after an out of sync folume;multivolume multiv multiv05 sync;
49;old.at:23;old archives;old;
50;recurse.at:21;recurse;recurse;
51;same-order01.at:26;working -C with --same-order;same-order same-order01;
52;same-order02.at:25;multiple -C options;same-order same-order02;
53;shortrec.at:25;short records;shortrec.at;
54;sparse01.at:21;sparse files;sparse sparse01;
55;sparse02.at:21;extracting sparse file over a pipe;sparse sparse02;
56;sparse03.at:21;storing sparse files > 8G;sparse sparse03;
57;sparsemv.at:21;sparse files in MV archives;sparse multiv sparsemv;
58;spmvp00.at:21;sparse files in PAX MV archives, v.0.0;sparse multiv sparsemvp sparsemvp00;
59;spmvp01.at:21;sparse files in PAX MV archives, v.0.1;sparse multiv sparsemvp sparsemvp01;
60;spmvp10.at:21;sparse files in PAX MV archives, v.1.0;sparse multiv sparsemvp sparsemvp10;
61;update.at:27;update unchanged directories;update;
62;volume.at:23;volume;volume volcheck;
63;volsize.at:29;volume header size;volume volsize;
64;comprec.at:21;compressed format recognition;comprec;
65;truncate.at:29;truncate;truncate filechange;
66;grow.at:24;grow;grow filechange;
67;gtarfail.at:21;gtarfail;star gtarfail;
68;gtarfail2.at:21;gtarfail2;star gtarfail2;
69;multi-fail.at:21;multi-fail;star multivolume multiv multi-fail;
70;ustar-big-2g.at:21;ustar-big-2g;star ustar-big-2g;
71;ustar-big-8g.at:21;ustar-big-8g;star ustar-big-8g;
72;pax-big-10g.at:21;pax-big-10g;star pax-big-10g;
'

at_prev=
for at_option
do
  # If the previous option needs an argument, assign it.
  if test -n "$at_prev"; then
    at_option=$at_prev=$at_option
    at_prev=
  fi

  case $at_option in
  *=*) at_optarg=`expr "x$at_option" : 'x[^=]*=\(.*\)'` ;;
  *)   at_optarg= ;;
  esac

  # Accept the important Cygnus configure options, so we can diagnose typos.

  case $at_option in
    --help | -h )
	at_help_p=:
	;;

    --list | -l )
	at_list_p=:
	;;

    --version | -V )
	at_version_p=:
	;;

    --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
	;;

    --debug | -d )
	at_debug_p=:
	;;

    --errexit | -e )
	at_debug_p=:
	at_errexit_p=:
	;;

    --verbose | -v )
	at_verbose=echo; at_quiet=:
	;;

    --trace | -x )
	at_traceon='set -x'; at_traceoff='set +x'
	;;

    [0-9] | [0-9][0-9] | [0-9][0-9][0-9] | [0-9][0-9][0-9][0-9])
	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 " | \
	  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 " | \
	  sed -e 's/\( '$at_range_end'\) .*$/\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]-[0-9][0-9][0-9][0-9] | [0-9][0-9]-[0-9][0-9] | \
    [0-9][0-9]-[0-9][0-9][0-9] | [0-9][0-9]-[0-9][0-9][0-9][0-9] | \
    [0-9][0-9][0-9]-[0-9][0-9][0-9] | \
    [0-9][0-9][0-9]-[0-9][0-9][0-9][0-9] | \
    [0-9][0-9][0-9][0-9]-[0-9][0-9][0-9][0-9] )
	at_range_start=`expr $at_option : '\(.*\)-'`
	at_range_end=`expr $at_option : '.*-\(.*\)'`
	if test $at_range_start -gt $at_range_end; then
	  at_tmp=$at_range_end
	  at_range_end=$at_range_start
	  at_range_start=$at_tmp
	fi
	at_range=`echo " $at_groups_all " | \
	  sed -e 's/^.*\( '$at_range_start' \)/\1/' \
	      -e 's/\( '$at_range_end'\) .*$/\1/'`
	at_groups="$at_groups$at_range "
	;;

    # Keywords.
    --keywords | -k )
	at_prev=--keywords
	;;
    --keywords=* )
	at_groups_selected=$at_help_all
	at_save_IFS=$IFS
	IFS=,
	set X $at_optarg
	shift
	IFS=$at_save_IFS
	for at_keyword
	do
	  at_invert=
	  case $at_keyword in
	  '!'*)
	    at_invert="-v"
	    at_keyword=`expr "X$at_keyword" : 'X!\(.*\)'`
	    ;;
	  esac
	  # It is on purpose that we match the test group titles too.
	  at_groups_selected=`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_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'"
	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
	exit 1
	;;
  esac
done

# 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
	}'`
fi

# Help message.
if $at_help_p; then
  cat <<_ATEOF
Usage: $0 [OPTION]... [VARIABLE=VALUE]... [TESTS]

Run all the tests, or the selected TESTS, given by numeric ranges, and
save a detailed log file.  Upon failure, create debugging scripts.

You should not change environment variables unless explicitly passed
as command line arguments.  Set \`AUTOTEST_PATH' to select the executables
to exercise.  Each relative directory is expanded as build and source
directories relatively to the top level of this distribution.  E.g.,

  $ $0 AUTOTEST_PATH=bin

possibly amounts into

  PATH=/tmp/foo-1.0/bin:/src/foo-1.0/bin:\$PATH
_ATEOF
cat <<_ATEOF

Operation modes:
  -h, --help     print the help message, then exit
  -V, --version  print version number, then exit
  -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

Execution tuning:
  -k, --keywords=KEYWORDS
	         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
  -d, --debug    inhibit clean up and top-level logging
	         default for debugging scripts
  -x, --trace    enable tests shell tracing
_ATEOF
cat <<_ATEOF

Report bugs to <bug-tar@gnu.org>.
_ATEOF
  exit 0
fi

# List of tests.
if $at_list_p; then
  cat <<_ATEOF
GNU tar 1.17 test suite test groups:

 NUM: FILE-NAME:LINE     TEST-GROUP-NAME
      KEYWORDS

_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" |
    awk 'BEGIN { FS = ";" }
	 NR == 1 {
	   for (n = split($ 0, a, " "); n; n--) selected[a[n]] = 1
	   next
	 }
	 {
	   if (selected[$ 1]) {
	     printf " %3d: %-18s %s\n", $ 1, $ 2, $ 3
	     if ($ 4) printf "      %s\n", $ 4
	   }
	 }'
  exit 0
fi
if $at_version_p; then
  echo "$as_me (GNU tar 1.17)"
  cat <<\_ACEOF

Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006 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
fi

# Don't take risks: use only absolute directories in PATH.
#
# For stand-alone test suites, 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"`
at_path=
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $AUTOTEST_PATH $PATH
do
  IFS=$as_save_IFS
  test -z "$as_dir" && as_dir=.
  test -n "$at_path" && at_path=$at_path$PATH_SEPARATOR
case $as_dir in
  [\\/]* | ?:[\\/]* )
    at_path=$at_path$as_dir
    ;;
  * )
    if test -z "$at_top_build_prefix"; then
      # Stand-alone test suite.
      at_path=$at_path$as_dir
    else
      # Embedded test suite.
      at_path=$at_path$at_top_build_prefix$as_dir$PATH_SEPARATOR
      at_path=$at_path$at_top_srcdir/$as_dir
    fi
    ;;
esac
done
IFS=$as_save_IFS


# Now build and simplify PATH.
#
# There might be directories that don't exist, but don't redirect
# builtins' (eg., cd) stderr directly: Ultrix's sh hates that.
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 ;;
esac
done
IFS=$as_save_IFS

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
  : >"$at_suite_log"
fi
exec 5>>"$at_suite_log"

# Banners and logs.
cat <<\_ASBOX
## ------------------------ ##
## GNU tar 1.17 test suite. ##
## ------------------------ ##
_ASBOX
{
  cat <<\_ASBOX
## ------------------------ ##
## GNU tar 1.17 test suite. ##
## ------------------------ ##
_ASBOX
  echo

  echo "$as_me: command line was:"
  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.
  if test -n "$at_top_srcdir"; then
    cat <<\_ASBOX
## ----------- ##
## ChangeLogs. ##
## ----------- ##
_ASBOX
    echo
    for at_file in `find "$at_top_srcdir" -name ChangeLog -print`
    do
      echo "$as_me: $at_file:"
      sed 's/^/| /;10q' $at_file
      echo
    done

    {
cat <<_ASUNAME
## --------- ##
## Platform. ##
## --------- ##

hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
uname -m = `(uname -m) 2>/dev/null || echo unknown`
uname -r = `(uname -r) 2>/dev/null || echo unknown`
uname -s = `(uname -s) 2>/dev/null || echo unknown`
uname -v = `(uname -v) 2>/dev/null || echo unknown`

/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
/bin/uname -X     = `(/bin/uname -X) 2>/dev/null     || echo unknown`

/bin/arch              = `(/bin/arch) 2>/dev/null              || echo unknown`
/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null       || echo unknown`
/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
/usr/bin/hostinfo      = `(/usr/bin/hostinfo) 2>/dev/null      || echo unknown`
/bin/machine           = `(/bin/machine) 2>/dev/null           || echo unknown`
/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null       || echo unknown`
/bin/universe          = `(/bin/universe) 2>/dev/null          || echo unknown`

_ASUNAME

as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
  IFS=$as_save_IFS
  test -z "$as_dir" && as_dir=.
  echo "PATH: $as_dir"
done
IFS=$as_save_IFS

}
    echo
  fi

  # Contents of the config files.
  for at_file in atconfig atlocal
  do
    test -r $at_file || continue
    echo "$as_me: $at_file:"
    sed 's/^/| /' $at_file
    echo
  done

  cat <<\_ASBOX
## ---------------- ##
## Tested programs. ##
## ---------------- ##
_ASBOX
  echo
} >&5

# Report what programs are being tested.
for at_program in : $at_tested
do
  test "$at_program" = : && continue
  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
  IFS=$as_save_IFS
  test -z "$as_dir" && as_dir=.
  test -f "$as_dir/$at_program" && break
done
IFS=$as_save_IFS

  if test -f "$as_dir/$at_program"; then
    {
      echo "$at_srcdir/testsuite.at:92: $as_dir/$at_program --version"
      "$as_dir/$at_program" --version
      echo
    } >&5 2>&1
  else
    { { echo "$as_me:$LINENO: error: cannot find $at_program" >&5
echo "$as_me: error: cannot find $at_program" >&2;}
   { (exit 1); exit 1; }; }
  fi
done

{
  cat <<\_ASBOX
## ------------------ ##
## Running the tests. ##
## ------------------ ##
_ASBOX
} >&5

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

# 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;}
   { (exit 1); exit 1; }; }

# Can we diff with `/dev/null'?  DU 5.0 refuses.
if diff /dev/null /dev/null >/dev/null 2>&1; then
  at_devnull=/dev/null
else
  at_devnull=$at_suite_dir/devnull
  >"$at_devnull"
fi

# Use `diff -u' when possible.
if at_diff=`diff -u "$at_devnull" "$at_devnull" 2>&1` && test -z "$at_diff"
then
  at_diff='diff -u'
else
  at_diff=diff
fi


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
      ;;

    *)
      at_group_normalized=$at_group

  while :; do
    case $at_group_normalized in #(
    $at_format*) break;;
    esac
    at_group_normalized=0$at_group_normalized
  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
  case $as_dir in #(
  -*) as_dir=./$as_dir;;
  esac
  test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
    as_dirs=
    while :; do
      case $as_dir in #(
      *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #(
      *) as_qdir=$as_dir;;
      esac
      as_dirs="'$as_qdir' $as_dirs"
      as_dir=`$as_dirname -- "$as_dir" ||
$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" |
    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
	    s//\1/
	    q
	  }
	  /^X\(\/\/\)[^/].*/{
	    s//\1/
	    q
	  }
	  /^X\(\/\/\)$/{
	    s//\1/
	    q
	  }
	  /^X\(\/\).*/{
	    s//\1/
	    q
	  }
	  s/.*/./; q'`
      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;}
   { (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
    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_trace_this=
if test -n "$at_traceon"; then
    at_trace_this=yes
fi

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

at_failed=false
$at_diff "$at_devnull" "$at_stderr" || at_failed=:
echo >>"$at_stdout"; echo "tar (GNU tar) 1.17
" | $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


  echo 1 > "$at_status_file"
  exit 1
else
  rm -f $XFAILFILE
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"`
    ;;

  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


mkdir directory
genfile --length 10240 --pattern zeros --file directory/file1
genfile --length 13 --file directory/file2
tar cf archive directory|sort
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

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 *


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
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"
else
    ( :;
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
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_failed=false
$at_diff "$at_devnull" "$at_stderr" || at_failed=:
echo >>"$at_stdout"; 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:
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 --length 10240 --pattern zeros --file directory/file1
genfile --length 13 --file directory/file2
tar cf archive directory|sort
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

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 *


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
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"
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 --length 10240 --pattern zeros --file directory/file1
genfile --length 13 --file directory/file2
tar cf archive directory|sort
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_failed=false
$at_diff "$at_devnull" "$at_stderr" || at_failed=:
echo >>"$at_stdout"; 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:
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


mkdir directory
genfile --length 10240 --pattern zeros --file directory/file1
genfile --length 13 --file directory/file2
tar cf archive directory|sort
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

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 *


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
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"
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


mkdir directory
genfile --length 10240 --pattern zeros --file directory/file1
genfile --length 13 --file directory/file2
tar cf archive directory|sort
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_failed=false
$at_diff "$at_devnull" "$at_stderr" || at_failed=:
echo >>"$at_stdout"; 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:
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 --length 10240 --pattern zeros --file directory/file1
genfile --length 13 --file directory/file2
tar cf archive directory|sort
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

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 *


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
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"
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 --length 10240 --pattern zeros --file directory/file1
genfile --length 13 --file directory/file2
tar cf archive directory|sort
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_failed=false
$at_diff "$at_devnull" "$at_stderr" || at_failed=:
echo >>"$at_stdout"; 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:
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 --length 10240 --pattern zeros --file directory/file1
genfile --length 13 --file directory/file2
tar cf archive directory|sort
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

if test -n "$at_trace_this"; 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 --length 10240 --pattern zeros --file directory/file1
genfile --length 13 --file directory/file2
tar cf archive directory|sort
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"
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 --length 10240 --pattern zeros --file directory/file1
genfile --length 13 --file directory/file2
tar cf archive directory|sort
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_failed=false
$at_diff "$at_devnull" "$at_stderr" || at_failed=:
echo >>"$at_stdout"; 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
      $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_traceoff
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;
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"
else
    ( :;
echo > file1
TAR_OPTIONS=--numeric-owner tar chof archive file1
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
" | $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_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
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;
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"
else
    ( :;
echo > file1
tar c file1 -f archive
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
" | $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_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
      test -f $XFAILFILE && at_xfail=yes
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "5. T-empty.at:26: testing ..."
      $at_traceon



cat >file-list <<'_ATEOF'
jeden
dwa

trzy
_ATEOF




  $at_traceoff
echo "$at_srcdir/T-empty.at:36:
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


genfile --file jeden
genfile --file dwa
genfile --file trzy

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;
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


genfile --file jeden
genfile --file dwa
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"
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


genfile --file jeden
genfile --file dwa
genfile --file trzy

tar cfvT archive ../file-list | sort
) ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

at_failed=false
$at_diff "$at_devnull" "$at_stderr" || at_failed=:
echo >>"$at_stdout"; 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_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
      test -f $XFAILFILE && at_xfail=yes
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "6. T-null.at:21: testing ..."
      $at_traceon





  $at_traceoff
echo "$at_srcdir/T-null.at:24:
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


echo dwa > temp
echo trzy >> temp
cat temp | tr '\\n' '\\0' > temp1
echo jeden > file-list
cat temp1 >> file-list

genfile -f \"jeden
dwa\" || exit 77
genfile -f trzy

tar cfTv archive file-list | sort
)"
echo T-null.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;
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


echo dwa > temp
echo trzy >> temp
cat temp | tr '\n' '\0' > temp1
echo jeden > file-list
cat temp1 >> file-list

genfile -f "jeden
dwa" || exit 77
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"
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


echo dwa > temp
echo trzy >> temp
cat temp | tr '\n' '\0' > temp1
echo jeden > file-list
cat temp1 >> file-list

genfile -f "jeden
dwa" || exit 77
genfile -f trzy

tar cfTv archive file-list | sort
) ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

at_failed=false
echo >>"$at_stderr"; echo "tar: file-list: file name read contains nul character
" | $at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; echo "jeden\\ndwa
trzy
" | $at_diff - "$at_stdout" || at_failed=:
case $at_status in
   77) echo 77 > "$at_status_file"; exit 77;;
   0) ;;
   *) echo "$at_srcdir/T-null.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

 # 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
      test -f $XFAILFILE && at_xfail=yes
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "7. indexfile.at:26: testing ..."
      $at_traceon





  $at_traceoff
echo "$at_srcdir/indexfile.at:29:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS=\"-H v7\"
export TAR_OPTIONS
rm -rf *


mkdir directory
genfile --file=directory/a --length=1035

echo \"Creating the archive\"
tar -c -v -f - --index-file=idx directory > archive

echo \"Testing the archive\"
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;
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *


mkdir directory
genfile --file=directory/a --length=1035

echo "Creating the archive"
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"
else
    ( :;
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *


mkdir directory
genfile --file=directory/a --length=1035

echo "Creating the archive"
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_failed=false
$at_diff "$at_devnull" "$at_stderr" || at_failed=:
echo >>"$at_stdout"; 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_traceoff
echo "$at_srcdir/indexfile.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 --file=directory/a --length=1035

echo \"Creating the archive\"
tar -c -v -f - --index-file=idx directory > archive

echo \"Testing the archive\"
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;
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *


mkdir directory
genfile --file=directory/a --length=1035

echo "Creating the archive"
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"
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 --file=directory/a --length=1035

echo "Creating the archive"
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_failed=false
$at_diff "$at_devnull" "$at_stderr" || at_failed=:
echo >>"$at_stdout"; 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_traceoff
echo "$at_srcdir/indexfile.at:29:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS=\"-H ustar\"
export TAR_OPTIONS
rm -rf *


mkdir directory
genfile --file=directory/a --length=1035

echo \"Creating the archive\"
tar -c -v -f - --index-file=idx directory > archive

echo \"Testing the archive\"
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;
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *


mkdir directory
genfile --file=directory/a --length=1035

echo "Creating the archive"
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"
else
    ( :;
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *


mkdir directory
genfile --file=directory/a --length=1035

echo "Creating the archive"
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_failed=false
$at_diff "$at_devnull" "$at_stderr" || at_failed=:
echo >>"$at_stdout"; 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_traceoff
echo "$at_srcdir/indexfile.at:29:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS=\"-H posix\"
export TAR_OPTIONS
rm -rf *


mkdir directory
genfile --file=directory/a --length=1035

echo \"Creating the archive\"
tar -c -v -f - --index-file=idx directory > archive

echo \"Testing the archive\"
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;
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *


mkdir directory
genfile --file=directory/a --length=1035

echo "Creating the archive"
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"
else
    ( :;
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *


mkdir directory
genfile --file=directory/a --length=1035

echo "Creating the archive"
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_failed=false
$at_diff "$at_devnull" "$at_stderr" || at_failed=:
echo >>"$at_stdout"; 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_traceoff
echo "$at_srcdir/indexfile.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 --file=directory/a --length=1035

echo \"Creating the archive\"
tar -c -v -f - --index-file=idx directory > archive

echo \"Testing the archive\"
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;
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *


mkdir directory
genfile --file=directory/a --length=1035

echo "Creating the archive"
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"
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 --file=directory/a --length=1035

echo "Creating the archive"
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_failed=false
$at_diff "$at_devnull" "$at_stderr" || at_failed=:
echo >>"$at_stdout"; 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_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
      test -f $XFAILFILE && at_xfail=yes
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "8. verbose.at:26: testing ..."
      $at_traceon





  $at_traceoff
echo "$at_srcdir/verbose.at:29:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS=\"-H v7\"
export TAR_OPTIONS
rm -rf *

genfile --file file --length 10240
echo Creating the archive
tar cvf - file > archive
echo Testing the archive
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;
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *

genfile --file file --length 10240
echo Creating the archive
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"
else
    ( :;
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *

genfile --file file --length 10240
echo Creating the archive
tar cvf - file > archive
echo Testing the archive
tar tf archive
) ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

at_failed=false
echo >>"$at_stderr"; echo "file
" | $at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; 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_traceon
$at_traceoff
echo "$at_srcdir/verbose.at:29:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS=\"-H oldgnu\"
export TAR_OPTIONS
rm -rf *

genfile --file file --length 10240
echo Creating the archive
tar cvf - file > archive
echo Testing the archive
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;
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

genfile --file file --length 10240
echo Creating the archive
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"
else
    ( :;
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

genfile --file file --length 10240
echo Creating the archive
tar cvf - file > archive
echo Testing the archive
tar tf archive
) ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

at_failed=false
echo >>"$at_stderr"; echo "file
" | $at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; 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_traceon
$at_traceoff
echo "$at_srcdir/verbose.at:29:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS=\"-H ustar\"
export TAR_OPTIONS
rm -rf *

genfile --file file --length 10240
echo Creating the archive
tar cvf - file > archive
echo Testing the archive
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;
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *

genfile --file file --length 10240
echo Creating the archive
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"
else
    ( :;
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *

genfile --file file --length 10240
echo Creating the archive
tar cvf - file > archive
echo Testing the archive
tar tf archive
) ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

at_failed=false
echo >>"$at_stderr"; echo "file
" | $at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; 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_traceon
$at_traceoff
echo "$at_srcdir/verbose.at:29:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS=\"-H posix\"
export TAR_OPTIONS
rm -rf *

genfile --file file --length 10240
echo Creating the archive
tar cvf - file > archive
echo Testing the archive
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;
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

genfile --file file --length 10240
echo Creating the archive
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"
else
    ( :;
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

genfile --file file --length 10240
echo Creating the archive
tar cvf - file > archive
echo Testing the archive
tar tf archive
) ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

at_failed=false
echo >>"$at_stderr"; echo "file
" | $at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; 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_traceon
$at_traceoff
echo "$at_srcdir/verbose.at:29:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS=\"-H gnu\"
export TAR_OPTIONS
rm -rf *

genfile --file file --length 10240
echo Creating the archive
tar cvf - file > archive
echo Testing the archive
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;
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

genfile --file file --length 10240
echo Creating the archive
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"
else
    ( :;
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

genfile --file file --length 10240
echo Creating the archive
tar cvf - file > archive
echo Testing the archive
tar tf archive
) ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

at_failed=false
echo >>"$at_stderr"; echo "file
" | $at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; 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_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
      test -f $XFAILFILE && at_xfail=yes
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "9. append.at:21: testing ..."
      $at_traceon





  $at_traceoff
echo "$at_srcdir/append.at:24:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS=\"-H v7\"
export TAR_OPTIONS
rm -rf *
touch file1
          touch file2
          tar cf archive file1
          tar rf archive file2
          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;
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *
touch file1
          touch file2
          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"
else
    ( :;
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *
touch file1
          touch file2
          tar cf archive file1
          tar rf archive file2
          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
" | $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_traceon
$at_traceoff
echo "$at_srcdir/append.at:24:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS=\"-H oldgnu\"
export TAR_OPTIONS
rm -rf *
touch file1
          touch file2
          tar cf archive file1
          tar rf archive file2
          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;
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *
touch file1
          touch file2
          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"
else
    ( :;
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *
touch file1
          touch file2
          tar cf archive file1
          tar rf archive file2
          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
" | $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_traceon
$at_traceoff
echo "$at_srcdir/append.at:24:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS=\"-H ustar\"
export TAR_OPTIONS
rm -rf *
touch file1
          touch file2
          tar cf archive file1
          tar rf archive file2
          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;
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *
touch file1
          touch file2
          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"
else
    ( :;
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *
touch file1
          touch file2
          tar cf archive file1
          tar rf archive file2
          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
" | $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_traceon
$at_traceoff
echo "$at_srcdir/append.at:24:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS=\"-H posix\"
export TAR_OPTIONS
rm -rf *
touch file1
          touch file2
          tar cf archive file1
          tar rf archive file2
          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;
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *
touch file1
          touch file2
          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"
else
    ( :;
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *
touch file1
          touch file2
          tar cf archive file1
          tar rf archive file2
          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
" | $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_traceon
$at_traceoff
echo "$at_srcdir/append.at:24:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS=\"-H gnu\"
export TAR_OPTIONS
rm -rf *
touch file1
          touch file2
          tar cf archive file1
          tar rf archive file2
          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;
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *
touch file1
          touch file2
          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"
else
    ( :;
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *
touch file1
          touch file2
          tar cf archive file1
          tar rf archive file2
          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
" | $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_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
      test -f $XFAILFILE && at_xfail=yes
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "10. append01.at:29: testing ..."
      $at_traceon







  $at_traceoff
echo "$at_srcdir/append01.at:34:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS=\"-H oldgnu\"
export TAR_OPTIONS
rm -rf *

mkdir 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
touch 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
tar cf 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/file1
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
)"
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;
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

mkdir 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
touch 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
tar cf 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/file1
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"
else
    ( :;
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

mkdir 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
touch 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
tar cf 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/file1
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_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
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_traceon
$at_traceoff
echo "$at_srcdir/append01.at:34:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS=\"-H ustar\"
export TAR_OPTIONS
rm -rf *

mkdir 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
touch 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
tar cf 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/file1
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
)"
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;
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *

mkdir 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
touch 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
tar cf 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/file1
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"
else
    ( :;
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *

mkdir 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
touch 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
tar cf 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/file1
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_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
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_traceon
$at_traceoff
echo "$at_srcdir/append01.at:34:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS=\"-H posix\"
export TAR_OPTIONS
rm -rf *

mkdir 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
touch 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
tar cf 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/file1
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
)"
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;
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

mkdir 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
touch 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
tar cf 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/file1
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"
else
    ( :;
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

mkdir 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
touch 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
tar cf 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/file1
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_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
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_traceon
$at_traceoff
echo "$at_srcdir/append01.at:34:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS=\"-H gnu\"
export TAR_OPTIONS
rm -rf *

mkdir 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
touch 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
tar cf 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/file1
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
)"
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;
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

mkdir 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
touch 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
tar cf 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/file1
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"
else
    ( :;
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

mkdir 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
touch 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
tar cf 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/file1
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_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
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_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
      test -f $XFAILFILE && at_xfail=yes
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "11. append02.at:40: testing ..."
      $at_traceon





  $at_traceoff
echo "$at_srcdir/append02.at:43:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS=\"-H v7\"
export TAR_OPTIONS
rm -rf *

genfile --file file1
genfile --file file2

# Make sure file timestamps in the archive will not differ
MTIME=\"--mtime=@0\"

# For PAX archives, we need to make sure extended header names are
# reproducible and that their contents won't change with time
if test \$TEST_TAR_FORMAT = posix; then
  TAR_OPTIONS=\"\$TAR_OPTIONS --pax-option=exthdr.name=%d/PaxHeaders/%f,delete=mtime,delete=atime,delete=ctime\"
fi

echo Creating archive.1
tar \$MTIME -cf archive.1 file1 file2

echo Creating archive.2
tar \$MTIME -cf archive.2 -T /dev/null
tar \$MTIME -rf archive.2 file1
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

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 *

genfile --file file1
genfile --file file2

# Make sure file timestamps in the archive will not differ
MTIME="--mtime=@0"

# For PAX archives, we need to make sure extended header names are
# reproducible and that their contents won't change with time
if test $TEST_TAR_FORMAT = posix; then
  TAR_OPTIONS="$TAR_OPTIONS --pax-option=exthdr.name=%d/PaxHeaders/%f,delete=mtime,delete=atime,delete=ctime"
fi

echo Creating archive.1
tar $MTIME -cf archive.1 file1 file2

echo Creating archive.2
tar $MTIME -cf archive.2 -T /dev/null
tar $MTIME -rf archive.2 file1
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"
else
    ( :;
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *

genfile --file file1
genfile --file file2

# Make sure file timestamps in the archive will not differ
MTIME="--mtime=@0"

# For PAX archives, we need to make sure extended header names are
# reproducible and that their contents won't change with time
if test $TEST_TAR_FORMAT = posix; then
  TAR_OPTIONS="$TAR_OPTIONS --pax-option=exthdr.name=%d/PaxHeaders/%f,delete=mtime,delete=atime,delete=ctime"
fi

echo Creating archive.1
tar $MTIME -cf archive.1 file1 file2

echo Creating archive.2
tar $MTIME -cf archive.2 -T /dev/null
tar $MTIME -rf archive.2 file1
tar $MTIME -rf archive.2 file2

echo Comparing archives
cmp archive.1 archive.2
) ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

at_failed=false
$at_diff "$at_devnull" "$at_stderr" || at_failed=:
echo >>"$at_stdout"; 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_traceon
$at_traceoff
echo "$at_srcdir/append02.at:43:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS=\"-H oldgnu\"
export TAR_OPTIONS
rm -rf *

genfile --file file1
genfile --file file2

# Make sure file timestamps in the archive will not differ
MTIME=\"--mtime=@0\"

# For PAX archives, we need to make sure extended header names are
# reproducible and that their contents won't change with time
if test \$TEST_TAR_FORMAT = posix; then
  TAR_OPTIONS=\"\$TAR_OPTIONS --pax-option=exthdr.name=%d/PaxHeaders/%f,delete=mtime,delete=atime,delete=ctime\"
fi

echo Creating archive.1
tar \$MTIME -cf archive.1 file1 file2

echo Creating archive.2
tar \$MTIME -cf archive.2 -T /dev/null
tar \$MTIME -rf archive.2 file1
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

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 --file file1
genfile --file file2

# Make sure file timestamps in the archive will not differ
MTIME="--mtime=@0"

# For PAX archives, we need to make sure extended header names are
# reproducible and that their contents won't change with time
if test $TEST_TAR_FORMAT = posix; then
  TAR_OPTIONS="$TAR_OPTIONS --pax-option=exthdr.name=%d/PaxHeaders/%f,delete=mtime,delete=atime,delete=ctime"
fi

echo Creating archive.1
tar $MTIME -cf archive.1 file1 file2

echo Creating archive.2
tar $MTIME -cf archive.2 -T /dev/null
tar $MTIME -rf archive.2 file1
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"
else
    ( :;
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

genfile --file file1
genfile --file file2

# Make sure file timestamps in the archive will not differ
MTIME="--mtime=@0"

# For PAX archives, we need to make sure extended header names are
# reproducible and that their contents won't change with time
if test $TEST_TAR_FORMAT = posix; then
  TAR_OPTIONS="$TAR_OPTIONS --pax-option=exthdr.name=%d/PaxHeaders/%f,delete=mtime,delete=atime,delete=ctime"
fi

echo Creating archive.1
tar $MTIME -cf archive.1 file1 file2

echo Creating archive.2
tar $MTIME -cf archive.2 -T /dev/null
tar $MTIME -rf archive.2 file1
tar $MTIME -rf archive.2 file2

echo Comparing archives
cmp archive.1 archive.2
) ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

at_failed=false
$at_diff "$at_devnull" "$at_stderr" || at_failed=:
echo >>"$at_stdout"; 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_traceon
$at_traceoff
echo "$at_srcdir/append02.at:43:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS=\"-H ustar\"
export TAR_OPTIONS
rm -rf *

genfile --file file1
genfile --file file2

# Make sure file timestamps in the archive will not differ
MTIME=\"--mtime=@0\"

# For PAX archives, we need to make sure extended header names are
# reproducible and that their contents won't change with time
if test \$TEST_TAR_FORMAT = posix; then
  TAR_OPTIONS=\"\$TAR_OPTIONS --pax-option=exthdr.name=%d/PaxHeaders/%f,delete=mtime,delete=atime,delete=ctime\"
fi

echo Creating archive.1
tar \$MTIME -cf archive.1 file1 file2

echo Creating archive.2
tar \$MTIME -cf archive.2 -T /dev/null
tar \$MTIME -rf archive.2 file1
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

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 --file file1
genfile --file file2

# Make sure file timestamps in the archive will not differ
MTIME="--mtime=@0"

# For PAX archives, we need to make sure extended header names are
# reproducible and that their contents won't change with time
if test $TEST_TAR_FORMAT = posix; then
  TAR_OPTIONS="$TAR_OPTIONS --pax-option=exthdr.name=%d/PaxHeaders/%f,delete=mtime,delete=atime,delete=ctime"
fi

echo Creating archive.1
tar $MTIME -cf archive.1 file1 file2

echo Creating archive.2
tar $MTIME -cf archive.2 -T /dev/null
tar $MTIME -rf archive.2 file1
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"
else
    ( :;
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *

genfile --file file1
genfile --file file2

# Make sure file timestamps in the archive will not differ
MTIME="--mtime=@0"

# For PAX archives, we need to make sure extended header names are
# reproducible and that their contents won't change with time
if test $TEST_TAR_FORMAT = posix; then
  TAR_OPTIONS="$TAR_OPTIONS --pax-option=exthdr.name=%d/PaxHeaders/%f,delete=mtime,delete=atime,delete=ctime"
fi

echo Creating archive.1
tar $MTIME -cf archive.1 file1 file2

echo Creating archive.2
tar $MTIME -cf archive.2 -T /dev/null
tar $MTIME -rf archive.2 file1
tar $MTIME -rf archive.2 file2

echo Comparing archives
cmp archive.1 archive.2
) ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

at_failed=false
$at_diff "$at_devnull" "$at_stderr" || at_failed=:
echo >>"$at_stdout"; 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_traceon
$at_traceoff
echo "$at_srcdir/append02.at:43:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS=\"-H posix\"
export TAR_OPTIONS
rm -rf *

genfile --file file1
genfile --file file2

# Make sure file timestamps in the archive will not differ
MTIME=\"--mtime=@0\"

# For PAX archives, we need to make sure extended header names are
# reproducible and that their contents won't change with time
if test \$TEST_TAR_FORMAT = posix; then
  TAR_OPTIONS=\"\$TAR_OPTIONS --pax-option=exthdr.name=%d/PaxHeaders/%f,delete=mtime,delete=atime,delete=ctime\"
fi

echo Creating archive.1
tar \$MTIME -cf archive.1 file1 file2

echo Creating archive.2
tar \$MTIME -cf archive.2 -T /dev/null
tar \$MTIME -rf archive.2 file1
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

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 --file file1
genfile --file file2

# Make sure file timestamps in the archive will not differ
MTIME="--mtime=@0"

# For PAX archives, we need to make sure extended header names are
# reproducible and that their contents won't change with time
if test $TEST_TAR_FORMAT = posix; then
  TAR_OPTIONS="$TAR_OPTIONS --pax-option=exthdr.name=%d/PaxHeaders/%f,delete=mtime,delete=atime,delete=ctime"
fi

echo Creating archive.1
tar $MTIME -cf archive.1 file1 file2

echo Creating archive.2
tar $MTIME -cf archive.2 -T /dev/null
tar $MTIME -rf archive.2 file1
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"
else
    ( :;
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

genfile --file file1
genfile --file file2

# Make sure file timestamps in the archive will not differ
MTIME="--mtime=@0"

# For PAX archives, we need to make sure extended header names are
# reproducible and that their contents won't change with time
if test $TEST_TAR_FORMAT = posix; then
  TAR_OPTIONS="$TAR_OPTIONS --pax-option=exthdr.name=%d/PaxHeaders/%f,delete=mtime,delete=atime,delete=ctime"
fi

echo Creating archive.1
tar $MTIME -cf archive.1 file1 file2

echo Creating archive.2
tar $MTIME -cf archive.2 -T /dev/null
tar $MTIME -rf archive.2 file1
tar $MTIME -rf archive.2 file2

echo Comparing archives
cmp archive.1 archive.2
) ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

at_failed=false
$at_diff "$at_devnull" "$at_stderr" || at_failed=:
echo >>"$at_stdout"; 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_traceon
$at_traceoff
echo "$at_srcdir/append02.at:43:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS=\"-H gnu\"
export TAR_OPTIONS
rm -rf *

genfile --file file1
genfile --file file2

# Make sure file timestamps in the archive will not differ
MTIME=\"--mtime=@0\"

# For PAX archives, we need to make sure extended header names are
# reproducible and that their contents won't change with time
if test \$TEST_TAR_FORMAT = posix; then
  TAR_OPTIONS=\"\$TAR_OPTIONS --pax-option=exthdr.name=%d/PaxHeaders/%f,delete=mtime,delete=atime,delete=ctime\"
fi

echo Creating archive.1
tar \$MTIME -cf archive.1 file1 file2

echo Creating archive.2
tar \$MTIME -cf archive.2 -T /dev/null
tar \$MTIME -rf archive.2 file1
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

if test -n "$at_trace_this"; 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 file1
genfile --file file2

# Make sure file timestamps in the archive will not differ
MTIME="--mtime=@0"

# For PAX archives, we need to make sure extended header names are
# reproducible and that their contents won't change with time
if test $TEST_TAR_FORMAT = posix; then
  TAR_OPTIONS="$TAR_OPTIONS --pax-option=exthdr.name=%d/PaxHeaders/%f,delete=mtime,delete=atime,delete=ctime"
fi

echo Creating archive.1
tar $MTIME -cf archive.1 file1 file2

echo Creating archive.2
tar $MTIME -cf archive.2 -T /dev/null
tar $MTIME -rf archive.2 file1
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"
else
    ( :;
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

genfile --file file1
genfile --file file2

# Make sure file timestamps in the archive will not differ
MTIME="--mtime=@0"

# For PAX archives, we need to make sure extended header names are
# reproducible and that their contents won't change with time
if test $TEST_TAR_FORMAT = posix; then
  TAR_OPTIONS="$TAR_OPTIONS --pax-option=exthdr.name=%d/PaxHeaders/%f,delete=mtime,delete=atime,delete=ctime"
fi

echo Creating archive.1
tar $MTIME -cf archive.1 file1 file2

echo Creating archive.2
tar $MTIME -cf archive.2 -T /dev/null
tar $MTIME -rf archive.2 file1
tar $MTIME -rf archive.2 file2

echo Comparing archives
cmp archive.1 archive.2
) ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

at_failed=false
$at_diff "$at_devnull" "$at_stderr" || at_failed=:
echo >>"$at_stdout"; 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_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
export TEST_TAR_FORMAT
TAR_OPTIONS=\"-H ustar\"
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

for option in exclude-caches exclude-caches-under exclude-caches-all
do
  echo OPTION \$option
  tar -cf archive.tar --\$option -v dir 2>err
  cat err
  echo ARCHIVE
  tar tf archive.tar
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
  cat err
  echo ARCHIVE
  tar tf archive.tar
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

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 *

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
  cat err
  echo ARCHIVE
  tar tf archive.tar
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
  cat err
  echo ARCHIVE
  tar tf archive.tar
done
) ) >"$at_stdout" 2>"$at_stder1"
    at_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
else
    ( :;
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
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

for option in exclude-caches exclude-caches-under exclude-caches-all
do
  echo OPTION $option
  tar -cf archive.tar --$option -v dir 2>err
  cat err
  echo ARCHIVE
  tar tf archive.tar
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
  cat err
  echo ARCHIVE
  tar tf archive.tar
done
) ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

at_failed=false
$at_diff "$at_devnull" "$at_stderr" || at_failed=:
echo >>"$at_stdout"; echo "OPTION exclude-caches
dir/
dir/blues
dir/jazz
dir/folk/
dir/folk/tagfile
dir/folk/sanjuan
dir/rock/
dir/rock/CACHEDIR.TAG
tar: dir/rock/: contains a cache directory tag CACHEDIR.TAG; contents not dumped
ARCHIVE
dir/
dir/blues
dir/jazz
dir/folk/
dir/folk/tagfile
dir/folk/sanjuan
dir/rock/
dir/rock/CACHEDIR.TAG
OPTION exclude-caches-under
dir/
dir/blues
dir/jazz
dir/folk/
dir/folk/tagfile
dir/folk/sanjuan
dir/rock/
tar: dir/rock/: contains a cache directory tag CACHEDIR.TAG; contents not dumped
ARCHIVE
dir/
dir/blues
dir/jazz
dir/folk/
dir/folk/tagfile
dir/folk/sanjuan
dir/rock/
OPTION exclude-caches-all
dir/
dir/blues
dir/jazz
dir/folk/
dir/folk/tagfile
dir/folk/sanjuan
tar: dir/rock/: contains a cache directory tag CACHEDIR.TAG; directory not dumped
ARCHIVE
dir/
dir/blues
dir/jazz
dir/folk/
dir/folk/tagfile
dir/folk/sanjuan
OPTION exclude-tag
dir/
dir/blues
dir/jazz
dir/folk/
dir/folk/tagfile
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/jazz
dir/folk/
dir/folk/tagfile
dir/rock/
dir/rock/CACHEDIR.TAG
dir/rock/file
OPTION exclude-tag-under
dir/
dir/blues
dir/jazz
dir/folk/
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/jazz
dir/folk/
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


  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"`
    ;;

  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





  $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"

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 *

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 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) ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

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 1 > "$at_status_file"
  exit 1
fi

$at_traceon
$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"

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 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
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_stderr"
    at_status=$?
fi

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 1 > "$at_status_file"
  exit 1
fi

$at_traceon
$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"

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 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) ) >"$at_stdout" 2>"$at_stder1"
    at_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
else
    ( :;
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) ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

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 1 > "$at_status_file"
  exit 1
fi

$at_traceon
$at_traceoff
echo "$at_srcdir/delete01.at:26:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS=\"-H posix\"
export TAR_OPTIONS
rm -rf *

genfile -l 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"

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 posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
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"
else
    ( :;
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
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

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 1 > "$at_status_file"
  exit 1
fi

$at_traceon
$at_traceoff
echo "$at_srcdir/delete01.at:26:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS=\"-H gnu\"
export TAR_OPTIONS
rm -rf *

genfile -l 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"

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
export TEST_TAR_FORMAT
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"
else
    ( :;
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
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

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 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"`
    ;;

  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
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
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_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

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


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon
$at_traceoff
echo "$at_srcdir/delete02.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 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 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"
else
    ( :;
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_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

$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 *

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 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=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 gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
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"

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
export TEST_TAR_FORMAT
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) ) >"$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
export TEST_TAR_FORMAT
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) ) >"$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

$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"`
    ;;

  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







  $at_traceoff
echo "$at_srcdir/delete03.at:26:
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
)"
echo delete03.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

if test -n "$at_trace_this"; then
    ( $at_traceon;
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_stder1"
    at_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
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"
    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


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon
$at_traceoff
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 delete03.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

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 *


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"
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"
    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


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon
$at_traceoff
echo "$at_srcdir/delete03.at:26:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
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"

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
export TEST_TAR_FORMAT
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_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 *


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


  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"`
    ;;

  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
      test -f $XFAILFILE && at_xfail=yes
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "16. delete04.at:23: testing ..."
      $at_traceon





  $at_traceoff
echo "$at_srcdir/delete04.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      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

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 *

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"
else
    ( :;
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
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


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon
$at_traceoff
echo "$at_srcdir/delete04.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      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

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      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"
else
    ( :;
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
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


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon
$at_traceoff
echo "$at_srcdir/delete04.at:26:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS=\"-H ustar\"
export TAR_OPTIONS
rm -rf *

genfile -l      3 -f file1
genfile -l      5 -f file2
genfile -l      3 -f file3
genfile -l      6 -f file4
genfile -l     24 -f file5
genfile -l     13 -f file6
genfile -l   1385 -f file7
genfile -l     30 -f file8
genfile -l     10 -f file9
genfile -l 256000 -f file10
tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10
tar f archive --delete file10
tar tf archive
)"
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

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      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"
else
    ( :;
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *

genfile -l      3 -f file1
genfile -l      5 -f file2
genfile -l      3 -f file3
genfile -l      6 -f file4
genfile -l     24 -f file5
genfile -l     13 -f file6
genfile -l   1385 -f file7
genfile -l     30 -f file8
genfile -l     10 -f file9
genfile -l 256000 -f file10
tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10
tar f archive --delete file10
tar tf archive
) ) >"$at_stdout" 2>"$at_stderr"
    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


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon
$at_traceoff
echo "$at_srcdir/delete04.at:26:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS=\"-H posix\"
export TAR_OPTIONS
rm -rf *

genfile -l      3 -f file1
genfile -l      5 -f file2
genfile -l      3 -f file3
genfile -l      6 -f file4
genfile -l     24 -f file5
genfile -l     13 -f file6
genfile -l   1385 -f file7
genfile -l     30 -f file8
genfile -l     10 -f file9
genfile -l 256000 -f file10
tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10
tar f archive --delete file10
tar tf archive
)"
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

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      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"
else
    ( :;
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

genfile -l      3 -f file1
genfile -l      5 -f file2
genfile -l      3 -f file3
genfile -l      6 -f file4
genfile -l     24 -f file5
genfile -l     13 -f file6
genfile -l   1385 -f file7
genfile -l     30 -f file8
genfile -l     10 -f file9
genfile -l 256000 -f file10
tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10
tar f archive --delete file10
tar tf archive
) ) >"$at_stdout" 2>"$at_stderr"
    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


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon
$at_traceoff
echo "$at_srcdir/delete04.at:26:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS=\"-H gnu\"
export TAR_OPTIONS
rm -rf *

genfile -l      3 -f file1
genfile -l      5 -f file2
genfile -l      3 -f file3
genfile -l      6 -f file4
genfile -l     24 -f file5
genfile -l     13 -f file6
genfile -l   1385 -f file7
genfile -l     30 -f file8
genfile -l     10 -f file9
genfile -l 256000 -f file10
tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10
tar f archive --delete file10
tar tf archive
)"
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

if test -n "$at_trace_this"; then
    ( $at_traceon;
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

genfile -l      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"
else
    ( :;
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

genfile -l      3 -f file1
genfile -l      5 -f file2
genfile -l      3 -f file3
genfile -l      6 -f file4
genfile -l     24 -f file5
genfile -l     13 -f file6
genfile -l   1385 -f file7
genfile -l     30 -f file8
genfile -l     10 -f file9
genfile -l 256000 -f file10
tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10
tar f archive --delete file10
tar tf archive
) ) >"$at_stdout" 2>"$at_stderr"
    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


  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"`
    ;;

  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





  $at_traceoff
echo "$at_srcdir/delete05.at:30:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS=\"-H v7\"
export TAR_OPTIONS
rm -rf *

genfile -l 1024 -f en
genfile -l 1024 -f to

tar cf archive en to
# Make sure we don't use bogus blocking factor.
# GNU tar up to and including 1.14.91 produced an empty archive this way:
tar --file archive --blocking-factor=20 --delete tre
tar tf archive
)"
echo delete05.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 v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *

genfile -l 1024 -f en
genfile -l 1024 -f to

tar cf archive en to
# Make sure we don't use bogus blocking factor.
# GNU tar up to and including 1.14.91 produced an empty archive this way:
tar --file archive --blocking-factor=20 --delete tre
tar tf archive
) ) >"$at_stdout" 2>"$at_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 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

at_failed=false
echo >>"$at_stderr"; echo "tar: tre: Not found in archive
tar: Error exit delayed from 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


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon
$at_traceoff
echo "$at_srcdir/delete05.at:30:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS=\"-H oldgnu\"
export TAR_OPTIONS
rm -rf *

genfile -l 1024 -f en
genfile -l 1024 -f to

tar cf archive en to
# Make sure we don't use bogus blocking factor.
# GNU tar up to and including 1.14.91 produced an empty archive this way:
tar --file archive --blocking-factor=20 --delete tre
tar tf archive
)"
echo delete05.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 oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

genfile -l 1024 -f en
genfile -l 1024 -f to

tar cf archive en to
# Make sure we don't use bogus blocking factor.
# GNU tar up to and including 1.14.91 produced an empty archive this way:
tar --file archive --blocking-factor=20 --delete tre
tar tf archive
) ) >"$at_stdout" 2>"$at_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 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

at_failed=false
echo >>"$at_stderr"; echo "tar: tre: Not found in archive
tar: Error exit delayed from 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


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon
$at_traceoff
echo "$at_srcdir/delete05.at:30:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS=\"-H ustar\"
export TAR_OPTIONS
rm -rf *

genfile -l 1024 -f en
genfile -l 1024 -f to

tar cf archive en to
# Make sure we don't use bogus blocking factor.
# GNU tar up to and including 1.14.91 produced an empty archive this way:
tar --file archive --blocking-factor=20 --delete tre
tar tf archive
)"
echo delete05.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 ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *

genfile -l 1024 -f en
genfile -l 1024 -f to

tar cf archive en to
# Make sure we don't use bogus blocking factor.
# GNU tar up to and including 1.14.91 produced an empty archive this way:
tar --file archive --blocking-factor=20 --delete tre
tar tf archive
) ) >"$at_stdout" 2>"$at_stder1"
    at_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
else
    ( :;
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *

genfile -l 1024 -f en
genfile -l 1024 -f to

tar cf archive en to
# Make sure we don't use bogus blocking factor.
# GNU tar up to and including 1.14.91 produced an empty archive this way:
tar --file archive --blocking-factor=20 --delete tre
tar tf archive
) ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

at_failed=false
echo >>"$at_stderr"; echo "tar: tre: Not found in archive
tar: Error exit delayed from 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


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon
$at_traceoff
echo "$at_srcdir/delete05.at:30:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS=\"-H posix\"
export TAR_OPTIONS
rm -rf *

genfile -l 1024 -f en
genfile -l 1024 -f to

tar cf archive en to
# Make sure we don't use bogus blocking factor.
# GNU tar up to and including 1.14.91 produced an empty archive this way:
tar --file archive --blocking-factor=20 --delete tre
tar tf archive
)"
echo delete05.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 posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

genfile -l 1024 -f en
genfile -l 1024 -f to

tar cf archive en to
# Make sure we don't use bogus blocking factor.
# GNU tar up to and including 1.14.91 produced an empty archive this way:
tar --file archive --blocking-factor=20 --delete tre
tar tf archive
) ) >"$at_stdout" 2>"$at_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 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

at_failed=false
echo >>"$at_stderr"; echo "tar: tre: Not found in archive
tar: Error exit delayed from 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


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon
$at_traceoff
echo "$at_srcdir/delete05.at:30:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS=\"-H gnu\"
export TAR_OPTIONS
rm -rf *

genfile -l 1024 -f en
genfile -l 1024 -f to

tar cf archive en to
# Make sure we don't use bogus blocking factor.
# GNU tar up to and including 1.14.91 produced an empty archive this way:
tar --file archive --blocking-factor=20 --delete tre
tar tf archive
)"
echo delete05.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
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

genfile -l 1024 -f en
genfile -l 1024 -f to

tar cf archive en to
# Make sure we don't use bogus blocking factor.
# GNU tar up to and including 1.14.91 produced an empty archive this way:
tar --file archive --blocking-factor=20 --delete tre
tar tf archive
) ) >"$at_stdout" 2>"$at_stder1"
    at_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
else
    ( :;
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

genfile -l 1024 -f en
genfile -l 1024 -f to

tar cf archive en to
# Make sure we don't use bogus blocking factor.
# GNU tar up to and including 1.14.91 produced an empty archive this way:
tar --file archive --blocking-factor=20 --delete tre
tar tf archive
) ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

at_failed=false
echo >>"$at_stderr"; echo "tar: tre: Not found in archive
tar: Error exit delayed from 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


  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"`
    ;;

  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
      test -f $XFAILFILE && at_xfail=yes
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "18. extrac01.at:23: testing ..."
      $at_traceon





  $at_traceoff
echo "$at_srcdir/extrac01.at:26:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS=\"-H v7\"
export TAR_OPTIONS
rm -rf *

mkdir directory
touch directory/file
tar cf archive directory || exit 1
tar xf archive || 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

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
) ) >"$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 *

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


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon
$at_traceoff
echo "$at_srcdir/extrac01.at:26:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS=\"-H oldgnu\"
export TAR_OPTIONS
rm -rf *

mkdir directory
touch directory/file
tar cf archive directory || exit 1
tar xf archive || 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

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 *

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"
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 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


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon
$at_traceoff
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"

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 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
) ) >"$at_stdout" 2>"$at_stder1"
    at_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
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 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


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon
$at_traceoff
echo "$at_srcdir/extrac01.at:26:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS=\"-H posix\"
export TAR_OPTIONS
rm -rf *

mkdir directory
touch directory/file
tar cf archive directory || exit 1
tar xf archive || 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

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 *

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"
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"
    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


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon
$at_traceoff
echo "$at_srcdir/extrac01.at:26:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS=\"-H gnu\"
export TAR_OPTIONS
rm -rf *

mkdir directory
touch directory/file
tar cf archive directory || exit 1
tar xf archive || 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

if test -n "$at_trace_this"; 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
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"
else
    ( :;
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

mkdir directory
touch directory/file
tar cf archive directory || exit 1
tar xf archive || 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


  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"`
    ;;

  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



# FIXME: Skip if symlinks are not supported on the system



  $at_traceoff
echo "$at_srcdir/extrac02.at:28:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS=\"-H v7\"
export TAR_OPTIONS
rm -rf *

touch file
ln -s file link 2> /dev/null || ln file link
tar cf archive link
rm link
touch link
tar xf archive
)"
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

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 *

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"
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"
    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


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon
$at_traceoff
echo "$at_srcdir/extrac02.at:28:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS=\"-H oldgnu\"
export TAR_OPTIONS
rm -rf *

touch file
ln -s file link 2> /dev/null || ln file link
tar cf archive link
rm link
touch link
tar xf archive
)"
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

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 *

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"
else
    ( :;
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

touch file
ln -s file link 2> /dev/null || ln file link
tar cf archive link
rm link
touch link
tar xf archive
) ) >"$at_stdout" 2>"$at_stderr"
    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


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon
$at_traceoff
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"

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 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_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
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"
    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


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon
$at_traceoff
echo "$at_srcdir/extrac02.at:28:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS=\"-H posix\"
export TAR_OPTIONS
rm -rf *

touch file
ln -s file link 2> /dev/null || ln file link
tar cf archive link
rm link
touch link
tar xf archive
)"
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

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 *

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"
else
    ( :;
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

touch file
ln -s file link 2> /dev/null || ln file link
tar cf archive link
rm link
touch link
tar xf archive
) ) >"$at_stdout" 2>"$at_stderr"
    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


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon
$at_traceoff
echo "$at_srcdir/extrac02.at:28:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS=\"-H gnu\"
export TAR_OPTIONS
rm -rf *

touch file
ln -s file link 2> /dev/null || ln file link
tar cf archive link
rm link
touch link
tar xf archive
)"
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

if test -n "$at_trace_this"; then
    ( $at_traceon;
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

touch 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"
else
    ( :;
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

touch file
ln -s file link 2> /dev/null || ln file link
tar cf archive link
rm link
touch link
tar xf archive
) ) >"$at_stdout" 2>"$at_stderr"
    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


  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"`
    ;;

  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
      test -f $XFAILFILE && at_xfail=yes
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "20. extrac03.at:23: testing ..."
      $at_traceon





  $at_traceoff
echo "$at_srcdir/extrac03.at:26:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS=\"-H v7\"
export TAR_OPTIONS
rm -rf *

mkdir directory
tar -cPvf archive directory/../directory
echo separator
tar -xPvf archive)"
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

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
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"
else
    ( :;
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_stderr"
    at_status=$?
fi

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_traceon
$at_traceoff
echo "$at_srcdir/extrac03.at:26:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS=\"-H oldgnu\"
export TAR_OPTIONS
rm -rf *

mkdir directory
tar -cPvf archive directory/../directory
echo separator
tar -xPvf archive)"
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

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 *

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"
else
    ( :;
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

mkdir directory
tar -cPvf archive directory/../directory
echo separator
tar -xPvf archive) ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

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_traceon
$at_traceoff
echo "$at_srcdir/extrac03.at:26:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS=\"-H ustar\"
export TAR_OPTIONS
rm -rf *

mkdir directory
tar -cPvf archive directory/../directory
echo separator
tar -xPvf archive)"
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

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 *

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"
else
    ( :;
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_stderr"
    at_status=$?
fi

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_traceon
$at_traceoff
echo "$at_srcdir/extrac03.at:26:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS=\"-H posix\"
export TAR_OPTIONS
rm -rf *

mkdir directory
tar -cPvf archive directory/../directory
echo separator
tar -xPvf archive)"
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

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 *

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"
else
    ( :;
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

mkdir directory
tar -cPvf archive directory/../directory
echo separator
tar -xPvf archive) ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

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_traceon
$at_traceoff
echo "$at_srcdir/extrac03.at:26:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS=\"-H gnu\"
export TAR_OPTIONS
rm -rf *

mkdir directory
tar -cPvf archive directory/../directory
echo separator
tar -xPvf archive)"
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

if test -n "$at_trace_this"; 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
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"
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 -cPvf archive directory/../directory
echo separator
tar -xPvf 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/../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_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
      test -f $XFAILFILE && at_xfail=yes
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "21. extrac04.at:23: testing ..."
      $at_traceon





  $at_traceoff
echo "$at_srcdir/extrac04.at:26:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS=\"-H v7\"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

touch file1
mkdir directory
mkdir directory/subdirectory
touch directory/file1
touch directory/file2
touch directory/subdirectory/file1
touch directory/subdirectory/file2
tar -cf archive ./file1 directory
tar -tf archive \\
  --exclude='./*1' \\
  --exclude='d*/*1' \\
  --exclude='d*/s*/*2' | sort
)"
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;
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

touch file1
mkdir directory
mkdir directory/subdirectory
touch directory/file1
touch directory/file2
touch directory/subdirectory/file1
touch directory/subdirectory/file2
tar -cf archive ./file1 directory
tar -tf archive \
  --exclude='./*1' \
  --exclude='d*/*1' \
  --exclude='d*/s*/*2' | sort
) ) >"$at_stdout" 2>"$at_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 *


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=$?
fi

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_traceoff
echo "$at_srcdir/extrac04.at:26:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS=\"-H oldgnu\"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

touch file1
mkdir directory
mkdir directory/subdirectory
touch directory/file1
touch directory/file2
touch directory/subdirectory/file1
touch directory/subdirectory/file2
tar -cf archive ./file1 directory
tar -tf archive \\
  --exclude='./*1' \\
  --exclude='d*/*1' \\
  --exclude='d*/s*/*2' | sort
)"
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;
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

touch file1
mkdir directory
mkdir directory/subdirectory
touch directory/file1
touch directory/file2
touch directory/subdirectory/file1
touch directory/subdirectory/file2
tar -cf archive ./file1 directory
tar -tf archive \
  --exclude='./*1' \
  --exclude='d*/*1' \
  --exclude='d*/s*/*2' | sort
) ) >"$at_stdout" 2>"$at_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 *


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=$?
fi

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_traceoff
echo "$at_srcdir/extrac04.at:26:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS=\"-H ustar\"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

touch file1
mkdir directory
mkdir directory/subdirectory
touch directory/file1
touch directory/file2
touch directory/subdirectory/file1
touch directory/subdirectory/file2
tar -cf archive ./file1 directory
tar -tf archive \\
  --exclude='./*1' \\
  --exclude='d*/*1' \\
  --exclude='d*/s*/*2' | sort
)"
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;
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_stder1"
    at_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
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"
    at_status=$?
fi

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_traceoff
echo "$at_srcdir/extrac04.at:26:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS=\"-H posix\"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

touch file1
mkdir directory
mkdir directory/subdirectory
touch directory/file1
touch directory/file2
touch directory/subdirectory/file1
touch directory/subdirectory/file2
tar -cf archive ./file1 directory
tar -tf archive \\
  --exclude='./*1' \\
  --exclude='d*/*1' \\
  --exclude='d*/s*/*2' | sort
)"
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;
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

touch file1
mkdir directory
mkdir directory/subdirectory
touch directory/file1
touch directory/file2
touch directory/subdirectory/file1
touch directory/subdirectory/file2
tar -cf archive ./file1 directory
tar -tf archive \
  --exclude='./*1' \
  --exclude='d*/*1' \
  --exclude='d*/s*/*2' | sort
) ) >"$at_stdout" 2>"$at_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 *


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=$?
fi

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_traceoff
echo "$at_srcdir/extrac04.at:26:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS=\"-H gnu\"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

touch file1
mkdir directory
mkdir directory/subdirectory
touch directory/file1
touch directory/file2
touch directory/subdirectory/file1
touch directory/subdirectory/file2
tar -cf archive ./file1 directory
tar -tf archive \\
  --exclude='./*1' \\
  --exclude='d*/*1' \\
  --exclude='d*/s*/*2' | sort
)"
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;
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

touch file1
mkdir directory
mkdir directory/subdirectory
touch directory/file1
touch directory/file2
touch directory/subdirectory/file1
touch directory/subdirectory/file2
tar -cf archive ./file1 directory
tar -tf archive \
  --exclude='./*1' \
  --exclude='d*/*1' \
  --exclude='d*/s*/*2' | sort
) ) >"$at_stdout" 2>"$at_stder1"
    at_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
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

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_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_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
      test -f $XFAILFILE && at_xfail=yes
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "22. extrac05.at:30: 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
export TEST_TAR_FORMAT
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 ..
)"
echo extrac05.at:38 >"$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 posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
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 ..
) ) >"$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 --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 ..
) ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

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_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
      test -f $XFAILFILE && at_xfail=yes
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "23. extrac06.at:33: testing ..."
      $at_traceon





  $at_traceoff
echo "$at_srcdir/extrac06.at:36:
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
)"
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;
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
) ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

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_traceoff
echo "$at_srcdir/extrac06.at:36:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS=\"-H oldgnu\"
export TAR_OPTIONS
rm -rf *


# Force umask
umask 022

# Make sure user's umask is honored, even if we are superuser
TAR_OPTIONS=\"\$TAR_OPTIONS --no-same-permissions\"

# Create a directory
mkdir directory
chmod 777 directory
genfile --stat=mode:777 directory

# Archive it
tar cf arc directory

# Change its permissions ...
chmod 755 directory
genfile --stat=mode:777 directory

# ... and attempt to restore it twice
tar xf arc directory
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;
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *


# Force umask
umask 022

# Make sure user's umask is honored, even if we are superuser
TAR_OPTIONS="$TAR_OPTIONS --no-same-permissions"

# Create a directory
mkdir directory
chmod 777 directory
genfile --stat=mode:777 directory

# Archive it
tar cf arc directory

# Change its permissions ...
chmod 755 directory
genfile --stat=mode:777 directory

# ... and attempt to restore it twice
tar xf arc directory
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 oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *


# Force umask
umask 022

# Make sure user's umask is honored, even if we are superuser
TAR_OPTIONS="$TAR_OPTIONS --no-same-permissions"

# Create a directory
mkdir directory
chmod 777 directory
genfile --stat=mode:777 directory

# Archive it
tar cf arc directory

# Change its permissions ...
chmod 755 directory
genfile --stat=mode:777 directory

# ... and attempt to restore it twice
tar xf arc directory
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"
    at_status=$?
fi

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_traceoff
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 *


# 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;
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *


# Force umask
umask 022

# Make sure user's umask is honored, even if we are superuser
TAR_OPTIONS="$TAR_OPTIONS --no-same-permissions"

# Create a directory
mkdir directory
chmod 777 directory
genfile --stat=mode:777 directory

# Archive it
tar cf arc directory

# Change its permissions ...
chmod 755 directory
genfile --stat=mode:777 directory

# ... and attempt to restore it twice
tar xf arc directory
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 ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *


# Force umask
umask 022

# Make sure user's umask is honored, even if we are superuser
TAR_OPTIONS="$TAR_OPTIONS --no-same-permissions"

# Create a directory
mkdir directory
chmod 777 directory
genfile --stat=mode:777 directory

# Archive it
tar cf arc directory

# Change its permissions ...
chmod 755 directory
genfile --stat=mode:777 directory

# ... and attempt to restore it twice
tar xf arc directory
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"
    at_status=$?
fi

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_traceoff
echo "$at_srcdir/extrac06.at:36:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS=\"-H posix\"
export TAR_OPTIONS
rm -rf *


# Force umask
umask 022

# Make sure user's umask is honored, even if we are superuser
TAR_OPTIONS=\"\$TAR_OPTIONS --no-same-permissions\"

# Create a directory
mkdir directory
chmod 777 directory
genfile --stat=mode:777 directory

# Archive it
tar cf arc directory

# Change its permissions ...
chmod 755 directory
genfile --stat=mode:777 directory

# ... and attempt to restore it twice
tar xf arc directory
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;
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *


# Force umask
umask 022

# Make sure user's umask is honored, even if we are superuser
TAR_OPTIONS="$TAR_OPTIONS --no-same-permissions"

# Create a directory
mkdir directory
chmod 777 directory
genfile --stat=mode:777 directory

# Archive it
tar cf arc directory

# Change its permissions ...
chmod 755 directory
genfile --stat=mode:777 directory

# ... and attempt to restore it twice
tar xf arc directory
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 posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *


# Force umask
umask 022

# Make sure user's umask is honored, even if we are superuser
TAR_OPTIONS="$TAR_OPTIONS --no-same-permissions"

# Create a directory
mkdir directory
chmod 777 directory
genfile --stat=mode:777 directory

# Archive it
tar cf arc directory

# Change its permissions ...
chmod 755 directory
genfile --stat=mode:777 directory

# ... and attempt to restore it twice
tar xf arc directory
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"
    at_status=$?
fi

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_traceoff
echo "$at_srcdir/extrac06.at:36:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS=\"-H gnu\"
export TAR_OPTIONS
rm -rf *


# Force umask
umask 022

# Make sure user's umask is honored, even if we are superuser
TAR_OPTIONS=\"\$TAR_OPTIONS --no-same-permissions\"

# Create a directory
mkdir directory
chmod 777 directory
genfile --stat=mode:777 directory

# Archive it
tar cf arc directory

# Change its permissions ...
chmod 755 directory
genfile --stat=mode:777 directory

# ... and attempt to restore it twice
tar xf arc directory
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;
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *


# Force umask
umask 022

# Make sure user's umask is honored, even if we are superuser
TAR_OPTIONS="$TAR_OPTIONS --no-same-permissions"

# Create a directory
mkdir directory
chmod 777 directory
genfile --stat=mode:777 directory

# Archive it
tar cf arc directory

# Change its permissions ...
chmod 755 directory
genfile --stat=mode:777 directory

# ... and attempt to restore it twice
tar xf arc directory
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 gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *


# Force umask
umask 022

# Make sure user's umask is honored, even if we are superuser
TAR_OPTIONS="$TAR_OPTIONS --no-same-permissions"

# Create a directory
mkdir directory
chmod 777 directory
genfile --stat=mode:777 directory

# Archive it
tar cf arc directory

# Change its permissions ...
chmod 755 directory
genfile --stat=mode:777 directory

# ... and attempt to restore it twice
tar xf arc directory
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"
    at_status=$?
fi

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_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
      test -f $XFAILFILE && at_xfail=yes
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "24. extrac07.at:27: testing ..."
      $at_traceon





  $at_traceoff
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

echo Create the archive
tar cf archive dir || exit 1

echo Extract
mkdir out
tar -C out -xvf 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

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 Prepare the directory
mkdir dir
genfile -f foo
cd dir
ln -s ../foo .
cd ..
chmod -w dir

echo Create the archive
tar cf archive dir || exit 1

echo 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"
else
    ( :;
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

echo Create the archive
tar cf archive dir || exit 1

echo Extract
mkdir out
tar -C out -xvf archive
) ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

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
$at_traceoff
echo "$at_srcdir/extrac07.at:30:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
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

echo Extract
mkdir out
tar -C out -xvf 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

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 *

echo Prepare the directory
mkdir dir
genfile -f foo
cd dir
ln -s ../foo .
cd ..
chmod -w dir

echo Create the archive
tar cf archive dir || exit 1

echo 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"
else
    ( :;
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
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

echo Extract
mkdir out
tar -C out -xvf archive
) ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

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
$at_traceoff
echo "$at_srcdir/extrac07.at:30:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS=\"-H ustar\"
export TAR_OPTIONS
rm -rf *

echo Prepare the directory
mkdir dir
genfile -f foo
cd dir
ln -s ../foo .
cd ..
chmod -w dir

echo Create the archive
tar cf archive dir || exit 1

echo Extract
mkdir out
tar -C out -xvf 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

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 *

echo Prepare the directory
mkdir dir
genfile -f foo
cd dir
ln -s ../foo .
cd ..
chmod -w dir

echo Create the archive
tar cf archive dir || exit 1

echo 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"
else
    ( :;
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
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

echo Extract
mkdir out
tar -C out -xvf archive
) ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

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
$at_traceoff
echo "$at_srcdir/extrac07.at:30:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
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

echo Extract
mkdir out
tar -C out -xvf 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

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 *

echo Prepare the directory
mkdir dir
genfile -f foo
cd dir
ln -s ../foo .
cd ..
chmod -w dir

echo Create the archive
tar cf archive dir || exit 1

echo 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"
else
    ( :;
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
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

echo Extract
mkdir out
tar -C out -xvf archive
) ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

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
$at_traceoff
echo "$at_srcdir/extrac07.at:30:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS=\"-H gnu\"
export TAR_OPTIONS
rm -rf *

echo Prepare the directory
mkdir dir
genfile -f foo
cd dir
ln -s ../foo .
cd ..
chmod -w dir

echo Create the archive
tar cf archive dir || exit 1

echo Extract
mkdir out
tar -C out -xvf 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

if test -n "$at_trace_this"; then
    ( $at_traceon;
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

echo Prepare the directory
mkdir dir
genfile -f foo
cd dir
ln -s ../foo .
cd ..
chmod -w dir

echo Create the archive
tar cf archive dir || exit 1

echo 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"
else
    ( :;
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

echo Prepare the directory
mkdir dir
genfile -f foo
cd dir
ln -s ../foo .
cd ..
chmod -w dir

echo Create the archive
tar cf archive dir || exit 1

echo Extract
mkdir out
tar -C out -xvf archive
) ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

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

 # 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"`
    ;;

  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



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

if test -n "$at_trace_this"; then
    ( $at_traceon;

cat /dev/null | gzip - > /dev/null 2>&1 || exit 77

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"
else
    ( :;

cat /dev/null | gzip - > /dev/null 2>&1 || exit 77

tar xfvz /dev/null
test $? = 2 || exit 1
 ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

at_failed=false
echo >>"$at_stderr"; echo "
gzip: stdin: unexpected end of file
tar: Child returned status 1
tar: Error exit delayed from 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


  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"`
    ;;

  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





  $at_traceoff
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
sleep 1
echo y >structure/file
tar cfv archive --listed=list structure
)"
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

if test -n "$at_trace_this"; 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
sleep 1
echo y >structure/file
tar cfv archive --listed=list structure
) ) >"$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
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
sleep 1
echo y >structure/file
tar cfv archive --listed=list structure
) ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

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


  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

# 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
sleep 1
echo y >structure/file
tar cfv archive --listed=list structure
)"
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

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 *

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
sleep 1
echo y >structure/file
tar cfv archive --listed=list structure
) ) >"$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 *

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
sleep 1
echo y >structure/file
tar cfv archive --listed=list structure
) ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

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


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon
$at_traceoff
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
sleep 1
echo y >structure/file
tar cfv archive --listed=list structure
)"
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

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 *

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
sleep 1
echo y >structure/file
tar cfv archive --listed=list structure
) ) >"$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 *

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
sleep 1
echo y >structure/file
tar cfv archive --listed=list structure
) ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

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


  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:
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"

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
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_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
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"
    at_status=$?
fi

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


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon
$at_traceoff
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"

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 *

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_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 *

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"
    at_status=$?
fi

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


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon
$at_traceoff
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"

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 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_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 *

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"
    at_status=$?
fi

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


  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"`
    ;;

  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:
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"

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;
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_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
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"
    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/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
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"

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;
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_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 *

# 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"
    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/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 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"

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;
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_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 *

# 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"
    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/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_traceoff
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 1

genfile --length 10240 --pattern zeros --file directory/file2

echo \"separator\"

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 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 1

genfile --length 10240 --pattern zeros --file directory/file2

echo "separator"

tar --create \
    --file=archive.2 \
    --listed-incremental=listing \
    directory/file* || exit 1

tar tf archive.2 || exit 1
) ) >"$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
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 1

genfile --length 10240 --pattern zeros --file directory/file2

echo "separator"

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


  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
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 1

genfile --length 10240 --pattern zeros --file directory/file2

echo \"separator\"

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
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 1

genfile --length 10240 --pattern zeros --file directory/file2

echo "separator"

tar --create \
    --file=archive.2 \
    --listed-incremental=listing \
    directory/file* || exit 1

tar tf archive.2 || exit 1
) ) >"$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 *

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 1

genfile --length 10240 --pattern zeros --file directory/file2

echo "separator"

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


  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"`
    ;;

  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
      test -f $XFAILFILE && at_xfail=yes
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "30. listed02.at:28: testing ..."
      $at_traceon





  $at_traceoff
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
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
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
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"

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
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
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
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
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_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
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
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
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
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"
    at_status=$?
fi

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


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon
$at_traceoff
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
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
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
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"

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 *


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
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
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
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_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 *


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
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
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
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"
    at_status=$?
fi

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


  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"`
    ;;

  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





  $at_traceoff
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

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 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"

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
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

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 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_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
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

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 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"
    at_status=$?
fi

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


  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\"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77

mkdir directory
genfile --file=directory/x
genfile --file=directory/y

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 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"

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 *


test -z "`sort < /dev/null 2>&1`" || exit 77

mkdir directory
genfile --file=directory/x
genfile --file=directory/y

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 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_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 *


test -z "`sort < /dev/null 2>&1`" || exit 77

mkdir directory
genfile --file=directory/x
genfile --file=directory/y

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 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"
    at_status=$?
fi

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


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon
$at_traceoff
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

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 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"

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 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

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 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_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 *


test -z "`sort < /dev/null 2>&1`" || exit 77

mkdir directory
genfile --file=directory/x
genfile --file=directory/y

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 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"
    at_status=$?
fi

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


  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"`
    ;;

  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_traceoff
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

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 \"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"

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
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *


install-sh -d a/b >/dev/null

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 "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_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
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

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 "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

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


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon
$at_traceoff
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

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 \"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"

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 *


install-sh -d a/b >/dev/null

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 "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_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 *


install-sh -d a/b >/dev/null

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 "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

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


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon
$at_traceoff
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

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 \"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"

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 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

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 "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_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 *


install-sh -d a/b >/dev/null

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 "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

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


  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"`
    ;;

  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
      test -f $XFAILFILE && at_xfail=yes
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "33. rename01.at:24: testing ..."
      $at_traceon





  $at_traceoff
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"

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
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_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
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"
    at_status=$?
fi

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
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=:
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_traceon
$at_traceoff
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"

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 *


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_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 *


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"
    at_status=$?
fi

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
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=:
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_traceon
$at_traceoff
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"

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 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_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 *


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"
    at_status=$?
fi

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
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=:
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_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
      test -f $XFAILFILE && at_xfail=yes
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "34. rename02.at:24: testing ..."
      $at_traceon





  $at_traceoff
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

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"

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
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

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_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
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

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

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


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon
$at_traceoff
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

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"

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 *


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

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_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 *


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

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

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


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon
$at_traceoff
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

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"

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 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

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_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 *


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

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

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


  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"`
    ;;

  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
      test -f $XFAILFILE && at_xfail=yes
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "35. rename03.at:23: testing ..."
      $at_traceon





  $at_traceoff
echo "$at_srcdir/rename03.at:26:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS=\"-H gnu\"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77


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

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
)"
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

if test -n "$at_trace_this"; 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/a
genfile --file foo/a/filea

mkdir foo/b
genfile --file foo/b/fileb

mkdir foo/c
genfile --file foo/c/filec

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_stder1"
    at_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
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/a
genfile --file foo/a/filea

mkdir foo/b
genfile --file foo/b/fileb

mkdir foo/c
genfile --file foo/c/filec

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


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon
$at_traceoff
echo "$at_srcdir/rename03.at:26:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS=\"-H oldgnu\"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77


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

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
)"
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

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 *


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

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_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 *


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

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


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon
$at_traceoff
echo "$at_srcdir/rename03.at:26:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS=\"-H posix\"
export TAR_OPTIONS
rm -rf *


test -z "`sort < /dev/null 2>&1`" || exit 77


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

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
)"
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

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 *


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

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_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 *


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

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


  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"`
    ;;

  36 ) # 36. 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 " 36: changed file types in incrementals           $ECHO_C"
    at_xfail=no
      test -f $XFAILFILE && at_xfail=yes
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "36. chtype.at:27: testing ..."
      $at_traceon





  $at_traceoff
echo "$at_srcdir/chtype.at:30:
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


install-sh -d directory/b/c >/dev/null
genfile --file directory/b/c/x
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"

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
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
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
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_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
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


install-sh -d directory/b/c >/dev/null
genfile --file directory/b/c/x
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_stderr"
    at_status=$?
fi

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_traceon
$at_traceoff
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
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"

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 *


test -z "`sort < /dev/null 2>&1`" || exit 77


install-sh -d directory/b/c >/dev/null
genfile --file directory/b/c/x
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_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 *


test -z "`sort < /dev/null 2>&1`" || exit 77


install-sh -d directory/b/c >/dev/null
genfile --file directory/b/c/x
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_stderr"
    at_status=$?
fi

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_traceon
$at_traceoff
echo "$at_srcdir/chtype.at:30:
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


install-sh -d directory/b/c >/dev/null
genfile --file directory/b/c/x
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"

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 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


install-sh -d directory/b/c >/dev/null
genfile --file directory/b/c/x
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_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 *


test -z "`sort < /dev/null 2>&1`" || exit 77


install-sh -d directory/b/c >/dev/null
genfile --file directory/b/c/x
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_stderr"
    at_status=$?
fi

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_traceon



      $at_traceoff
      $at_times_p && times >"$at_times_file"
    ) 5>&1 2>&1 | eval $at_tee_pipe
    at_status=`cat "$at_status_file"`
    ;;

  37 ) # 37. ignfail.at:23: ignfail
    at_setup_line='ignfail.at:23'
    at_desc='ignfail'
    $at_quiet $ECHO_N " 37: ignfail                                      $ECHO_C"
    at_xfail=no
      test -f $XFAILFILE && at_xfail=yes
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "37. ignfail.at:23: testing ..."
      $at_traceon





  $at_traceoff
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_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 *

# 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_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 *

# 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: Error exit delayed from previous errors
-----
tar: file: Warning: Cannot open: Permission denied
-----
tar: directory: Cannot open: Permission denied
tar: Error exit delayed from 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_traceon
$at_traceoff
echo "$at_srcdir/ignfail.at:26:
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


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;
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


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_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 *

# 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: Error exit delayed from previous errors
-----
tar: file: Warning: Cannot open: Permission denied
-----
tar: directory: Cannot open: Permission denied
tar: Error exit delayed from 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_traceon
$at_traceoff
echo "$at_srcdir/ignfail.at:26:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
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
)"
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;
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
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
) ) >"$at_stdout" 2>"$at_stder1"
    at_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
else
    ( :;
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
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
) ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

at_failed=false
echo >>"$at_stderr"; echo "-----
tar: file: Cannot open: Permission denied
tar: Error exit delayed from previous errors
-----
tar: file: Warning: Cannot open: Permission denied
-----
tar: directory: Cannot open: Permission denied
tar: Error exit delayed from 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_traceon
$at_traceoff
echo "$at_srcdir/ignfail.at:26:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
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;
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
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
) ) >"$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 *

# 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: Error exit delayed from previous errors
-----
tar: file: Warning: Cannot open: Permission denied
-----
tar: directory: Cannot open: Permission denied
tar: Error exit delayed from 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_traceon
$at_traceoff
echo "$at_srcdir/ignfail.at:26:
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
)"
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;
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_stder1"
    at_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
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: Error exit delayed from previous errors
-----
tar: file: Warning: Cannot open: Permission denied
-----
tar: directory: Cannot open: Permission denied
tar: Error exit delayed from 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_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. link01.at:33: link count gt 2
    at_setup_line='link01.at:33'
    at_desc='link count gt 2'
    $at_quiet $ECHO_N " 38: link count gt 2                              $ECHO_C"
    at_xfail=no
      test -f $XFAILFILE && at_xfail=yes
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "38. link01.at:33: testing ..."
      $at_traceon





  $at_traceoff
echo "$at_srcdir/link01.at:36:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
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

tar cf archive directory/test1/test.txt directory/test1/test.txt

rm -r directory
tar xf archive

ls directory/test1
)"
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

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
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_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 *

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_stderr"
    at_status=$?
fi

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
$at_traceoff
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 *

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
)"
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

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 *

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_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 *

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_stderr"
    at_status=$?
fi

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
$at_traceoff
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 *

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
)"
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

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 *

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_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
else
    ( :;
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
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

tar cf archive directory/test1/test.txt directory/test1/test.txt

rm -r directory
tar xf archive

ls directory/test1
) ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

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
$at_traceoff
echo "$at_srcdir/link01.at:36:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
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

tar cf archive directory/test1/test.txt directory/test1/test.txt

rm -r directory
tar xf archive

ls directory/test1
)"
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

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 *

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_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 *

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_stderr"
    at_status=$?
fi

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
$at_traceoff
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 *

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
)"
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

if test -n "$at_trace_this"; 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_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
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 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_stderr"
    at_status=$?
fi

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



      $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. 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 " 39: long names in V7 archives                    $ECHO_C"
    at_xfail=no
      test -f $XFAILFILE && at_xfail=yes
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "39. longv7.at:24: testing ..."
      $at_traceon








  $at_traceoff
echo "$at_srcdir/longv7.at:30:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS=\"-H v7\"
export TAR_OPTIONS
rm -rf *

mkdir this_is_a_very_long_name_for_a_directory_which_causes_problems
touch this_is_a_very_long_name_for_a_directory_which_causes_problems/this_is_a_very_long_file_name_which_raises_issues.c

tar cf archive this_is_a_very_long_name_for_a_directory_which_causes_problems
echo separator
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;
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *

mkdir this_is_a_very_long_name_for_a_directory_which_causes_problems
touch this_is_a_very_long_name_for_a_directory_which_causes_problems/this_is_a_very_long_file_name_which_raises_issues.c

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"
else
    ( :;
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *

mkdir this_is_a_very_long_name_for_a_directory_which_causes_problems
touch this_is_a_very_long_name_for_a_directory_which_causes_problems/this_is_a_very_long_file_name_which_raises_issues.c

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_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
tar: Error exit delayed from previous errors
" | $at_diff - "$at_stderr" || at_failed=:
echo >>"$at_stdout"; 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_traceoff
      $at_times_p && times >"$at_times_file"
    ) 5>&1 2>&1 | eval $at_tee_pipe
    at_status=`cat "$at_status_file"`
    ;;

  40 ) # 40. 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 " 40: long file names divisible by block size      $ECHO_C"
    at_xfail=no
      test -f $XFAILFILE && at_xfail=yes
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "40. long01.at:28: testing ..."
      $at_traceon









  $at_traceoff
echo "$at_srcdir/long01.at:36:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS=\"-H gnu\"
export TAR_OPTIONS
rm -rf *


install-sh -d 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 >/dev/null
genfile --file 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
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

if test -n "$at_trace_this"; 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 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 >/dev/null
genfile --file 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
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"
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 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 >/dev/null
genfile --file 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
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_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
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_traceon
$at_traceoff
echo "$at_srcdir/long01.at:36:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS=\"-H oldgnu\"
export TAR_OPTIONS
rm -rf *


install-sh -d 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 >/dev/null
genfile --file 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
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

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 *


install-sh -d 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 >/dev/null
genfile --file 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
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"
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 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 >/dev/null
genfile --file 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
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_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
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_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. lustar01.at:21: ustar: unsplittable file name
    at_setup_line='lustar01.at:21'
    at_desc='ustar: unsplittable file name'
    $at_quiet $ECHO_N " 41: ustar: unsplittable file name                $ECHO_C"
    at_xfail=no
      test -f $XFAILFILE && at_xfail=yes
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "41. lustar01.at:21: testing ..."
      $at_traceon







  $at_traceoff
echo "$at_srcdir/lustar01.at:27:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS=\"-H ustar\"
export TAR_OPTIONS
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
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
)"
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;
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
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
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"
else
    ( :;
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
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
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_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
tar: Error exit delayed from 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_traceoff
      $at_times_p && times >"$at_times_file"
    ) 5>&1 2>&1 | eval $at_tee_pipe
    at_status=`cat "$at_status_file"`
    ;;

  42 ) # 42. lustar02.at:21: ustar: unsplittable path name
    at_setup_line='lustar02.at:21'
    at_desc='ustar: unsplittable path name'
    $at_quiet $ECHO_N " 42: ustar: unsplittable path name                $ECHO_C"
    at_xfail=no
      test -f $XFAILFILE && at_xfail=yes
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "42. lustar02.at:21: testing ..."
      $at_traceon











  $at_traceoff
echo "$at_srcdir/lustar02.at:32:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS=\"-H ustar\"
export TAR_OPTIONS
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
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 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;
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
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
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"
else
    ( :;
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
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
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_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
tar: Error exit delayed from 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_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. lustar03.at:21: ustar: splitting long names
    at_setup_line='lustar03.at:21'
    at_desc='ustar: splitting long names'
    $at_quiet $ECHO_N " 43: ustar: splitting long names                  $ECHO_C"
    at_xfail=no
      test -f $XFAILFILE && at_xfail=yes
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "43. lustar03.at:21: testing ..."
      $at_traceon









  $at_traceoff
echo "$at_srcdir/lustar03.at:29:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS=\"-H ustar\"
export TAR_OPTIONS
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/file
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)"
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;
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
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/file
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"
else
    ( :;
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
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/file
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_failed=false
$at_diff "$at_devnull" "$at_stderr" || at_failed=:
echo >>"$at_stdout"; 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_traceoff
      $at_times_p && times >"$at_times_file"
    ) 5>&1 2>&1 | eval $at_tee_pipe
    at_status=`cat "$at_status_file"`
    ;;

  44 ) # 44. multiv01.at:23: multivolume dumps from pipes
    at_setup_line='multiv01.at:23'
    at_desc='multivolume dumps from pipes'
    $at_quiet $ECHO_N " 44: multivolume dumps from pipes                 $ECHO_C"
    at_xfail=no
      test -f $XFAILFILE && at_xfail=yes
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "44. multiv01.at:23: testing ..."
      $at_traceon



# Fixme: should be configurable
#  TRUSS=truss -o /tmp/tr
#  TRUSS=strace



  $at_traceoff
echo "$at_srcdir/multiv01.at:30:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS=\"-H gnu\"
export TAR_OPTIONS
rm -rf *

exec <&-
genfile --length 7168 --file file1

for block in \" 1\" \" 2\" \" 3\" \" 4\" \" 5\" \" 6\" \" 7\" \" 8\" \\
              \" 9\" \"10\" \"11\" \"12\" \"13\" \"14\" \"15\" \"16\" ; do \\
  echo \"file2  block \${block} bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla\"
  for count in 2 3 4 5 6 7 8 ; do
    echo \"bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla\"
  done
done >file2

if test \$TEST_TAR_FORMAT = pax; then
  TAPE_LENGTH=11
else
  TAPE_LENGTH=10
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
dd bs=4096 count=\$TAPE_LENGTH if=t2-pipe.tar 2>/dev/null |
PATH=\$PATH \${TRUSS} tar -f t1-pipe.tar -f - \\
      -C extract-dir-pipe -x --multi-volume \\
      --tape-length=\$TAPE_LENGTH --read-full-records || exit 1

cmp file1 extract-dir-pipe/file1
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;
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

exec <&-
genfile --length 7168 --file file1

for block in " 1" " 2" " 3" " 4" " 5" " 6" " 7" " 8" \
              " 9" "10" "11" "12" "13" "14" "15" "16" ; do \
  echo "file2  block ${block} bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla"
  for count in 2 3 4 5 6 7 8 ; do
    echo "bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla"
  done
done >file2

if test $TEST_TAR_FORMAT = pax; then
  TAPE_LENGTH=11
else
  TAPE_LENGTH=10
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
dd bs=4096 count=$TAPE_LENGTH if=t2-pipe.tar 2>/dev/null |
PATH=$PATH ${TRUSS} tar -f t1-pipe.tar -f - \
      -C extract-dir-pipe -x --multi-volume \
      --tape-length=$TAPE_LENGTH --read-full-records || exit 1

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"
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 7168 --file file1

for block in " 1" " 2" " 3" " 4" " 5" " 6" " 7" " 8" \
              " 9" "10" "11" "12" "13" "14" "15" "16" ; do \
  echo "file2  block ${block} bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla"
  for count in 2 3 4 5 6 7 8 ; do
    echo "bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla"
  done
done >file2

if test $TEST_TAR_FORMAT = pax; then
  TAPE_LENGTH=11
else
  TAPE_LENGTH=10
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
dd bs=4096 count=$TAPE_LENGTH if=t2-pipe.tar 2>/dev/null |
PATH=$PATH ${TRUSS} tar -f t1-pipe.tar -f - \
      -C extract-dir-pipe -x --multi-volume \
      --tape-length=$TAPE_LENGTH --read-full-records || exit 1

cmp file1 extract-dir-pipe/file1
cmp file2 extract-dir-pipe/file2
) ) >"$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/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_traceon
$at_traceoff
echo "$at_srcdir/multiv01.at:30:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS=\"-H oldgnu\"
export TAR_OPTIONS
rm -rf *

exec <&-
genfile --length 7168 --file file1

for block in \" 1\" \" 2\" \" 3\" \" 4\" \" 5\" \" 6\" \" 7\" \" 8\" \\
              \" 9\" \"10\" \"11\" \"12\" \"13\" \"14\" \"15\" \"16\" ; do \\
  echo \"file2  block \${block} bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla\"
  for count in 2 3 4 5 6 7 8 ; do
    echo \"bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla\"
  done
done >file2

if test \$TEST_TAR_FORMAT = pax; then
  TAPE_LENGTH=11
else
  TAPE_LENGTH=10
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
dd bs=4096 count=\$TAPE_LENGTH if=t2-pipe.tar 2>/dev/null |
PATH=\$PATH \${TRUSS} tar -f t1-pipe.tar -f - \\
      -C extract-dir-pipe -x --multi-volume \\
      --tape-length=\$TAPE_LENGTH --read-full-records || exit 1

cmp file1 extract-dir-pipe/file1
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;
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

exec <&-
genfile --length 7168 --file file1

for block in " 1" " 2" " 3" " 4" " 5" " 6" " 7" " 8" \
              " 9" "10" "11" "12" "13" "14" "15" "16" ; do \
  echo "file2  block ${block} bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla"
  for count in 2 3 4 5 6 7 8 ; do
    echo "bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla"
  done
done >file2

if test $TEST_TAR_FORMAT = pax; then
  TAPE_LENGTH=11
else
  TAPE_LENGTH=10
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
dd bs=4096 count=$TAPE_LENGTH if=t2-pipe.tar 2>/dev/null |
PATH=$PATH ${TRUSS} tar -f t1-pipe.tar -f - \
      -C extract-dir-pipe -x --multi-volume \
      --tape-length=$TAPE_LENGTH --read-full-records || exit 1

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"
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 7168 --file file1

for block in " 1" " 2" " 3" " 4" " 5" " 6" " 7" " 8" \
              " 9" "10" "11" "12" "13" "14" "15" "16" ; do \
  echo "file2  block ${block} bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla"
  for count in 2 3 4 5 6 7 8 ; do
    echo "bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla"
  done
done >file2

if test $TEST_TAR_FORMAT = pax; then
  TAPE_LENGTH=11
else
  TAPE_LENGTH=10
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
dd bs=4096 count=$TAPE_LENGTH if=t2-pipe.tar 2>/dev/null |
PATH=$PATH ${TRUSS} tar -f t1-pipe.tar -f - \
      -C extract-dir-pipe -x --multi-volume \
      --tape-length=$TAPE_LENGTH --read-full-records || exit 1

cmp file1 extract-dir-pipe/file1
cmp file2 extract-dir-pipe/file2
) ) >"$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/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_traceon
$at_traceoff
echo "$at_srcdir/multiv01.at:30:
mkdir pax
(cd pax
TEST_TAR_FORMAT=pax
export TEST_TAR_FORMAT
TAR_OPTIONS=\"-H pax\"
export TAR_OPTIONS
rm -rf *

exec <&-
genfile --length 7168 --file file1

for block in \" 1\" \" 2\" \" 3\" \" 4\" \" 5\" \" 6\" \" 7\" \" 8\" \\
              \" 9\" \"10\" \"11\" \"12\" \"13\" \"14\" \"15\" \"16\" ; do \\
  echo \"file2  block \${block} bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla\"
  for count in 2 3 4 5 6 7 8 ; do
    echo \"bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla\"
  done
done >file2

if test \$TEST_TAR_FORMAT = pax; then
  TAPE_LENGTH=11
else
  TAPE_LENGTH=10
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
dd bs=4096 count=\$TAPE_LENGTH if=t2-pipe.tar 2>/dev/null |
PATH=\$PATH \${TRUSS} tar -f t1-pipe.tar -f - \\
      -C extract-dir-pipe -x --multi-volume \\
      --tape-length=\$TAPE_LENGTH --read-full-records || exit 1

cmp file1 extract-dir-pipe/file1
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;
mkdir pax
(cd pax
TEST_TAR_FORMAT=pax
export TEST_TAR_FORMAT
TAR_OPTIONS="-H pax"
export TAR_OPTIONS
rm -rf *

exec <&-
genfile --length 7168 --file file1

for block in " 1" " 2" " 3" " 4" " 5" " 6" " 7" " 8" \
              " 9" "10" "11" "12" "13" "14" "15" "16" ; do \
  echo "file2  block ${block} bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla"
  for count in 2 3 4 5 6 7 8 ; do
    echo "bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla"
  done
done >file2

if test $TEST_TAR_FORMAT = pax; then
  TAPE_LENGTH=11
else
  TAPE_LENGTH=10
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
dd bs=4096 count=$TAPE_LENGTH if=t2-pipe.tar 2>/dev/null |
PATH=$PATH ${TRUSS} tar -f t1-pipe.tar -f - \
      -C extract-dir-pipe -x --multi-volume \
      --tape-length=$TAPE_LENGTH --read-full-records || exit 1

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"
else
    ( :;
mkdir pax
(cd pax
TEST_TAR_FORMAT=pax
export TEST_TAR_FORMAT
TAR_OPTIONS="-H pax"
export TAR_OPTIONS
rm -rf *

exec <&-
genfile --length 7168 --file file1

for block in " 1" " 2" " 3" " 4" " 5" " 6" " 7" " 8" \
              " 9" "10" "11" "12" "13" "14" "15" "16" ; do \
  echo "file2  block ${block} bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla"
  for count in 2 3 4 5 6 7 8 ; do
    echo "bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla!bla"
  done
done >file2

if test $TEST_TAR_FORMAT = pax; then
  TAPE_LENGTH=11
else
  TAPE_LENGTH=10
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
dd bs=4096 count=$TAPE_LENGTH if=t2-pipe.tar 2>/dev/null |
PATH=$PATH ${TRUSS} tar -f t1-pipe.tar -f - \
      -C extract-dir-pipe -x --multi-volume \
      --tape-length=$TAPE_LENGTH --read-full-records || exit 1

cmp file1 extract-dir-pipe/file1
cmp file2 extract-dir-pipe/file2
) ) >"$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/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_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. multiv02.at:28: skipping a straddling member
    at_setup_line='multiv02.at:28'
    at_desc='skipping a straddling member'
    $at_quiet $ECHO_N " 45: skipping a straddling member                 $ECHO_C"
    at_xfail=no
      test -f $XFAILFILE && at_xfail=yes
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "45. multiv02.at:28: testing ..."
      $at_traceon





  $at_traceoff
echo "$at_srcdir/multiv02.at:31:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS=\"-H gnu\"
export TAR_OPTIONS
rm -rf *

genfile --length 10240 --file en
genfile --length 20000 --file to
genfile --length 20000 --file tre
genfile --length 10240 --file fire

exec <&-

tar -c -f A.tar -f B.tar -f C.tar -M -L 30 en to tre fire || exit 1
echo separator
tar -v -x -f A.tar -f B.tar -f C.tar -M en || exit 1
)"
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;
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

genfile --length 10240 --file en
genfile --length 20000 --file to
genfile --length 20000 --file tre
genfile --length 10240 --file fire

exec <&-

tar -c -f A.tar -f B.tar -f C.tar -M -L 30 en to tre fire || exit 1
echo separator
tar -v -x -f A.tar -f B.tar -f C.tar -M en || exit 1
) ) >"$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
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

genfile --length 10240 --file en
genfile --length 20000 --file to
genfile --length 20000 --file tre
genfile --length 10240 --file fire

exec <&-

tar -c -f A.tar -f B.tar -f C.tar -M -L 30 en to tre fire || exit 1
echo separator
tar -v -x -f A.tar -f B.tar -f C.tar -M en || exit 1
) ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

at_failed=false
$at_diff "$at_devnull" "$at_stderr" || at_failed=:
echo >>"$at_stdout"; 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_traceoff
echo "$at_srcdir/multiv02.at:31:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS=\"-H oldgnu\"
export TAR_OPTIONS
rm -rf *

genfile --length 10240 --file en
genfile --length 20000 --file to
genfile --length 20000 --file tre
genfile --length 10240 --file fire

exec <&-

tar -c -f A.tar -f B.tar -f C.tar -M -L 30 en to tre fire || exit 1
echo separator
tar -v -x -f A.tar -f B.tar -f C.tar -M en || exit 1
)"
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;
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

genfile --length 10240 --file en
genfile --length 20000 --file to
genfile --length 20000 --file tre
genfile --length 10240 --file fire

exec <&-

tar -c -f A.tar -f B.tar -f C.tar -M -L 30 en to tre fire || exit 1
echo separator
tar -v -x -f A.tar -f B.tar -f C.tar -M en || exit 1
) ) >"$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 --length 10240 --file en
genfile --length 20000 --file to
genfile --length 20000 --file tre
genfile --length 10240 --file fire

exec <&-

tar -c -f A.tar -f B.tar -f C.tar -M -L 30 en to tre fire || exit 1
echo separator
tar -v -x -f A.tar -f B.tar -f C.tar -M en || exit 1
) ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

at_failed=false
$at_diff "$at_devnull" "$at_stderr" || at_failed=:
echo >>"$at_stdout"; 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_traceoff
echo "$at_srcdir/multiv02.at:31:
mkdir pax
(cd pax
TEST_TAR_FORMAT=pax
export TEST_TAR_FORMAT
TAR_OPTIONS=\"-H pax\"
export TAR_OPTIONS
rm -rf *

genfile --length 10240 --file en
genfile --length 20000 --file to
genfile --length 20000 --file tre
genfile --length 10240 --file fire

exec <&-

tar -c -f A.tar -f B.tar -f C.tar -M -L 30 en to tre fire || exit 1
echo separator
tar -v -x -f A.tar -f B.tar -f C.tar -M en || exit 1
)"
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;
mkdir pax
(cd pax
TEST_TAR_FORMAT=pax
export TEST_TAR_FORMAT
TAR_OPTIONS="-H pax"
export TAR_OPTIONS
rm -rf *

genfile --length 10240 --file en
genfile --length 20000 --file to
genfile --length 20000 --file tre
genfile --length 10240 --file fire

exec <&-

tar -c -f A.tar -f B.tar -f C.tar -M -L 30 en to tre fire || exit 1
echo separator
tar -v -x -f A.tar -f B.tar -f C.tar -M en || exit 1
) ) >"$at_stdout" 2>"$at_stder1"
    at_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
else
    ( :;
mkdir pax
(cd pax
TEST_TAR_FORMAT=pax
export TEST_TAR_FORMAT
TAR_OPTIONS="-H pax"
export TAR_OPTIONS
rm -rf *

genfile --length 10240 --file en
genfile --length 20000 --file to
genfile --length 20000 --file tre
genfile --length 10240 --file fire

exec <&-

tar -c -f A.tar -f B.tar -f C.tar -M -L 30 en to tre fire || exit 1
echo separator
tar -v -x -f A.tar -f B.tar -f C.tar -M en || exit 1
) ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

at_failed=false
$at_diff "$at_devnull" "$at_stderr" || at_failed=:
echo >>"$at_stdout"; 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_traceoff
      $at_times_p && times >"$at_times_file"
    ) 5>&1 2>&1 | eval $at_tee_pipe
    at_status=`cat "$at_status_file"`
    ;;

  46 ) # 46. multiv03.at:30: MV archive & long filenames
    at_setup_line='multiv03.at:30'
    at_desc='MV archive & long filenames'
    $at_quiet $ECHO_N " 46: MV archive & long filenames                  $ECHO_C"
    at_xfail=no
      test -f $XFAILFILE && at_xfail=yes
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "46. multiv03.at:30: testing ..."
      $at_traceon





  $at_traceoff
echo "$at_srcdir/multiv03.at:33:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS=\"-H gnu\"
export TAR_OPTIONS
rm -rf *

AFILE=\`awk 'BEGIN { for (i = 0; i < 100; i++) printf \"a\"; exit; }'\`
BFILE=\`awk 'BEGIN { for (i = 0; i < 101; i++) printf \"b\"; exit; }'\`

cat > ../experr <<EOF
tar: \$BFILE: file name too long to be stored in a GNU multivolume header, truncated
tar: \\\`\$BFILE' is possibly continued on this volume: header contains truncated name
EOF

cat > ../expout <<EOF
\$AFILE
separator-1
separator-2
EOF

genfile --length 15360 --file \$AFILE

exec <&-

tar -M -L 10 -c -f arch.1 -f arch.2 \$AFILE || exit 1
tar -tM -f arch.1 -f arch.2 || exit 1

echo separator-1

genfile --length 15360 --file \$BFILE
tar -M -L 10 -c -f arch.1 -f arch.2 \$BFILE || exit 1

echo separator-2
mv \$BFILE bfile
tar -M -x -f arch.1 -f arch.2 || exit 1
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;
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

AFILE=`awk 'BEGIN { for (i = 0; i < 100; i++) printf "a"; exit; }'`
BFILE=`awk 'BEGIN { for (i = 0; i < 101; i++) printf "b"; exit; }'`

cat > ../experr <<EOF
tar: $BFILE: file name too long to be stored in a GNU multivolume header, truncated
tar: \`$BFILE' is possibly continued on this volume: header contains truncated name
EOF

cat > ../expout <<EOF
$AFILE
separator-1
separator-2
EOF

genfile --length 15360 --file $AFILE

exec <&-

tar -M -L 10 -c -f arch.1 -f arch.2 $AFILE || exit 1
tar -tM -f arch.1 -f arch.2 || exit 1

echo separator-1

genfile --length 15360 --file $BFILE
tar -M -L 10 -c -f arch.1 -f arch.2 $BFILE || exit 1

echo separator-2
mv $BFILE bfile
tar -M -x -f arch.1 -f arch.2 || exit 1
cmp $BFILE bfile
) ) >"$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
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

AFILE=`awk 'BEGIN { for (i = 0; i < 100; i++) printf "a"; exit; }'`
BFILE=`awk 'BEGIN { for (i = 0; i < 101; i++) printf "b"; exit; }'`

cat > ../experr <<EOF
tar: $BFILE: file name too long to be stored in a GNU multivolume header, truncated
tar: \`$BFILE' is possibly continued on this volume: header contains truncated name
EOF

cat > ../expout <<EOF
$AFILE
separator-1
separator-2
EOF

genfile --length 15360 --file $AFILE

exec <&-

tar -M -L 10 -c -f arch.1 -f arch.2 $AFILE || exit 1
tar -tM -f arch.1 -f arch.2 || exit 1

echo separator-1

genfile --length 15360 --file $BFILE
tar -M -L 10 -c -f arch.1 -f arch.2 $BFILE || exit 1

echo separator-2
mv $BFILE bfile
tar -M -x -f arch.1 -f arch.2 || exit 1
cmp $BFILE bfile
) ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

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_traceon
$at_traceoff
echo "$at_srcdir/multiv03.at:33:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS=\"-H oldgnu\"
export TAR_OPTIONS
rm -rf *

AFILE=\`awk 'BEGIN { for (i = 0; i < 100; i++) printf \"a\"; exit; }'\`
BFILE=\`awk 'BEGIN { for (i = 0; i < 101; i++) printf \"b\"; exit; }'\`

cat > ../experr <<EOF
tar: \$BFILE: file name too long to be stored in a GNU multivolume header, truncated
tar: \\\`\$BFILE' is possibly continued on this volume: header contains truncated name
EOF

cat > ../expout <<EOF
\$AFILE
separator-1
separator-2
EOF

genfile --length 15360 --file \$AFILE

exec <&-

tar -M -L 10 -c -f arch.1 -f arch.2 \$AFILE || exit 1
tar -tM -f arch.1 -f arch.2 || exit 1

echo separator-1

genfile --length 15360 --file \$BFILE
tar -M -L 10 -c -f arch.1 -f arch.2 \$BFILE || exit 1

echo separator-2
mv \$BFILE bfile
tar -M -x -f arch.1 -f arch.2 || exit 1
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;
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

AFILE=`awk 'BEGIN { for (i = 0; i < 100; i++) printf "a"; exit; }'`
BFILE=`awk 'BEGIN { for (i = 0; i < 101; i++) printf "b"; exit; }'`

cat > ../experr <<EOF
tar: $BFILE: file name too long to be stored in a GNU multivolume header, truncated
tar: \`$BFILE' is possibly continued on this volume: header contains truncated name
EOF

cat > ../expout <<EOF
$AFILE
separator-1
separator-2
EOF

genfile --length 15360 --file $AFILE

exec <&-

tar -M -L 10 -c -f arch.1 -f arch.2 $AFILE || exit 1
tar -tM -f arch.1 -f arch.2 || exit 1

echo separator-1

genfile --length 15360 --file $BFILE
tar -M -L 10 -c -f arch.1 -f arch.2 $BFILE || exit 1

echo separator-2
mv $BFILE bfile
tar -M -x -f arch.1 -f arch.2 || exit 1
cmp $BFILE bfile
) ) >"$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 *

AFILE=`awk 'BEGIN { for (i = 0; i < 100; i++) printf "a"; exit; }'`
BFILE=`awk 'BEGIN { for (i = 0; i < 101; i++) printf "b"; exit; }'`

cat > ../experr <<EOF
tar: $BFILE: file name too long to be stored in a GNU multivolume header, truncated
tar: \`$BFILE' is possibly continued on this volume: header contains truncated name
EOF

cat > ../expout <<EOF
$AFILE
separator-1
separator-2
EOF

genfile --length 15360 --file $AFILE

exec <&-

tar -M -L 10 -c -f arch.1 -f arch.2 $AFILE || exit 1
tar -tM -f arch.1 -f arch.2 || exit 1

echo separator-1

genfile --length 15360 --file $BFILE
tar -M -L 10 -c -f arch.1 -f arch.2 $BFILE || exit 1

echo separator-2
mv $BFILE bfile
tar -M -x -f arch.1 -f arch.2 || exit 1
cmp $BFILE bfile
) ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

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_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. 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 " 47: split directory members in a MV archive      $ECHO_C"
    at_xfail=no
      test -f $XFAILFILE && at_xfail=yes
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "47. multiv04.at:36: testing ..."
      $at_traceon





  $at_traceoff
echo "$at_srcdir/multiv04.at:39:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS=\"-H gnu\"
export TAR_OPTIONS
rm -rf *


mkdir directory
awk 'BEGIN { for (i = 0; i < 1024; i++) printf(\"directory/%014x\\n\", i); }' </dev/null | genfile --files-from -

exec <&-

sleep 2

tar --listed-incremental=list -c -f archive.a directory

sleep 2

tar --listed-incremental=list -c --record-size 1024 -L 16 -f arc.1 -f arc.2 -v directory

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;
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *


mkdir directory
awk 'BEGIN { for (i = 0; i < 1024; i++) printf("directory/%014x\n", i); }' </dev/null | genfile --files-from -

exec <&-

sleep 2

tar --listed-incremental=list -c -f archive.a directory

sleep 2

tar --listed-incremental=list -c --record-size 1024 -L 16 -f arc.1 -f arc.2 -v directory

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"
else
    ( :;
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *


mkdir directory
awk 'BEGIN { for (i = 0; i < 1024; i++) printf("directory/%014x\n", i); }' </dev/null | genfile --files-from -

exec <&-

sleep 2

tar --listed-incremental=list -c -f archive.a directory

sleep 2

tar --listed-incremental=list -c --record-size 1024 -L 16 -f arc.1 -f arc.2 -v directory

echo separator

tar -MRt -f arc.1 -f arc.2) ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

at_failed=false
$at_diff "$at_devnull" "$at_stderr" || at_failed=:
echo >>"$at_stdout"; 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_traceon
$at_traceoff
echo "$at_srcdir/multiv04.at:39:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS=\"-H oldgnu\"
export TAR_OPTIONS
rm -rf *


mkdir directory
awk 'BEGIN { for (i = 0; i < 1024; i++) printf(\"directory/%014x\\n\", i); }' </dev/null | genfile --files-from -

exec <&-

sleep 2

tar --listed-incremental=list -c -f archive.a directory

sleep 2

tar --listed-incremental=list -c --record-size 1024 -L 16 -f arc.1 -f arc.2 -v directory

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;
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *


mkdir directory
awk 'BEGIN { for (i = 0; i < 1024; i++) printf("directory/%014x\n", i); }' </dev/null | genfile --files-from -

exec <&-

sleep 2

tar --listed-incremental=list -c -f archive.a directory

sleep 2

tar --listed-incremental=list -c --record-size 1024 -L 16 -f arc.1 -f arc.2 -v directory

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"
else
    ( :;
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *


mkdir directory
awk 'BEGIN { for (i = 0; i < 1024; i++) printf("directory/%014x\n", i); }' </dev/null | genfile --files-from -

exec <&-

sleep 2

tar --listed-incremental=list -c -f archive.a directory

sleep 2

tar --listed-incremental=list -c --record-size 1024 -L 16 -f arc.1 -f arc.2 -v directory

echo separator

tar -MRt -f arc.1 -f arc.2) ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

at_failed=false
$at_diff "$at_devnull" "$at_stderr" || at_failed=:
echo >>"$at_stdout"; 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_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. multiv05.at:26: Restoring after an out of sync folume
    at_setup_line='multiv05.at:26'
    at_desc='Restoring after an out of sync folume'
    $at_quiet $ECHO_N " 48: Restoring after an out of sync folume        $ECHO_C"
    at_xfail=no
      test -f $XFAILFILE && at_xfail=yes
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "48. multiv05.at:26: testing ..."
      $at_traceon






  $at_traceoff
echo "$at_srcdir/multiv05.at:30:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS=\"-H gnu\"
export TAR_OPTIONS
rm -rf *

exec <&-

genfile --length 250k --file jeden
genfile --length 250k --file dwa
genfile --length 250k --file trzy
genfile --length 250k --file cztery
genfile --length 250k --file piec
genfile --length 250k --file szesc


echo Creating archive
tar -c -M -L 502 -f a.tar -f b.tar -f c.tar jeden dwa trzy cztery piec szesc
echo separator
mkdir bak
mv jeden dwa trzy cztery piec szesc bak
tar -vxM -f a.tar -f c.tar -f b.tar -f c.tar
echo Diffing jeden
   cmp bak/jeden jeden || exit 1
echo Diffing dwa
   cmp bak/dwa dwa || exit 1
echo Diffing trzy
   cmp bak/trzy trzy || exit 1
echo Diffing cztery
   cmp bak/cztery cztery || exit 1
echo Diffing piec
   cmp bak/piec piec || exit 1
echo Diffing szesc
   cmp bak/szesc szesc || exit 1
)"
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;
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

exec <&-

genfile --length 250k --file jeden
genfile --length 250k --file dwa
genfile --length 250k --file trzy
genfile --length 250k --file cztery
genfile --length 250k --file piec
genfile --length 250k --file szesc


echo Creating archive
tar -c -M -L 502 -f a.tar -f b.tar -f c.tar jeden dwa trzy cztery piec szesc
echo separator
mkdir bak
mv jeden dwa trzy cztery piec szesc bak
tar -vxM -f a.tar -f c.tar -f b.tar -f c.tar
echo Diffing jeden
   cmp bak/jeden jeden || exit 1
echo Diffing dwa
   cmp bak/dwa dwa || exit 1
echo Diffing trzy
   cmp bak/trzy trzy || exit 1
echo Diffing cztery
   cmp bak/cztery cztery || exit 1
echo Diffing piec
   cmp bak/piec piec || exit 1
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"
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 250k --file jeden
genfile --length 250k --file dwa
genfile --length 250k --file trzy
genfile --length 250k --file cztery
genfile --length 250k --file piec
genfile --length 250k --file szesc


echo Creating archive
tar -c -M -L 502 -f a.tar -f b.tar -f c.tar jeden dwa trzy cztery piec szesc
echo separator
mkdir bak
mv jeden dwa trzy cztery piec szesc bak
tar -vxM -f a.tar -f c.tar -f b.tar -f c.tar
echo Diffing jeden
   cmp bak/jeden jeden || exit 1
echo Diffing dwa
   cmp bak/dwa dwa || exit 1
echo Diffing trzy
   cmp bak/trzy trzy || exit 1
echo Diffing cztery
   cmp bak/cztery cztery || exit 1
echo Diffing piec
   cmp bak/piec piec || exit 1
echo Diffing szesc
   cmp bak/szesc szesc || exit 1
) ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

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
separator
jeden
dwa
trzy
cztery
piec
szesc
Diffing jeden
Diffing dwa
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


  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"`
    ;;

  49 ) # 49. old.at:23: old archives
    at_setup_line='old.at:23'
    at_desc='old archives'
    $at_quiet $ECHO_N " 49: old archives                                 $ECHO_C"
    at_xfail=no
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "49. old.at:23: testing ..."
      $at_traceon



unset TAR_OPTIONS
$at_traceoff
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"

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 directory
tar cfvo archive directory || exit 1
tar tf archive
 ) >"$at_stdout" 2>"$at_stder1"
    at_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
else
    ( :;
mkdir directory
tar cfvo archive 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/
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


  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. recurse.at:21: recurse
    at_setup_line='recurse.at:21'
    at_desc='recurse'
    $at_quiet $ECHO_N " 50: recurse                                      $ECHO_C"
    at_xfail=no
      test -f $XFAILFILE && at_xfail=yes
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "50. recurse.at:21: testing ..."
      $at_traceon





  $at_traceoff
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"

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 *

mkdir directory
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"
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"
    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


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon
$at_traceoff
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"

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 *

mkdir directory
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"
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"
    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


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon
$at_traceoff
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"

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 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_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
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"
    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


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon
$at_traceoff
echo "$at_srcdir/recurse.at:24:
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 --create --file archive --no-recursion directory || exit 1
tar tf archive
)"
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 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 *

mkdir directory
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"
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 --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


  echo 1 > "$at_status_file"
  exit 1
fi

$at_traceon
$at_traceoff
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 *

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"

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
export TEST_TAR_FORMAT
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_stder1"
    at_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
else
    ( :;
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

mkdir directory
touch directory/file
tar --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


  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"`
    ;;

  51 ) # 51. 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 " 51: working -C with --same-order                 $ECHO_C"
    at_xfail=no
      test -f $XFAILFILE && at_xfail=yes
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "51. same-order01.at:26: testing ..."
      $at_traceon





  $at_traceoff
echo "$at_srcdir/same-order01.at:29:
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


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
)"
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

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 *


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

ls directory|sort
) ) >"$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 *


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

ls directory|sort
) ) >"$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
" | $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_traceoff
echo "$at_srcdir/same-order01.at:29:
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


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
)"
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

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 *


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

ls directory|sort
) ) >"$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 *


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

ls directory|sort
) ) >"$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
" | $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_traceoff
echo "$at_srcdir/same-order01.at:29:
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


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
)"
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

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 *


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

ls directory|sort
) ) >"$at_stdout" 2>"$at_stder1"
    at_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
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


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"
    at_status=$?
fi

at_failed=false
$at_diff "$at_devnull" "$at_stderr" || at_failed=:
echo >>"$at_stdout"; 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/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_traceoff
echo "$at_srcdir/same-order01.at:29:
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


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
)"
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

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 *


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

ls directory|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
export TEST_TAR_FORMAT
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

ls directory|sort
) ) >"$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
" | $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_traceoff
echo "$at_srcdir/same-order01.at:29:
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


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
)"
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

if test -n "$at_trace_this"; 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


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_stder1"
    at_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
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


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"
    at_status=$?
fi

at_failed=false
$at_diff "$at_devnull" "$at_stderr" || at_failed=:
echo >>"$at_stdout"; 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/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_traceoff
      $at_times_p && times >"$at_times_file"
    ) 5>&1 2>&1 | eval $at_tee_pipe
    at_status=`cat "$at_status_file"`
    ;;

  52 ) # 52. same-order02.at:25: multiple -C options
    at_setup_line='same-order02.at:25'
    at_desc='multiple -C options'
    $at_quiet $ECHO_N " 52: multiple -C options                          $ECHO_C"
    at_xfail=no
      test -f $XFAILFILE && at_xfail=yes
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "52. same-order02.at:25: testing ..."
      $at_traceon





  $at_traceoff
echo "$at_srcdir/same-order02.at:28:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS=\"-H v7\"
export TAR_OPTIONS
rm -rf *

genfile -l 1024 -f 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"

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;
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *

genfile -l 1024 -f 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
) ) >"$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 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
) ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

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
echo "$at_srcdir/same-order02.at:28:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS=\"-H oldgnu\"
export TAR_OPTIONS
rm -rf *

genfile -l 1024 -f 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"

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;
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *

genfile -l 1024 -f 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
) ) >"$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 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
) ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

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
echo "$at_srcdir/same-order02.at:28:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS=\"-H ustar\"
export TAR_OPTIONS
rm -rf *

genfile -l 1024 -f 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"

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;
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *

genfile -l 1024 -f 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
) ) >"$at_stdout" 2>"$at_stder1"
    at_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
else
    ( :;
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *

genfile -l 1024 -f 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
) ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

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
echo "$at_srcdir/same-order02.at:28:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS=\"-H posix\"
export TAR_OPTIONS
rm -rf *

genfile -l 1024 -f 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"

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;
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *

genfile -l 1024 -f 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
) ) >"$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 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
) ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

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
echo "$at_srcdir/same-order02.at:28:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS=\"-H gnu\"
export TAR_OPTIONS
rm -rf *

genfile -l 1024 -f 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"

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;
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

genfile -l 1024 -f 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
) ) >"$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
export TEST_TAR_FORMAT
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

ls en
echo separator
ls to
) ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

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"`
    ;;

  53 ) # 53. shortrec.at:25: short records
    at_setup_line='shortrec.at:25'
    at_desc='short records'
    $at_quiet $ECHO_N " 53: short records                                $ECHO_C"
    at_xfail=no
      test -f $XFAILFILE && at_xfail=yes
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "53. shortrec.at:25: testing ..."
      $at_traceon





  $at_traceoff
echo "$at_srcdir/shortrec.at:28:
mkdir v7
(cd v7
TEST_TAR_FORMAT=v7
export TEST_TAR_FORMAT
TAR_OPTIONS=\"-H v7\"
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"

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 *

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_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 *

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_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
echo "$at_srcdir/shortrec.at:28:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
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 - >/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"

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 *

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_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 *

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_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
echo "$at_srcdir/shortrec.at:28:
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS=\"-H ustar\"
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"

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 ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
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_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
else
    ( :;
mkdir ustar
(cd ustar
TEST_TAR_FORMAT=ustar
export TEST_TAR_FORMAT
TAR_OPTIONS="-H ustar"
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_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
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"

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 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_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 *

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_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
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"

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
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_status=$?
    grep '^ *+' "$at_stder1" >&2
    grep -v '^ *+' "$at_stder1" >"$at_stderr"
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_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"`
    ;;

  54 ) # 54. sparse01.at:21: sparse files
    at_setup_line='sparse01.at:21'
    at_desc='sparse files'
    $at_quiet $ECHO_N " 54: sparse files                                 $ECHO_C"
    at_xfail=no
      test -f $XFAILFILE && at_xfail=yes
    echo "#                             -*- compilation -*-" >> "$at_group_log"
    (
      echo "54. sparse01.at:21: testing ..."
      $at_traceon





  $at_traceoff
echo "$at_srcdir/sparse01.at:24:
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS=\"-H posix\"
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
tar Cxf directory archive
genfile --stat=name,size sparsefile
cmp sparsefile directory/sparsefile
)"
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

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 --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
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"
else
    ( :;
mkdir posix
(cd posix
TEST_TAR_FORMAT=posix
export TEST_TAR_FORMAT
TAR_OPTIONS="-H posix"
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
tar Cxf directory archive
genfile --stat=name,size sparsefile
cmp sparsefile directory/sparsefile
) ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

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_traceoff
echo "$at_srcdir/sparse01.at:24:
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS=\"-H gnu\"
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
tar Cxf directory archive
genfile --stat=name,size sparsefile
cmp sparsefile directory/sparsefile
)"
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

if test -n "$at_trace_this"; then
    ( $at_traceon;
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *

genfile --length 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
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"
else
    ( :;
mkdir gnu
(cd gnu
TEST_TAR_FORMAT=gnu
export TEST_TAR_FORMAT
TAR_OPTIONS="-H gnu"
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
tar Cxf directory archive
genfile --stat=name,size sparsefile
cmp sparsefile directory/sparsefile
) ) >"$at_stdout" 2>"$at_stderr"
    at_status=$?
fi

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_traceoff
echo "$at_srcdir/sparse01.at:24:
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
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
tar Cxf directory archive
genfile --stat=name,size sparsefile
cmp sparsefile directory/sparsefile
)"
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

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 --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
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"
else
    ( :;
mkdir oldgnu
(cd oldgnu
TEST_TAR_FORMAT=oldgnu
export TEST_TAR_FORMAT
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 s