]> Dogcows Code - chaz/tar/blob - tests/link04.at
Fix tar -c -l file file
[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-2014 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 cfl archive dir dir
45
46 echo ==
47
48 tar chf archive dir
49 tar tvf archive | sed '
50 s,.*[[0-9]] dir/,dir/,
51 s,file,FOO,g
52 s,symlink,FOO,g
53 ' | sort
54 ],
55 [0],
56 [dir/
57 dir/
58 dir/file
59 dir/file link to dir/file
60 dir/symlink -> file
61 dir/symlink link to dir/symlink
62 --
63 ==
64 dir/
65 dir/FOO
66 dir/FOO link to dir/FOO
67 ])
68
69 AT_CLEANUP
This page took 0.03295 seconds and 4 git commands to generate.