From: Sergey Poznyakoff Date: Tue, 7 Sep 2004 18:48:13 +0000 (+0000) Subject: Rewritten testsuite in autotest X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Ftar;a=commitdiff_plain;h=35cae74c4cae8e59c84e215c493e5a032dbe4e15 Rewritten testsuite in autotest --- diff --git a/tests/after b/tests/after deleted file mode 100755 index 7de077f..0000000 --- a/tests/after +++ /dev/null @@ -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-$$ diff --git a/tests/append.at b/tests/append.at new file mode 100644 index 0000000..5bbc1ad --- /dev/null +++ b/tests/append.at @@ -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 diff --git a/tests/atlocal.in b/tests/atlocal.in new file mode 100644 index 0000000..8fd5655 --- /dev/null +++ b/tests/atlocal.in @@ -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 + diff --git a/tests/before b/tests/before deleted file mode 100755 index 04cbfdd..0000000 --- a/tests/before +++ /dev/null @@ -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 - - diff --git a/tests/delete01.sh b/tests/delete01.at old mode 100755 new mode 100644 similarity index 79% rename from tests/delete01.sh rename to tests/delete01.at index e620d90..81f6a77 --- a/tests/delete01.sh +++ b/tests/delete01.at @@ -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 - -out="\ -file1 -" +tar tf archive], +[0], +[file1 +]) -. $srcdir/after +AT_CLEANUP diff --git a/tests/delete02.sh b/tests/delete02.at old mode 100755 new mode 100644 similarity index 78% rename from tests/delete02.sh rename to tests/delete02.at index 2a1df38..a459e6b --- a/tests/delete02.sh +++ b/tests/delete02.at @@ -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 diff --git a/tests/delete03.sh b/tests/delete03.at old mode 100755 new mode 100644 similarity index 53% rename from tests/delete03.sh rename to tests/delete03.at index cf988e6..d4b9484 --- a/tests/delete03.sh +++ b/tests/delete03.at @@ -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 - -out="\ -./${prefix}1 -./${prefix}2 -./${prefix}3 -./${prefix}4 -./${prefix}6 -./${prefix}7 -./${prefix}8 -./${prefix}9 -" - -. $srcdir/after +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]) + +AT_CLEANUP diff --git a/tests/delete04.sh b/tests/delete04.at old mode 100755 new mode 100644 similarity index 85% rename from tests/delete04.sh rename to tests/delete04.at index 47090a6..33c6a64 --- a/tests/delete04.sh +++ b/tests/delete04.at @@ -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 diff --git a/tests/extrac01.sh b/tests/extrac01.at old mode 100755 new mode 100644 similarity index 83% rename from tests/extrac01.sh rename to tests/extrac01.at index f16e922..188fdfe --- a/tests/extrac01.sh +++ b/tests/extrac01.at @@ -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 diff --git a/tests/extrac02.sh b/tests/extrac02.at old mode 100755 new mode 100644 similarity index 77% rename from tests/extrac02.sh rename to tests/extrac02.at index 083abea..41b086e --- a/tests/extrac02.sh +++ b/tests/extrac02.at @@ -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]) + +# FIXME: Skip if symlinks are not supported on the system -set -e +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 diff --git a/tests/extrac03.sh b/tests/extrac03.at old mode 100755 new mode 100644 similarity index 77% rename from tests/extrac03.sh rename to tests/extrac03.at index 94ae69e..12e6424 --- a/tests/extrac03.sh +++ b/tests/extrac03.at @@ -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="\ -directory/../directory/ ------ +echo separator +tar -xPvf archive], +[0], +[directory/../directory/ +separator directory/../directory/ -" +]) -. $srcdir/after +AT_CLEANUP diff --git a/tests/extrac04.sh b/tests/extrac04.at old mode 100755 new mode 100644 similarity index 84% rename from tests/extrac04.sh rename to tests/extrac04.at index 4b588b3..4aebf4b --- a/tests/extrac04.sh +++ b/tests/extrac04.at @@ -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 diff --git a/tests/extrac05.sh b/tests/extrac05.at old mode 100755 new mode 100644 similarity index 75% rename from tests/extrac05.sh rename to tests/extrac05.at index 26784cf..da66266 --- a/tests/extrac05.sh +++ b/tests/extrac05.at @@ -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 < 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 diff --git a/tests/incremen.sh b/tests/incremental.at old mode 100755 new mode 100644 similarity index 87% rename from tests/incremen.sh rename to tests/incremental.at index efb0edb..5f57f3a --- a/tests/incremen.sh +++ b/tests/incremental.at @@ -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 diff --git a/tests/link01.sh b/tests/link01.at old mode 100755 new mode 100644 similarity index 88% rename from tests/link01.sh rename to tests/link01.at index f88d4dd..b87d604 --- a/tests/link01.sh +++ b/tests/link01.at @@ -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 diff --git a/tests/listed01.sh b/tests/listed01.at old mode 100755 new mode 100644 similarity index 80% rename from tests/listed01.sh rename to tests/listed01.at index 9929cf5..3f430e3 --- a/tests/listed01.sh +++ b/tests/listed01.at @@ -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* - -tar tf archive.2 + directory/file* || exit 1 -out="\ -directory/file1 +tar tf archive.2 || exit 1 +], +[0], +[directory/file1 separator directory/file2 -" +], +[],[],[],[gnu, oldgnu]) + +AT_CLEANUP -. $srcdir/after diff --git a/tests/listed02.sh b/tests/listed02.at old mode 100755 new mode 100644 similarity index 80% rename from tests/listed02.sh rename to tests/listed02.at index 9345c16..78730dd --- a/tests/listed02.sh +++ b/tests/listed02.at @@ -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 diff --git a/tests/longv7.sh b/tests/longv7.at old mode 100755 new mode 100644 similarity index 65% rename from tests/longv7.sh rename to tests/longv7.at index 6f0bb68..af3e3c4 --- a/tests/longv7.sh +++ b/tests/longv7.at @@ -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 -" - -out="\ -separator -$DIR/ -" +], +[],[],[v7]) -. $srcdir/after +AT_CLEANUP diff --git a/tests/multiv01.sh b/tests/multiv01.at old mode 100755 new mode 100644 similarity index 81% rename from tests/multiv01.sh rename to tests/multiv01.at index 58678e9..885a6c6 --- a/tests/multiv01.sh +++ b/tests/multiv01.at @@ -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 diff --git a/tests/multiv02.sh b/tests/multiv02.at old mode 100755 new mode 100644 similarity index 76% rename from tests/multiv02.sh rename to tests/multiv02.at index 2b21b45..446821d --- a/tests/multiv02.sh +++ b/tests/multiv02.at @@ -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 diff --git a/tests/multiv03.sh b/tests/multiv03.at old mode 100755 new mode 100644 similarity index 76% rename from tests/multiv03.sh rename to tests/multiv03.at index e8c5898..3fbb857 --- a/tests/multiv03.sh +++ b/tests/multiv03.at @@ -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 < ../expout < $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 - -out="\ -$AFILE -separator -" +tar -M -L 10 -c -f arch.1 -f arch.2 $BFILE +], +[2], +[expout], +[experr], +[],[],[gnu, oldgnu]) -err="\ -tar: $BFILE: file name too long to be stored in a GNU multivolume header -tar: Error is not recoverable: exiting now -" +AT_CLEANUP -. $srcdir/after diff --git a/tests/old.sh b/tests/old.at old mode 100755 new mode 100644 similarity index 77% rename from tests/old.sh rename to tests/old.at index 2ce64a6..6785348 --- a/tests/old.sh +++ b/tests/old.at @@ -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="\ -directory/ +], +[0], +[directory/ directory/ -" +]) -. $srcdir/after +AT_CLEANUP diff --git a/tests/options.sh b/tests/options.at old mode 100755 new mode 100644 similarity index 81% rename from tests/options.sh rename to tests/options.at index 20c3629..0f759c8 --- a/tests/options.sh +++ b/tests/options.at @@ -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 diff --git a/tests/preset.in b/tests/preset.in deleted file mode 100755 index 18b5b09..0000000 --- a/tests/preset.in +++ /dev/null @@ -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 -} diff --git a/tests/recurse.sh b/tests/recurse.at old mode 100755 new mode 100644 similarity index 81% rename from tests/recurse.sh rename to tests/recurse.at index 79404d6..9569f19 --- a/tests/recurse.sh +++ b/tests/recurse.at @@ -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 diff --git a/tests/same-order01.sh b/tests/same-order01.at old mode 100755 new mode 100644 similarity index 81% rename from tests/same-order01.sh rename to tests/same-order01.at index a4dbe5c..d0e4f0a --- a/tests/same-order01.sh +++ b/tests/same-order01.at @@ -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 diff --git a/tests/same-order02.sh b/tests/same-order02.at old mode 100755 new mode 100644 similarity index 84% rename from tests/same-order02.sh rename to tests/same-order02.at index c5cac7b..c55554b --- a/tests/same-order02.sh +++ b/tests/same-order02.at @@ -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 diff --git a/tests/sparse01.sh b/tests/sparse01.at old mode 100755 new mode 100644 similarity index 79% rename from tests/sparse01.sh rename to tests/sparse01.at index 15a0666..03adc57 --- a/tests/sparse01.sh +++ b/tests/sparse01.at @@ -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 diff --git a/tests/star/gtarfail.sh b/tests/star/gtarfail.at old mode 100755 new mode 100644 similarity index 78% rename from tests/star/gtarfail.sh rename to tests/star/gtarfail.at index c32e13c..c13d494 --- a/tests/star/gtarfail.sh +++ b/tests/star/gtarfail.at @@ -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]) -tar --utc -tvf $STAR_TESTSCRIPTS/gtarfail.tar +unset TAR_OPTIONS + +AT_CHECK([ +AT_STAR_PREREQ([gtarfail.tar]) -out="\ --rw-r--r-- jes/glone 518 2001-05-25 14:41:06 vedpowered.gif +tar --utc -tvf $STAR_TESTSCRIPTS/gtarfail.tar +], +[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 diff --git a/tests/star/gtarfail2.sh b/tests/star/gtarfail2.at old mode 100755 new mode 100644 similarity index 83% rename from tests/star/gtarfail2.sh rename to tests/star/gtarfail2.at index 8ae14f9..a2b90f6 --- a/tests/star/gtarfail2.sh +++ b/tests/star/gtarfail2.at @@ -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]) -tar --utc -tvf $STAR_TESTSCRIPTS/gtarfail2.tar +unset TAR_OPTIONS -out="\ --rwxr-xr-x jes/glone 214 2001-09-21 14:08:36 .clean +AT_CHECK([ +AT_STAR_PREREQ([gtarfail2.tar]) +tar --utc -tvf $STAR_TESTSCRIPTS/gtarfail2.tar +], +[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 diff --git a/tests/star/multi-fail.sh b/tests/star/multi-fail.at old mode 100755 new mode 100644 similarity index 93% rename from tests/star/multi-fail.sh rename to tests/star/multi-fail.at index de6d73b..6db908b --- a/tests/star/multi-fail.sh +++ b/tests/star/multi-fail.at @@ -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 diff --git a/tests/star/pax-big-10g.sh b/tests/star/pax-big-10g.at old mode 100755 new mode 100644 similarity index 70% rename from tests/star/pax-big-10g.sh rename to tests/star/pax-big-10g.at index 2c49342..e92baed --- a/tests/star/pax-big-10g.sh +++ b/tests/star/pax-big-10g.at @@ -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]) -tar --utc -tvjf $STAR_TESTSCRIPTS/pax-big-10g.tar.bz2 +unset TAR_OPTIONS -out="\ --rw------- jes/glone 10737418240 2002-06-15 21:18:47 10g +AT_CHECK([ +AT_STAR_PREREQ([pax-big-10g.tar.bz2]) + +tar --utc -tvjf $STAR_TESTSCRIPTS/pax-big-10g.tar.bz2 +], +[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 diff --git a/tests/star/ustar-big-2g.sh b/tests/star/ustar-big-2g.at old mode 100755 new mode 100644 similarity index 70% rename from tests/star/ustar-big-2g.sh rename to tests/star/ustar-big-2g.at index da07d20..7dbbb3c --- a/tests/star/ustar-big-2g.sh +++ b/tests/star/ustar-big-2g.at @@ -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]) -tar --utc -tvjf $STAR_TESTSCRIPTS/ustar-big-2g.tar.bz2 +unset TAR_OPTIONS + +AT_CHECK([ +AT_STAR_PREREQ([ustar-big-2g.tar.bz2]) -out="\ --rw------- jes/glone 2147483647 2002-06-15 14:53:23 big +tar --utc -tvjf $STAR_TESTSCRIPTS/ustar-big-2g.tar.bz2 +], +[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]) + +RE_CHECK([stderr],[tar: Record size = .* +]) -err_regex="\ -tar: Record size = .* -" +AT_CLEANUP -. $srcdir/after diff --git a/tests/star/ustar-big-8g.sh b/tests/star/ustar-big-8g.at old mode 100755 new mode 100644 similarity index 70% rename from tests/star/ustar-big-8g.sh rename to tests/star/ustar-big-8g.at index d7ebf49..cfbd605 --- a/tests/star/ustar-big-8g.sh +++ b/tests/star/ustar-big-8g.at @@ -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]) -tar --utc -tvjf $STAR_TESTSCRIPTS/ustar-big-8g.tar.bz2 +unset TAR_OPTIONS + +AT_CHECK([ +AT_STAR_PREREQ([ustar-big-8g.tar.bz2]) -out="\ --rw------- jes/glone 8589934591 2002-06-15 15:08:33 8gb-1 +tar --utc -tvjf $STAR_TESTSCRIPTS/ustar-big-8g.tar.bz2 +], +[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]) + +RE_CHECK([stderr],[tar: Record size = .* +]) -err_regex="\ -tar: Record size = .* -" +AT_CLEANUP -. $srcdir/after diff --git a/tests/testsuite.at b/tests/testsuite.at new file mode 100644 index 0000000..d90a654 --- /dev/null +++ b/tests/testsuite.at @@ -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]) + diff --git a/tests/append.sh b/tests/version.at old mode 100755 new mode 100644 similarity index 74% rename from tests/append.sh rename to tests/version.at index d3adcca..f457e59 --- a/tests/append.sh +++ b/tests/version.at @@ -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. - -. ./preset -. $srcdir/before - -set -e -touch file1 -touch file2 -tar cf archive file1 -tar rf archive file2 -tar tf archive +AT_SETUP([tar version]) -out="\ -file1 -file2 -" +AT_CHECK([tar --version], + [0], + [AT_PACKAGE_TARNAME (AT_PACKAGE_NAME) AT_PACKAGE_VERSION +]) -. $srcdir/after +AT_CLEANUP + \ No newline at end of file diff --git a/tests/version.sh b/tests/version.sh deleted file mode 100755 index f24c943..0000000 --- a/tests/version.sh +++ /dev/null @@ -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 diff --git a/tests/volume.sh b/tests/volume.at old mode 100755 new mode 100644 similarity index 77% rename from tests/volume.sh rename to tests/volume.at index 3b17940..b51b4cc --- a/tests/volume.sh +++ b/tests/volume.at @@ -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 - -err="\ ------ -tar: Volume \`label' does not match \`lab' +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: Volume `label' does not match `bel' tar: Error is not recoverable: exiting now ----- -tar: Volume \`label' does not match \`babel' +tar: Volume `label' does not match `babel' tar: Error is not recoverable: exiting now -" +], +[],[],[gnu, oldgnu]) + +AT_CLEANUP -. $srcdir/after