]> Dogcows Code - chaz/tar/commitdiff
Rewritten testsuite in autotest
authorSergey Poznyakoff <gray@gnu.org.ua>
Tue, 7 Sep 2004 18:48:13 +0000 (18:48 +0000)
committerSergey Poznyakoff <gray@gnu.org.ua>
Tue, 7 Sep 2004 18:48:13 +0000 (18:48 +0000)
40 files changed:
tests/after [deleted file]
tests/append.at [new file with mode: 0644]
tests/atlocal.in [new file with mode: 0644]
tests/before [deleted file]
tests/delete01.at [moved from tests/delete01.sh with 79% similarity, mode: 0644]
tests/delete02.at [moved from tests/delete02.sh with 78% similarity, mode: 0644]
tests/delete03.at [moved from tests/delete03.sh with 53% similarity, mode: 0644]
tests/delete04.at [moved from tests/delete04.sh with 85% similarity, mode: 0644]
tests/extrac01.at [moved from tests/extrac01.sh with 83% similarity, mode: 0644]
tests/extrac02.at [moved from tests/extrac02.sh with 77% similarity, mode: 0644]
tests/extrac03.at [moved from tests/extrac03.sh with 77% similarity, mode: 0644]
tests/extrac04.at [moved from tests/extrac04.sh with 84% similarity, mode: 0644]
tests/extrac05.at [moved from tests/extrac05.sh with 75% similarity, mode: 0644]
tests/gzip.at [moved from tests/gzip.sh with 82% similarity, mode: 0644]
tests/ignfail.at [moved from tests/ignfail.sh with 54% similarity, mode: 0644]
tests/incremental.at [moved from tests/incremen.sh with 87% similarity, mode: 0644]
tests/link01.at [moved from tests/link01.sh with 88% similarity, mode: 0644]
tests/listed01.at [moved from tests/listed01.sh with 80% similarity, mode: 0644]
tests/listed02.at [moved from tests/listed02.sh with 80% similarity, mode: 0644]
tests/longv7.at [moved from tests/longv7.sh with 65% similarity, mode: 0644]
tests/multiv01.at [moved from tests/multiv01.sh with 81% similarity, mode: 0644]
tests/multiv02.at [moved from tests/multiv02.sh with 76% similarity, mode: 0644]
tests/multiv03.at [moved from tests/multiv03.sh with 76% similarity, mode: 0644]
tests/old.at [moved from tests/old.sh with 77% similarity, mode: 0644]
tests/options.at [moved from tests/options.sh with 81% similarity, mode: 0644]
tests/preset.in [deleted file]
tests/recurse.at [moved from tests/recurse.sh with 81% similarity, mode: 0644]
tests/same-order01.at [moved from tests/same-order01.sh with 81% similarity, mode: 0644]
tests/same-order02.at [moved from tests/same-order02.sh with 84% similarity, mode: 0644]
tests/sparse01.at [moved from tests/sparse01.sh with 79% similarity, mode: 0644]
tests/star/gtarfail.at [moved from tests/star/gtarfail.sh with 78% similarity, mode: 0644]
tests/star/gtarfail2.at [moved from tests/star/gtarfail2.sh with 83% similarity, mode: 0644]
tests/star/multi-fail.at [moved from tests/star/multi-fail.sh with 93% similarity, mode: 0644]
tests/star/pax-big-10g.at [moved from tests/star/pax-big-10g.sh with 70% similarity, mode: 0644]
tests/star/ustar-big-2g.at [moved from tests/star/ustar-big-2g.sh with 70% similarity, mode: 0644]
tests/star/ustar-big-8g.at [moved from tests/star/ustar-big-8g.sh with 70% similarity, mode: 0644]
tests/testsuite.at [new file with mode: 0644]
tests/version.at [moved from tests/append.sh with 74% similarity, mode: 0644]
tests/version.sh [deleted file]
tests/volume.at [moved from tests/volume.sh with 77% similarity, mode: 0644]

diff --git a/tests/after b/tests/after
deleted file mode 100755 (executable)
index 7de077f..0000000
+++ /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 (file)
index 0000000..5bbc1ad
--- /dev/null
@@ -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 (file)
index 0000000..8fd5655
--- /dev/null
@@ -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 (executable)
index 04cbfdd..0000000
+++ /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
-
-           
old mode 100755 (executable)
new mode 100644 (file)
similarity index 79%
rename from tests/delete01.sh
rename to tests/delete01.at
index e620d90..81f6a77
@@ -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
 
 # 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
old mode 100755 (executable)
new mode 100644 (file)
similarity index 78%
rename from tests/delete02.sh
rename to tests/delete02.at
index 2a1df38..a459e6b
@@ -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
 
 # 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
old mode 100755 (executable)
new mode 100644 (file)
similarity index 53%
rename from tests/delete03.sh
rename to tests/delete03.at
index cf988e6..d4b9484
@@ -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
old mode 100755 (executable)
new mode 100644 (file)
similarity index 85%
rename from tests/delete04.sh
rename to tests/delete04.at
index 47090a6..33c6a64
@@ -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
 
 # 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
old mode 100755 (executable)
new mode 100644 (file)
similarity index 83%
rename from tests/extrac01.sh
rename to tests/extrac01.at
index f16e922..188fdfe
@@ -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
 
 # 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
old mode 100755 (executable)
new mode 100644 (file)
similarity index 77%
rename from tests/extrac02.sh
rename to tests/extrac02.at
index 083abea..41b086e
@@ -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
 
 # 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
old mode 100755 (executable)
new mode 100644 (file)
similarity index 77%
rename from tests/extrac03.sh
rename to tests/extrac03.at
index 94ae69e..12e6424
@@ -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
 
 # 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
old mode 100755 (executable)
new mode 100644 (file)
similarity index 84%
rename from tests/extrac04.sh
rename to tests/extrac04.at
index 4b588b3..4aebf4b
@@ -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
 
 # 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
old mode 100755 (executable)
new mode 100644 (file)
similarity index 75%
rename from tests/extrac05.sh
rename to tests/extrac05.at
index 26784cf..da66266
@@ -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
 # 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
old mode 100755 (executable)
new mode 100644 (file)
similarity index 82%
rename from tests/gzip.sh
rename to tests/gzip.at
index 06ee173..5da017c
@@ -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
 
 # 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
\ No newline at end of file
old mode 100755 (executable)
new mode 100644 (file)
similarity index 54%
rename from tests/ignfail.sh
rename to tests/ignfail.at
index ec0fb10..bab88f3
@@ -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
 
 # 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
old mode 100755 (executable)
new mode 100644 (file)
similarity index 87%
rename from tests/incremen.sh
rename to tests/incremental.at
index efb0edb..5f57f3a
@@ -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
 
 # 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
old mode 100755 (executable)
new mode 100644 (file)
similarity index 88%
rename from tests/link01.sh
rename to tests/link01.at
index f88d4dd..b87d604
@@ -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
 # 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
old mode 100755 (executable)
new mode 100644 (file)
similarity index 80%
rename from tests/listed01.sh
rename to tests/listed01.at
index 9929cf5..3f430e3
@@ -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
 # 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
old mode 100755 (executable)
new mode 100644 (file)
similarity index 80%
rename from tests/listed02.sh
rename to tests/listed02.at
index 9345c16..78730dd
@@ -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
 #  <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
old mode 100755 (executable)
new mode 100644 (file)
similarity index 65%
rename from tests/longv7.sh
rename to tests/longv7.at
index 6f0bb68..af3e3c4
@@ -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
 # 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
 
old mode 100755 (executable)
new mode 100644 (file)
similarity index 81%
rename from tests/multiv01.sh
rename to tests/multiv01.at
index 58678e9..885a6c6
@@ -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
 
 # 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
old mode 100755 (executable)
new mode 100644 (file)
similarity index 76%
rename from tests/multiv02.sh
rename to tests/multiv02.at
index 2b21b45..446821d
@@ -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
 # 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
old mode 100755 (executable)
new mode 100644 (file)
similarity index 76%
rename from tests/multiv03.sh
rename to tests/multiv03.at
index e8c5898..3fbb857
@@ -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
 # 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
-
-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
old mode 100755 (executable)
new mode 100644 (file)
similarity index 77%
rename from tests/old.sh
rename to tests/old.at
index 2ce64a6..6785348
@@ -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
 
 # 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
old mode 100755 (executable)
new mode 100644 (file)
similarity index 81%
rename from tests/options.sh
rename to tests/options.at
index 20c3629..0f759c8
@@ -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
 
 # 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 (executable)
index 18b5b09..0000000
+++ /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
-}
old mode 100755 (executable)
new mode 100644 (file)
similarity index 81%
rename from tests/recurse.sh
rename to tests/recurse.at
index 79404d6..9569f19
@@ -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
old mode 100755 (executable)
new mode 100644 (file)
similarity index 81%
rename from tests/same-order01.sh
rename to tests/same-order01.at
index a4dbe5c..d0e4f0a
@@ -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
 # 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
old mode 100755 (executable)
new mode 100644 (file)
similarity index 84%
rename from tests/same-order02.sh
rename to tests/same-order02.at
index c5cac7b..c55554b
@@ -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
 # (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
old mode 100755 (executable)
new mode 100644 (file)
similarity index 79%
rename from tests/sparse01.sh
rename to tests/sparse01.at
index 15a0666..03adc57
@@ -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
old mode 100755 (executable)
new mode 100644 (file)
similarity index 78%
rename from tests/star/gtarfail.sh
rename to tests/star/gtarfail.at
index c32e13c..c13d494
@@ -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
old mode 100755 (executable)
new mode 100644 (file)
similarity index 83%
rename from tests/star/gtarfail2.sh
rename to tests/star/gtarfail2.at
index 8ae14f9..a2b90f6
@@ -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
old mode 100755 (executable)
new mode 100644 (file)
similarity index 93%
rename from tests/star/multi-fail.sh
rename to tests/star/multi-fail.at
index de6d73b..6db908b
@@ -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
 
old mode 100755 (executable)
new mode 100644 (file)
similarity index 70%
rename from tests/star/pax-big-10g.sh
rename to tests/star/pax-big-10g.at
index 2c49342..e92baed
@@ -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
old mode 100755 (executable)
new mode 100644 (file)
similarity index 70%
rename from tests/star/ustar-big-2g.sh
rename to tests/star/ustar-big-2g.at
index da07d20..7dbbb3c
@@ -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
old mode 100755 (executable)
new mode 100644 (file)
similarity index 70%
rename from tests/star/ustar-big-8g.sh
rename to tests/star/ustar-big-8g.at
index d7ebf49..cfbd605
@@ -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 (file)
index 0000000..d90a654
--- /dev/null
@@ -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])
+
old mode 100755 (executable)
new mode 100644 (file)
similarity index 74%
rename from tests/append.sh
rename to tests/version.at
index d3adcca..f457e59
@@ -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 (executable)
index f24c943..0000000
+++ /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
old mode 100755 (executable)
new mode 100644 (file)
similarity index 77%
rename from tests/volume.sh
rename to tests/volume.at
index 3b17940..b51b4cc
@@ -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
 
 # 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
This page took 0.130578 seconds and 4 git commands to generate.