Rewritten testsuite in autotest
This commit is contained in:
55
tests/after
55
tests/after
@@ -1,55 +0,0 @@
|
||||
#! /bin/sh
|
||||
|
||||
# Do common operations after a particular test.
|
||||
|
||||
# This file is part of GNU tar testsuite.
|
||||
# Copyright (C) 2004 Free Software Foundation, Inc.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||
# 02111-1307, USA.
|
||||
|
||||
cd ..
|
||||
exec 1> /dev/null
|
||||
exec 2> /dev/null
|
||||
|
||||
compare() {
|
||||
eval tempfile=tmp-$$/std${1}
|
||||
eval echo \""\${$1}"\" | sed '$d' > ${tempfile}0
|
||||
|
||||
sedscript=tmp-$$/${1}.sed
|
||||
if eval test \".\${${1}_ignore}\" = .; then
|
||||
:
|
||||
else
|
||||
eval echo \"\${${1}_ignore}\" | sed 's,^.*$,/&/d,;' > $sedscript
|
||||
sed -f $sedscript ${tempfile} > ${tempfile}.1
|
||||
mv ${tempfile}.1 ${tempfile}
|
||||
fi
|
||||
|
||||
if eval test -z \"\${${1}_regex}\" ; then
|
||||
cmp -s ${tempfile}0 ${tempfile} || exit 1
|
||||
else
|
||||
awk '{print NR " " $0}' ${tempfile}0 > ${tempfile}.1
|
||||
awk '{print NR " " $0}' ${tempfile} | join ${tempfile}.1 - |
|
||||
while read NUM RE LINE
|
||||
do
|
||||
echo "$LINE" | grep -- "$RE" >/dev/null || exit 1
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
compare out
|
||||
compare err
|
||||
|
||||
rm -rf tmp-$$
|
||||
34
tests/append.at
Normal file
34
tests/append.at
Normal file
@@ -0,0 +1,34 @@
|
||||
# Process this file with autom4te to create testsuite. -*- Autotest -*-
|
||||
|
||||
# Test suite for GNU tar.
|
||||
# Copyright (C) 2004 Free Software Foundation, Inc.
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||
# 02111-1307, USA.
|
||||
|
||||
AT_SETUP([append])
|
||||
AT_KEYWORDS([append])
|
||||
|
||||
AT_TAR_CHECK([touch file1
|
||||
touch file2
|
||||
tar cf archive file1
|
||||
tar rf archive file2
|
||||
tar tf archive],
|
||||
[0],
|
||||
[file1
|
||||
file2
|
||||
])
|
||||
|
||||
AT_CLEANUP
|
||||
6
tests/atlocal.in
Normal file
6
tests/atlocal.in
Normal file
@@ -0,0 +1,6 @@
|
||||
# @configure_input@ -*- shell-script -*-
|
||||
# Configurable variable values for tar test suite.
|
||||
# Copyright (C) 2004 Free Software Foundation, Inc.
|
||||
|
||||
PATH=@abs_builddir@:@abs_top_builddir@/src:$top_srcdir:$srcdir:$PATH
|
||||
|
||||
53
tests/before
53
tests/before
@@ -1,53 +0,0 @@
|
||||
#! /bin/sh
|
||||
|
||||
# Do common operations before a particular test.
|
||||
|
||||
# This file is part of GNU tar testsuite.
|
||||
# Copyright (C) 2004 Free Software Foundation, Inc.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||
# 02111-1307, USA.
|
||||
|
||||
case $# in
|
||||
0) TAR_ARCHIVE_FORMATS="${TAR_ARCHIVE_FORMATS:-v7 oldgnu ustar posix gnu}"
|
||||
for format in $TAR_ARCHIVE_FORMATS
|
||||
do
|
||||
$0 $format
|
||||
R=$?
|
||||
test $R -eq 0 || exit $R
|
||||
done
|
||||
exit 0;;
|
||||
1) if test "x$1" = xauto; then
|
||||
TAR_OPTIONS=
|
||||
else
|
||||
TAR_OPTIONS="--format=$1"
|
||||
fi;;
|
||||
*) echo "Too many arguments" >&2
|
||||
exit 2;;
|
||||
esac
|
||||
|
||||
mkdir tmp-$$
|
||||
cd tmp-$$
|
||||
|
||||
out=
|
||||
err=
|
||||
|
||||
export TAR_OPTIONS
|
||||
#echo "$0 $1"
|
||||
echo "$0 $1" > checking
|
||||
exec 1> stdout
|
||||
exec 2> stderr
|
||||
|
||||
|
||||
28
tests/delete01.sh → tests/delete01.at
Executable file → Normal file
28
tests/delete01.sh → tests/delete01.at
Executable file → Normal file
@@ -1,17 +1,18 @@
|
||||
#! /bin/sh
|
||||
# This file is part of GNU tar testsuite.
|
||||
# Process this file with autom4te to create testsuite. -*- Autotest -*-
|
||||
|
||||
# Test suite for GNU tar.
|
||||
# Copyright (C) 2004 Free Software Foundation, Inc.
|
||||
#
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||
@@ -19,18 +20,17 @@
|
||||
|
||||
# Deleting a member after a big one was destroying the archive.
|
||||
|
||||
. ./preset
|
||||
. $srcdir/before
|
||||
AT_SETUP([deleting a member after a big one])
|
||||
AT_KEYWORDS([delete01])
|
||||
|
||||
set -e
|
||||
AT_TAR_CHECK([
|
||||
genfile -l 50000 > file1
|
||||
genfile -l 1024 > file2
|
||||
tar cf archive file1 file2
|
||||
tar f archive --delete file2
|
||||
tar tf archive
|
||||
tar tf archive],
|
||||
[0],
|
||||
[file1
|
||||
])
|
||||
|
||||
out="\
|
||||
file1
|
||||
"
|
||||
|
||||
. $srcdir/after
|
||||
AT_CLEANUP
|
||||
32
tests/delete02.sh → tests/delete02.at
Executable file → Normal file
32
tests/delete02.sh → tests/delete02.at
Executable file → Normal file
@@ -1,17 +1,18 @@
|
||||
#! /bin/sh
|
||||
# This file is part of GNU tar testsuite.
|
||||
# Process this file with autom4te to create testsuite. -*- Autotest -*-
|
||||
|
||||
# Test suite for GNU tar.
|
||||
# Copyright (C) 2004 Free Software Foundation, Inc.
|
||||
#
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||
@@ -19,26 +20,25 @@
|
||||
|
||||
# Deleting a member with the archive from stdin was not working correctly.
|
||||
|
||||
. ./preset
|
||||
. $srcdir/before
|
||||
AT_SETUP([deleting a member from stdin archive])
|
||||
AT_KEYWORDS([delete02])
|
||||
|
||||
set -e
|
||||
AT_TAR_CHECK([
|
||||
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 -----
|
||||
tar tf archive2
|
||||
|
||||
out="\
|
||||
1
|
||||
echo separator
|
||||
tar tf archive2],
|
||||
[0],
|
||||
[1
|
||||
2
|
||||
3
|
||||
-----
|
||||
separator
|
||||
1
|
||||
3
|
||||
"
|
||||
])
|
||||
|
||||
. $srcdir/after
|
||||
AT_CLEANUP
|
||||
54
tests/delete03.sh → tests/delete03.at
Executable file → Normal file
54
tests/delete03.sh → tests/delete03.at
Executable file → Normal file
@@ -1,44 +1,48 @@
|
||||
#! /bin/sh
|
||||
# Copyright (C) 2001 Free Software Foundation, Inc.
|
||||
#
|
||||
# Process this file with autom4te to create testsuite. -*- Autotest -*-
|
||||
|
||||
# Test suite for GNU tar.
|
||||
# Copyright (C) 2004 Free Software Foundation, Inc.
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||
# 02111-1307, USA.
|
||||
|
||||
. ./preset
|
||||
TAR_ARCHIVE_FORMATS="gnu oldgnu posix"
|
||||
. $srcdir/before
|
||||
AT_SETUP([deleting members with long names])
|
||||
AT_KEYWORDS([delete03])
|
||||
|
||||
set -e
|
||||
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
|
||||
m4_define([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])
|
||||
|
||||
AT_TAR_CHECK([
|
||||
|
||||
prefix=PREFIX
|
||||
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
|
||||
tar -cf archive ./$prefix* &&
|
||||
tar --delete -f archive ./${prefix}5 &&
|
||||
tar -tf archive
|
||||
],
|
||||
[0],
|
||||
[./PREFIX[]1
|
||||
./PREFIX[]2
|
||||
./PREFIX[]3
|
||||
./PREFIX[]4
|
||||
./PREFIX[]6
|
||||
./PREFIX[]7
|
||||
./PREFIX[]8
|
||||
./PREFIX[]9
|
||||
],[],[],[],[gnu, oldgnu, posix])
|
||||
|
||||
out="\
|
||||
./${prefix}1
|
||||
./${prefix}2
|
||||
./${prefix}3
|
||||
./${prefix}4
|
||||
./${prefix}6
|
||||
./${prefix}7
|
||||
./${prefix}8
|
||||
./${prefix}9
|
||||
"
|
||||
|
||||
. $srcdir/after
|
||||
AT_CLEANUP
|
||||
27
tests/delete04.sh → tests/delete04.at
Executable file → Normal file
27
tests/delete04.sh → tests/delete04.at
Executable file → Normal file
@@ -1,17 +1,18 @@
|
||||
#! /bin/sh
|
||||
# This file is part of GNU tar testsuite.
|
||||
# Process this file with autom4te to create testsuite. -*- Autotest -*-
|
||||
|
||||
# Test suite for GNU tar.
|
||||
# Copyright (C) 2004 Free Software Foundation, Inc.
|
||||
#
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||
@@ -19,10 +20,10 @@
|
||||
|
||||
# Deleting a large last member was destroying earlier members.
|
||||
|
||||
. ./preset
|
||||
. $srcdir/before
|
||||
AT_SETUP([deleting a large last member])
|
||||
AT_KEYWORDS([delete04])
|
||||
|
||||
set -e
|
||||
AT_TAR_CHECK([
|
||||
genfile -l 3 >file1
|
||||
genfile -l 5 >file2
|
||||
genfile -l 3 >file3
|
||||
@@ -36,9 +37,9 @@ 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
|
||||
|
||||
out="\
|
||||
file1
|
||||
],
|
||||
[0],
|
||||
[file1
|
||||
file2
|
||||
file3
|
||||
file4
|
||||
@@ -47,6 +48,6 @@ file6
|
||||
file7
|
||||
file8
|
||||
file9
|
||||
"
|
||||
])
|
||||
|
||||
. $srcdir/after
|
||||
AT_CLEANUP
|
||||
20
tests/extrac01.sh → tests/extrac01.at
Executable file → Normal file
20
tests/extrac01.sh → tests/extrac01.at
Executable file → Normal file
@@ -1,17 +1,18 @@
|
||||
#! /bin/sh
|
||||
# This file is part of GNU tar testsuite.
|
||||
# Process this file with autom4te to create testsuite. -*- Autotest -*-
|
||||
|
||||
# Test suite for GNU tar.
|
||||
# Copyright (C) 2004 Free Software Foundation, Inc.
|
||||
#
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||
@@ -19,13 +20,14 @@
|
||||
|
||||
# There was a diagnostic when directory already exists.
|
||||
|
||||
. ./preset
|
||||
. $srcdir/before
|
||||
AT_SETUP([extract01])
|
||||
AT_KEYWORDS([extract01])
|
||||
|
||||
set -e
|
||||
AT_TAR_CHECK([
|
||||
mkdir directory
|
||||
touch directory/file
|
||||
tar cf archive directory || exit 1
|
||||
tar xf archive || exit 1
|
||||
])
|
||||
|
||||
. $srcdir/after
|
||||
AT_CLEANUP
|
||||
22
tests/extrac02.sh → tests/extrac02.at
Executable file → Normal file
22
tests/extrac02.sh → tests/extrac02.at
Executable file → Normal file
@@ -1,17 +1,18 @@
|
||||
#! /bin/sh
|
||||
# This file is part of GNU tar testsuite.
|
||||
# Process this file with autom4te to create testsuite. -*- Autotest -*-
|
||||
|
||||
# Test suite for GNU tar.
|
||||
# Copyright (C) 2004 Free Software Foundation, Inc.
|
||||
#
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||
@@ -19,15 +20,18 @@
|
||||
|
||||
# Could not extract symlinks over an existing file.
|
||||
|
||||
. ./preset
|
||||
. $srcdir/before
|
||||
AT_SETUP([extracting symlings over an existing file])
|
||||
AT_KEYWORDS([extract02])
|
||||
|
||||
set -e
|
||||
# FIXME: Skip if symlinks are not supported on the system
|
||||
|
||||
AT_TAR_CHECK([
|
||||
touch file
|
||||
ln -s file link 2> /dev/null || ln file link
|
||||
tar cf archive link
|
||||
rm link
|
||||
touch link
|
||||
tar xf archive
|
||||
])
|
||||
|
||||
. $srcdir/after
|
||||
AT_CLEANUP
|
||||
32
tests/extrac03.sh → tests/extrac03.at
Executable file → Normal file
32
tests/extrac03.sh → tests/extrac03.at
Executable file → Normal file
@@ -1,17 +1,18 @@
|
||||
#! /bin/sh
|
||||
# This file is part of GNU tar testsuite.
|
||||
# Process this file with autom4te to create testsuite. -*- Autotest -*-
|
||||
|
||||
# Test suite for GNU tar.
|
||||
# Copyright (C) 2004 Free Software Foundation, Inc.
|
||||
#
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||
@@ -19,19 +20,18 @@
|
||||
|
||||
# Paths going up and down were inducing extraction loops.
|
||||
|
||||
. ./preset
|
||||
. $srcdir/before
|
||||
AT_SETUP([extraction loops])
|
||||
AT_KEYWORDS([extract03])
|
||||
|
||||
set -e
|
||||
AT_TAR_CHECK([
|
||||
mkdir directory
|
||||
tar -cPvf archive directory/../directory
|
||||
echo -----
|
||||
tar -xPvf archive
|
||||
|
||||
out="\
|
||||
echo separator
|
||||
tar -xPvf archive],
|
||||
[0],
|
||||
[directory/../directory/
|
||||
separator
|
||||
directory/../directory/
|
||||
-----
|
||||
directory/../directory/
|
||||
"
|
||||
])
|
||||
|
||||
. $srcdir/after
|
||||
AT_CLEANUP
|
||||
27
tests/extrac04.sh → tests/extrac04.at
Executable file → Normal file
27
tests/extrac04.sh → tests/extrac04.at
Executable file → Normal file
@@ -1,17 +1,18 @@
|
||||
#! /bin/sh
|
||||
# This file is part of GNU tar testsuite.
|
||||
# Process this file with autom4te to create testsuite. -*- Autotest -*-
|
||||
|
||||
# Test suite for GNU tar.
|
||||
# Copyright (C) 2004 Free Software Foundation, Inc.
|
||||
#
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||
@@ -19,10 +20,10 @@
|
||||
|
||||
# Check for fnmatch problems in glibc 2.1.95.
|
||||
|
||||
. ./preset
|
||||
. $srcdir/before
|
||||
AT_SETUP([extract + fnmatch])
|
||||
AT_KEYWORDS([extract04])
|
||||
|
||||
set -e
|
||||
AT_TAR_CHECK([
|
||||
touch file1
|
||||
mkdir directory
|
||||
mkdir directory/subdirectory
|
||||
@@ -35,11 +36,11 @@ tar -tf archive \
|
||||
--exclude='./*1' \
|
||||
--exclude='d*/*1' \
|
||||
--exclude='d*/s*/*2' | sort
|
||||
|
||||
out="\
|
||||
directory/
|
||||
],
|
||||
[0],
|
||||
[directory/
|
||||
directory/file2
|
||||
directory/subdirectory/
|
||||
"
|
||||
])
|
||||
|
||||
. $srcdir/after
|
||||
AT_CLEANUP
|
||||
46
tests/extrac05.sh → tests/extrac05.at
Executable file → Normal file
46
tests/extrac05.sh → tests/extrac05.at
Executable file → Normal file
@@ -1,17 +1,18 @@
|
||||
#! /bin/sh
|
||||
# This file is part of GNU tar testsuite.
|
||||
# Process this file with autom4te to create testsuite. -*- Autotest -*-
|
||||
|
||||
# Test suite for GNU tar.
|
||||
# Copyright (C) 2004 Free Software Foundation, Inc.
|
||||
#
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||
@@ -26,34 +27,35 @@
|
||||
# References: <3.0.6.32.20040809113727.00a30e50@localhost>
|
||||
# http://lists.gnu.org/archive/html/bug-tar/2004-08/msg00008.html
|
||||
|
||||
. ./preset
|
||||
TAR_ARCHIVE_FORMATS="posix"
|
||||
. $srcdir/before
|
||||
AT_SETUP([extracting selected members from pax])
|
||||
AT_KEYWORDS([extract05])
|
||||
|
||||
AT_DATA([list],
|
||||
[jeden
|
||||
cztery
|
||||
])
|
||||
|
||||
AT_TAR_CHECK([
|
||||
genfile --length 118 > jeden
|
||||
genfile --length 223 > dwa
|
||||
genfile --length 517 > trzy
|
||||
mksparse sparsefile 512 0 ABCD 1M EFGH 2000K IJKL
|
||||
genfile --sparse --file sparsefile 0 ABCD 1M EFGH 2000K IJKL
|
||||
genfile --length 110 > cztery
|
||||
|
||||
tar cf archive jeden dwa trzy cztery
|
||||
|
||||
cat > list <<EOF
|
||||
jeden
|
||||
cztery
|
||||
EOF
|
||||
tar cf archive jeden dwa trzy cztery || exit 1
|
||||
|
||||
mkdir dir
|
||||
cd dir
|
||||
|
||||
tar xvfT ../archive ../list
|
||||
tar xvfT ../archive ../../list || exit 1
|
||||
|
||||
cd ..
|
||||
|
||||
out="\
|
||||
jeden
|
||||
],
|
||||
[0],
|
||||
[jeden
|
||||
cztery
|
||||
"
|
||||
|
||||
. $srcdir/after
|
||||
],
|
||||
[],[],[],
|
||||
[posix])
|
||||
|
||||
AT_CLEANUP
|
||||
31
tests/gzip.sh → tests/gzip.at
Executable file → Normal file
31
tests/gzip.sh → tests/gzip.at
Executable file → Normal file
@@ -1,17 +1,18 @@
|
||||
#! /bin/sh
|
||||
# This file is part of GNU tar testsuite.
|
||||
# Process this file with autom4te to create testsuite. -*- Autotest -*-
|
||||
|
||||
# Test suite for GNU tar.
|
||||
# Copyright (C) 2004 Free Software Foundation, Inc.
|
||||
#
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||
@@ -19,18 +20,22 @@
|
||||
|
||||
# tar should detect that its gzip child failed.
|
||||
|
||||
. ./preset
|
||||
TAR_ARCHIVE_FORMATS=auto
|
||||
. $srcdir/before
|
||||
AT_SETUP([gzip])
|
||||
AT_KEYWORDS([gzip])
|
||||
|
||||
unset TAR_OPTIONS
|
||||
|
||||
AT_CHECK([
|
||||
tar xfvz /dev/null
|
||||
test $? = 2 || exit 1
|
||||
|
||||
err="\
|
||||
|
||||
],
|
||||
[0],
|
||||
[],
|
||||
[
|
||||
gzip: stdin: unexpected end of file
|
||||
tar: Child returned status 1
|
||||
tar: Error exit delayed from previous errors
|
||||
"
|
||||
],
|
||||
[],[])
|
||||
|
||||
. $srcdir/after
|
||||
AT_CLEANUP
|
||||
97
tests/ignfail.sh → tests/ignfail.at
Executable file → Normal file
97
tests/ignfail.sh → tests/ignfail.at
Executable file → Normal file
@@ -1,17 +1,18 @@
|
||||
#! /bin/sh
|
||||
# This file is part of GNU tar testsuite.
|
||||
# Process this file with autom4te to create testsuite. -*- Autotest -*-
|
||||
|
||||
# Test suite for GNU tar.
|
||||
# Copyright (C) 2004 Free Software Foundation, Inc.
|
||||
#
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||
@@ -19,54 +20,50 @@
|
||||
|
||||
# Unreadable directories yielded error despite --ignore-failed-read.
|
||||
|
||||
. ./preset
|
||||
. $srcdir/before
|
||||
|
||||
> check-uid
|
||||
set - x`ls -l check-uid`
|
||||
uid_name="$3"
|
||||
set - x`ls -ln check-uid`
|
||||
uid_number="$3"
|
||||
if test "$uid_name" = root || test "$uid_number" = 0; then
|
||||
|
||||
# The test is meaningless for super-user.
|
||||
rm check-uid
|
||||
AT_SETUP([ignfail])
|
||||
AT_KEYWORDS([ignfail])
|
||||
|
||||
AT_TAR_CHECK([
|
||||
if test -w / ; then
|
||||
# The test is meaningless for super-user.
|
||||
AT_SKIP_TEST
|
||||
else
|
||||
touch file
|
||||
mkdir directory
|
||||
touch directory/file
|
||||
|
||||
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 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 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 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 || exit 1
|
||||
|
||||
err="\
|
||||
echo 1>&2 -----
|
||||
chmod 000 directory
|
||||
tar cf archive --ignore-failed-read directory || exit 1
|
||||
status=$?
|
||||
chmod 700 directory
|
||||
test $status = 0
|
||||
fi
|
||||
],
|
||||
[0],
|
||||
[],
|
||||
[
|
||||
-----
|
||||
tar: file: Cannot open: Permission denied
|
||||
tar: Error exit delayed from previous errors
|
||||
@@ -77,8 +74,6 @@ tar: directory: Cannot savedir: Permission denied
|
||||
tar: Error exit delayed from previous errors
|
||||
-----
|
||||
tar: directory: Warning: Cannot savedir: Permission denied
|
||||
"
|
||||
])
|
||||
|
||||
fi
|
||||
|
||||
. $srcdir/after
|
||||
AT_CLEANUP
|
||||
32
tests/incremen.sh → tests/incremental.at
Executable file → Normal file
32
tests/incremen.sh → tests/incremental.at
Executable file → Normal file
@@ -1,17 +1,18 @@
|
||||
#! /bin/sh
|
||||
# This file is part of GNU tar testsuite.
|
||||
# Process this file with autom4te to create testsuite. -*- Autotest -*-
|
||||
|
||||
# Test suite for GNU tar.
|
||||
# Copyright (C) 2004 Free Software Foundation, Inc.
|
||||
#
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||
@@ -19,11 +20,10 @@
|
||||
|
||||
# A directory older than the listed entry was skipped completely.
|
||||
|
||||
. ./preset
|
||||
TAR_ARCHIVE_FORMATS="gnu oldgnu"
|
||||
. $srcdir/before
|
||||
AT_SETUP([incremental])
|
||||
AT_KEYWORDS([incremental])
|
||||
|
||||
set -e
|
||||
AT_TAR_CHECK([
|
||||
mkdir structure
|
||||
echo x >structure/file
|
||||
|
||||
@@ -43,16 +43,18 @@ sleep 1
|
||||
|
||||
tar cf archive --listed=list structure
|
||||
tar cfv archive --listed=list structure
|
||||
echo -----
|
||||
echo separator
|
||||
sleep 1
|
||||
echo y >structure/file
|
||||
tar cfv archive --listed=list structure
|
||||
|
||||
out="\
|
||||
],
|
||||
[0],
|
||||
[
|
||||
structure/
|
||||
-----
|
||||
separator
|
||||
structure/
|
||||
structure/file
|
||||
"
|
||||
],
|
||||
[],[],[],[gnu,oldgnu])
|
||||
|
||||
. $srcdir/after
|
||||
AT_CLEANUP
|
||||
27
tests/link01.sh → tests/link01.at
Executable file → Normal file
27
tests/link01.sh → tests/link01.at
Executable file → Normal file
@@ -1,17 +1,18 @@
|
||||
#! /bin/sh
|
||||
# This file is part of GNU tar testsuite.
|
||||
# Process this file with autom4te to create testsuite. -*- Autotest -*-
|
||||
|
||||
# Test suite for GNU tar.
|
||||
# Copyright (C) 2004 Free Software Foundation, Inc.
|
||||
#
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||
@@ -29,9 +30,10 @@
|
||||
# References: <2330D503-D20A-11D8-A0CF-00039391EECE@apple.com>
|
||||
# http://lists.gnu.org/archive/html/bug-tar/2004-07/msg00009.html
|
||||
|
||||
. ./preset
|
||||
. $srcdir/before
|
||||
AT_SETUP([link count gt 2])
|
||||
AT_KEYWORDS([link01])
|
||||
|
||||
AT_TAR_CHECK([
|
||||
mkdir directory
|
||||
mkdir directory/test1
|
||||
mkdir directory/test2
|
||||
@@ -45,10 +47,9 @@ rm -r directory
|
||||
tar xf archive
|
||||
|
||||
ls directory/test1
|
||||
],
|
||||
[0],
|
||||
[test.txt
|
||||
])
|
||||
|
||||
out="test.txt
|
||||
"
|
||||
|
||||
. $srcdir/after
|
||||
|
||||
# End of link01.sh
|
||||
AT_CLEANUP
|
||||
35
tests/listed01.sh → tests/listed01.at
Executable file → Normal file
35
tests/listed01.sh → tests/listed01.at
Executable file → Normal file
@@ -1,17 +1,18 @@
|
||||
#! /bin/sh
|
||||
# This file is part of GNU tar testsuite.
|
||||
# Process this file with autom4te to create testsuite. -*- Autotest -*-
|
||||
|
||||
# Test suite for GNU tar.
|
||||
# Copyright (C) 2004 Free Software Foundation, Inc.
|
||||
#
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||
@@ -22,10 +23,10 @@
|
||||
# References: <20040215014223.GA9699@lukas.schuldei.com>
|
||||
# http://lists.gnu.org/archive/html/bug-tar/2004-02/msg00011.html
|
||||
|
||||
. ./preset
|
||||
TAR_ARCHIVE_FORMATS="gnu oldgnu"
|
||||
. $srcdir/before
|
||||
AT_SETUP([--listed for individual files])
|
||||
AT_KEYWORDS([listed01])
|
||||
|
||||
AT_TAR_CHECK([
|
||||
mkdir directory
|
||||
genfile --length 10240 --pattern zeros > directory/file1
|
||||
# Let the things settle
|
||||
@@ -36,7 +37,7 @@ tar --create \
|
||||
--listed-incremental=listing \
|
||||
directory/file*
|
||||
|
||||
tar tf archive.1
|
||||
tar tf archive.1 || exit 1
|
||||
|
||||
genfile --length 10240 --pattern zeros > directory/file2
|
||||
|
||||
@@ -45,14 +46,16 @@ echo "separator"
|
||||
tar --create \
|
||||
--file=archive.2 \
|
||||
--listed-incremental=listing \
|
||||
directory/file*
|
||||
directory/file* || exit 1
|
||||
|
||||
tar tf archive.2
|
||||
|
||||
out="\
|
||||
directory/file1
|
||||
tar tf archive.2 || exit 1
|
||||
],
|
||||
[0],
|
||||
[directory/file1
|
||||
separator
|
||||
directory/file2
|
||||
"
|
||||
],
|
||||
[],[],[],[gnu, oldgnu])
|
||||
|
||||
AT_CLEANUP
|
||||
|
||||
. $srcdir/after
|
||||
50
tests/listed02.sh → tests/listed02.at
Executable file → Normal file
50
tests/listed02.sh → tests/listed02.at
Executable file → Normal file
@@ -1,17 +1,18 @@
|
||||
#! /bin/sh
|
||||
# This file is part of GNU tar testsuite.
|
||||
# Process this file with autom4te to create testsuite. -*- Autotest -*-
|
||||
|
||||
# Test suite for GNU tar.
|
||||
# Copyright (C) 2004 Free Software Foundation, Inc.
|
||||
#
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||
@@ -24,10 +25,10 @@
|
||||
# <20040626230315.163AA1D148@cpc5-cmbg1-6-0-cust208.cmbg.cable.ntl.com>
|
||||
# http://lists.gnu.org/archive/html/bug-tar/2004-06/msg00028.html
|
||||
|
||||
. ./preset
|
||||
TAR_ARCHIVE_FORMATS="gnu oldgnu"
|
||||
. $srcdir/before
|
||||
AT_SETUP([working --listed])
|
||||
AT_KEYWORDS([listed02])
|
||||
|
||||
AT_TAR_CHECK([
|
||||
mkdir directory
|
||||
|
||||
echo Create directories
|
||||
@@ -46,7 +47,7 @@ done
|
||||
|
||||
sleep 1
|
||||
echo Creating main archive
|
||||
tar -c -v --listed-incremental=tart.incr1 -f archive.1 tart
|
||||
tar -c -v --listed-incremental=tart.incr1 -f archive.1 tart || exit 1
|
||||
|
||||
sleep 1
|
||||
echo Modifying filesystem
|
||||
@@ -61,28 +62,24 @@ find tart|sort
|
||||
sleep 1
|
||||
echo Creating incremental archive
|
||||
cp -p tart.incr1 tart.incr2
|
||||
tar -c -v --listed-incremental=tart.incr2 -f archive.2 tart
|
||||
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
|
||||
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
|
||||
tar -x -v --listed-incremental=tart.incr2 -f archive.2 | sort
|
||||
|
||||
echo Final files:
|
||||
find tart|sort
|
||||
|
||||
err="tar: tart/c0: Directory is new
|
||||
tar: tart/c1: Directory is new
|
||||
tar: tart/c2: Directory is new
|
||||
"
|
||||
|
||||
out="Create directories
|
||||
],
|
||||
[0],
|
||||
[Create directories
|
||||
Creating main archive
|
||||
tart/
|
||||
tart/c0/
|
||||
@@ -123,9 +120,9 @@ tart/c0/cq2
|
||||
tart/c1/ca1
|
||||
tart/c1/ca2
|
||||
Extracting incremental archive
|
||||
tar: Deleting \`tart/a1'
|
||||
tar: Deleting \`tart/b1'
|
||||
tar: Deleting \`tart/c1'
|
||||
tar: Deleting `tart/a1'
|
||||
tar: Deleting `tart/b1'
|
||||
tar: Deleting `tart/c1'
|
||||
tart/
|
||||
tart/b2
|
||||
tart/c0/
|
||||
@@ -143,6 +140,11 @@ tart/c2
|
||||
tart/c2/ca1
|
||||
tart/c2/ca2
|
||||
tart/c2/ca3
|
||||
"
|
||||
],
|
||||
[tar: tart/c0: Directory is new
|
||||
tar: tart/c1: Directory is new
|
||||
tar: tart/c2: Directory is new
|
||||
],
|
||||
[],[],[gnu, oldgnu])
|
||||
|
||||
. $srcdir/after
|
||||
AT_CLEANUP
|
||||
47
tests/longv7.sh → tests/longv7.at
Executable file → Normal file
47
tests/longv7.sh → tests/longv7.at
Executable file → Normal file
@@ -1,17 +1,18 @@
|
||||
#! /bin/sh
|
||||
# This file is part of GNU tar testsuite.
|
||||
# Process this file with autom4te to create testsuite. -*- Autotest -*-
|
||||
|
||||
# Test suite for GNU tar.
|
||||
# Copyright (C) 2004 Free Software Foundation, Inc.
|
||||
#
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||
@@ -20,28 +21,28 @@
|
||||
# Old format (V7) archives should not accept file names longer than
|
||||
# 99 characters
|
||||
|
||||
. ./preset
|
||||
TAR_ARCHIVE_FORMATS="v7"
|
||||
. $srcdir/before
|
||||
AT_SETUP([V7 and long names])
|
||||
AT_KEYWORDS([longv7])
|
||||
|
||||
DIR=this_is_a_very_long_name_for_a_directory_which_causes_problems
|
||||
FILE=this_is_a_very_long_file_name_which_raises_issues.c
|
||||
mkdir $DIR
|
||||
touch $DIR/$FILE
|
||||
m4_define([DIR],[this_is_a_very_long_name_for_a_directory_which_causes_problems])
|
||||
m4_define([FILE],[this_is_a_very_long_file_name_which_raises_issues.c])
|
||||
|
||||
tar cf archive $DIR
|
||||
AT_TAR_CHECK([
|
||||
mkdir DIR
|
||||
touch DIR/FILE
|
||||
|
||||
tar cf archive DIR
|
||||
echo separator
|
||||
tar tf archive
|
||||
|
||||
err="\
|
||||
tar: $DIR/$FILE: file name is too long (max 99); not dumped
|
||||
],
|
||||
[0],
|
||||
[separator
|
||||
DIR/
|
||||
],
|
||||
[tar: DIR/FILE: file name is too long (max 99); not dumped
|
||||
tar: Error exit delayed from previous errors
|
||||
"
|
||||
],
|
||||
[],[],[v7])
|
||||
|
||||
out="\
|
||||
separator
|
||||
$DIR/
|
||||
"
|
||||
|
||||
. $srcdir/after
|
||||
AT_CLEANUP
|
||||
|
||||
30
tests/multiv01.sh → tests/multiv01.at
Executable file → Normal file
30
tests/multiv01.sh → tests/multiv01.at
Executable file → Normal file
@@ -1,17 +1,18 @@
|
||||
#! /bin/sh
|
||||
# This file is part of GNU tar testsuite.
|
||||
# Process this file with autom4te to create testsuite. -*- Autotest -*-
|
||||
|
||||
# Test suite for GNU tar.
|
||||
# Copyright (C) 2004 Free Software Foundation, Inc.
|
||||
#
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||
@@ -19,15 +20,14 @@
|
||||
|
||||
# Test multivolume dumps from pipes.
|
||||
|
||||
. ./preset
|
||||
TAR_ARCHIVE_FORMATS="gnu oldgnu"
|
||||
. $srcdir/before
|
||||
AT_SETUP([multivolume dumps from pipes])
|
||||
AT_KEYWORDS([multiv01])
|
||||
|
||||
# Fixme: should be configurable
|
||||
# TRUSS=truss -o /tmp/tr
|
||||
# TRUSS=strace
|
||||
set -e
|
||||
|
||||
AT_TAR_CHECK([
|
||||
genfile --length 7168 > file1
|
||||
|
||||
for block in " 1" " 2" " 3" " 4" " 5" " 6" " 7" " 8" \
|
||||
@@ -40,18 +40,20 @@ done >file2
|
||||
|
||||
tar -c --multi-volume --tape-length=10 \
|
||||
--listed-incremental=t.snar \
|
||||
-f t1-pipe.tar -f t2-pipe.tar ./file1 ./file2
|
||||
-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
|
||||
--tape-length=10 --read-full-records || exit 1
|
||||
|
||||
cmp file1 extract-dir-pipe/file1
|
||||
cmp file2 extract-dir-pipe/file2
|
||||
],
|
||||
[0],
|
||||
[],[],[],[],[gnu, oldgnu])
|
||||
|
||||
AT_CLEANUP
|
||||
|
||||
out="\
|
||||
"
|
||||
|
||||
. $srcdir/after
|
||||
32
tests/multiv02.sh → tests/multiv02.at
Executable file → Normal file
32
tests/multiv02.sh → tests/multiv02.at
Executable file → Normal file
@@ -1,17 +1,18 @@
|
||||
#! /bin/sh
|
||||
# This file is part of GNU tar testsuite.
|
||||
# Process this file with autom4te to create testsuite. -*- Autotest -*-
|
||||
|
||||
# Test suite for GNU tar.
|
||||
# Copyright (C) 2004 Free Software Foundation, Inc.
|
||||
#
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||
@@ -24,22 +25,23 @@
|
||||
# References: <20040402144254.GC4409@suse.de>
|
||||
# http://lists.gnu.org/archive/html/bug-tar/2004-04/msg00002.html
|
||||
|
||||
. ./preset
|
||||
TAR_ARCHIVE_FORMATS="gnu oldgnu"
|
||||
. $srcdir/before
|
||||
AT_SETUP([skipping a straddling member])
|
||||
AT_KEYWORDS([multiv02])
|
||||
|
||||
AT_TAR_CHECK([
|
||||
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
|
||||
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
|
||||
|
||||
out="\
|
||||
separator
|
||||
tar -v -x -f A.tar -f B.tar -f C.tar -M en || exit 1
|
||||
],
|
||||
[0],
|
||||
[separator
|
||||
en
|
||||
"
|
||||
],
|
||||
[],[],[],[gnu, oldgnu])
|
||||
|
||||
. $srcdir/after
|
||||
AT_CLEANUP
|
||||
50
tests/multiv03.sh → tests/multiv03.at
Executable file → Normal file
50
tests/multiv03.sh → tests/multiv03.at
Executable file → Normal file
@@ -1,17 +1,18 @@
|
||||
#! /bin/sh
|
||||
# This file is part of GNU tar testsuite.
|
||||
# Process this file with autom4te to create testsuite. -*- Autotest -*-
|
||||
|
||||
# Test suite for GNU tar.
|
||||
# Copyright (C) 2004 Free Software Foundation, Inc.
|
||||
#
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||
@@ -24,30 +25,37 @@
|
||||
# References: <20040809214854.GB32706@suse.de>
|
||||
# http://lists.gnu.org/archive/html/bug-tar/2004-08/msg00012.html
|
||||
|
||||
. ./preset
|
||||
TAR_ARCHIVE_FORMATS="gnu oldgnu"
|
||||
. $srcdir/before
|
||||
AT_SETUP([MV archive & long filenames])
|
||||
AT_KEYWORDS([multiv03])
|
||||
|
||||
AT_TAR_CHECK([
|
||||
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
|
||||
tar -tM -f arch.1 -f arch.2
|
||||
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
|
||||
tar -M -L 10 -c -f arch.1 -f arch.2 $BFILE
|
||||
],
|
||||
[2],
|
||||
[expout],
|
||||
[experr],
|
||||
[],[],[gnu, oldgnu])
|
||||
|
||||
out="\
|
||||
$AFILE
|
||||
separator
|
||||
"
|
||||
AT_CLEANUP
|
||||
|
||||
err="\
|
||||
tar: $BFILE: file name too long to be stored in a GNU multivolume header
|
||||
tar: Error is not recoverable: exiting now
|
||||
"
|
||||
|
||||
. $srcdir/after
|
||||
31
tests/old.sh → tests/old.at
Executable file → Normal file
31
tests/old.sh → tests/old.at
Executable file → Normal file
@@ -1,17 +1,18 @@
|
||||
#! /bin/sh
|
||||
# This file is part of GNU tar testsuite.
|
||||
# Process this file with autom4te to create testsuite. -*- Autotest -*-
|
||||
|
||||
# Test suite for GNU tar.
|
||||
# Copyright (C) 2004 Free Software Foundation, Inc.
|
||||
#
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||
@@ -19,18 +20,18 @@
|
||||
|
||||
# An old archive was not receiving directories.
|
||||
|
||||
. ./preset
|
||||
TAR_ARCHIVE_FORMATS=auto
|
||||
. $srcdir/before
|
||||
AT_SETUP([old archives])
|
||||
AT_KEYWORDS([old])
|
||||
|
||||
set -e
|
||||
unset TAR_OPTIONS
|
||||
AT_CHECK([
|
||||
mkdir directory
|
||||
tar cfvo archive directory
|
||||
tar cfvo archive directory || exit 1
|
||||
tar tf archive
|
||||
|
||||
out="\
|
||||
],
|
||||
[0],
|
||||
[directory/
|
||||
directory/
|
||||
directory/
|
||||
"
|
||||
])
|
||||
|
||||
. $srcdir/after
|
||||
AT_CLEANUP
|
||||
28
tests/options.sh → tests/options.at
Executable file → Normal file
28
tests/options.sh → tests/options.at
Executable file → Normal file
@@ -1,17 +1,18 @@
|
||||
#! /bin/sh
|
||||
# This file is part of GNU tar testsuite.
|
||||
# Process this file with autom4te to create testsuite. -*- Autotest -*-
|
||||
|
||||
# Test suite for GNU tar.
|
||||
# Copyright (C) 2004 Free Software Foundation, Inc.
|
||||
#
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||
@@ -19,17 +20,18 @@
|
||||
|
||||
# Ensure that TAR_OPTIONS works in conjunction with old-style options.
|
||||
|
||||
. ./preset
|
||||
TAR_ARCHIVE_FORMATS=auto
|
||||
. $srcdir/before
|
||||
unset TAR_OPTIONS
|
||||
AT_SETUP([options])
|
||||
AT_KEYWORDS([options])
|
||||
|
||||
set -e
|
||||
AT_CHECK([
|
||||
echo > file1
|
||||
TAR_OPTIONS=--numeric-owner tar chof archive file1
|
||||
tar tf archive
|
||||
],
|
||||
[0],
|
||||
[file1
|
||||
])
|
||||
|
||||
out="\
|
||||
file1
|
||||
"
|
||||
AT_CLEANUP
|
||||
|
||||
. $srcdir/after
|
||||
@@ -1,41 +0,0 @@
|
||||
#! /bin/sh
|
||||
|
||||
# Set the testing environment.
|
||||
|
||||
# This file is part of GNU tar testsuite.
|
||||
# Copyright (C) 2004 Free Software Foundation, Inc.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||
# 02111-1307, USA.
|
||||
|
||||
PACKAGE=@PACKAGE@
|
||||
VERSION=@VERSION@
|
||||
top_srcdir=@abs_top_srcdir@
|
||||
srcdir=@abs_srcdir@
|
||||
PATH=@abs_builddir@:@abs_top_builddir@/src:$top_srcdir:$srcdir:$PATH
|
||||
|
||||
export LANGUAGE
|
||||
LANGUAGE=
|
||||
export LC_ALL
|
||||
LC_ALL="C"
|
||||
|
||||
skiptest() {
|
||||
exit 77
|
||||
}
|
||||
|
||||
star_prereq() {
|
||||
test -z "$STAR_TESTSCRIPTS" && skiptest
|
||||
test -r "$STAR_TESTSCRIPTS/$1" || skiptest
|
||||
}
|
||||
26
tests/recurse.sh → tests/recurse.at
Executable file → Normal file
26
tests/recurse.sh → tests/recurse.at
Executable file → Normal file
@@ -1,32 +1,34 @@
|
||||
#! /bin/sh
|
||||
# This file is part of GNU tar testsuite.
|
||||
# Process this file with autom4te to create testsuite. -*- Autotest -*-
|
||||
|
||||
# Test suite for GNU tar.
|
||||
# Copyright (C) 2004 Free Software Foundation, Inc.
|
||||
#
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||
# 02111-1307, USA.
|
||||
|
||||
. ./preset
|
||||
. $srcdir/before
|
||||
AT_SETUP([recurse])
|
||||
AT_KEYWORDS([recurse])
|
||||
|
||||
set -e
|
||||
AT_TAR_CHECK([
|
||||
mkdir directory
|
||||
touch directory/file
|
||||
tar --create --file archive --no-recursion directory || exit 1
|
||||
tar tf archive
|
||||
],
|
||||
[0],
|
||||
[directory/
|
||||
])
|
||||
|
||||
out="directory/
|
||||
"
|
||||
|
||||
. $srcdir/after
|
||||
AT_CLEANUP
|
||||
30
tests/same-order01.sh → tests/same-order01.at
Executable file → Normal file
30
tests/same-order01.sh → tests/same-order01.at
Executable file → Normal file
@@ -1,17 +1,18 @@
|
||||
#! /bin/sh
|
||||
# This file is part of GNU tar testsuite.
|
||||
# Process this file with autom4te to create testsuite. -*- Autotest -*-
|
||||
|
||||
# Test suite for GNU tar.
|
||||
# Copyright (C) 2004 Free Software Foundation, Inc.
|
||||
#
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||
@@ -22,22 +23,23 @@
|
||||
# References: <20040507122613.GB12457@pike.phil.uni-passau.de>
|
||||
# http://lists.gnu.org/archive/html/bug-tar/2004-05/msg00008.html
|
||||
|
||||
. ./preset
|
||||
. $srcdir/before
|
||||
AT_SETUP([same-order01])
|
||||
AT_KEYWORDS([same-order01])
|
||||
|
||||
set -e
|
||||
AT_TAR_CHECK([
|
||||
genfile -l 1024 > file1
|
||||
genfile -l 1024 > file2
|
||||
tar cf archive file1 file2
|
||||
|
||||
mkdir directory
|
||||
tar -xf archive --same-order -C directory
|
||||
tar -xf archive --same-order -C directory || exit 1
|
||||
|
||||
ls directory
|
||||
|
||||
out="\
|
||||
file1
|
||||
],
|
||||
[0],
|
||||
[file1
|
||||
file2
|
||||
"
|
||||
])
|
||||
|
||||
AT_CLEANUP
|
||||
|
||||
. $srcdir/after
|
||||
29
tests/same-order02.sh → tests/same-order02.at
Executable file → Normal file
29
tests/same-order02.sh → tests/same-order02.at
Executable file → Normal file
@@ -1,17 +1,18 @@
|
||||
#! /bin/sh
|
||||
# This file is part of GNU tar testsuite.
|
||||
# Process this file with autom4te to create testsuite. -*- Autotest -*-
|
||||
|
||||
# Test suite for GNU tar.
|
||||
# Copyright (C) 2004 Free Software Foundation, Inc.
|
||||
#
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||
@@ -21,10 +22,10 @@
|
||||
# (see same-order01.sh). However, multiple -C options worked OK.
|
||||
# Test if we did not break the correct behavior.
|
||||
|
||||
. ./preset
|
||||
. $srcdir/before
|
||||
AT_SETUP([same-order02])
|
||||
AT_KEYWORDS([same-order02])
|
||||
|
||||
set -e
|
||||
AT_TAR_CHECK([
|
||||
genfile -l 1024 > file1
|
||||
genfile -l 1024 > file2
|
||||
tar cf archive file1 file2
|
||||
@@ -33,16 +34,16 @@ mkdir en
|
||||
mkdir to
|
||||
|
||||
HERE=`pwd`
|
||||
tar -xf archive --same-order -C $HERE/en file1 -C $HERE/to file2
|
||||
tar -xf archive --same-order -C $HERE/en file1 -C $HERE/to file2 || exit 1
|
||||
|
||||
ls en
|
||||
echo separator
|
||||
ls to
|
||||
|
||||
out="\
|
||||
file1
|
||||
],
|
||||
[0],
|
||||
[file1
|
||||
separator
|
||||
file2
|
||||
"
|
||||
])
|
||||
|
||||
. $srcdir/after
|
||||
AT_CLEANUP
|
||||
34
tests/sparse01.sh → tests/sparse01.at
Executable file → Normal file
34
tests/sparse01.sh → tests/sparse01.at
Executable file → Normal file
@@ -1,41 +1,45 @@
|
||||
#! /bin/sh
|
||||
# This file is part of GNU tar testsuite.
|
||||
# Process this file with autom4te to create testsuite. -*- Autotest -*-
|
||||
|
||||
# Test suite for GNU tar.
|
||||
# Copyright (C) 2004 Free Software Foundation, Inc.
|
||||
#
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||
# 02111-1307, USA.
|
||||
|
||||
# Check sparse file handling.
|
||||
|
||||
. ./preset
|
||||
TAR_ARCHIVE_FORMATS="gnu oldgnu posix"
|
||||
. $srcdir/before
|
||||
AT_SETUP([sparse01])
|
||||
AT_KEYWORDS([sparse01])
|
||||
|
||||
AT_TAR_CHECK([
|
||||
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
|
||||
tar -c -f archive --sparse begin sparsefile end || exit 1
|
||||
echo separator
|
||||
|
||||
tar tfv archive
|
||||
],
|
||||
[0],
|
||||
[stdout],
|
||||
[],[],[],[gnu, oldgnu])
|
||||
|
||||
out_regex="\
|
||||
separator
|
||||
RE_CHECK([stdout],
|
||||
[separator
|
||||
-rw-r--r-- [^ ][^ ]* *1000 [0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9] [0-9][0-9]:[0-9][0-9] begin
|
||||
-rw-r--r-- [^ ][^ ]* *10344448[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9] [0-9][0-9]:[0-9][0-9] sparsefile
|
||||
-rw-r--r-- [^ ][^ ]* *1000 [0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9] [0-9][0-9]:[0-9][0-9] end
|
||||
"
|
||||
])
|
||||
|
||||
AT_CLEANUP
|
||||
|
||||
. $srcdir/after
|
||||
33
tests/star/gtarfail.sh → tests/star/gtarfail.at
Executable file → Normal file
33
tests/star/gtarfail.sh → tests/star/gtarfail.at
Executable file → Normal file
@@ -1,35 +1,40 @@
|
||||
#! /bin/sh
|
||||
# This file is part of GNU tar testsuite.
|
||||
# Process this file with autom4te to create testsuite. -*- Autotest -*-
|
||||
|
||||
# Test suite for GNU tar.
|
||||
# Copyright (C) 2004 Free Software Foundation, Inc.
|
||||
#
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||
# 02111-1307, USA.
|
||||
|
||||
. ./preset
|
||||
star_prereq gtarfail.tar
|
||||
TAR_ARCHIVE_FORMATS=auto
|
||||
. $srcdir/before
|
||||
AT_SETUP([gtarfail])
|
||||
AT_KEYWORDS([gtarfail])
|
||||
|
||||
unset TAR_OPTIONS
|
||||
|
||||
AT_CHECK([
|
||||
AT_STAR_PREREQ([gtarfail.tar])
|
||||
|
||||
tar --utc -tvf $STAR_TESTSCRIPTS/gtarfail.tar
|
||||
|
||||
out="\
|
||||
-rw-r--r-- jes/glone 518 2001-05-25 14:41:06 vedpowered.gif
|
||||
],
|
||||
[0],
|
||||
[-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
|
||||
"
|
||||
. $srcdir/after
|
||||
])
|
||||
|
||||
AT_CLEANUP
|
||||
33
tests/star/gtarfail2.sh → tests/star/gtarfail2.at
Executable file → Normal file
33
tests/star/gtarfail2.sh → tests/star/gtarfail2.at
Executable file → Normal file
@@ -1,31 +1,34 @@
|
||||
#! /bin/sh
|
||||
# This file is part of GNU tar testsuite.
|
||||
# Process this file with autom4te to create testsuite. -*- Autotest -*-
|
||||
|
||||
# Test suite for GNU tar.
|
||||
# Copyright (C) 2004 Free Software Foundation, Inc.
|
||||
#
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||
# 02111-1307, USA.
|
||||
|
||||
. ./preset
|
||||
star_prereq gtarfail2.tar
|
||||
TAR_ARCHIVE_FORMATS=auto
|
||||
. $srcdir/before
|
||||
AT_SETUP([gtarfail2])
|
||||
AT_KEYWORDS([gtarfail2])
|
||||
|
||||
unset TAR_OPTIONS
|
||||
|
||||
AT_CHECK([
|
||||
AT_STAR_PREREQ([gtarfail2.tar])
|
||||
tar --utc -tvf $STAR_TESTSCRIPTS/gtarfail2.tar
|
||||
|
||||
out="\
|
||||
-rwxr-xr-x jes/glone 214 2001-09-21 14:08:36 .clean
|
||||
],
|
||||
[0],
|
||||
[-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
|
||||
@@ -35,6 +38,8 @@ drwxr-sr-x jes/glone 0 2001-11-09 18:20:33 build/psmake/
|
||||
-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_CLEANUP
|
||||
|
||||
|
||||
. $srcdir/after
|
||||
34
tests/star/multi-fail.sh → tests/star/multi-fail.at
Executable file → Normal file
34
tests/star/multi-fail.sh → tests/star/multi-fail.at
Executable file → Normal file
@@ -1,33 +1,37 @@
|
||||
#! /bin/sh
|
||||
# This file is part of GNU tar testsuite.
|
||||
# Process this file with autom4te to create testsuite. -*- Autotest -*-
|
||||
|
||||
# Test suite for GNU tar.
|
||||
# Copyright (C) 2004 Free Software Foundation, Inc.
|
||||
#
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||
# 02111-1307, USA.
|
||||
|
||||
. ./preset
|
||||
star_prereq gnu-multi-fail-volume1.gtar
|
||||
star_prereq gnu-multi-fail-volume2.gtar
|
||||
TAR_ARCHIVE_FORMATS=auto
|
||||
. $srcdir/before
|
||||
AT_SETUP([multi-fail])
|
||||
AT_KEYWORDS([multi-fail])
|
||||
|
||||
unset TAR_OPTIONS
|
||||
|
||||
AT_CHECK([
|
||||
AT_STAR_PREREQ([gnu-multi-fail-volume1.gtar])
|
||||
AT_STAR_PREREQ([gnu-multi-fail-volume2.gtar])
|
||||
|
||||
tar --utc -tvM -f $STAR_TESTSCRIPTS/gnu-multi-fail-volume1.gtar \
|
||||
-f $STAR_TESTSCRIPTS/gnu-multi-fail-volume2.gtar
|
||||
|
||||
out="\
|
||||
drwxrwsr-x joerg/bs 0 2003-10-11 14:32:43 OBJ/i386-sunos5-gcc/
|
||||
],
|
||||
[0],
|
||||
[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
|
||||
@@ -79,5 +83,7 @@ drwxrwsr-x joerg/bs 0 2003-10-11 14:32:43 OBJ/i386-sunos5-gcc/
|
||||
-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_CLEANUP
|
||||
|
||||
40
tests/star/pax-big-10g.sh → tests/star/pax-big-10g.at
Executable file → Normal file
40
tests/star/pax-big-10g.sh → tests/star/pax-big-10g.at
Executable file → Normal file
@@ -1,36 +1,42 @@
|
||||
#! /bin/sh
|
||||
# This file is part of GNU tar testsuite.
|
||||
# Process this file with autom4te to create testsuite. -*- Autotest -*-
|
||||
|
||||
# Test suite for GNU tar.
|
||||
# Copyright (C) 2004 Free Software Foundation, Inc.
|
||||
#
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||
# 02111-1307, USA.
|
||||
|
||||
. ./preset
|
||||
star_prereq pax-big-10g.tar.bz2
|
||||
TAR_ARCHIVE_FORMATS=auto
|
||||
. $srcdir/before
|
||||
AT_SETUP([pax-big-10g])
|
||||
AT_KEYWORDS([pax-big-10g])
|
||||
|
||||
unset TAR_OPTIONS
|
||||
|
||||
AT_CHECK([
|
||||
AT_STAR_PREREQ([pax-big-10g.tar.bz2])
|
||||
|
||||
tar --utc -tvjf $STAR_TESTSCRIPTS/pax-big-10g.tar.bz2
|
||||
|
||||
out="\
|
||||
-rw------- jes/glone 10737418240 2002-06-15 21:18:47 10g
|
||||
],
|
||||
[0],
|
||||
[-rw------- jes/glone 10737418240 2002-06-15 21:18:47 10g
|
||||
-rw-r--r-- jes/glone 0 2002-06-15 14:53:32 file
|
||||
"
|
||||
],
|
||||
[stderr])
|
||||
|
||||
RE_CHECK([stderr],[tar: Record size = .*
|
||||
])
|
||||
|
||||
AT_CLEANUP
|
||||
|
||||
err_regex="\
|
||||
tar: Record size = .*
|
||||
"
|
||||
|
||||
. $srcdir/after
|
||||
39
tests/star/ustar-big-2g.sh → tests/star/ustar-big-2g.at
Executable file → Normal file
39
tests/star/ustar-big-2g.sh → tests/star/ustar-big-2g.at
Executable file → Normal file
@@ -1,36 +1,41 @@
|
||||
#! /bin/sh
|
||||
# This file is part of GNU tar testsuite.
|
||||
# Process this file with autom4te to create testsuite. -*- Autotest -*-
|
||||
|
||||
# Test suite for GNU tar.
|
||||
# Copyright (C) 2004 Free Software Foundation, Inc.
|
||||
#
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||
# 02111-1307, USA.
|
||||
|
||||
. ./preset
|
||||
star_prereq ustar-big-2g.tar.bz2
|
||||
TAR_ARCHIVE_FORMATS=auto
|
||||
. $srcdir/before
|
||||
AT_SETUP([ustar-big-2g])
|
||||
AT_KEYWORDS([ustar-big-2g])
|
||||
|
||||
unset TAR_OPTIONS
|
||||
|
||||
AT_CHECK([
|
||||
AT_STAR_PREREQ([ustar-big-2g.tar.bz2])
|
||||
|
||||
tar --utc -tvjf $STAR_TESTSCRIPTS/ustar-big-2g.tar.bz2
|
||||
|
||||
out="\
|
||||
-rw------- jes/glone 2147483647 2002-06-15 14:53:23 big
|
||||
],
|
||||
[0],
|
||||
[-rw------- jes/glone 2147483647 2002-06-15 14:53:23 big
|
||||
-rw-r--r-- jes/glone 0 2002-06-15 14:53:32 file
|
||||
"
|
||||
],
|
||||
[stderr])
|
||||
|
||||
err_regex="\
|
||||
tar: Record size = .*
|
||||
"
|
||||
RE_CHECK([stderr],[tar: Record size = .*
|
||||
])
|
||||
|
||||
AT_CLEANUP
|
||||
|
||||
. $srcdir/after
|
||||
39
tests/star/ustar-big-8g.sh → tests/star/ustar-big-8g.at
Executable file → Normal file
39
tests/star/ustar-big-8g.sh → tests/star/ustar-big-8g.at
Executable file → Normal file
@@ -1,36 +1,41 @@
|
||||
#! /bin/sh
|
||||
# This file is part of GNU tar testsuite.
|
||||
# Process this file with autom4te to create testsuite. -*- Autotest -*-
|
||||
|
||||
# Test suite for GNU tar.
|
||||
# Copyright (C) 2004 Free Software Foundation, Inc.
|
||||
#
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||
# 02111-1307, USA.
|
||||
|
||||
. ./preset
|
||||
star_prereq ustar-big-8g.tar.bz2
|
||||
TAR_ARCHIVE_FORMATS=auto
|
||||
. $srcdir/before
|
||||
AT_SETUP([ustar-big-8g])
|
||||
AT_KEYWORDS([ustar-big-8g])
|
||||
|
||||
unset TAR_OPTIONS
|
||||
|
||||
AT_CHECK([
|
||||
AT_STAR_PREREQ([ustar-big-8g.tar.bz2])
|
||||
|
||||
tar --utc -tvjf $STAR_TESTSCRIPTS/ustar-big-8g.tar.bz2
|
||||
|
||||
out="\
|
||||
-rw------- jes/glone 8589934591 2002-06-15 15:08:33 8gb-1
|
||||
],
|
||||
[0],
|
||||
[-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
|
||||
"
|
||||
],
|
||||
[stderr])
|
||||
|
||||
err_regex="\
|
||||
tar: Record size = .*
|
||||
"
|
||||
RE_CHECK([stderr],[tar: Record size = .*
|
||||
])
|
||||
|
||||
AT_CLEANUP
|
||||
|
||||
. $srcdir/after
|
||||
111
tests/testsuite.at
Normal file
111
tests/testsuite.at
Normal file
@@ -0,0 +1,111 @@
|
||||
# Process this file with autom4te to create testsuite. -*- Autotest -*-
|
||||
|
||||
# Test suite for GNU tar.
|
||||
# Copyright (C) 2004 Free Software Foundation, Inc.
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||
# 02111-1307, USA.
|
||||
|
||||
# We need a recent Autotest.
|
||||
m4_version_prereq([2.52g])
|
||||
|
||||
m4_define([AT_TAR_CHECK],[
|
||||
m4_foreach([FMT],
|
||||
[m4_if([$7],[],[v7,oldgnu,ustar,posix,gnu],[$7])],
|
||||
[AT_CHECK([
|
||||
mkdir FMT
|
||||
(cd FMT
|
||||
TAR_OPTIONS="-H FMT"
|
||||
export TAR_OPTIONS
|
||||
rm -rf *
|
||||
$1)],$2,$3,$4,$5,$6)])
|
||||
])
|
||||
|
||||
m4_define([RE_CHECK],[
|
||||
AT_DATA([$1.re],[$2])
|
||||
awk '{print NR " " $[]0}' $1.re > $[]$.1
|
||||
awk '{print NR " " $[]0}' $1 | join $[]$.1 - |
|
||||
while read NUM RE LINE
|
||||
do
|
||||
echo "$LINE" | grep -- "$RE" >/dev/null || exit 1
|
||||
done
|
||||
])
|
||||
|
||||
m4_define([AT_SKIP_TEST],[exit 77])
|
||||
|
||||
m4_define([AT_STAR_PREREQ],[
|
||||
test -z "$STAR_TESTSCRIPTS" && AT_SKIP_TEST
|
||||
test -r "$STAR_TESTSCRIPTS/$1" || AT_SKIP_TEST
|
||||
])
|
||||
|
||||
AT_INIT
|
||||
|
||||
AT_TESTED([tar])
|
||||
|
||||
m4_include([version.at])
|
||||
|
||||
m4_include([options.at])
|
||||
|
||||
m4_include([append.at])
|
||||
|
||||
m4_include([delete01.at])
|
||||
m4_include([delete02.at])
|
||||
m4_include([delete03.at])
|
||||
m4_include([delete04.at])
|
||||
|
||||
m4_include([extrac01.at])
|
||||
m4_include([extrac02.at])
|
||||
m4_include([extrac03.at])
|
||||
m4_include([extrac04.at])
|
||||
m4_include([extrac05.at])
|
||||
|
||||
m4_include([gzip.at])
|
||||
|
||||
m4_include([incremental.at])
|
||||
|
||||
m4_include([ignfail.at])
|
||||
|
||||
m4_include([link01.at])
|
||||
|
||||
m4_include([listed01.at])
|
||||
m4_include([listed02.at])
|
||||
|
||||
m4_include([longv7.at])
|
||||
|
||||
m4_include([multiv01.at])
|
||||
m4_include([multiv02.at])
|
||||
m4_include([multiv03.at])
|
||||
|
||||
m4_include([old.at])
|
||||
|
||||
m4_include([recurse.at])
|
||||
|
||||
m4_include([same-order01.at])
|
||||
m4_include([same-order02.at])
|
||||
|
||||
m4_include([sparse01.at])
|
||||
|
||||
m4_include([volume.at])
|
||||
|
||||
m4_include([star/gtarfail.at])
|
||||
m4_include([star/gtarfail2.at])
|
||||
|
||||
m4_include([star/multi-fail.at])
|
||||
|
||||
m4_include([star/ustar-big-2g.at])
|
||||
m4_include([star/ustar-big-8g.at])
|
||||
|
||||
m4_include([star/pax-big-10g.at])
|
||||
|
||||
32
tests/append.sh → tests/version.at
Executable file → Normal file
32
tests/append.sh → tests/version.at
Executable file → Normal file
@@ -1,37 +1,27 @@
|
||||
#! /bin/sh
|
||||
# This file is part of GNU tar testsuite.
|
||||
# Checking tar version -*- Autotest -*-
|
||||
# Copyright (C) 2004 Free Software Foundation, Inc.
|
||||
#
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||
# 02111-1307, USA.
|
||||
|
||||
# Problem: Append was just not working.
|
||||
AT_SETUP([tar version])
|
||||
|
||||
. ./preset
|
||||
. $srcdir/before
|
||||
AT_CHECK([tar --version],
|
||||
[0],
|
||||
[AT_PACKAGE_TARNAME (AT_PACKAGE_NAME) AT_PACKAGE_VERSION
|
||||
])
|
||||
|
||||
set -e
|
||||
touch file1
|
||||
touch file2
|
||||
tar cf archive file1
|
||||
tar rf archive file2
|
||||
tar tf archive
|
||||
|
||||
out="\
|
||||
file1
|
||||
file2
|
||||
"
|
||||
|
||||
. $srcdir/after
|
||||
AT_CLEANUP
|
||||
|
||||
@@ -1,35 +0,0 @@
|
||||
#! /bin/sh
|
||||
# This file is part of GNU tar testsuite.
|
||||
# Copyright (C) 2004 Free Software Foundation, Inc.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||
# 02111-1307, USA.
|
||||
|
||||
# Check if the proper version is being tested.
|
||||
|
||||
. ./preset
|
||||
|
||||
if test -n "`$PACKAGE --version | sed -n s/$PACKAGE.*$VERSION/OK/p`"; then
|
||||
banner="Regression testing for GNU $PACKAGE, version $VERSION"
|
||||
dashes=`echo $banner | sed s/./=/g`
|
||||
echo $dashes
|
||||
echo $banner
|
||||
echo $dashes
|
||||
else
|
||||
echo '=============================================================='
|
||||
echo 'WARNING: Not using the proper version, *all* checks dubious...'
|
||||
echo '=============================================================='
|
||||
exit 1
|
||||
fi
|
||||
46
tests/volume.sh → tests/volume.at
Executable file → Normal file
46
tests/volume.sh → tests/volume.at
Executable file → Normal file
@@ -1,17 +1,18 @@
|
||||
#! /bin/sh
|
||||
# This file is part of GNU tar testsuite.
|
||||
# Process this file with autom4te to create testsuite. -*- Autotest -*-
|
||||
|
||||
# Test suite for GNU tar.
|
||||
# Copyright (C) 2004 Free Software Foundation, Inc.
|
||||
#
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||
@@ -19,10 +20,10 @@
|
||||
|
||||
# Volume labels are checked on read by fnmatch.
|
||||
|
||||
. ./preset
|
||||
TAR_ARCHIVE_FORMATS="gnu oldgnu"
|
||||
. $srcdir/before
|
||||
AT_SETUP([volume])
|
||||
AT_KEYWORDS([volume])
|
||||
|
||||
AT_TAR_CHECK([
|
||||
tar -cf archive -V label -T /dev/null || exit 1
|
||||
|
||||
tar xfV archive label || exit 1
|
||||
@@ -37,18 +38,21 @@ tar xfV archive bel
|
||||
test $? = 2 || exit 1
|
||||
echo 1>&2 -----
|
||||
tar xfV archive babel
|
||||
test $? = 2 || exit 1
|
||||
test $? = 2
|
||||
],
|
||||
[0],
|
||||
[],
|
||||
[-----
|
||||
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
|
||||
],
|
||||
[],[],[gnu, oldgnu])
|
||||
|
||||
err="\
|
||||
-----
|
||||
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_CLEANUP
|
||||
|
||||
. $srcdir/after
|
||||
Reference in New Issue
Block a user