]> Dogcows Code - chaz/tar/blob - tests/link04.at
92c8bf92ecf8d2de13bdadb1d36b3b3226e9f7b0
[chaz/tar] / tests / link04.at
1 # Process this file with autom4te to create testsuite. -*- Autotest -*-
2
3 # Test suite for GNU tar.
4 # Copyright 2010, 2013 Free Software Foundation, Inc.
5
6 # This file is part of GNU tar.
7
8 # GNU tar is free software; you can redistribute it and/or modify
9 # it under the terms of the GNU General Public License as published by
10 # the Free Software Foundation; either version 3 of the License, or
11 # (at your option) any later version.
12
13 # GNU tar is distributed in the hope that it will be useful,
14 # but WITHOUT ANY WARRANTY; without even the implied warranty of
15 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 # GNU General Public License for more details.
17
18 # You should have received a copy of the GNU General Public License
19 # along with this program. If not, see <http://www.gnu.org/licenses/>.
20
21 # written by Paul Eggert
22
23 # Make sure that tar -c correctly handles the case where a file is
24 # encountered multiple times, even though it has a link count of 1.
25 # This can occur when "tar -c FOO FOO" is used; it can also occur when
26 # "tar -ch FOO" is used, if FOO contains symbolic links that point to
27 # the same file.
28
29 AT_SETUP([link count is 1 but multiple occurrences])
30 AT_KEYWORDS([hardlinks link04])
31
32 AT_TAR_CHECK([
33 mkdir dir
34 echo TEST > dir/file
35 ln -s file dir/symlink || AT_SKIP_TEST
36
37 tar cf archive dir dir
38 tar tvf archive | sed '
39 s,.*[[0-9]] dir/,dir/,
40 ' | sort
41
42 echo ==
43
44 tar chf archive dir
45 tar tvf archive | sed '
46 s,.*[[0-9]] dir/,dir/,
47 s,file,FOO,g
48 s,symlink,FOO,g
49 ' | sort
50 ],
51 [0],
52 [dir/
53 dir/
54 dir/file
55 dir/file link to dir/file
56 dir/symlink -> file
57 dir/symlink link to dir/symlink
58 ==
59 dir/
60 dir/FOO
61 dir/FOO link to dir/FOO
62 ])
63
64 AT_CLEANUP
This page took 0.032468 seconds and 3 git commands to generate.