]> git.cworth.org Git - tar/blob - tests/link04.at
upstream: Fix extraction of device nodes.
[tar] / tests / link04.at
1 # Process this file with autom4te to create testsuite. -*- Autotest -*-
2
3 # Test suite for GNU tar.
4 # Copyright (C) 2010 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 3, 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 # 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