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