]> git.cworth.org Git - tar/blob - tests/incr04.at
upstream: Fix extraction of device nodes.
[tar] / tests / incr04.at
1 # Process this file with autom4te to create testsuite. -*- Autotest -*-
2
3 # Test suite for GNU tar.
4 # Copyright (C) 2006, 2007, 2009 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 # Description: Rewritten incremental backup support (2006-05-08)
22 # missed initialization of all struct directory members in make_directory,
23 # which lead to random core dumps.
24 # Reported by Sergey Myasnikov <tigra@sw.ru>.  This testcase uses original
25 # script provided by him.
26 # References: <1148669592.5127.81.camel@tigra.sw.ru>
27 #             http://lists.gnu.org/archive/html/bug-tar/2006-05/msg00038.html
28
29 AT_SETUP([proper icontents initialization])
30 AT_KEYWORDS([incremental incr04 icontents])
31
32 m4_define([NAME_PREFIX],[a/b/one_31_chars_long_file_name_])
33
34 AT_TAR_CHECK([
35 AT_TAR_MKHIER(a/b)
36 awk 'BEGIN {
37   for (i=1;i<=142;i++)
38     printf("NAME_PREFIX[%03d]\n", i);
39   }' < /dev/null | genfile --files-from -
40
41 sleep 1
42
43 echo "Initial dump"
44 tar cvf a0.tar -g a.sna a
45 mv a/b a/c
46 echo "Incremental dump"
47 tar cvf a1.tar -g a.sna a
48 ],
49 [0],
50 [Initial dump
51 a/
52 a/b/
53 m4_for(I,1,142,1,[NAME_PREFIX[]m4_if(m4_len(I),1,00,m4_len(I),2,0)I
54 ])dnl
55 Incremental dump
56 a/
57 a/c/
58 ],
59 [tar: a: Directory is new
60 tar: a/b: Directory is new
61 tar: a/c: Directory has been renamed from `a/b'
62 ],[],[],[gnu, oldgnu, posix])
63
64 AT_CLEANUP
65
66 # End of incr04.at