1# Process this file with autom4te to create testsuite. -*- Autotest -*-
2
3# Test suite for GNU tar.
4# Copyright (C) 2005, 2006 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 2, 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
21AT_SETUP([storing sparse files > 8G])
22AT_KEYWORDS([sparse sparse03])
23
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
28
29AT_TAR_CHECK([
30genfile --length 1000 --file begin
31genfile --length 1000 --file end
32genfile --sparse --file sparsefile --block-size 512 8G A || AT_SKIP_TEST
33tar -c -f archive --sparse begin sparsefile end || exit 1
34echo separator
35
36tar tfv archive
37echo separator
38mkdir directory
39tar Cxf directory archive
40genfile --stat=name,size sparsefile
41cmp sparsefile directory/sparsefile
42],
43[0],
44[stdout],
45[],[],[],[posix])
46
47RE_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
52separator
53sparsefile 8589935104
54])
55
56AT_CLEANUP
57