#! /bin/sh
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
emulate sh
NULLCMD=:
alias -g '${1+"$@"}'='"$@"'
elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
set -o posix
fi
DUALCASE=1; export DUALCASE
if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
as_unset=unset
else
as_unset=false
fi
$as_unset ENV MAIL MAILPATH
PS1='$ '
PS2='> '
PS4='+ '
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
fi
done
if expr a : '\(a\)' >/dev/null 2>&1; 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
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'`
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
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
as_lineno_1=$LINENO
as_lineno_2=$LINENO
as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
test "x$as_lineno_1" != "x$as_lineno_2" &&
test "x$as_lineno_3" = "x$as_lineno_2" || {
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
;;
esac
if test "x$as_myself" = x; then
as_myself=$0
fi
if test ! -f "$as_myself"; then
{ echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2
{ (exit 1); exit 1; }; }
fi
case $CONFIG_SHELL in
'')
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for as_base in sh bash ksh sh5; do
case $as_dir in
/*)
if ("$as_dir/$as_base" -c '
as_lineno_1=$LINENO
as_lineno_2=$LINENO
as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
test "x$as_lineno_1" != "x$as_lineno_2" &&
test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then
$as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
$as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
CONFIG_SHELL=$as_dir/$as_base
export CONFIG_SHELL
exec "$CONFIG_SHELL" "$0" ${1+"$@"}
fi;;
esac
done
done
;;
esac
sed '=' <$as_myself |
sed '
N
s,$,-,
: loop
s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
t loop
s,-$,,
s,^['$as_cr_digits']*\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; }; }
. ./$as_me.lineno
exit
}
case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
*c*,-n*) ECHO_N= ECHO_C='
' ECHO_T=' ' ;;
*c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;;
*) ECHO_N= ECHO_C='\c' ECHO_T= ;;
esac
if expr a : '\(a\)' >/dev/null 2>&1; then
as_expr=expr
else
as_expr=false
fi
rm -f conf$$ conf$$.exe conf$$.file
echo >conf$$.file
if ln -s conf$$.file conf$$ 2>/dev/null; then
if test -f conf$$.exe; then
as_ln_s='cp -p'
else
as_ln_s='ln -s'
fi
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$$.file
if mkdir -p . 2>/dev/null; then
as_mkdir_p=:
else
test -d ./-p && rmdir ./-p
as_mkdir_p=false
fi
as_executable_p="test -f"
as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
as_nl='
'
IFS=" $as_nl"
$as_unset CDPATH
SHELL=${CONFIG_SHELL-/bin/sh}
at_cli_args="$@"
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
if test -n "$at_top_srcdir"; then
builddir=../..
for at_dir in srcdir top_srcdir top_builddir
do
at_val=`eval echo '${'at_$at_dir'}'`
eval "$at_dir=\$at_val/../.."
done
fi
at_times_p=false
(times) >/dev/null 2>&1 && at_times_p=:
at_debug_args=
at_errexit_p=false
at_verbose=:
at_quiet=echo
at_debug_p=false
at_help_p=false
at_list_p=false
at_groups=
at_dir=`pwd`
at_suite_dir=$at_dir/$as_me.dir
at_suite_log=$at_dir/$as_me.log
at_check_line_file=$at_suite_dir/at-check-line
at_status_file=$at_suite_dir/at-status
at_stdout=$at_suite_dir/at-stdout
at_stder1=$at_suite_dir/at-stder1
at_stderr=$at_suite_dir/at-stderr
at_times_file=$at_suite_dir/at-times
at_tested='tar'
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'
at_format='..'
at_help_all='1;version.at:19;tar version;;
2;pipe.at:29;decompressing from stdin;pipe;
3;options.at:24;options;options;
4;append.at:21;append;append;
5;delete01.at:23;deleting a member after a big one;delete01;
6;delete02.at:23;deleting a member from stdin archive;delete02;
7;delete03.at:21;deleting members with long names;delete03;
8;delete04.at:23;deleting a large last member;delete04;
9;delete05.at:27;deleting non-existing member;delete05;
10;extrac01.at:23;extract01;extract01;
11;extrac02.at:23;extracting symlinks over an existing file;extract02;
12;extrac03.at:23;extraction loops;extract03;
13;extrac04.at:23;extract + fnmatch;extract04;
14;extrac05.at:30;extracting selected members from pax;extract05;
15;gzip.at:23;gzip;gzip;
16;incremental.at:23;incremental;incremental;
17;ignfail.at:23;ignfail;ignfail;
18;link01.at:33;link count gt 2;link01;
19;listed01.at:26;--listed for individual files;listed01;
20;listed02.at:28;working --listed;listed02;
21;longv7.at:24;V7 and long names;longv7;
22;multiv01.at:23;multivolume dumps from pipes;multiv01;
23;multiv02.at:28;skipping a straddling member;multiv02;
24;multiv03.at:28;MV archive & long filenames;multiv03;
25;old.at:23;old archives;old;
26;recurse.at:21;recurse;recurse;
27;same-order01.at:26;same-order01;same-order01;
28;same-order02.at:25;same-order02;same-order02;
29;sparse01.at:21;sparse01;sparse01;
30;volume.at:23;volume;volume;
31;comprec.at:21;compressed format recognition;comprec;
32;gtarfail.at:21;gtarfail;gtarfail;
33;gtarfail2.at:21;gtarfail2;gtarfail2;
34;multi-fail.at:21;multi-fail;multi-fail;
35;ustar-big-2g.at:21;ustar-big-2g;ustar-big-2g;
36;ustar-big-8g.at:21;ustar-big-8g;ustar-big-8g;
37;pax-big-10g.at:21;pax-big-10g;pax-big-10g;
'
at_keywords=
at_prev=
for at_option
do
if test -n "$at_prev"; then
at_option=$at_prev=$at_option
at_prev=
fi
at_optarg=`expr "x$at_option" : 'x[^=]*=\(.*\)'`
case $at_option in
--help | -h )
at_help_p=:
;;
--list | -l )
at_list_p=:
;;
--version | -V )
echo "$as_me (GNU tar 1.15.1)"
exit 0
;;
--clean | -c )
rm -rf $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 -vx'; at_traceoff='set +vx'
;;
[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 "
;;
[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 '-'`
at_range=`echo " $at_groups_all " | \
sed -e 's,^.* '$at_range_start' ,'$at_range_start' ,'`
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 '-'`
at_range=`echo " $at_groups_all " | \
sed -e 's, '$at_range_end' .*$, '$at_range_end','`
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=`echo $at_option |sed 's,-.*,,'`
at_range_end=`echo $at_option |sed 's,.*-,,'`
at_range=`echo " $at_groups_all " | \
sed -e 's,^.* '$at_range_start' ,'$at_range_start' ,' \
-e 's, '$at_range_end' .*$, '$at_range_end','`
at_groups="$at_groups$at_range "
;;
--keywords | -k )
at_prev=--keywords
;;
--keywords=* )
at_keywords="$at_keywords,$at_optarg"
;;
*=*)
at_envvar=`expr "x$at_option" : 'x\([^=]*\)='`
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
at_debug_args="$at_debug_args $at_option"
;;
*) echo "$as_me: invalid option: $at_option" >&2
echo "Try \`$0 --help' for more information." >&2
exit 1
;;
esac
done
if test -n "$at_keywords"; then
at_groups_selected=$at_help_all
for at_keyword in `IFS=,; set X $at_keywords; shift; echo ${1+$@}`
do
at_groups_selected=`echo "$at_groups_selected" |
grep -i "^[^;]*;[^;]*.*[; ]$at_keyword[ ;]"`
done
at_groups_selected=`echo "$at_groups_selected" | sed 's/;.*//'`
at_groups_selected=`echo $at_groups_selected`
at_groups="$at_groups$at_groups_selected "
fi
test -z "$at_groups" && at_groups=$at_groups_all
if $at_help_p; then
cat <<_ATEOF
Usage: $0 [OPTION]... [VARIABLE=VALUE]... [TESTS]
Run all the tests, or the selected TESTS, 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
accumulates
-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 debug script creation
default for debugging scripts
-x, --trace enable tests shell tracing
_ATEOF
cat <<_ATEOF
Report bugs to <bug-tar@gnu.org>.
_ATEOF
exit 0
fi
if $at_list_p; then
cat <<_ATEOF
GNU tar 1.15.1 test suite test groups:
NUM: FILENAME:LINE TEST-GROUP-NAME
KEYWORDS
_ATEOF
at_groups_pattern=`echo "$at_groups" | sed 's/^ *//;s/ *$//;s/ */|/g'`
echo "$at_help_all" |
awk 'BEGIN { FS = ";" }
{ if ($1 !~ /^('"$at_groups_pattern"')$/) next }
{ if ($1) printf " %3d: %-18s %s\n", $1, $2, $3
if ($4) printf " %s\n", $4 } '
exit 0
fi
AUTOTEST_PATH=`echo $AUTOTEST_PATH | tr ':' $PATH_SEPARATOR`
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=.
case $as_dir in
[\\/]* | ?:[\\/]* )
at_path=$at_path$PATH_SEPARATOR$as_dir
;;
* )
if test -z "$at_top_builddir"; then
at_path=$at_path$PATH_SEPARATOR$as_dir
else
at_path=$at_path$PATH_SEPARATOR$at_top_builddir/$as_dir
at_path=$at_path$PATH_SEPARATOR$at_top_srcdir/$as_dir
fi
;;
esac
done
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
export PATH
$at_debug_p && at_suite_log=/dev/null
exec 5>$at_suite_log
cat <<\_ASBOX
_ASBOX
{
cat <<\_ASBOX
_ASBOX
echo
echo "$as_me: command line was:"
echo " $ $0 $at_cli_args"
echo
if test -n "$at_top_srcdir"; then
cat <<\_ASBOX
_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
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`
hostinfo = `(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
}
echo
fi
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
_ASBOX
echo
} >&5
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
if test -f $as_dir/$at_program; then
{
echo "testsuite.at:57: $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
_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
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; }; }
if diff /dev/null /dev/null >/dev/null 2>&1; then
at_devnull=/dev/null
else
at_devnull=$at_suite_dir/devnull
cp /dev/null $at_devnull
fi
if diff -u $at_devnull $at_devnull >/dev/null 2>&1; then
at_diff='diff -u'
else
at_diff=diff
fi
for at_group in $at_groups
do
cd $at_suite_dir
case $at_group in
banner-*)
at_group_log=$at_suite_log
;;
*)
case " $at_pass_test $at_skip_test $at_fail_test " in
*" $at_group "* ) continue;;
esac
at_group_normalized=`expr "00000$at_group" : ".*\($at_format\)"`
at_group_dir=$at_suite_dir/$at_group_normalized
at_group_log=$at_group_dir/$as_me.log
rm -rf $at_group_dir
mkdir $at_group_dir ||
{ { echo "$as_me:$LINENO: error: cannot create $at_group_dir" >&5
echo "$as_me: error: cannot create $at_group_dir" >&2;}
{ (exit 1); exit 1; }; }
cd $at_group_dir
;;
esac
echo 0 > $at_status_file
test $at_group_count != 0 && $at_verbose
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 ) at_setup_line='version.at:19'
at_desc='tar version'
$at_quiet $ECHO_N " 1: tar version $ECHO_C"
at_xfail=no
(
echo "1. version.at:19: testing ..."
$at_traceon
$at_traceoff
echo "version.at:24: tar --version"
echo version.at:24 >$at_check_line_file
( $at_traceon; tar --version ) >$at_stdout 2>$at_stder1
at_status=$?
grep '^ *+' $at_stder1 >&2
grep -v '^ *+' $at_stder1 >$at_stderr
at_failed=false
$at_diff $at_devnull $at_stderr || at_failed=:
echo >>$at_stdout; echo "tar (GNU tar) 1.15.1
" | $at_diff - $at_stdout || at_failed=:
case $at_status in
77) echo 77 > $at_status_file
exit 77;;
0) ;;
*) echo "version.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`
;;
2 ) at_setup_line='pipe.at:29'
at_desc='decompressing from stdin'
$at_quiet $ECHO_N " 2: decompressing from stdin $ECHO_C"
at_xfail=no
(
echo "2. pipe.at:29: testing ..."
$at_traceon
$at_traceoff
echo "pipe.at:50:
mkdir v7
(cd v7
TAR_OPTIONS=\"-H v7\"
export TAR_OPTIONS
rm -rf *
mkdir directory
genfile --length 10240 --pattern zeros > directory/file1
genfile --length 13 > directory/file2
tar cf archive directory
mv directory orig
cat archive | tar xfv -
echo \"separator\"
cmp orig/file1 directory/file1
echo \"separator\"
cmp orig/file2 directory/file2)"
echo pipe.at:50 >$at_check_line_file
( $at_traceon;
mkdir v7
(cd v7
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *
mkdir directory
genfile --length 10240 --pattern zeros > directory/file1
genfile --length 13 > directory/file2
tar cf archive directory
mv directory orig
cat archive | tar xfv -
echo "separator"
cmp orig/file1 directory/file1
echo "separator"
cmp orig/file2 directory/file2) ) >$at_stdout 2>$at_stder1
at_status=$?
grep '^ *+' $at_stder1 >&2
grep -v '^ *+' $at_stder1 >$at_stderr
at_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 "pipe.at:50: 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 "pipe.at:50:
mkdir oldgnu
(cd oldgnu
TAR_OPTIONS=\"-H oldgnu\"
export TAR_OPTIONS
rm -rf *
mkdir directory
genfile --length 10240 --pattern zeros > directory/file1
genfile --length 13 > directory/file2
tar cf archive directory
mv directory orig
cat archive | tar xfv -
echo \"separator\"
cmp orig/file1 directory/file1
echo \"separator\"
cmp orig/file2 directory/file2)"
echo pipe.at:50 >$at_check_line_file
( $at_traceon;
mkdir oldgnu
(cd oldgnu
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *
mkdir directory
genfile --length 10240 --pattern zeros > directory/file1
genfile --length 13 > directory/file2
tar cf archive directory
mv directory orig
cat archive | tar xfv -
echo "separator"
cmp orig/file1 directory/file1
echo "separator"
cmp orig/file2 directory/file2) ) >$at_stdout 2>$at_stder1
at_status=$?
grep '^ *+' $at_stder1 >&2
grep -v '^ *+' $at_stder1 >$at_stderr
at_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 "pipe.at:50: 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 "pipe.at:50:
mkdir ustar
(cd ustar
TAR_OPTIONS=\"-H ustar\"
export TAR_OPTIONS
rm -rf *
mkdir directory
genfile --length 10240 --pattern zeros > directory/file1
genfile --length 13 > directory/file2
tar cf archive directory
mv directory orig
cat archive | tar xfv -
echo \"separator\"
cmp orig/file1 directory/file1
echo \"separator\"
cmp orig/file2 directory/file2)"
echo pipe.at:50 >$at_check_line_file
( $at_traceon;
mkdir ustar
(cd ustar
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *
mkdir directory
genfile --length 10240 --pattern zeros > directory/file1
genfile --length 13 > directory/file2
tar cf archive directory
mv directory orig
cat archive | tar xfv -
echo "separator"
cmp orig/file1 directory/file1
echo "separator"
cmp orig/file2 directory/file2) ) >$at_stdout 2>$at_stder1
at_status=$?
grep '^ *+' $at_stder1 >&2
grep -v '^ *+' $at_stder1 >$at_stderr
at_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 "pipe.at:50: 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 "pipe.at:50:
mkdir posix
(cd posix
TAR_OPTIONS=\"-H posix\"
export TAR_OPTIONS
rm -rf *
mkdir directory
genfile --length 10240 --pattern zeros > directory/file1
genfile --length 13 > directory/file2
tar cf archive directory
mv directory orig
cat archive | tar xfv -
echo \"separator\"
cmp orig/file1 directory/file1
echo \"separator\"
cmp orig/file2 directory/file2)"
echo pipe.at:50 >$at_check_line_file
( $at_traceon;
mkdir posix
(cd posix
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *
mkdir directory
genfile --length 10240 --pattern zeros > directory/file1
genfile --length 13 > directory/file2
tar cf archive directory
mv directory orig
cat archive | tar xfv -
echo "separator"
cmp orig/file1 directory/file1
echo "separator"
cmp orig/file2 directory/file2) ) >$at_stdout 2>$at_stder1
at_status=$?
grep '^ *+' $at_stder1 >&2
grep -v '^ *+' $at_stder1 >$at_stderr
at_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 "pipe.at:50: 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 "pipe.at:50:
mkdir gnu
(cd gnu
TAR_OPTIONS=\"-H gnu\"
export TAR_OPTIONS
rm -rf *
mkdir directory
genfile --length 10240 --pattern zeros > directory/file1
genfile --length 13 > directory/file2
tar cf archive directory
mv directory orig
cat archive | tar xfv -
echo \"separator\"
cmp orig/file1 directory/file1
echo \"separator\"
cmp orig/file2 directory/file2)"
echo pipe.at:50 >$at_check_line_file
( $at_traceon;
mkdir gnu
(cd gnu
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *
mkdir directory
genfile --length 10240 --pattern zeros > directory/file1
genfile --length 13 > directory/file2
tar cf archive directory
mv directory orig
cat archive | tar xfv -
echo "separator"
cmp orig/file1 directory/file1
echo "separator"
cmp orig/file2 directory/file2) ) >$at_stdout 2>$at_stder1
at_status=$?
grep '^ *+' $at_stder1 >&2
grep -v '^ *+' $at_stder1 >$at_stderr
at_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 "pipe.at:50: 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 ) at_setup_line='options.at:24'
at_desc='options'
$at_quiet $ECHO_N " 3: options $ECHO_C"
at_xfail=no
(
echo "3. options.at:24: testing ..."
$at_traceon
$at_traceoff
echo "options.at:34:
echo > file1
TAR_OPTIONS=--numeric-owner tar chof archive file1
tar tf archive
"
echo options.at:34 >$at_check_line_file
( $at_traceon;
echo > file1
TAR_OPTIONS=--numeric-owner tar chof archive file1
tar tf archive
) >$at_stdout 2>$at_stder1
at_status=$?
grep '^ *+' $at_stder1 >&2
grep -v '^ *+' $at_stder1 >$at_stderr
at_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 "options.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`
;;
4 ) at_setup_line='append.at:21'
at_desc='append'
$at_quiet $ECHO_N " 4: append $ECHO_C"
at_xfail=no
(
echo "4. append.at:21: testing ..."
$at_traceon
$at_traceoff
echo "append.at:32:
mkdir v7
(cd v7
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:32 >$at_check_line_file
( $at_traceon;
mkdir v7
(cd v7
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
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 "append.at:32: exit code was $at_status, expected 0"
at_failed=:;;
esac
if $at_failed; then
echo 1 > $at_status_file
exit 1
fi
$at_traceon
$at_traceoff
echo "append.at:32:
mkdir oldgnu
(cd oldgnu
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:32 >$at_check_line_file
( $at_traceon;
mkdir oldgnu
(cd oldgnu
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
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 "append.at:32: exit code was $at_status, expected 0"
at_failed=:;;
esac
if $at_failed; then
echo 1 > $at_status_file
exit 1
fi
$at_traceon
$at_traceoff
echo "append.at:32:
mkdir ustar
(cd ustar
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:32 >$at_check_line_file
( $at_traceon;
mkdir ustar
(cd ustar
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
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 "append.at:32: exit code was $at_status, expected 0"
at_failed=:;;
esac
if $at_failed; then
echo 1 > $at_status_file
exit 1
fi
$at_traceon
$at_traceoff
echo "append.at:32:
mkdir posix
(cd posix
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:32 >$at_check_line_file
( $at_traceon;
mkdir posix
(cd posix
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
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 "append.at:32: exit code was $at_status, expected 0"
at_failed=:;;
esac
if $at_failed; then
echo 1 > $at_status_file
exit 1
fi
$at_traceon
$at_traceoff
echo "append.at:32:
mkdir gnu
(cd gnu
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:32 >$at_check_line_file
( $at_traceon;
mkdir gnu
(cd gnu
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
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 "append.at:32: exit code was $at_status, expected 0"
at_failed=:;;
esac
if $at_failed; then
echo 1 > $at_status_file
exit 1
fi
$at_traceon
$at_traceoff
$at_times_p && times >$at_times_file
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat $at_status_file`
;;
5 ) at_setup_line='delete01.at:23'
at_desc='deleting a member after a big one'
$at_quiet $ECHO_N " 5: deleting a member after a big one $ECHO_C"
at_xfail=no
(
echo "5. delete01.at:23: testing ..."
$at_traceon
$at_traceoff
echo "delete01.at:34:
mkdir v7
(cd v7
TAR_OPTIONS=\"-H v7\"
export TAR_OPTIONS
rm -rf *
genfile -l 50000 > file1
genfile -l 1024 > file2
tar cf archive file1 file2
tar f archive --delete file2
tar tf archive)"
echo delete01.at:34 >$at_check_line_file
( $at_traceon;
mkdir v7
(cd v7
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *
genfile -l 50000 > file1
genfile -l 1024 > file2
tar cf archive file1 file2
tar f archive --delete file2
tar tf archive) ) >$at_stdout 2>$at_stder1
at_status=$?
grep '^ *+' $at_stder1 >&2
grep -v '^ *+' $at_stder1 >$at_stderr
at_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 "delete01.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 "delete01.at:34:
mkdir oldgnu
(cd oldgnu
TAR_OPTIONS=\"-H oldgnu\"
export TAR_OPTIONS
rm -rf *
genfile -l 50000 > file1
genfile -l 1024 > file2
tar cf archive file1 file2
tar f archive --delete file2
tar tf archive)"
echo delete01.at:34 >$at_check_line_file
( $at_traceon;
mkdir oldgnu
(cd oldgnu
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *
genfile -l 50000 > file1
genfile -l 1024 > file2
tar cf archive file1 file2
tar f archive --delete file2
tar tf archive) ) >$at_stdout 2>$at_stder1
at_status=$?
grep '^ *+' $at_stder1 >&2
grep -v '^ *+' $at_stder1 >$at_stderr
at_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 "delete01.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 "delete01.at:34:
mkdir ustar
(cd ustar
TAR_OPTIONS=\"-H ustar\"
export TAR_OPTIONS
rm -rf *
genfile -l 50000 > file1
genfile -l 1024 > file2
tar cf archive file1 file2
tar f archive --delete file2
tar tf archive)"
echo delete01.at:34 >$at_check_line_file
( $at_traceon;
mkdir ustar
(cd ustar
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *
genfile -l 50000 > file1
genfile -l 1024 > file2
tar cf archive file1 file2
tar f archive --delete file2
tar tf archive) ) >$at_stdout 2>$at_stder1
at_status=$?
grep '^ *+' $at_stder1 >&2
grep -v '^ *+' $at_stder1 >$at_stderr
at_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 "delete01.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 "delete01.at:34:
mkdir posix
(cd posix
TAR_OPTIONS=\"-H posix\"
export TAR_OPTIONS
rm -rf *
genfile -l 50000 > file1
genfile -l 1024 > file2
tar cf archive file1 file2
tar f archive --delete file2
tar tf archive)"
echo delete01.at:34 >$at_check_line_file
( $at_traceon;
mkdir posix
(cd posix
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *
genfile -l 50000 > file1
genfile -l 1024 > file2
tar cf archive file1 file2
tar f archive --delete file2
tar tf archive) ) >$at_stdout 2>$at_stder1
at_status=$?
grep '^ *+' $at_stder1 >&2
grep -v '^ *+' $at_stder1 >$at_stderr
at_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 "delete01.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 "delete01.at:34:
mkdir gnu
(cd gnu
TAR_OPTIONS=\"-H gnu\"
export TAR_OPTIONS
rm -rf *
genfile -l 50000 > file1
genfile -l 1024 > file2
tar cf archive file1 file2
tar f archive --delete file2
tar tf archive)"
echo delete01.at:34 >$at_check_line_file
( $at_traceon;
mkdir gnu
(cd gnu
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *
genfile -l 50000 > file1
genfile -l 1024 > file2
tar cf archive file1 file2
tar f archive --delete file2
tar tf archive) ) >$at_stdout 2>$at_stder1
at_status=$?
grep '^ *+' $at_stder1 >&2
grep -v '^ *+' $at_stder1 >$at_stderr
at_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 "delete01.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`
;;
6 ) at_setup_line='delete02.at:23'
at_desc='deleting a member from stdin archive'
$at_quiet $ECHO_N " 6: deleting a member from stdin archive $ECHO_C"
at_xfail=no
(
echo "6. delete02.at:23: testing ..."
$at_traceon
$at_traceoff
echo "delete02.at:42:
mkdir v7
(cd v7
TAR_OPTIONS=\"-H v7\"
export TAR_OPTIONS
rm -rf *
genfile -l 3073 -p zeros > 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:42 >$at_check_line_file
( $at_traceon;
mkdir v7
(cd v7
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *
genfile -l 3073 -p zeros > 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
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 "delete02.at:42: 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 "delete02.at:42:
mkdir oldgnu
(cd oldgnu
TAR_OPTIONS=\"-H oldgnu\"
export TAR_OPTIONS
rm -rf *
genfile -l 3073 -p zeros > 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:42 >$at_check_line_file
( $at_traceon;
mkdir oldgnu
(cd oldgnu
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *
genfile -l 3073 -p zeros > 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
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 "delete02.at:42: 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 "delete02.at:42:
mkdir ustar
(cd ustar
TAR_OPTIONS=\"-H ustar\"
export TAR_OPTIONS
rm -rf *
genfile -l 3073 -p zeros > 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:42 >$at_check_line_file
( $at_traceon;
mkdir ustar
(cd ustar
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *
genfile -l 3073 -p zeros > 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
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 "delete02.at:42: 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 "delete02.at:42:
mkdir posix
(cd posix
TAR_OPTIONS=\"-H posix\"
export TAR_OPTIONS
rm -rf *
genfile -l 3073 -p zeros > 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:42 >$at_check_line_file
( $at_traceon;
mkdir posix
(cd posix
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *
genfile -l 3073 -p zeros > 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
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 "delete02.at:42: 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 "delete02.at:42:
mkdir gnu
(cd gnu
TAR_OPTIONS=\"-H gnu\"
export TAR_OPTIONS
rm -rf *
genfile -l 3073 -p zeros > 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:42 >$at_check_line_file
( $at_traceon;
mkdir gnu
(cd gnu
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *
genfile -l 3073 -p zeros > 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
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 "delete02.at:42: 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`
;;
7 ) at_setup_line='delete03.at:21'
at_desc='deleting members with long names'
$at_quiet $ECHO_N " 7: deleting members with long names $ECHO_C"
at_xfail=no
(
echo "7. delete03.at:21: testing ..."
$at_traceon
$at_traceoff
echo "delete03.at:46:
mkdir gnu
(cd gnu
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:46 >$at_check_line_file
( $at_traceon;
mkdir gnu
(cd gnu
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
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 "delete03.at:46: 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 "delete03.at:46:
mkdir oldgnu
(cd oldgnu
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:46 >$at_check_line_file
( $at_traceon;
mkdir oldgnu
(cd oldgnu
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
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 "delete03.at:46: 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 "delete03.at:46:
mkdir posix
(cd posix
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:46 >$at_check_line_file
( $at_traceon;
mkdir posix
(cd posix
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
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 "delete03.at:46: 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 ) at_setup_line='delete04.at:23'
at_desc='deleting a large last member'
$at_quiet $ECHO_N " 8: deleting a large last member $ECHO_C"
at_xfail=no
(
echo "8. delete04.at:23: testing ..."
$at_traceon
$at_traceoff
echo "delete04.at:51:
mkdir v7
(cd v7
TAR_OPTIONS=\"-H v7\"
export TAR_OPTIONS
rm -rf *
genfile -l 3 >file1
genfile -l 5 >file2
genfile -l 3 >file3
genfile -l 6 >file4
genfile -l 24 >file5
genfile -l 13 >file6
genfile -l 1385 >file7
genfile -l 30 >file8
genfile -l 10 >file9
genfile -l 256000 >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:51 >$at_check_line_file
( $at_traceon;
mkdir v7
(cd v7
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *
genfile -l 3 >file1
genfile -l 5 >file2
genfile -l 3 >file3
genfile -l 6 >file4
genfile -l 24 >file5
genfile -l 13 >file6
genfile -l 1385 >file7
genfile -l 30 >file8
genfile -l 10 >file9
genfile -l 256000 >file10
tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10
tar f archive --delete file10
tar tf archive
) ) >$at_stdout 2>$at_stder1
at_status=$?
grep '^ *+' $at_stder1 >&2
grep -v '^ *+' $at_stder1 >$at_stderr
at_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 "delete04.at:51: 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 "delete04.at:51:
mkdir oldgnu
(cd oldgnu
TAR_OPTIONS=\"-H oldgnu\"
export TAR_OPTIONS
rm -rf *
genfile -l 3 >file1
genfile -l 5 >file2
genfile -l 3 >file3
genfile -l 6 >file4
genfile -l 24 >file5
genfile -l 13 >file6
genfile -l 1385 >file7
genfile -l 30 >file8
genfile -l 10 >file9
genfile -l 256000 >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:51 >$at_check_line_file
( $at_traceon;
mkdir oldgnu
(cd oldgnu
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *
genfile -l 3 >file1
genfile -l 5 >file2
genfile -l 3 >file3
genfile -l 6 >file4
genfile -l 24 >file5
genfile -l 13 >file6
genfile -l 1385 >file7
genfile -l 30 >file8
genfile -l 10 >file9
genfile -l 256000 >file10
tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10
tar f archive --delete file10
tar tf archive
) ) >$at_stdout 2>$at_stder1
at_status=$?
grep '^ *+' $at_stder1 >&2
grep -v '^ *+' $at_stder1 >$at_stderr
at_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 "delete04.at:51: 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 "delete04.at:51:
mkdir ustar
(cd ustar
TAR_OPTIONS=\"-H ustar\"
export TAR_OPTIONS
rm -rf *
genfile -l 3 >file1
genfile -l 5 >file2
genfile -l 3 >file3
genfile -l 6 >file4
genfile -l 24 >file5
genfile -l 13 >file6
genfile -l 1385 >file7
genfile -l 30 >file8
genfile -l 10 >file9
genfile -l 256000 >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:51 >$at_check_line_file
( $at_traceon;
mkdir ustar
(cd ustar
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *
genfile -l 3 >file1
genfile -l 5 >file2
genfile -l 3 >file3
genfile -l 6 >file4
genfile -l 24 >file5
genfile -l 13 >file6
genfile -l 1385 >file7
genfile -l 30 >file8
genfile -l 10 >file9
genfile -l 256000 >file10
tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10
tar f archive --delete file10
tar tf archive
) ) >$at_stdout 2>$at_stder1
at_status=$?
grep '^ *+' $at_stder1 >&2
grep -v '^ *+' $at_stder1 >$at_stderr
at_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 "delete04.at:51: 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 "delete04.at:51:
mkdir posix
(cd posix
TAR_OPTIONS=\"-H posix\"
export TAR_OPTIONS
rm -rf *
genfile -l 3 >file1
genfile -l 5 >file2
genfile -l 3 >file3
genfile -l 6 >file4
genfile -l 24 >file5
genfile -l 13 >file6
genfile -l 1385 >file7
genfile -l 30 >file8
genfile -l 10 >file9
genfile -l 256000 >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:51 >$at_check_line_file
( $at_traceon;
mkdir posix
(cd posix
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *
genfile -l 3 >file1
genfile -l 5 >file2
genfile -l 3 >file3
genfile -l 6 >file4
genfile -l 24 >file5
genfile -l 13 >file6
genfile -l 1385 >file7
genfile -l 30 >file8
genfile -l 10 >file9
genfile -l 256000 >file10
tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10
tar f archive --delete file10
tar tf archive
) ) >$at_stdout 2>$at_stder1
at_status=$?
grep '^ *+' $at_stder1 >&2
grep -v '^ *+' $at_stder1 >$at_stderr
at_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 "delete04.at:51: 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 "delete04.at:51:
mkdir gnu
(cd gnu
TAR_OPTIONS=\"-H gnu\"
export TAR_OPTIONS
rm -rf *
genfile -l 3 >file1
genfile -l 5 >file2
genfile -l 3 >file3
genfile -l 6 >file4
genfile -l 24 >file5
genfile -l 13 >file6
genfile -l 1385 >file7
genfile -l 30 >file8
genfile -l 10 >file9
genfile -l 256000 >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:51 >$at_check_line_file
( $at_traceon;
mkdir gnu
(cd gnu
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *
genfile -l 3 >file1
genfile -l 5 >file2
genfile -l 3 >file3
genfile -l 6 >file4
genfile -l 24 >file5
genfile -l 13 >file6
genfile -l 1385 >file7
genfile -l 30 >file8
genfile -l 10 >file9
genfile -l 256000 >file10
tar cf archive file1 file2 file3 file4 file5 file6 file7 file8 file9 file10
tar f archive --delete file10
tar tf archive
) ) >$at_stdout 2>$at_stder1
at_status=$?
grep '^ *+' $at_stder1 >&2
grep -v '^ *+' $at_stder1 >$at_stderr
at_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 "delete04.at:51: 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 ) at_setup_line='delete05.at:27'
at_desc='deleting non-existing member'
$at_quiet $ECHO_N " 9: deleting non-existing member $ECHO_C"
at_xfail=no
(
echo "9. delete05.at:27: testing ..."
$at_traceon
$at_traceoff
echo "delete05.at:46:
mkdir v7
(cd v7
TAR_OPTIONS=\"-H v7\"
export TAR_OPTIONS
rm -rf *
genfile -l 1024 > en
genfile -l 1024 > 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:46 >$at_check_line_file
( $at_traceon;
mkdir v7
(cd v7
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *
genfile -l 1024 > en
genfile -l 1024 > to
tar cf archive en to
tar --file archive --blocking-factor=20 --delete tre
tar tf archive
) ) >$at_stdout 2>$at_stder1
at_status=$?
grep '^ *+' $at_stder1 >&2
grep -v '^ *+' $at_stder1 >$at_stderr
at_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 "delete05.at:46: 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 "delete05.at:46:
mkdir oldgnu
(cd oldgnu
TAR_OPTIONS=\"-H oldgnu\"
export TAR_OPTIONS
rm -rf *
genfile -l 1024 > en
genfile -l 1024 > 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:46 >$at_check_line_file
( $at_traceon;
mkdir oldgnu
(cd oldgnu
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *
genfile -l 1024 > en
genfile -l 1024 > to
tar cf archive en to
tar --file archive --blocking-factor=20 --delete tre
tar tf archive
) ) >$at_stdout 2>$at_stder1
at_status=$?
grep '^ *+' $at_stder1 >&2
grep -v '^ *+' $at_stder1 >$at_stderr
at_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 "delete05.at:46: 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 "delete05.at:46:
mkdir ustar
(cd ustar
TAR_OPTIONS=\"-H ustar\"
export TAR_OPTIONS
rm -rf *
genfile -l 1024 > en
genfile -l 1024 > 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:46 >$at_check_line_file
( $at_traceon;
mkdir ustar
(cd ustar
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *
genfile -l 1024 > en
genfile -l 1024 > to
tar cf archive en to
tar --file archive --blocking-factor=20 --delete tre
tar tf archive
) ) >$at_stdout 2>$at_stder1
at_status=$?
grep '^ *+' $at_stder1 >&2
grep -v '^ *+' $at_stder1 >$at_stderr
at_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 "delete05.at:46: 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 "delete05.at:46:
mkdir posix
(cd posix
TAR_OPTIONS=\"-H posix\"
export TAR_OPTIONS
rm -rf *
genfile -l 1024 > en
genfile -l 1024 > 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:46 >$at_check_line_file
( $at_traceon;
mkdir posix
(cd posix
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *
genfile -l 1024 > en
genfile -l 1024 > to
tar cf archive en to
tar --file archive --blocking-factor=20 --delete tre
tar tf archive
) ) >$at_stdout 2>$at_stder1
at_status=$?
grep '^ *+' $at_stder1 >&2
grep -v '^ *+' $at_stder1 >$at_stderr
at_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 "delete05.at:46: 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 "delete05.at:46:
mkdir gnu
(cd gnu
TAR_OPTIONS=\"-H gnu\"
export TAR_OPTIONS
rm -rf *
genfile -l 1024 > en
genfile -l 1024 > 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:46 >$at_check_line_file
( $at_traceon;
mkdir gnu
(cd gnu
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *
genfile -l 1024 > en
genfile -l 1024 > to
tar cf archive en to
tar --file archive --blocking-factor=20 --delete tre
tar tf archive
) ) >$at_stdout 2>$at_stder1
at_status=$?
grep '^ *+' $at_stder1 >&2
grep -v '^ *+' $at_stder1 >$at_stderr
at_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 "delete05.at:46: 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 ) at_setup_line='extrac01.at:23'
at_desc='extract01'
$at_quiet $ECHO_N " 10: extract01 $ECHO_C"
at_xfail=no
(
echo "10. extrac01.at:23: testing ..."
$at_traceon
$at_traceoff
echo "extrac01.at:31:
mkdir v7
(cd v7
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:31 >$at_check_line_file
( $at_traceon;
mkdir v7
(cd v7
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
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 "extrac01.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 "extrac01.at:31:
mkdir oldgnu
(cd oldgnu
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:31 >$at_check_line_file
( $at_traceon;
mkdir oldgnu
(cd oldgnu
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
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 "extrac01.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 "extrac01.at:31:
mkdir ustar
(cd ustar
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:31 >$at_check_line_file
( $at_traceon;
mkdir ustar
(cd ustar
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
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 "extrac01.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 "extrac01.at:31:
mkdir posix
(cd posix
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:31 >$at_check_line_file
( $at_traceon;
mkdir posix
(cd posix
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
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 "extrac01.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 "extrac01.at:31:
mkdir gnu
(cd gnu
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:31 >$at_check_line_file
( $at_traceon;
mkdir gnu
(cd gnu
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
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 "extrac01.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`
;;
11 ) at_setup_line='extrac02.at:23'
at_desc='extracting symlinks over an existing file'
$at_quiet $ECHO_N " 11: extracting symlinks over an existing file $ECHO_C"
at_xfail=no
(
echo "11. extrac02.at:23: testing ..."
$at_traceon
$at_traceoff
echo "extrac02.at:35:
mkdir v7
(cd v7
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:35 >$at_check_line_file
( $at_traceon;
mkdir v7
(cd v7
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
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 "extrac02.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 "extrac02.at:35:
mkdir oldgnu
(cd oldgnu
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:35 >$at_check_line_file
( $at_traceon;
mkdir oldgnu
(cd oldgnu
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
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 "extrac02.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 "extrac02.at:35:
mkdir ustar
(cd ustar
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:35 >$at_check_line_file
( $at_traceon;
mkdir ustar
(cd ustar
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
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 "extrac02.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 "extrac02.at:35:
mkdir posix
(cd posix
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:35 >$at_check_line_file
( $at_traceon;
mkdir posix
(cd posix
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
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 "extrac02.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 "extrac02.at:35:
mkdir gnu
(cd gnu
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:35 >$at_check_line_file
( $at_traceon;
mkdir gnu
(cd gnu
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
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 "extrac02.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`
;;
12 ) at_setup_line='extrac03.at:23'
at_desc='extraction loops'
$at_quiet $ECHO_N " 12: extraction loops $ECHO_C"
at_xfail=no
(
echo "12. extrac03.at:23: testing ..."
$at_traceon
$at_traceoff
echo "extrac03.at:35:
mkdir v7
(cd v7
TAR_OPTIONS=\"-H v7\"
export TAR_OPTIONS
rm -rf *
mkdir directory
tar -cPvf archive directory/../directory
echo separator
tar -xPvf archive)"
echo extrac03.at:35 >$at_check_line_file
( $at_traceon;
mkdir v7
(cd v7
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
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 "extrac03.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 "extrac03.at:35:
mkdir oldgnu
(cd oldgnu
TAR_OPTIONS=\"-H oldgnu\"
export TAR_OPTIONS
rm -rf *
mkdir directory
tar -cPvf archive directory/../directory
echo separator
tar -xPvf archive)"
echo extrac03.at:35 >$at_check_line_file
( $at_traceon;
mkdir oldgnu
(cd oldgnu
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
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 "extrac03.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 "extrac03.at:35:
mkdir ustar
(cd ustar
TAR_OPTIONS=\"-H ustar\"
export TAR_OPTIONS
rm -rf *
mkdir directory
tar -cPvf archive directory/../directory
echo separator
tar -xPvf archive)"
echo extrac03.at:35 >$at_check_line_file
( $at_traceon;
mkdir ustar
(cd ustar
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
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 "extrac03.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 "extrac03.at:35:
mkdir posix
(cd posix
TAR_OPTIONS=\"-H posix\"
export TAR_OPTIONS
rm -rf *
mkdir directory
tar -cPvf archive directory/../directory
echo separator
tar -xPvf archive)"
echo extrac03.at:35 >$at_check_line_file
( $at_traceon;
mkdir posix
(cd posix
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
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 "extrac03.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 "extrac03.at:35:
mkdir gnu
(cd gnu
TAR_OPTIONS=\"-H gnu\"
export TAR_OPTIONS
rm -rf *
mkdir directory
tar -cPvf archive directory/../directory
echo separator
tar -xPvf archive)"
echo extrac03.at:35 >$at_check_line_file
( $at_traceon;
mkdir gnu
(cd gnu
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
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 "extrac03.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`
;;
13 ) at_setup_line='extrac04.at:23'
at_desc='extract + fnmatch'
$at_quiet $ECHO_N " 13: extract + fnmatch $ECHO_C"
at_xfail=no
(
echo "13. extrac04.at:23: testing ..."
$at_traceon
$at_traceoff
echo "extrac04.at:44:
mkdir v7
(cd v7
TAR_OPTIONS=\"-H v7\"
export TAR_OPTIONS
rm -rf *
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 2>/dev/null
)"
echo extrac04.at:44 >$at_check_line_file
( $at_traceon;
mkdir v7
(cd v7
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *
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 2>/dev/null
) ) >$at_stdout 2>$at_stder1
at_status=$?
grep '^ *+' $at_stder1 >&2
grep -v '^ *+' $at_stder1 >$at_stderr
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 "extrac04.at:44: 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 "extrac04.at:44:
mkdir oldgnu
(cd oldgnu
TAR_OPTIONS=\"-H oldgnu\"
export TAR_OPTIONS
rm -rf *
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 2>/dev/null
)"
echo extrac04.at:44 >$at_check_line_file
( $at_traceon;
mkdir oldgnu
(cd oldgnu
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *
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 2>/dev/null
) ) >$at_stdout 2>$at_stder1
at_status=$?
grep '^ *+' $at_stder1 >&2
grep -v '^ *+' $at_stder1 >$at_stderr
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 "extrac04.at:44: 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 "extrac04.at:44:
mkdir ustar
(cd ustar
TAR_OPTIONS=\"-H ustar\"
export TAR_OPTIONS
rm -rf *
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 2>/dev/null
)"
echo extrac04.at:44 >$at_check_line_file
( $at_traceon;
mkdir ustar
(cd ustar
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *
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 2>/dev/null
) ) >$at_stdout 2>$at_stder1
at_status=$?
grep '^ *+' $at_stder1 >&2
grep -v '^ *+' $at_stder1 >$at_stderr
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 "extrac04.at:44: 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 "extrac04.at:44:
mkdir posix
(cd posix
TAR_OPTIONS=\"-H posix\"
export TAR_OPTIONS
rm -rf *
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 2>/dev/null
)"
echo extrac04.at:44 >$at_check_line_file
( $at_traceon;
mkdir posix
(cd posix
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *
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 2>/dev/null
) ) >$at_stdout 2>$at_stder1
at_status=$?
grep '^ *+' $at_stder1 >&2
grep -v '^ *+' $at_stder1 >$at_stderr
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 "extrac04.at:44: 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 "extrac04.at:44:
mkdir gnu
(cd gnu
TAR_OPTIONS=\"-H gnu\"
export TAR_OPTIONS
rm -rf *
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 2>/dev/null
)"
echo extrac04.at:44 >$at_check_line_file
( $at_traceon;
mkdir gnu
(cd gnu
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *
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 2>/dev/null
) ) >$at_stdout 2>$at_stder1
at_status=$?
grep '^ *+' $at_stder1 >&2
grep -v '^ *+' $at_stder1 >$at_stderr
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 "extrac04.at:44: 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 ) at_setup_line='extrac05.at:30'
at_desc='extracting selected members from pax'
$at_quiet $ECHO_N " 14: extracting selected members from pax $ECHO_C"
at_xfail=no
(
echo "14. extrac05.at:30: testing ..."
$at_traceon
cat >list <<'_ATEOF'
jeden
cztery
_ATEOF
$at_traceoff
echo "extrac05.at:59:
mkdir posix
(cd posix
TAR_OPTIONS=\"-H posix\"
export TAR_OPTIONS
rm -rf *
genfile --length 118 > jeden
genfile --length 223 > dwa
genfile --length 517 > trzy
genfile --sparse --file sparsefile 0 ABCD 1M EFGH 2000K IJKL
genfile --length 110 > cztery
tar cf archive jeden dwa trzy cztery || exit 1
mkdir dir
cd dir
tar xvfT ../archive ../../list || exit 1
cd ..
)"
echo extrac05.at:59 >$at_check_line_file
( $at_traceon;
mkdir posix
(cd posix
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *
genfile --length 118 > jeden
genfile --length 223 > dwa
genfile --length 517 > trzy
genfile --sparse --file sparsefile 0 ABCD 1M EFGH 2000K IJKL
genfile --length 110 > 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
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 "extrac05.at:59: 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 ) at_setup_line='gzip.at:23'
at_desc='gzip'
$at_quiet $ECHO_N " 15: gzip $ECHO_C"
at_xfail=no
(
echo "15. gzip.at:23: testing ..."
$at_traceon
unset TAR_OPTIONS
$at_traceoff
echo "gzip.at:40:
cat /dev/null | gzip - > /dev/null 2>&1 || exit 77
tar xfvz /dev/null
test \$? = 2 || exit 1
"
echo gzip.at:40 >$at_check_line_file
( $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
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 "gzip.at:40: 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 ) at_setup_line='incremental.at:23'
at_desc='incremental'
$at_quiet $ECHO_N " 16: incremental $ECHO_C"
at_xfail=no
(
echo "16. incremental.at:23: testing ..."
$at_traceon
$at_traceoff
echo "incremental.at:58:
mkdir gnu
(cd gnu
TAR_OPTIONS=\"-H gnu\"
export TAR_OPTIONS
rm -rf *
mkdir structure
echo x >structure/file
# On Nextstep (and perhaps other 4.3BSD systems),
# a newly created file's ctime isn't updated
# until the next sync or stat operation on the file.
ls -l structure/file >/dev/null
# 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:58 >$at_check_line_file
( $at_traceon;
mkdir gnu
(cd gnu
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *
mkdir structure
echo x >structure/file
ls -l structure/file >/dev/null
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
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 "incremental.at:58: 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 "incremental.at:58:
mkdir oldgnu
(cd oldgnu
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:58 >$at_check_line_file
( $at_traceon;
mkdir oldgnu
(cd oldgnu
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *
mkdir structure
echo x >structure/file
ls -l structure/file >/dev/null
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
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 "incremental.at:58: 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 ) at_setup_line='ignfail.at:23'
at_desc='ignfail'
$at_quiet $ECHO_N " 17: ignfail $ECHO_C"
at_xfail=no
(
echo "17. ignfail.at:23: testing ..."
$at_traceon
$at_traceoff
echo "ignfail.at:77:
mkdir v7
(cd v7
TAR_OPTIONS=\"-H v7\"
export TAR_OPTIONS
rm -rf *
if test -w / ; then
# The test is meaningless for super-user.
exit 77
else
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
fi
)"
echo ignfail.at:77 >$at_check_line_file
( $at_traceon;
mkdir v7
(cd v7
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *
if test -w / ; then
exit 77
else
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
fi
) ) >$at_stdout 2>$at_stder1
at_status=$?
grep '^ *+' $at_stder1 >&2
grep -v '^ *+' $at_stder1 >$at_stderr
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 savedir: Permission denied
tar: Error exit delayed from previous errors
-----
tar: directory: Warning: Cannot savedir: 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 "ignfail.at:77: 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 "ignfail.at:77:
mkdir oldgnu
(cd oldgnu
TAR_OPTIONS=\"-H oldgnu\"
export TAR_OPTIONS
rm -rf *
if test -w / ; then
# The test is meaningless for super-user.
exit 77
else
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
fi
)"
echo ignfail.at:77 >$at_check_line_file
( $at_traceon;
mkdir oldgnu
(cd oldgnu
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *
if test -w / ; then
exit 77
else
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
fi
) ) >$at_stdout 2>$at_stder1
at_status=$?
grep '^ *+' $at_stder1 >&2
grep -v '^ *+' $at_stder1 >$at_stderr
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 savedir: Permission denied
tar: Error exit delayed from previous errors
-----
tar: directory: Warning: Cannot savedir: 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 "ignfail.at:77: 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 "ignfail.at:77:
mkdir ustar
(cd ustar
TAR_OPTIONS=\"-H ustar\"
export TAR_OPTIONS
rm -rf *
if test -w / ; then
# The test is meaningless for super-user.
exit 77
else
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
fi
)"
echo ignfail.at:77 >$at_check_line_file
( $at_traceon;
mkdir ustar
(cd ustar
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *
if test -w / ; then
exit 77
else
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
fi
) ) >$at_stdout 2>$at_stder1
at_status=$?
grep '^ *+' $at_stder1 >&2
grep -v '^ *+' $at_stder1 >$at_stderr
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 savedir: Permission denied
tar: Error exit delayed from previous errors
-----
tar: directory: Warning: Cannot savedir: 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 "ignfail.at:77: 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 "ignfail.at:77:
mkdir posix
(cd posix
TAR_OPTIONS=\"-H posix\"
export TAR_OPTIONS
rm -rf *
if test -w / ; then
# The test is meaningless for super-user.
exit 77
else
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
fi
)"
echo ignfail.at:77 >$at_check_line_file
( $at_traceon;
mkdir posix
(cd posix
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *
if test -w / ; then
exit 77
else
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
fi
) ) >$at_stdout 2>$at_stder1
at_status=$?
grep '^ *+' $at_stder1 >&2
grep -v '^ *+' $at_stder1 >$at_stderr
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 savedir: Permission denied
tar: Error exit delayed from previous errors
-----
tar: directory: Warning: Cannot savedir: 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 "ignfail.at:77: 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 "ignfail.at:77:
mkdir gnu
(cd gnu
TAR_OPTIONS=\"-H gnu\"
export TAR_OPTIONS
rm -rf *
if test -w / ; then
# The test is meaningless for super-user.
exit 77
else
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
fi
)"
echo ignfail.at:77 >$at_check_line_file
( $at_traceon;
mkdir gnu
(cd gnu
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *
if test -w / ; then
exit 77
else
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
fi
) ) >$at_stdout 2>$at_stder1
at_status=$?
grep '^ *+' $at_stder1 >&2
grep -v '^ *+' $at_stder1 >$at_stderr
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 savedir: Permission denied
tar: Error exit delayed from previous errors
-----
tar: directory: Warning: Cannot savedir: 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 "ignfail.at:77: 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 ) at_setup_line='link01.at:33'
at_desc='link count gt 2'
$at_quiet $ECHO_N " 18: link count gt 2 $ECHO_C"
at_xfail=no
(
echo "18. link01.at:33: testing ..."
$at_traceon
$at_traceoff
echo "link01.at:53:
mkdir v7
(cd v7
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
tar cf archive directory/test1/test.txt directory/test1/test.txt
rm -r directory
tar xf archive
ls directory/test1
)"
echo link01.at:53 >$at_check_line_file
( $at_traceon;
mkdir v7
(cd v7
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
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
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 "link01.at:53: 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 "link01.at:53:
mkdir oldgnu
(cd oldgnu
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
tar cf archive directory/test1/test.txt directory/test1/test.txt
rm -r directory
tar xf archive
ls directory/test1
)"
echo link01.at:53 >$at_check_line_file
( $at_traceon;
mkdir oldgnu
(cd oldgnu
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
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
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 "link01.at:53: 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 "link01.at:53:
mkdir ustar
(cd ustar
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
tar cf archive directory/test1/test.txt directory/test1/test.txt
rm -r directory
tar xf archive
ls directory/test1
)"
echo link01.at:53 >$at_check_line_file
( $at_traceon;
mkdir ustar
(cd ustar
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
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
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 "link01.at:53: 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 "link01.at:53:
mkdir posix
(cd posix
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
tar cf archive directory/test1/test.txt directory/test1/test.txt
rm -r directory
tar xf archive
ls directory/test1
)"
echo link01.at:53 >$at_check_line_file
( $at_traceon;
mkdir posix
(cd posix
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
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
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 "link01.at:53: 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 "link01.at:53:
mkdir gnu
(cd gnu
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
tar cf archive directory/test1/test.txt directory/test1/test.txt
rm -r directory
tar xf archive
ls directory/test1
)"
echo link01.at:53 >$at_check_line_file
( $at_traceon;
mkdir gnu
(cd gnu
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
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
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 "link01.at:53: 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 ) at_setup_line='listed01.at:26'
at_desc='--listed for individual files'
$at_quiet $ECHO_N " 19: --listed for individual files $ECHO_C"
at_xfail=no
(
echo "19. listed01.at:26: testing ..."
$at_traceon
$at_traceoff
echo "listed01.at:58:
mkdir gnu
(cd gnu
TAR_OPTIONS=\"-H gnu\"
export TAR_OPTIONS
rm -rf *
mkdir directory
genfile --length 10240 --pattern zeros > directory/file1
# Let the things settle
sleep 1
tar --create \\
--file=archive.1 \\
--listed-incremental=listing \\
directory/file*
tar tf archive.1 || exit 1
genfile --length 10240 --pattern zeros > 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:58 >$at_check_line_file
( $at_traceon;
mkdir gnu
(cd gnu
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *
mkdir directory
genfile --length 10240 --pattern zeros > directory/file1
sleep 1
tar --create \
--file=archive.1 \
--listed-incremental=listing \
directory/file*
tar tf archive.1 || exit 1
genfile --length 10240 --pattern zeros > 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
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 "listed01.at:58: 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 "listed01.at:58:
mkdir oldgnu
(cd oldgnu
TAR_OPTIONS=\"-H oldgnu\"
export TAR_OPTIONS
rm -rf *
mkdir directory
genfile --length 10240 --pattern zeros > directory/file1
# Let the things settle
sleep 1
tar --create \\
--file=archive.1 \\
--listed-incremental=listing \\
directory/file*
tar tf archive.1 || exit 1
genfile --length 10240 --pattern zeros > 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:58 >$at_check_line_file
( $at_traceon;
mkdir oldgnu
(cd oldgnu
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *
mkdir directory
genfile --length 10240 --pattern zeros > directory/file1
sleep 1
tar --create \
--file=archive.1 \
--listed-incremental=listing \
directory/file*
tar tf archive.1 || exit 1
genfile --length 10240 --pattern zeros > 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
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 "listed01.at:58: 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 ) at_setup_line='listed02.at:28'
at_desc='working --listed'
$at_quiet $ECHO_N " 20: working --listed $ECHO_C"
at_xfail=no
(
echo "20. listed02.at:28: testing ..."
$at_traceon
$at_traceoff
echo "listed02.at:148:
mkdir gnu
(cd gnu
TAR_OPTIONS=\"-H gnu\"
export TAR_OPTIONS
rm -rf *
mkdir directory
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 || exit 1
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|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|sort 2>/dev/null
)"
echo listed02.at:148 >$at_check_line_file
( $at_traceon;
mkdir gnu
(cd gnu
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *
mkdir directory
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 || exit 1
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|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
tar -x -v --listed-incremental=tart.incr2 -f archive.2 | sort 2>/dev/null
echo Final files:
find tart|sort 2>/dev/null
) ) >$at_stdout 2>$at_stder1
at_status=$?
grep '^ *+' $at_stder1 >&2
grep -v '^ *+' $at_stder1 >$at_stderr
at_failed=false
echo >>$at_stderr; echo "tar: tart/c0: Directory is new
tar: tart/c1: Directory is new
tar: tart/c2: Directory is new
" | $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/ca1
tart/c2/ca2
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'
tar: Deleting \`tart/c1'
tart/
tart/b2
tart/c0/
tart/c2/
tart/c2/ca1
tart/c2/ca2
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 "listed02.at:148: 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 "listed02.at:148:
mkdir oldgnu
(cd oldgnu
TAR_OPTIONS=\"-H oldgnu\"
export TAR_OPTIONS
rm -rf *
mkdir directory
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 || exit 1
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|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|sort 2>/dev/null
)"
echo listed02.at:148 >$at_check_line_file
( $at_traceon;
mkdir oldgnu
(cd oldgnu
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *
mkdir directory
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 || exit 1
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|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
tar -x -v --listed-incremental=tart.incr2 -f archive.2 | sort 2>/dev/null
echo Final files:
find tart|sort 2>/dev/null
) ) >$at_stdout 2>$at_stder1
at_status=$?
grep '^ *+' $at_stder1 >&2
grep -v '^ *+' $at_stder1 >$at_stderr
at_failed=false
echo >>$at_stderr; echo "tar: tart/c0: Directory is new
tar: tart/c1: Directory is new
tar: tart/c2: Directory is new
" | $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/ca1
tart/c2/ca2
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'
tar: Deleting \`tart/c1'
tart/
tart/b2
tart/c0/
tart/c2/
tart/c2/ca1
tart/c2/ca2
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 "listed02.at:148: 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 ) at_setup_line='longv7.at:24'
at_desc='V7 and long names'
$at_quiet $ECHO_N " 21: V7 and long names $ECHO_C"
at_xfail=no
(
echo "21. longv7.at:24: testing ..."
$at_traceon
$at_traceoff
echo "longv7.at:45:
mkdir v7
(cd v7
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:45 >$at_check_line_file
( $at_traceon;
mkdir v7
(cd v7
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
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 "longv7.at:45: 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 ) at_setup_line='multiv01.at:23'
at_desc='multivolume dumps from pipes'
$at_quiet $ECHO_N " 22: multivolume dumps from pipes $ECHO_C"
at_xfail=no
(
echo "22. multiv01.at:23: testing ..."
$at_traceon
$at_traceoff
echo "multiv01.at:55:
mkdir gnu
(cd gnu
TAR_OPTIONS=\"-H gnu\"
export TAR_OPTIONS
rm -rf *
genfile --length 7168 > 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
tar -c --multi-volume --tape-length=10 \\
--listed-incremental=t.snar \\
-f t1-pipe.tar -f t2-pipe.tar ./file1 ./file2 || exit 1
mkdir extract-dir-pipe
dd bs=4096 count=10 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=10 --read-full-records || exit 1
cmp file1 extract-dir-pipe/file1
cmp file2 extract-dir-pipe/file2
)"
echo multiv01.at:55 >$at_check_line_file
( $at_traceon;
mkdir gnu
(cd gnu
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *
genfile --length 7168 > 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
tar -c --multi-volume --tape-length=10 \
--listed-incremental=t.snar \
-f t1-pipe.tar -f t2-pipe.tar ./file1 ./file2 || exit 1
mkdir extract-dir-pipe
dd bs=4096 count=10 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=10 --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
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 "multiv01.at:55: 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 "multiv01.at:55:
mkdir oldgnu
(cd oldgnu
TAR_OPTIONS=\"-H oldgnu\"
export TAR_OPTIONS
rm -rf *
genfile --length 7168 > 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
tar -c --multi-volume --tape-length=10 \\
--listed-incremental=t.snar \\
-f t1-pipe.tar -f t2-pipe.tar ./file1 ./file2 || exit 1
mkdir extract-dir-pipe
dd bs=4096 count=10 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=10 --read-full-records || exit 1
cmp file1 extract-dir-pipe/file1
cmp file2 extract-dir-pipe/file2
)"
echo multiv01.at:55 >$at_check_line_file
( $at_traceon;
mkdir oldgnu
(cd oldgnu
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *
genfile --length 7168 > 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
tar -c --multi-volume --tape-length=10 \
--listed-incremental=t.snar \
-f t1-pipe.tar -f t2-pipe.tar ./file1 ./file2 || exit 1
mkdir extract-dir-pipe
dd bs=4096 count=10 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=10 --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
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 "multiv01.at:55: 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 ) at_setup_line='multiv02.at:28'
at_desc='skipping a straddling member'
$at_quiet $ECHO_N " 23: skipping a straddling member $ECHO_C"
at_xfail=no
(
echo "23. multiv02.at:28: testing ..."
$at_traceon
$at_traceoff
echo "multiv02.at:45:
mkdir gnu
(cd gnu
TAR_OPTIONS=\"-H gnu\"
export TAR_OPTIONS
rm -rf *
genfile --length 10240 > en
genfile --length 20000 > to
genfile --length 20000 > tre
genfile --length 10240 > fire
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:45 >$at_check_line_file
( $at_traceon;
mkdir gnu
(cd gnu
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *
genfile --length 10240 > en
genfile --length 20000 > to
genfile --length 20000 > tre
genfile --length 10240 > fire
tar -c -f A.tar -f B.tar -f C.tar -M -L 30 en to tre fire || exit 1
echo separator
tar -v -x -f A.tar -f B.tar -f C.tar -M en || exit 1
) ) >$at_stdout 2>$at_stder1
at_status=$?
grep '^ *+' $at_stder1 >&2
grep -v '^ *+' $at_stder1 >$at_stderr
at_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 "multiv02.at:45: 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 "multiv02.at:45:
mkdir oldgnu
(cd oldgnu
TAR_OPTIONS=\"-H oldgnu\"
export TAR_OPTIONS
rm -rf *
genfile --length 10240 > en
genfile --length 20000 > to
genfile --length 20000 > tre
genfile --length 10240 > fire
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:45 >$at_check_line_file
( $at_traceon;
mkdir oldgnu
(cd oldgnu
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *
genfile --length 10240 > en
genfile --length 20000 > to
genfile --length 20000 > tre
genfile --length 10240 > fire
tar -c -f A.tar -f B.tar -f C.tar -M -L 30 en to tre fire || exit 1
echo separator
tar -v -x -f A.tar -f B.tar -f C.tar -M en || exit 1
) ) >$at_stdout 2>$at_stder1
at_status=$?
grep '^ *+' $at_stder1 >&2
grep -v '^ *+' $at_stder1 >$at_stderr
at_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 "multiv02.at:45: 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 ) at_setup_line='multiv03.at:28'
at_desc='MV archive & long filenames'
$at_quiet $ECHO_N " 24: MV archive & long filenames $ECHO_C"
at_xfail=no
(
echo "24. multiv03.at:28: testing ..."
$at_traceon
$at_traceoff
echo "multiv03.at:58:
mkdir gnu
(cd gnu
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
tar: Error is not recoverable: exiting now
EOF
cat > ../expout <<EOF
\$AFILE
separator
EOF
genfile --length 15360 > \$AFILE
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
genfile --length 15360 > \$BFILE
tar -M -L 10 -c -f arch.1 -f arch.2 \$BFILE
)"
echo multiv03.at:58 >$at_check_line_file
( $at_traceon;
mkdir gnu
(cd gnu
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
tar: Error is not recoverable: exiting now
EOF
cat > ../expout <<EOF
$AFILE
separator
EOF
genfile --length 15360 > $AFILE
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
genfile --length 15360 > $BFILE
tar -M -L 10 -c -f arch.1 -f arch.2 $BFILE
) ) >$at_stdout 2>$at_stder1
at_status=$?
grep '^ *+' $at_stder1 >&2
grep -v '^ *+' $at_stder1 >$at_stderr
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;;
2) ;;
*) echo "multiv03.at:58: 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
echo "multiv03.at:58:
mkdir oldgnu
(cd oldgnu
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
tar: Error is not recoverable: exiting now
EOF
cat > ../expout <<EOF
\$AFILE
separator
EOF
genfile --length 15360 > \$AFILE
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
genfile --length 15360 > \$BFILE
tar -M -L 10 -c -f arch.1 -f arch.2 \$BFILE
)"
echo multiv03.at:58 >$at_check_line_file
( $at_traceon;
mkdir oldgnu
(cd oldgnu
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
tar: Error is not recoverable: exiting now
EOF
cat > ../expout <<EOF
$AFILE
separator
EOF
genfile --length 15360 > $AFILE
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
genfile --length 15360 > $BFILE
tar -M -L 10 -c -f arch.1 -f arch.2 $BFILE
) ) >$at_stdout 2>$at_stder1
at_status=$?
grep '^ *+' $at_stder1 >&2
grep -v '^ *+' $at_stder1 >$at_stderr
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;;
2) ;;
*) echo "multiv03.at:58: 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`
;;
25 ) at_setup_line='old.at:23'
at_desc='old archives'
$at_quiet $ECHO_N " 25: old archives $ECHO_C"
at_xfail=no
(
echo "25. old.at:23: testing ..."
$at_traceon
unset TAR_OPTIONS
$at_traceoff
echo "old.at:35:
mkdir directory
tar cfvo archive directory || exit 1
tar tf archive
"
echo old.at:35 >$at_check_line_file
( $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
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 "old.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`
;;
26 ) at_setup_line='recurse.at:21'
at_desc='recurse'
$at_quiet $ECHO_N " 26: recurse $ECHO_C"
at_xfail=no
(
echo "26. recurse.at:21: testing ..."
$at_traceon
$at_traceoff
echo "recurse.at:32:
mkdir v7
(cd v7
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:32 >$at_check_line_file
( $at_traceon;
mkdir v7
(cd v7
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
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 "recurse.at:32: exit code was $at_status, expected 0"
at_failed=:;;
esac
if $at_failed; then
echo 1 > $at_status_file
exit 1
fi
$at_traceon
$at_traceoff
echo "recurse.at:32:
mkdir oldgnu
(cd oldgnu
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:32 >$at_check_line_file
( $at_traceon;
mkdir oldgnu
(cd oldgnu
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
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 "recurse.at:32: exit code was $at_status, expected 0"
at_failed=:;;
esac
if $at_failed; then
echo 1 > $at_status_file
exit 1
fi
$at_traceon
$at_traceoff
echo "recurse.at:32:
mkdir ustar
(cd ustar
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:32 >$at_check_line_file
( $at_traceon;
mkdir ustar
(cd ustar
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
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 "recurse.at:32: exit code was $at_status, expected 0"
at_failed=:;;
esac
if $at_failed; then
echo 1 > $at_status_file
exit 1
fi
$at_traceon
$at_traceoff
echo "recurse.at:32:
mkdir posix
(cd posix
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:32 >$at_check_line_file
( $at_traceon;
mkdir posix
(cd posix
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
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 "recurse.at:32: exit code was $at_status, expected 0"
at_failed=:;;
esac
if $at_failed; then
echo 1 > $at_status_file
exit 1
fi
$at_traceon
$at_traceoff
echo "recurse.at:32:
mkdir gnu
(cd gnu
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:32 >$at_check_line_file
( $at_traceon;
mkdir gnu
(cd gnu
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
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 "recurse.at:32: exit code was $at_status, expected 0"
at_failed=:;;
esac
if $at_failed; then
echo 1 > $at_status_file
exit 1
fi
$at_traceon
$at_traceoff
$at_times_p && times >$at_times_file
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat $at_status_file`
;;
27 ) at_setup_line='same-order01.at:26'
at_desc='same-order01'
$at_quiet $ECHO_N " 27: same-order01 $ECHO_C"
at_xfail=no
(
echo "27. same-order01.at:26: testing ..."
$at_traceon
$at_traceoff
echo "same-order01.at:42:
mkdir v7
(cd v7
TAR_OPTIONS=\"-H v7\"
export TAR_OPTIONS
rm -rf *
genfile -l 1024 > file1
genfile -l 1024 > file2
tar cf archive file1 file2
mkdir directory
tar -xf archive --same-order -C directory || exit 1
ls directory
)"
echo same-order01.at:42 >$at_check_line_file
( $at_traceon;
mkdir v7
(cd v7
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *
genfile -l 1024 > file1
genfile -l 1024 > file2
tar cf archive file1 file2
mkdir directory
tar -xf archive --same-order -C directory || exit 1
ls directory
) ) >$at_stdout 2>$at_stder1
at_status=$?
grep '^ *+' $at_stder1 >&2
grep -v '^ *+' $at_stder1 >$at_stderr
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 "same-order01.at:42: 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 "same-order01.at:42:
mkdir oldgnu
(cd oldgnu
TAR_OPTIONS=\"-H oldgnu\"
export TAR_OPTIONS
rm -rf *
genfile -l 1024 > file1
genfile -l 1024 > file2
tar cf archive file1 file2
mkdir directory
tar -xf archive --same-order -C directory || exit 1
ls directory
)"
echo same-order01.at:42 >$at_check_line_file
( $at_traceon;
mkdir oldgnu
(cd oldgnu
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *
genfile -l 1024 > file1
genfile -l 1024 > file2
tar cf archive file1 file2
mkdir directory
tar -xf archive --same-order -C directory || exit 1
ls directory
) ) >$at_stdout 2>$at_stder1
at_status=$?
grep '^ *+' $at_stder1 >&2
grep -v '^ *+' $at_stder1 >$at_stderr
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 "same-order01.at:42: 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 "same-order01.at:42:
mkdir ustar
(cd ustar
TAR_OPTIONS=\"-H ustar\"
export TAR_OPTIONS
rm -rf *
genfile -l 1024 > file1
genfile -l 1024 > file2
tar cf archive file1 file2
mkdir directory
tar -xf archive --same-order -C directory || exit 1
ls directory
)"
echo same-order01.at:42 >$at_check_line_file
( $at_traceon;
mkdir ustar
(cd ustar
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *
genfile -l 1024 > file1
genfile -l 1024 > file2
tar cf archive file1 file2
mkdir directory
tar -xf archive --same-order -C directory || exit 1
ls directory
) ) >$at_stdout 2>$at_stder1
at_status=$?
grep '^ *+' $at_stder1 >&2
grep -v '^ *+' $at_stder1 >$at_stderr
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 "same-order01.at:42: 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 "same-order01.at:42:
mkdir posix
(cd posix
TAR_OPTIONS=\"-H posix\"
export TAR_OPTIONS
rm -rf *
genfile -l 1024 > file1
genfile -l 1024 > file2
tar cf archive file1 file2
mkdir directory
tar -xf archive --same-order -C directory || exit 1
ls directory
)"
echo same-order01.at:42 >$at_check_line_file
( $at_traceon;
mkdir posix
(cd posix
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *
genfile -l 1024 > file1
genfile -l 1024 > file2
tar cf archive file1 file2
mkdir directory
tar -xf archive --same-order -C directory || exit 1
ls directory
) ) >$at_stdout 2>$at_stder1
at_status=$?
grep '^ *+' $at_stder1 >&2
grep -v '^ *+' $at_stder1 >$at_stderr
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 "same-order01.at:42: 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 "same-order01.at:42:
mkdir gnu
(cd gnu
TAR_OPTIONS=\"-H gnu\"
export TAR_OPTIONS
rm -rf *
genfile -l 1024 > file1
genfile -l 1024 > file2
tar cf archive file1 file2
mkdir directory
tar -xf archive --same-order -C directory || exit 1
ls directory
)"
echo same-order01.at:42 >$at_check_line_file
( $at_traceon;
mkdir gnu
(cd gnu
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *
genfile -l 1024 > file1
genfile -l 1024 > file2
tar cf archive file1 file2
mkdir directory
tar -xf archive --same-order -C directory || exit 1
ls directory
) ) >$at_stdout 2>$at_stder1
at_status=$?
grep '^ *+' $at_stder1 >&2
grep -v '^ *+' $at_stder1 >$at_stderr
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 "same-order01.at:42: 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 ) at_setup_line='same-order02.at:25'
at_desc='same-order02'
$at_quiet $ECHO_N " 28: same-order02 $ECHO_C"
at_xfail=no
(
echo "28. same-order02.at:25: testing ..."
$at_traceon
$at_traceoff
echo "same-order02.at:47:
mkdir v7
(cd v7
TAR_OPTIONS=\"-H v7\"
export TAR_OPTIONS
rm -rf *
genfile -l 1024 > file1
genfile -l 1024 > 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:47 >$at_check_line_file
( $at_traceon;
mkdir v7
(cd v7
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *
genfile -l 1024 > file1
genfile -l 1024 > 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
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 "same-order02.at:47: 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 "same-order02.at:47:
mkdir oldgnu
(cd oldgnu
TAR_OPTIONS=\"-H oldgnu\"
export TAR_OPTIONS
rm -rf *
genfile -l 1024 > file1
genfile -l 1024 > 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:47 >$at_check_line_file
( $at_traceon;
mkdir oldgnu
(cd oldgnu
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *
genfile -l 1024 > file1
genfile -l 1024 > 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
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 "same-order02.at:47: 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 "same-order02.at:47:
mkdir ustar
(cd ustar
TAR_OPTIONS=\"-H ustar\"
export TAR_OPTIONS
rm -rf *
genfile -l 1024 > file1
genfile -l 1024 > 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:47 >$at_check_line_file
( $at_traceon;
mkdir ustar
(cd ustar
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *
genfile -l 1024 > file1
genfile -l 1024 > 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
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 "same-order02.at:47: 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 "same-order02.at:47:
mkdir posix
(cd posix
TAR_OPTIONS=\"-H posix\"
export TAR_OPTIONS
rm -rf *
genfile -l 1024 > file1
genfile -l 1024 > 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:47 >$at_check_line_file
( $at_traceon;
mkdir posix
(cd posix
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *
genfile -l 1024 > file1
genfile -l 1024 > 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
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 "same-order02.at:47: 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 "same-order02.at:47:
mkdir gnu
(cd gnu
TAR_OPTIONS=\"-H gnu\"
export TAR_OPTIONS
rm -rf *
genfile -l 1024 > file1
genfile -l 1024 > 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:47 >$at_check_line_file
( $at_traceon;
mkdir gnu
(cd gnu
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *
genfile -l 1024 > file1
genfile -l 1024 > 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
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 "same-order02.at:47: 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 ) at_setup_line='sparse01.at:21'
at_desc='sparse01'
$at_quiet $ECHO_N " 29: sparse01 $ECHO_C"
at_xfail=no
(
echo "29. sparse01.at:21: testing ..."
$at_traceon
$at_traceoff
echo "sparse01.at:35:
mkdir gnu
(cd gnu
TAR_OPTIONS=\"-H gnu\"
export TAR_OPTIONS
rm -rf *
genfile --length 1000 > begin
genfile --length 1000 > end
genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL
tar -c -f archive --sparse begin sparsefile end || exit 1
echo separator
tar tfv archive
)"
echo sparse01.at:35 >$at_check_line_file
( $at_traceon;
mkdir gnu
(cd gnu
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *
genfile --length 1000 > begin
genfile --length 1000 > end
genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL
tar -c -f archive --sparse begin sparsefile end || exit 1
echo separator
tar tfv archive
) ) >$at_stdout 2>$at_stder1
at_status=$?
grep '^ *+' $at_stder1 >&2
grep -v '^ *+' $at_stder1 >$at_stderr
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 "sparse01.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 "sparse01.at:35:
mkdir oldgnu
(cd oldgnu
TAR_OPTIONS=\"-H oldgnu\"
export TAR_OPTIONS
rm -rf *
genfile --length 1000 > begin
genfile --length 1000 > end
genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL
tar -c -f archive --sparse begin sparsefile end || exit 1
echo separator
tar tfv archive
)"
echo sparse01.at:35 >$at_check_line_file
( $at_traceon;
mkdir oldgnu
(cd oldgnu
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *
genfile --length 1000 > begin
genfile --length 1000 > end
genfile --sparse --file sparsefile --block-size 512 0 ABCD 1M EFGH 2000K IJKL
tar -c -f archive --sparse begin sparsefile end || exit 1
echo separator
tar tfv archive
) ) >$at_stdout 2>$at_stder1
at_status=$?
grep '^ *+' $at_stder1 >&2
grep -v '^ *+' $at_stder1 >$at_stderr
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 "sparse01.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
cat >stdout.re <<'_ATEOF'
separator
-rw-r--r-- ^ ^ * *1000 0-90-90-90-9-0-90-9-0-90-9 0-90-9:0-90-9 begin
-rw-r--r-- ^ ^ * *103444480-90-90-90-9-0-90-9-0-90-9 0-90-9:0-90-9 sparsefile
-rw-r--r-- ^ ^ * *1000 0-90-90-90-9-0-90-9-0-90-9 0-90-9:0-90-9 end
_ATEOF
awk '{print NR " " $0}' stdout.re > $$.1
awk '{print NR " " $0}' stdout | join $$.1 - |
while read NUM RE LINE
do
echo "$LINE" | grep -- "$RE" >/dev/null || exit 1
done
$at_traceoff
$at_times_p && times >$at_times_file
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat $at_status_file`
;;
30 ) at_setup_line='volume.at:23'
at_desc='volume'
$at_quiet $ECHO_N " 30: volume $ECHO_C"
at_xfail=no
(
echo "30. volume.at:23: testing ..."
$at_traceon
$at_traceoff
echo "volume.at:55:
mkdir gnu
(cd gnu
TAR_OPTIONS=\"-H gnu\"
export TAR_OPTIONS
rm -rf *
tar -cf archive -V label -T /dev/null || exit 1
tar xfV archive label || exit 1
tar xfV archive 'la?el' || exit 1
tar xfV archive 'l*l' || exit 1
echo 1>&2 -----
tar xfV archive lab
test \$? = 2 || exit 1
echo 1>&2 -----
tar xfV archive bel
test \$? = 2 || exit 1
echo 1>&2 -----
tar xfV archive babel
test \$? = 2
)"
echo volume.at:55 >$at_check_line_file
( $at_traceon;
mkdir gnu
(cd gnu
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *
tar -cf archive -V label -T /dev/null || exit 1
tar xfV archive label || exit 1
tar xfV archive 'la?el' || exit 1
tar xfV archive 'l*l' || exit 1
echo 1>&2 -----
tar xfV archive lab
test $? = 2 || exit 1
echo 1>&2 -----
tar xfV archive bel
test $? = 2 || exit 1
echo 1>&2 -----
tar xfV archive babel
test $? = 2
) ) >$at_stdout 2>$at_stder1
at_status=$?
grep '^ *+' $at_stder1 >&2
grep -v '^ *+' $at_stder1 >$at_stderr
at_failed=false
echo >>$at_stderr; echo "-----
tar: Volume \`label' does not match \`lab'
tar: Error is not recoverable: exiting now
-----
tar: Volume \`label' does not match \`bel'
tar: Error is not recoverable: exiting now
-----
tar: Volume \`label' does not match \`babel'
tar: Error is not recoverable: exiting now
" | $at_diff - $at_stderr || at_failed=:
$at_diff $at_devnull $at_stdout || at_failed=:
case $at_status in
77) echo 77 > $at_status_file
exit 77;;
0) ;;
*) echo "volume.at:55: 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 "volume.at:55:
mkdir oldgnu
(cd oldgnu
TAR_OPTIONS=\"-H oldgnu\"
export TAR_OPTIONS
rm -rf *
tar -cf archive -V label -T /dev/null || exit 1
tar xfV archive label || exit 1
tar xfV archive 'la?el' || exit 1
tar xfV archive 'l*l' || exit 1
echo 1>&2 -----
tar xfV archive lab
test \$? = 2 || exit 1
echo 1>&2 -----
tar xfV archive bel
test \$? = 2 || exit 1
echo 1>&2 -----
tar xfV archive babel
test \$? = 2
)"
echo volume.at:55 >$at_check_line_file
( $at_traceon;
mkdir oldgnu
(cd oldgnu
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *
tar -cf archive -V label -T /dev/null || exit 1
tar xfV archive label || exit 1
tar xfV archive 'la?el' || exit 1
tar xfV archive 'l*l' || exit 1
echo 1>&2 -----
tar xfV archive lab
test $? = 2 || exit 1
echo 1>&2 -----
tar xfV archive bel
test $? = 2 || exit 1
echo 1>&2 -----
tar xfV archive babel
test $? = 2
) ) >$at_stdout 2>$at_stder1
at_status=$?
grep '^ *+' $at_stder1 >&2
grep -v '^ *+' $at_stder1 >$at_stderr
at_failed=false
echo >>$at_stderr; echo "-----
tar: Volume \`label' does not match \`lab'
tar: Error is not recoverable: exiting now
-----
tar: Volume \`label' does not match \`bel'
tar: Error is not recoverable: exiting now
-----
tar: Volume \`label' does not match \`babel'
tar: Error is not recoverable: exiting now
" | $at_diff - $at_stderr || at_failed=:
$at_diff $at_devnull $at_stdout || at_failed=:
case $at_status in
77) echo 77 > $at_status_file
exit 77;;
0) ;;
*) echo "volume.at:55: 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 ) at_setup_line='comprec.at:21'
at_desc='compressed format recognition'
$at_quiet $ECHO_N " 31: compressed format recognition $ECHO_C"
at_xfail=no
(
echo "31. comprec.at:21: testing ..."
$at_traceon
$at_traceoff
echo "comprec.at:39:
mkdir v7
(cd v7
TAR_OPTIONS=\"-H v7\"
export TAR_OPTIONS
rm -rf *
cat /dev/null | gzip - > /dev/null 2>&1 || exit 77
genfile --length 10240 > file1
echo \"separator\"
tar cfz archive file1
echo \"separator\"
mv file1 orig
tar xfv archive
cmp orig file1
)"
echo comprec.at:39 >$at_check_line_file
( $at_traceon;
mkdir v7
(cd v7
TAR_OPTIONS="-H v7"
export TAR_OPTIONS
rm -rf *
cat /dev/null | gzip - > /dev/null 2>&1 || exit 77
genfile --length 10240 > file1
echo "separator"
tar cfz archive file1
echo "separator"
mv file1 orig
tar xfv archive
cmp orig file1
) ) >$at_stdout 2>$at_stder1
at_status=$?
grep '^ *+' $at_stder1 >&2
grep -v '^ *+' $at_stder1 >$at_stderr
at_failed=false
$at_diff $at_devnull $at_stderr || at_failed=:
echo >>$at_stdout; echo "separator
separator
file1
" | $at_diff - $at_stdout || at_failed=:
case $at_status in
77) echo 77 > $at_status_file
exit 77;;
0) ;;
*) echo "comprec.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 "comprec.at:39:
mkdir oldgnu
(cd oldgnu
TAR_OPTIONS=\"-H oldgnu\"
export TAR_OPTIONS
rm -rf *
cat /dev/null | gzip - > /dev/null 2>&1 || exit 77
genfile --length 10240 > file1
echo \"separator\"
tar cfz archive file1
echo \"separator\"
mv file1 orig
tar xfv archive
cmp orig file1
)"
echo comprec.at:39 >$at_check_line_file
( $at_traceon;
mkdir oldgnu
(cd oldgnu
TAR_OPTIONS="-H oldgnu"
export TAR_OPTIONS
rm -rf *
cat /dev/null | gzip - > /dev/null 2>&1 || exit 77
genfile --length 10240 > file1
echo "separator"
tar cfz archive file1
echo "separator"
mv file1 orig
tar xfv archive
cmp orig file1
) ) >$at_stdout 2>$at_stder1
at_status=$?
grep '^ *+' $at_stder1 >&2
grep -v '^ *+' $at_stder1 >$at_stderr
at_failed=false
$at_diff $at_devnull $at_stderr || at_failed=:
echo >>$at_stdout; echo "separator
separator
file1
" | $at_diff - $at_stdout || at_failed=:
case $at_status in
77) echo 77 > $at_status_file
exit 77;;
0) ;;
*) echo "comprec.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 "comprec.at:39:
mkdir ustar
(cd ustar
TAR_OPTIONS=\"-H ustar\"
export TAR_OPTIONS
rm -rf *
cat /dev/null | gzip - > /dev/null 2>&1 || exit 77
genfile --length 10240 > file1
echo \"separator\"
tar cfz archive file1
echo \"separator\"
mv file1 orig
tar xfv archive
cmp orig file1
)"
echo comprec.at:39 >$at_check_line_file
( $at_traceon;
mkdir ustar
(cd ustar
TAR_OPTIONS="-H ustar"
export TAR_OPTIONS
rm -rf *
cat /dev/null | gzip - > /dev/null 2>&1 || exit 77
genfile --length 10240 > file1
echo "separator"
tar cfz archive file1
echo "separator"
mv file1 orig
tar xfv archive
cmp orig file1
) ) >$at_stdout 2>$at_stder1
at_status=$?
grep '^ *+' $at_stder1 >&2
grep -v '^ *+' $at_stder1 >$at_stderr
at_failed=false
$at_diff $at_devnull $at_stderr || at_failed=:
echo >>$at_stdout; echo "separator
separator
file1
" | $at_diff - $at_stdout || at_failed=:
case $at_status in
77) echo 77 > $at_status_file
exit 77;;
0) ;;
*) echo "comprec.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 "comprec.at:39:
mkdir posix
(cd posix
TAR_OPTIONS=\"-H posix\"
export TAR_OPTIONS
rm -rf *
cat /dev/null | gzip - > /dev/null 2>&1 || exit 77
genfile --length 10240 > file1
echo \"separator\"
tar cfz archive file1
echo \"separator\"
mv file1 orig
tar xfv archive
cmp orig file1
)"
echo comprec.at:39 >$at_check_line_file
( $at_traceon;
mkdir posix
(cd posix
TAR_OPTIONS="-H posix"
export TAR_OPTIONS
rm -rf *
cat /dev/null | gzip - > /dev/null 2>&1 || exit 77
genfile --length 10240 > file1
echo "separator"
tar cfz archive file1
echo "separator"
mv file1 orig
tar xfv archive
cmp orig file1
) ) >$at_stdout 2>$at_stder1
at_status=$?
grep '^ *+' $at_stder1 >&2
grep -v '^ *+' $at_stder1 >$at_stderr
at_failed=false
$at_diff $at_devnull $at_stderr || at_failed=:
echo >>$at_stdout; echo "separator
separator
file1
" | $at_diff - $at_stdout || at_failed=:
case $at_status in
77) echo 77 > $at_status_file
exit 77;;
0) ;;
*) echo "comprec.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 "comprec.at:39:
mkdir gnu
(cd gnu
TAR_OPTIONS=\"-H gnu\"
export TAR_OPTIONS
rm -rf *
cat /dev/null | gzip - > /dev/null 2>&1 || exit 77
genfile --length 10240 > file1
echo \"separator\"
tar cfz archive file1
echo \"separator\"
mv file1 orig
tar xfv archive
cmp orig file1
)"
echo comprec.at:39 >$at_check_line_file
( $at_traceon;
mkdir gnu
(cd gnu
TAR_OPTIONS="-H gnu"
export TAR_OPTIONS
rm -rf *
cat /dev/null | gzip - > /dev/null 2>&1 || exit 77
genfile --length 10240 > file1
echo "separator"
tar cfz archive file1
echo "separator"
mv file1 orig
tar xfv archive
cmp orig file1
) ) >$at_stdout 2>$at_stder1
at_status=$?
grep '^ *+' $at_stder1 >&2
grep -v '^ *+' $at_stder1 >$at_stderr
at_failed=false
$at_diff $at_devnull $at_stderr || at_failed=:
echo >>$at_stdout; echo "separator
separator
file1
" | $at_diff - $at_stdout || at_failed=:
case $at_status in
77) echo 77 > $at_status_file
exit 77;;
0) ;;
*) echo "comprec.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`
;;
32 ) at_setup_line='gtarfail.at:21'
at_desc='gtarfail'
$at_quiet $ECHO_N " 32: gtarfail $ECHO_C"
at_xfail=no
(
echo "32. gtarfail.at:21: testing ..."
$at_traceon
unset TAR_OPTIONS
$at_traceoff
echo "gtarfail.at:38:
test -z "$STAR_TESTSCRIPTS" && exit 77
test -r "$STAR_TESTSCRIPTS/gtarfail.tar" || exit 77
tar --utc -tvf \$STAR_TESTSCRIPTS/gtarfail.tar
"
echo gtarfail.at:38 >$at_check_line_file
( $at_traceon;
test -z "$STAR_TESTSCRIPTS" && exit 77
test -r "$STAR_TESTSCRIPTS/gtarfail.tar" || exit 77
tar --utc -tvf $STAR_TESTSCRIPTS/gtarfail.tar
) >$at_stdout 2>$at_stder1
at_status=$?
grep '^ *+' $at_stder1 >&2
grep -v '^ *+' $at_stder1 >$at_stderr
at_failed=false
$at_diff $at_devnull $at_stderr || at_failed=:
echo >>$at_stdout; echo "-rw-r--r-- jes/glone 518 2001-05-25 14:41:06 vedpowered.gif
-rw-r--r-- jes/glone 6825 1997-04-29 00:19:16 cd.gif
-rw-r--r-- jes/glone 33354 1999-06-22 12:17:38 DSCN0049c.JPG
-rw-r--r-- jes/glone 86159 2001-06-05 18:16:04 Window1.jpg
-rw-r--r-- jes/glone 1310 2001-05-25 13:05:41 vipower.gif
-rw-rw-rw- jes/glone 148753 1998-09-15 13:08:15 billyboy.jpg
" | $at_diff - $at_stdout || at_failed=:
case $at_status in
77) echo 77 > $at_status_file
exit 77;;
0) ;;
*) echo "gtarfail.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`
;;
33 ) at_setup_line='gtarfail2.at:21'
at_desc='gtarfail2'
$at_quiet $ECHO_N " 33: gtarfail2 $ECHO_C"
at_xfail=no
(
echo "33. gtarfail2.at:21: testing ..."
$at_traceon
unset TAR_OPTIONS
$at_traceoff
echo "gtarfail2.at:41:
test -z "$STAR_TESTSCRIPTS" && exit 77
test -r "$STAR_TESTSCRIPTS/gtarfail2.tar" || exit 77
tar --utc -tvf \$STAR_TESTSCRIPTS/gtarfail2.tar
"
echo gtarfail2.at:41 >$at_check_line_file
( $at_traceon;
test -z "$STAR_TESTSCRIPTS" && exit 77
test -r "$STAR_TESTSCRIPTS/gtarfail2.tar" || exit 77
tar --utc -tvf $STAR_TESTSCRIPTS/gtarfail2.tar
) >$at_stdout 2>$at_stder1
at_status=$?
grep '^ *+' $at_stder1 >&2
grep -v '^ *+' $at_stder1 >$at_stderr
at_failed=false
$at_diff $at_devnull $at_stderr || at_failed=:
echo >>$at_stdout; echo "-rwxr-xr-x jes/glone 214 2001-09-21 14:08:36 .clean
lrwxrwxrwx jes/cats 0 1998-05-07 12:39:00 RULES -> makefiles/RULES
drwxr-sr-x jes/glone 0 2001-12-10 00:00:58 build/
-rw-r--r-- jes/glone 312019 2001-12-10 00:00:20 build/smake-1.2.tar.gz
drwxr-sr-x jes/glone 0 2001-11-09 18:20:33 build/psmake/
-rwxr-xr-x jes/glone 259 2000-01-09 16:36:34 build/psmake/MAKE
-rwxr-xr-x jes/glone 4820 2001-02-25 22:45:53 build/psmake/MAKE.sh
-rw-r--r-- jes/glone 647 2001-02-25 23:50:06 build/psmake/Makefile
lrwxrwxrwx jes/glone 0 2001-08-29 10:53:53 build/psmake/archconf.c -> ../archconf.c
lrwxrwxrwx jes/glone 0 2001-08-29 10:54:00 build/psmake/astoi.c -> ../../lib/astoi.c
" | $at_diff - $at_stdout || at_failed=:
case $at_status in
77) echo 77 > $at_status_file
exit 77;;
0) ;;
*) echo "gtarfail2.at:41: 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 ) at_setup_line='multi-fail.at:21'
at_desc='multi-fail'
$at_quiet $ECHO_N " 34: multi-fail $ECHO_C"
at_xfail=no
(
echo "34. multi-fail.at:21: testing ..."
$at_traceon
unset TAR_OPTIONS
$at_traceoff
echo "multi-fail.at:86:
test -z "$STAR_TESTSCRIPTS" && exit 77
test -r "$STAR_TESTSCRIPTS/gnu-multi-fail-volume1.gtar" || exit 77
test -z "$STAR_TESTSCRIPTS" && exit 77
test -r "$STAR_TESTSCRIPTS/gnu-multi-fail-volume2.gtar" || exit 77
tar --utc -tvM -f \$STAR_TESTSCRIPTS/gnu-multi-fail-volume1.gtar \\
-f \$STAR_TESTSCRIPTS/gnu-multi-fail-volume2.gtar
"
echo multi-fail.at:86 >$at_check_line_file
( $at_traceon;
test -z "$STAR_TESTSCRIPTS" && exit 77
test -r "$STAR_TESTSCRIPTS/gnu-multi-fail-volume1.gtar" || exit 77
test -z "$STAR_TESTSCRIPTS" && exit 77
test -r "$STAR_TESTSCRIPTS/gnu-multi-fail-volume2.gtar" || exit 77
tar --utc -tvM -f $STAR_TESTSCRIPTS/gnu-multi-fail-volume1.gtar \
-f $STAR_TESTSCRIPTS/gnu-multi-fail-volume2.gtar
) >$at_stdout 2>$at_stder1
at_status=$?
grep '^ *+' $at_stder1 >&2
grep -v '^ *+' $at_stder1 >$at_stderr
at_failed=false
$at_diff $at_devnull $at_stderr || at_failed=:
echo >>$at_stdout; echo "drwxrwsr-x joerg/bs 0 2003-10-11 14:32:43 OBJ/i386-sunos5-gcc/
-rw-r--r-- joerg/bs 1 2003-10-11 14:32:50 OBJ/i386-sunos5-gcc/Dnull
-rw-r--r-- joerg/bs 1743 2003-10-10 18:06:58 OBJ/i386-sunos5-gcc/star.d
-rw-r--r-- joerg/bs 1460 2003-10-11 11:53:36 OBJ/i386-sunos5-gcc/header.d
-rw-r--r-- joerg/bs 1540 2003-10-10 18:06:59 OBJ/i386-sunos5-gcc/cpiohdr.d
-rw-r--r-- joerg/bs 2245 2003-10-10 18:06:59 OBJ/i386-sunos5-gcc/xheader.d
-rw-r--r-- joerg/bs 1254 2003-10-10 18:06:59 OBJ/i386-sunos5-gcc/xattr.d
-rw-r--r-- joerg/bs 1330 2003-10-10 18:06:59 OBJ/i386-sunos5-gcc/list.d
-rw-r--r-- joerg/bs 1745 2003-10-10 18:06:59 OBJ/i386-sunos5-gcc/extract.d
-rw-r--r-- joerg/bs 1518 2003-10-10 18:06:59 OBJ/i386-sunos5-gcc/create.d
-rw-r--r-- joerg/bs 1235 2003-10-10 18:06:59 OBJ/i386-sunos5-gcc/append.d
-rw-r--r-- joerg/bs 1368 2003-10-10 18:06:59 OBJ/i386-sunos5-gcc/diff.d
-rw-r--r-- joerg/bs 1423 2003-10-10 18:06:59 OBJ/i386-sunos5-gcc/remove.d
-rw-r--r-- joerg/bs 1493 2003-10-10 18:07:00 OBJ/i386-sunos5-gcc/star_unix.d
-rw-r--r-- joerg/bs 1572 2003-10-10 18:07:00 OBJ/i386-sunos5-gcc/acl_unix.d
-rw-r--r-- joerg/bs 1453 2003-10-10 18:07:00 OBJ/i386-sunos5-gcc/fflags.d
-rw-r--r-- joerg/bs 2257 2003-10-11 14:32:43 OBJ/i386-sunos5-gcc/buffer.d
-rw-r--r-- joerg/bs 969 2003-10-07 17:53:47 OBJ/i386-sunos5-gcc/dirtime.d
-rw-r--r-- joerg/bs 1308 2003-10-10 18:07:00 OBJ/i386-sunos5-gcc/lhash.d
-rw-r--r-- joerg/bs 1287 2003-10-10 18:07:00 OBJ/i386-sunos5-gcc/hole.d
-rw-r--r-- joerg/bs 1105 2003-10-10 18:07:00 OBJ/i386-sunos5-gcc/longnames.d
-rw-r--r-- joerg/bs 1230 2003-10-10 18:07:00 OBJ/i386-sunos5-gcc/names.d
-rw-r--r-- joerg/bs 1091 2003-10-10 18:07:00 OBJ/i386-sunos5-gcc/movearch.d
-rw-r--r-- joerg/bs 961 2003-10-07 17:53:48 OBJ/i386-sunos5-gcc/table.d
-rw-r--r-- joerg/bs 1113 2003-10-10 18:07:00 OBJ/i386-sunos5-gcc/props.d
-rw-r--r-- joerg/bs 2146 2003-10-10 18:07:00 OBJ/i386-sunos5-gcc/fetchdir.d
-rw-r--r-- joerg/bs 1093 2003-10-10 18:07:01 OBJ/i386-sunos5-gcc/unicode.d
-rw-r--r-- joerg/bs 1211 2003-10-10 18:07:01 OBJ/i386-sunos5-gcc/subst.d
-rw-r--r-- joerg/bs 2076 2003-10-11 11:53:36 OBJ/i386-sunos5-gcc/volhdr.d
-rw-r--r-- joerg/bs 1480 2003-10-10 18:07:01 OBJ/i386-sunos5-gcc/chdir.d
-rw-r--r-- joerg/bs 42460 2003-10-10 18:07:02 OBJ/i386-sunos5-gcc/star.o
-rw-r--r-- joerg/bs 22564 2003-10-11 11:53:37 OBJ/i386-sunos5-gcc/header.o
-rw-r--r-- joerg/bs 7880 2003-10-10 18:07:04 OBJ/i386-sunos5-gcc/cpiohdr.o
-rw-r--r-- joerg/bs 14624 2003-10-10 18:07:05 OBJ/i386-sunos5-gcc/xheader.o
-rw-r--r-- joerg/bs 924 2003-10-10 18:07:05 OBJ/i386-sunos5-gcc/xattr.o
-rw-r--r-- joerg/bs 6120 2003-10-10 18:07:05 OBJ/i386-sunos5-gcc/list.o
-rw-r--r-- joerg/bs 12764 2003-10-10 18:07:06 OBJ/i386-sunos5-gcc/extract.o
-rw-r--r-- joerg/bs 14668 2003-10-10 18:07:06 OBJ/i386-sunos5-gcc/create.o
-rw-r--r-- joerg/bs 2576 2003-10-10 18:07:07 OBJ/i386-sunos5-gcc/append.o
-rw-r--r-- joerg/bs 7636 2003-10-10 18:07:07 OBJ/i386-sunos5-gcc/diff.o
-rw-r--r-- joerg/bs 3072 2003-10-10 18:07:07 OBJ/i386-sunos5-gcc/remove.o
-rw-r--r-- joerg/bs 5612 2003-10-10 18:07:08 OBJ/i386-sunos5-gcc/star_unix.o
-rw-r--r-- joerg/bs 6220 2003-10-10 18:07:08 OBJ/i386-sunos5-gcc/acl_unix.o
-rw-r--r-- joerg/bs 1092 2003-10-10 18:07:08 OBJ/i386-sunos5-gcc/fflags.o
-rw-r--r-- joerg/bs 20996 2003-10-11 14:32:44 OBJ/i386-sunos5-gcc/buffer.o
-rw-r--r-- joerg/bs 2060 2003-10-07 17:53:57 OBJ/i386-sunos5-gcc/dirtime.o
-rw-r--r-- joerg/bs 1664 2003-10-10 18:07:09 OBJ/i386-sunos5-gcc/lhash.o
-rw-r--r-- joerg/bs 10564 2003-10-10 18:07:10 OBJ/i386-sunos5-gcc/hole.o
-rw-r--r-- joerg/bs 3864 2003-10-10 18:07:10 OBJ/i386-sunos5-gcc/longnames.o
-rw-r--r-- joerg/bs 2576 2003-10-10 18:07:10 OBJ/i386-sunos5-gcc/names.o
-rw-r--r-- joerg/bs 952 2003-10-10 18:07:10 OBJ/i386-sunos5-gcc/movearch.o
-rw-r--r-- joerg/bs 2756 2003-10-07 17:53:59 OBJ/i386-sunos5-gcc/table.o
" | $at_diff - $at_stdout || at_failed=:
case $at_status in
77) echo 77 > $at_status_file
exit 77;;
0) ;;
*) echo "multi-fail.at:86: 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 ) at_setup_line='ustar-big-2g.at:21'
at_desc='ustar-big-2g'
$at_quiet $ECHO_N " 35: ustar-big-2g $ECHO_C"
at_xfail=no
(
echo "35. ustar-big-2g.at:21: testing ..."
$at_traceon
unset TAR_OPTIONS
$at_traceoff
echo "ustar-big-2g.at:36:
cat /dev/null | bzip2 - > /dev/null 2>&1 || exit 77
test -z "$STAR_TESTSCRIPTS" && exit 77
test -r "$STAR_TESTSCRIPTS/ustar-big-2g.tar.bz2" || exit 77
tar --utc -tvjf \$STAR_TESTSCRIPTS/ustar-big-2g.tar.bz2
"
echo ustar-big-2g.at:36 >$at_check_line_file
( $at_traceon;
cat /dev/null | bzip2 - > /dev/null 2>&1 || exit 77
test -z "$STAR_TESTSCRIPTS" && exit 77
test -r "$STAR_TESTSCRIPTS/ustar-big-2g.tar.bz2" || exit 77
tar --utc -tvjf $STAR_TESTSCRIPTS/ustar-big-2g.tar.bz2
) >$at_stdout 2>$at_stder1
at_status=$?
grep '^ *+' $at_stder1 >&2
grep -v '^ *+' $at_stder1 >$at_stderr
at_failed=false
echo stderr:; tee stderr <$at_stderr
echo >>$at_stdout; echo "-rw------- jes/glone 2147483647 2002-06-15 14:53:23 big
-rw-r--r-- jes/glone 0 2002-06-15 14:53:32 file
" | $at_diff - $at_stdout || at_failed=:
case $at_status in
77) echo 77 > $at_status_file
exit 77;;
0) ;;
*) echo "ustar-big-2g.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
cat >stderr.re <<'_ATEOF'
tar: Record size = .*
_ATEOF
awk '{print NR " " $0}' stderr.re > $$.1
awk '{print NR " " $0}' stderr | join $$.1 - |
while read NUM RE LINE
do
echo "$LINE" | grep -- "$RE" >/dev/null || exit 1
done
$at_traceoff
$at_times_p && times >$at_times_file
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat $at_status_file`
;;
36 ) at_setup_line='ustar-big-8g.at:21'
at_desc='ustar-big-8g'
$at_quiet $ECHO_N " 36: ustar-big-8g $ECHO_C"
at_xfail=no
(
echo "36. ustar-big-8g.at:21: testing ..."
$at_traceon
unset TAR_OPTIONS
$at_traceoff
echo "ustar-big-8g.at:36:
cat /dev/null | bzip2 - > /dev/null 2>&1 || exit 77
test -z "$STAR_TESTSCRIPTS" && exit 77
test -r "$STAR_TESTSCRIPTS/ustar-big-8g.tar.bz2" || exit 77
tar --utc -tvjf \$STAR_TESTSCRIPTS/ustar-big-8g.tar.bz2
"
echo ustar-big-8g.at:36 >$at_check_line_file
( $at_traceon;
cat /dev/null | bzip2 - > /dev/null 2>&1 || exit 77
test -z "$STAR_TESTSCRIPTS" && exit 77
test -r "$STAR_TESTSCRIPTS/ustar-big-8g.tar.bz2" || exit 77
tar --utc -tvjf $STAR_TESTSCRIPTS/ustar-big-8g.tar.bz2
) >$at_stdout 2>$at_stder1
at_status=$?
grep '^ *+' $at_stder1 >&2
grep -v '^ *+' $at_stder1 >$at_stderr
at_failed=false
echo stderr:; tee stderr <$at_stderr
echo >>$at_stdout; echo "-rw------- jes/glone 8589934591 2002-06-15 15:08:33 8gb-1
-rw-r--r-- jes/glone 0 2002-06-15 14:53:32 file
" | $at_diff - $at_stdout || at_failed=:
case $at_status in
77) echo 77 > $at_status_file
exit 77;;
0) ;;
*) echo "ustar-big-8g.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
cat >stderr.re <<'_ATEOF'
tar: Record size = .*
_ATEOF
awk '{print NR " " $0}' stderr.re > $$.1
awk '{print NR " " $0}' stderr | join $$.1 - |
while read NUM RE LINE
do
echo "$LINE" | grep -- "$RE" >/dev/null || exit 1
done
$at_traceoff
$at_times_p && times >$at_times_file
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat $at_status_file`
;;
37 ) at_setup_line='pax-big-10g.at:21'
at_desc='pax-big-10g'
$at_quiet $ECHO_N " 37: pax-big-10g $ECHO_C"
at_xfail=no
(
echo "37. pax-big-10g.at:21: testing ..."
$at_traceon
unset TAR_OPTIONS
$at_traceoff
echo "pax-big-10g.at:36:
cat /dev/null | bzip2 - > /dev/null 2>&1 || exit 77
test -z "$STAR_TESTSCRIPTS" && exit 77
test -r "$STAR_TESTSCRIPTS/pax-big-10g.tar.bz2" || exit 77
tar --utc -tvjf \$STAR_TESTSCRIPTS/pax-big-10g.tar.bz2
"
echo pax-big-10g.at:36 >$at_check_line_file
( $at_traceon;
cat /dev/null | bzip2 - > /dev/null 2>&1 || exit 77
test -z "$STAR_TESTSCRIPTS" && exit 77
test -r "$STAR_TESTSCRIPTS/pax-big-10g.tar.bz2" || exit 77
tar --utc -tvjf $STAR_TESTSCRIPTS/pax-big-10g.tar.bz2
) >$at_stdout 2>$at_stder1
at_status=$?
grep '^ *+' $at_stder1 >&2
grep -v '^ *+' $at_stder1 >$at_stderr
at_failed=false
echo stderr:; tee stderr <$at_stderr
echo >>$at_stdout; echo "-rw------- jes/glone 10737418240 2002-06-15 21:18:47 10g
-rw-r--r-- jes/glone 0 2002-06-15 14:53:32 file
" | $at_diff - $at_stdout || at_failed=:
case $at_status in
77) echo 77 > $at_status_file
exit 77;;
0) ;;
*) echo "pax-big-10g.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
cat >stderr.re <<'_ATEOF'
tar: Record size = .*
_ATEOF
awk '{print NR " " $0}' stderr.re > $$.1
awk '{print NR " " $0}' stderr | join $$.1 - |
while read NUM RE LINE
do
echo "$LINE" | grep -- "$RE" >/dev/null || exit 1
done
$at_traceoff
$at_times_p && times >$at_times_file
) 5>&1 2>&1 | eval $at_tee_pipe
at_status=`cat $at_status_file`
;;
* )
echo "$as_me: no such test group: $at_group" >&2
continue
;;
esac
cd $at_suite_dir
case $at_group in
banner-*) ;;
*)
if test ! -f $at_check_line_file; then
sed "s/^ */$as_me: warning: /" <<_ATEOF
A failure happened in a test group before any test could be
run. This means that test suite is improperly designed. Please
report this failure to <bug-tar@gnu.org>.
_ATEOF
echo "$at_setup_line" >$at_check_line_file
fi
at_group_count=`expr 1 + $at_group_count`
$at_verbose $ECHO_N "$at_group. $at_setup_line: $ECHO_C"
echo $ECHO_N "$at_group. $at_setup_line: $ECHO_C" >> $at_group_log
case $at_xfail:$at_status in
yes:0)
at_msg="UNEXPECTED PASS"
at_xpass_list="$at_xpass_list $at_group"
at_errexit=$at_errexit_p
;;
no:0)
at_msg="ok"
at_pass_list="$at_pass_list $at_group"
at_errexit=false
;;
*:77)
at_msg="skipped (`cat $at_check_line_file`)"
at_skip_list="$at_skip_list $at_group"
at_errexit=false
;;
yes:*)
at_msg="expected failure (`cat $at_check_line_file`)"
at_xfail_list="$at_xfail_list $at_group"
at_errexit=false
;;
no:*)
at_msg="FAILED (`cat $at_check_line_file`)"
at_fail_list="$at_fail_list $at_group"
at_errexit=$at_errexit_p
;;
esac
echo $at_msg
at_log_msg="$at_group. $at_desc ($at_setup_line): $at_msg"
case $at_status in
0|77)
if test -f $at_times_file; then
at_log_msg="$at_log_msg (`sed 1d $at_times_file`)"
rm -f $at_times_file
fi
echo "$at_log_msg" >> $at_group_log
echo "$at_log_msg" >&5
$at_debug_p || rm -rf $at_group_dir
;;
*)
echo "$at_log_msg" >> $at_group_log
{
echo "#! /bin/sh"
echo 'test "${ZSH_VERSION+set}" = set && alias -g '\''${1+"$@"}'\''='\''"$@"'\'''
echo "cd $at_dir"
echo 'exec ${CONFIG_SHELL-'"$SHELL"'}' "$0" \
'-v -d' "$at_debug_args" "$at_group" '${1+"$@"}'
echo 'exit 1'
} >$at_group_dir/run
chmod +x $at_group_dir/run
$at_errexit && break
;;
esac
;;
esac
done
cd $at_dir
at_stop_date=`date`
at_stop_time=`(date +%s) 2>/dev/null`
echo "$as_me: ending at: $at_stop_date" >&5
at_duration_s=`(expr $at_stop_time - $at_start_time) 2>/dev/null`
at_duration_m=`(expr $at_duration_s / 60) 2>/dev/null`
at_duration_h=`(expr $at_duration_m / 60) 2>/dev/null`
at_duration_s=`(expr $at_duration_s % 60) 2>/dev/null`
at_duration_m=`(expr $at_duration_m % 60) 2>/dev/null`
at_duration="${at_duration_h}h ${at_duration_m}m ${at_duration_s}s"
if test "$at_duration" != "h m s"; then
echo "$as_me: test suite duration: $at_duration" >&5
fi
at_skip_count=`set dummy $at_skip_list; shift; echo $at_fail_count=`set dummy $at_fail_list; shift; echo $at_xpass_count=`set dummy $at_xpass_list; shift; echo $at_xfail_count=`set dummy $at_xfail_list; shift; echo $
at_run_count=`expr $at_group_count - $at_skip_count`
at_unexpected_count=`expr $at_xpass_count + $at_fail_count`
at_total_fail_count=`expr $at_xfail_count + $at_fail_count`
echo
cat <<\_ASBOX
_ASBOX
echo
{
echo
cat <<\_ASBOX
_ASBOX
echo
} >&5
if test $at_run_count = 1; then
at_result="1 test"
at_were=was
else
at_result="$at_run_count tests"
at_were=were
fi
if $at_errexit_p && test $at_unexpected_count != 0; then
if test $at_xpass_count = 1; then
at_result="$at_result $at_were run, one passed"
else
at_result="$at_result $at_were run, one failed"
fi
at_result="$at_result unexpectedly and inhibited subsequent tests."
else
case $at_xpass_count:$at_fail_count:$at_xfail_count in
0:0:0) at_result="$at_result $at_were successful." ;;
0:0:*) at_result="$at_result behaved as expected." ;;
0:*:0) at_result="$at_result $at_were run,
$at_fail_count failed unexpectedly." ;;
0:*:1) at_result="$at_result $at_were run,
$at_total_fail_count failed ($at_xfail_count expected failure)." ;;
0:*:*) at_result="$at_result $at_were run,
$at_total_fail_count failed ($at_xfail_count expected failures)." ;;
*:0:*) at_result="$at_result $at_were run,
$at_xpass_count passed unexpectedly." ;;
*:1:0) at_result="$at_result $at_were run,
$at_unexpected_count did not behave as expected ($at_fail_count unexpected failure)." ;;
*:*:0) at_result="$at_result $at_were run,
$at_unexpected_count did not behave as expected ($at_fail_count unexpected failures)." ;;
*:*:1) at_result="$at_result $at_were run,
$at_xpass_count passed unexpectedly,
$at_total_fail_count failed ($at_xfail_count expected failure)." ;;
*:*:*) at_result="$at_result $at_were run,
$at_xpass_count passed unexpectedly,
$at_total_fail_count failed ($at_xfail_count expected failures)." ;;
esac
if test $at_skip_count = 0 && test $at_run_count -gt 1; then
at_result="All $at_result"
fi
fi
case $at_skip_count in
0) ;;
1) at_result="$at_result
1 test was skipped." ;;
*) at_result="$at_result
$at_skip_count tests were skipped." ;;
esac
if test $at_unexpected_count = 0; then
echo "$at_result"
echo "$at_result" >&5
else
echo "ERROR: $at_result" >&2
echo "ERROR: $at_result" >&5
{
echo
cat <<\_ASBOX
_ASBOX
if test $at_fail_count != 0; then
echo "Failed tests:"
$SHELL $0 $at_fail_list --list
echo
fi
if test $at_skip_count != 0; then
echo "Skipped tests:"
$SHELL $0 $at_skip_list --list
echo
fi
if test $at_xpass_count != 0; then
echo "Unexpected passes:"
$SHELL $0 $at_xpass_list --list
echo
fi
if test $at_fail_count != 0; then
cat <<\_ASBOX
_ASBOX
echo
for at_group in $at_fail_list
do
at_group_normalized=`expr "00000$at_group" : ".*\($at_format\)"`
at_group_dir=$at_suite_dir/$at_group_normalized
at_group_log=$at_group_dir/$as_me.log
cat $at_group_log
echo
done
echo
fi
if test -n "$at_top_srcdir"; then
sed 'h;s/./-/g;s/^.../_ASBOX
sed 's/^/| /' $at_top_builddir/config.log
echo
fi
} >&5
sed 'h;s/./-/g;s/^.../_ASBOX
echo
echo "Please send \`$as_me.log' and all information you think might help:"
echo
echo " To: <bug-tar@gnu.org>"
echo " Subject: [GNU tar 1.15.1] $as_me:$at_fail_list${at_fail_list:+ failed${at_xpass_list:+,}}$at_xpass_list${at_xpass_list:+ passed unexpectedly}"
echo
if test $at_debug_p = false; then
echo
echo 'You may investigate any problem if you feel able to do so, in which'
echo 'case the test suite provides a good starting point.'
echo
fi
exit 1
fi
exit 0