* src/tar.c (main): Ignore SIGPIPE. * src/system.c (sys_child_open_for_compress) (sys_child_open_for_uncompress): Reset SIGPIPE in child to default. * tests/remfiles01.at: Avoid race conditions. * tests/remfiles02.at: Likewise.
60 lines
1.6 KiB
Plaintext
60 lines
1.6 KiB
Plaintext
# Process this file with autom4te to create testsuite. -*- Autotest -*-
|
|
|
|
# Test suite for GNU tar.
|
|
# Copyright (C) 2009 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 3, 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.
|
|
|
|
# Description: When called with --create --remove-files and a compression
|
|
# options tar (v. <= 1.22.90) would remove files even if it had failed
|
|
# to store them in the archive.
|
|
#
|
|
# References: <77cb99c00910020940k6ce15da4wb564d2418ec52cfb@mail.gmail.com>
|
|
# http://lists.gnu.org/archive/html/bug-tar/2009-10/msg00005.html
|
|
|
|
AT_SETUP([remove-files with compression: grand-child])
|
|
AT_KEYWORDS([create remove-files remfiles02 gzip])
|
|
|
|
unset TAR_OPTIONS
|
|
AT_CHECK([
|
|
AT_GZIP_PREREQ
|
|
AT_SORT_PREREQ
|
|
|
|
mkdir dir
|
|
cd dir
|
|
mkdir a
|
|
genfile --file b
|
|
mkdir c
|
|
|
|
tar -c -f a -z --remove-files b c 2>err
|
|
EC=$?
|
|
sed -n '/(child)/p' err >&2
|
|
rm err
|
|
find . | sort
|
|
exit $EC
|
|
],
|
|
[2],
|
|
[.
|
|
./a
|
|
./b
|
|
./c
|
|
],
|
|
[tar (child): a: Cannot open: Is a directory
|
|
tar (child): Error is not recoverable: exiting now
|
|
])
|
|
|
|
AT_CLEANUP
|