]> Dogcows Code - chaz/tar/blob - tests/multiv03.sh
e8c5898d976e9b6d5a7798003c4a504f311450a5
[chaz/tar] / tests / multiv03.sh
1 #! /bin/sh
2 # This file is part of GNU tar testsuite.
3 # Copyright (C) 2004 Free Software Foundation, Inc.
4 #
5 # This program is free software; you can redistribute it and/or modify
6 # it under the terms of the GNU General Public License as published by
7 # the Free Software Foundation; either version 2, or (at your option)
8 # any later version.
9 #
10 # This program is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 # GNU General Public License for more details.
14 #
15 # You should have received a copy of the GNU General Public License
16 # along with this program; if not, write to the Free Software
17 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
18 # 02111-1307, USA.
19
20 # Problem: GNU multivolume archives are not able to continue on members
21 # with filenames longer than 100 characters. Versions of tar <= 1.14
22 # were not checking filename lengths and produced malformed multivolume
23 # headers.
24 # References: <20040809214854.GB32706@suse.de>
25 # http://lists.gnu.org/archive/html/bug-tar/2004-08/msg00012.html
26
27 . ./preset
28 TAR_ARCHIVE_FORMATS="gnu oldgnu"
29 . $srcdir/before
30
31 AFILE=`awk 'BEGIN { for (i = 0; i < 100; i++) printf "a"; exit; }'`
32 BFILE=`awk 'BEGIN { for (i = 0; i < 101; i++) printf "b"; exit; }'`
33 genfile --length 15360 > $AFILE
34
35 tar -M -L 10 -c -f arch.1 -f arch.2 $AFILE
36 tar -tM -f arch.1 -f arch.2
37
38 echo separator
39
40 genfile --length 15360 > $BFILE
41 tar -M -L 10 -c -f arch.1 -f arch.2 $BFILE
42
43 out="\
44 $AFILE
45 separator
46 "
47
48 err="\
49 tar: $BFILE: file name too long to be stored in a GNU multivolume header
50 tar: Error is not recoverable: exiting now
51 "
52
53 . $srcdir/after
This page took 0.034113 seconds and 3 git commands to generate.