Version 1.31
[tar.git] / tests / link04.at
blob94f6c02deeb4579c04e1247d5b96e0638ddfa9c3
1 # Process this file with autom4te to create testsuite. -*- Autotest -*-
3 # Test suite for GNU tar.
4 # Copyright 2010-2019 Free Software Foundation, Inc.
6 # This file is part of GNU tar.
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.
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.
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/>.
21 # written by Paul Eggert
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.
29 AT_SETUP([link count is 1 but multiple occurrences])
30 AT_KEYWORDS([hardlinks link04])
32 AT_TAR_CHECK([
33 mkdir dir
34 echo TEST > dir/file
35 ln -s file dir/symlink || AT_SKIP_TEST
37 tar cf archive dir dir
38 tar tvf archive | sed '
39   s,.*[[0-9]] dir/,dir/,
40 ' | sort
42 echo --
44 tar cfl archive dir dir
46 echo ==
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
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
64 dir/
65 dir/FOO
66 dir/FOO link to dir/FOO
69 AT_CLEANUP