Fix testsuite and bootstrap. Implement -I.
* bootstrap.conf: Include size_max. * gnulib.modules: Remove memset, rmdir. Replace strdup with strdup-posix. Patch by Eric Blake. * src/tar.c: Implement -I as a shorthand for --use-compress-program. * doc/tar.texi: Document -I. * tests/pipe.at, tests/shortrec.at: Account for eventual 'Record size' output. * tests/testsuite.at (AT_TAR_CHECK_HOOK): New define (AT_TAR_WITH_HOOK, TAR_IGNREC_HOOK): New macros.
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
# Process this file with autom4te to create testsuite. -*- Autotest -*-
|
||||
|
||||
# Test suite for GNU tar.
|
||||
# Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2004, 2005, 2006, 2007, 2008 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
|
||||
@@ -30,7 +30,8 @@ AT_SETUP([decompressing from stdin])
|
||||
|
||||
AT_KEYWORDS([pipe])
|
||||
|
||||
AT_TAR_CHECK([
|
||||
AT_TAR_WITH_HOOK([TAR_IGNREC_HOOK],
|
||||
[AT_TAR_CHECK([
|
||||
AT_SORT_PREREQ
|
||||
|
||||
mkdir directory
|
||||
@@ -49,6 +50,7 @@ directory/file1
|
||||
directory/file2
|
||||
separator
|
||||
separator
|
||||
])
|
||||
],
|
||||
[stderr])])
|
||||
|
||||
AT_CLEANUP
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# Process this file with autom4te to create testsuite. -*- Autotest -*-
|
||||
|
||||
# Test suite for GNU tar.
|
||||
# Copyright (C) 2005, 2007 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2005, 2007, 2008 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
|
||||
@@ -23,17 +23,22 @@
|
||||
# used to create the archive.
|
||||
|
||||
AT_SETUP([short records])
|
||||
AT_KEYWORDS([shortrec.at])
|
||||
AT_KEYWORDS([shortrec])
|
||||
|
||||
AT_TAR_CHECK([
|
||||
AT_TAR_WITH_HOOK([TAR_IGNREC_HOOK],
|
||||
[AT_TAR_CHECK([
|
||||
mkdir directory
|
||||
(cd directory && touch a b c d e f g h i j k l m n o p q r)
|
||||
tar -c -b 1 -f - directory | tar -t -f - >/dev/null
|
||||
tar -c -b 1 -f - directory | tar -t -f -
|
||||
tar -c -b 1 -f archive directory
|
||||
tar -t -f archive >/dev/null
|
||||
tar -t -f - < archive >/dev/null
|
||||
tar -t -f archive
|
||||
tar -t -f - < archive
|
||||
|
||||
rm -r directory
|
||||
],
|
||||
[0],
|
||||
[ignore],
|
||||
[stderr])
|
||||
])
|
||||
|
||||
AT_CLEANUP
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# Process this file with autom4te to create testsuite. -*- Autotest -*-
|
||||
|
||||
# Test suite for GNU tar.
|
||||
# Copyright (C) 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2004, 2005, 2006, 2007, 2008 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
|
||||
@@ -21,6 +21,7 @@
|
||||
# We need a recent Autotest.
|
||||
m4_version_prereq([2.52g])
|
||||
|
||||
m4_define([AT_TAR_CHECK_HOOK])
|
||||
m4_define([AT_TAR_CHECK],[
|
||||
AT_XFAIL_IF(test -f $[]XFAILFILE)
|
||||
m4_foreach([FMT],
|
||||
@@ -33,9 +34,20 @@ export TEST_TAR_FORMAT
|
||||
TAR_OPTIONS="-H FMT"
|
||||
export TAR_OPTIONS
|
||||
rm -rf *
|
||||
$1)],$2,$3,$4,$5,$6)])
|
||||
$1)],$2,$3,$4,$5,$6)
|
||||
AT_TAR_CHECK_HOOK])
|
||||
])
|
||||
|
||||
m4_define([AT_TAR_WITH_HOOK],[
|
||||
m4_pushdef([AT_TAR_CHECK_HOOK],[$1])
|
||||
$2
|
||||
|
||||
m4_popdef([AT_TAR_CHECK_HOOK])])
|
||||
|
||||
m4_define([TAR_IGNREC_HOOK],[
|
||||
AT_CHECK([grep -v '^.*tar: Record size = ' stderr; exit 0])
|
||||
])
|
||||
|
||||
m4_define([RE_CHECK],[
|
||||
AT_DATA([$1.re],[$2])
|
||||
awk '{print NR " " $[]0}' $1 > $[]$.1
|
||||
|
||||
Reference in New Issue
Block a user