Avoid undefined behavior
[tar/ericb.git] / tests / sparse03.at
blob6ab46a0a6bde2d511562903abda87ac1db5346b4
1 # Process this file with autom4te to create testsuite. -*- Autotest -*-
3 # Test suite for GNU tar.
4 # Copyright (C) 2005, 2006, 2007 Free Software Foundation, Inc.
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.
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.
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.
21 AT_SETUP([storing sparse files > 8G])
22 AT_KEYWORDS([sparse sparse03])
24 # Tar 1.15.1 incorrectly computed sparse member size if the extended
25 # PAX header contained size keyword.
26 # References: <87vf46nb36.fsf@penguin.cs.ucla.edu>
27 # http://lists.gnu.org/archive/html/bug-tar/2005-06/msg00040.html
29 AT_TAR_CHECK([
30 genfile --length 1000 --file begin
31 genfile --length 1000 --file end
32 genfile --sparse --file sparsefile --block-size 512 8G A || AT_SKIP_TEST
33 tar -c -f archive --sparse begin sparsefile end || exit 1
34 echo separator
36 tar tfv archive
37 echo separator
38 mkdir directory
39 tar Cxf directory archive
40 genfile --stat=name,size sparsefile
41 cmp sparsefile directory/sparsefile
43 [0],
44 [stdout],
45 [],[],[],[posix])
47 RE_CHECK([stdout],
48 [separator
49 -rw-r--r-- [^ ][^ ]*  *1000 [0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9] [0-9][0-9]:[0-9][0-9] begin
50 -rw-r--r-- [^ ][^ ]*  *8589935104 [0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9] [0-9][0-9]:[0-9][0-9] sparsefile
51 -rw-r--r-- [^ ][^ ]*  *1000 [0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9] [0-9][0-9]:[0-9][0-9] end
52 separator
53 sparsefile 8589935104
56 AT_CLEANUP