From: Sergey Poznyakoff Date: Mon, 24 Jul 2006 09:13:44 +0000 (+0000) Subject: New test case X-Git-Url: https://git.dogcows.com/gitweb?a=commitdiff_plain;h=9fd9a0913d472912063215483e7ebc98a1f8c103;p=chaz%2Ftar New test case --- diff --git a/tests/append02.at b/tests/append02.at new file mode 100644 index 0000000..91625ef --- /dev/null +++ b/tests/append02.at @@ -0,0 +1,72 @@ +# Process this file with autom4te to create testsuite. -*- Autotest -*- + +# Test suite for GNU tar. +# Copyright (C) 2006 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., 51 Franklin Street, Fifth Floor, Boston, MA +# 02110-1301, USA. + +# Using tar 1.15.x the following equivalent command sets: +# +# 1. tar cf archive file1 file2 +# and +# 2. tar cfT archive /dev/null +# tar rf archive file1 +# tar rt archive file2 +# +# produced different archives (GNU format is assumed). Namely, in the +# second case the mode field of all members, except the first, was truncated +# to lower 3 octets (& 0777). +# +# References: +# <200607210526.AA03440@tamuki.linet.gr.jp> +# http://lists.gnu.org/archive/html/bug-tar/2006-07/msg00029.html + +# The test case below verifies that the equivalent create and append commands +# produce binary equivalent archives for all formats. + +AT_SETUP([append vs. create]) +AT_KEYWORDS([append append02 append-gnu]) + +AT_TAR_CHECK([ +genfile --file file1 +genfile --file file2 + +# For PAX archives, we need to make sure extended header names are +# reproducible. +if test $[]TEST_TAR_FORMAT = posix; then + TAR_OPTIONS="$TAR_OPTIONS --pax-option=exthdr.name=%d/PaxHeaders/%f" +fi + +echo Creating archive.1 +tar cf archive.1 file1 file2 + +echo Creating archive.2 +tar cfT archive.2 /dev/null +tar rf archive.2 file1 +tar rf archive.2 file2 + +echo Comparing archives +cmp archive.1 archive.2 +], +[0], +[Creating archive.1 +Creating archive.2 +Comparing archives +]) + +AT_CLEANUP + +# End of append02.at