1# Process this file with autom4te to create testsuite. -*- Autotest -*-
2
3# Test suite for GNU tar.
4# Copyright (C) 2004 Free Software Foundation, Inc.
5
6# This program is free software; you can redistribute it and/or modify
7# it under the terms of the GNU General Public License as published by
8# the Free Software Foundation; either version 2, or (at your option)
9# any later version.
10
11# This program is distributed in the hope that it will be useful,
12# but WITHOUT ANY WARRANTY; without even the implied warranty of
13# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14# GNU General Public License for more details.
15
16# You should have received a copy of the GNU General Public License
17# along with this program; if not, write to the Free Software
18# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
19# 02110-1301, USA.
20
21# Problem: If a member with link count > 2 was stored in the archive twice,
22# previous versions of tar were not able to extract it, since they
23# were trying to link the file to itself, which always failed and
24# lead to removing the already extracted copy. This script tests
25# the workaround by Paul Eggert that leaves the extracted copy
26# untouched.
27#
28# Reported by: Toby Peterson <toby@apple.com>
29#
30# References: <2330D503-D20A-11D8-A0CF-00039391EECE@apple.com>
31# http://lists.gnu.org/archive/html/bug-tar/2004-07/msg00009.html
32
33AT_SETUP([link count gt 2])
34AT_KEYWORDS([link01])
35
36AT_TAR_CHECK([
37mkdir directory
38mkdir directory/test1
39mkdir directory/test2
40
41echo TEST > directory/test1/test.txt
42ln directory/test1/test.txt directory/test2/test.txt || AT_SKIP_TEST
43
44tar cf archive directory/test1/test.txt directory/test1/test.txt
45
46rm -r directory
47tar xf archive
48
49ls directory/test1
50],
51[0],
52[test.txt
53])
54
55AT_CLEANUP
56