]> git.cworth.org Git - tar/blob - tests/ignfail.at
upstream: Fix extraction of device nodes.
[tar] / tests / ignfail.at
1 # Process this file with autom4te to create testsuite. -*- Autotest -*-
2
3 # Test suite for GNU tar.
4 # Copyright (C) 2004, 2006, 2007 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 # Unreadable directories yielded error despite --ignore-failed-read.
22
23 AT_SETUP([ignfail])
24 AT_KEYWORDS([ignfail])
25
26 AT_TAR_CHECK([
27 # The test is meaningless for super-user.
28 AT_UNPRIVILEGED_PREREQ
29
30 touch file
31 mkdir directory
32 touch directory/file
33
34 echo 1>&2 -----
35 chmod 000 file
36 tar cf archive file
37 status=$?
38 chmod 600 file
39 test $status = 2 || exit 1
40
41 echo 1>&2 -----
42 chmod 000 file
43 tar cf archive --ignore-failed-read file || exit 1
44 status=$?
45 chmod 600 file
46 test $status = 0 || exit 1
47
48 echo 1>&2 -----
49 chmod 000 directory
50 tar cf archive directory
51 status=$?
52 chmod 700 directory
53 test $status = 2 || exit 1
54
55 echo 1>&2 -----
56 chmod 000 directory
57 tar cf archive --ignore-failed-read directory || exit 1
58 status=$?
59 chmod 700 directory
60 test $status = 0
61 ],
62 [0],
63 [],
64 [
65 -----
66 tar: file: Cannot open: Permission denied
67 tar: Exiting with failure status due to previous errors
68 -----
69 tar: file: Warning: Cannot open: Permission denied
70 -----
71 tar: directory: Cannot open: Permission denied
72 tar: Exiting with failure status due to previous errors
73 -----
74 tar: directory: Warning: Cannot open: Permission denied
75 ])
76
77 AT_CLEANUP