--- perl-llin/test/getattr.t 2008/03/16 14:14:51 122 +++ perl-llin/test/getattr.t 2008/03/19 19:40:20 123 @@ -2,46 +2,50 @@ use test::helper qw($_real $_point); use Test::More; use Data::Dumper; -plan tests => 29; -my ($a, $b) = ("$_real/wibble","$_point/wibble"); -# create 3G file to expose 2G bug -open(my $fh, '>', $a) || die "can't open $b: $!"; -seek($fh, 3 * 1024 * 1024 * 1024, 0); -print $fh ' '; -close($fh); -diag "size $b = ",-s $b; -is(-A "$a", -A "$b", '-A'); # 1 -is(-B "$a", -B "$b", '-B'); # 2 -is(-C "$a", -C "$b", '-C'); # 3 -is(-M "$a", -M "$b", '-M'); # 4 -is(-O "$a", -O "$b", '-O'); # 5 -is(-R "$a", -R "$b", '-R'); # 6 -is(-S "$a", -S "$b", '-S'); # 7 -is(-T "$a", -T "$b", '-T'); # 8 -is(-W "$a", -W "$b", '-W'); # 9 -is(-X "$a", -X "$b", '-X'); # 10 -is(-b "$a", -b "$b", '-b'); # 11 -is(-c "$a", -c "$b", '-c'); # 12 -is(-d "$a", -d "$b", '-d'); # 13 -is(-e "$a", -e "$b", '-e'); # 14 -is(-f "$a", -f "$b", '-f'); # 15 -is(-g "$a", -g "$b", '-g'); # 16 -is(-k "$a", -k "$b", '-k'); # 17 -is(-l "$a", -l "$b", '-l'); # 18 -is(-o "$a", -o "$b", '-o'); # 19 -is(-p "$a", -p "$b", '-p'); # 20 -is(-r "$a", -r "$b", '-r'); # 21 -is(-s "$a", -s "$b", '-s'); # 22 -is(-t "$a", -t "$b", '-t'); # 23 -is(-u "$a", -u "$b", '-u'); # 24 -is(-w "$a", -w "$b", '-w'); # 25 -is(-x "$a", -x "$b", '-x'); # 26 -is(-z "$a", -z "$b", '-z'); # 27 -my (@astat, @bstat); -@astat = stat("$a"); -@bstat = stat("$b"); -# dev, inode and blksize can legally change -@astat = @astat[2..10,12]; -@bstat = @bstat[2..10,12]; -is(join(" ",@astat),join(" ",@bstat),"stat()"); -ok( unlink($a), 'unlink' ); +plan tests => 203; +sub test_file { + my $size = shift; + my ($a, $b) = ("$_real/wibble-$size","$_point/wibble-$size"); +# diag "test $size Gb file"; + open(my $fh, '>', $a) || die "can't open $b: $!"; + seek($fh, $size * 1024 * 1024 * 1024, 0); + print $fh ' '; + close($fh); +# diag "size $b = ",-s $b, " $a = ", -s $a; + is(-A "$a", -A "$b", '-A'); # 1 + is(-B "$a", -B "$b", '-B'); # 2 + is(-C "$a", -C "$b", '-C'); # 3 + is(-M "$a", -M "$b", '-M'); # 4 + is(-O "$a", -O "$b", '-O'); # 5 + is(-R "$a", -R "$b", '-R'); # 6 + is(-S "$a", -S "$b", '-S'); # 7 + is(-T "$a", -T "$b", '-T'); # 8 + is(-W "$a", -W "$b", '-W'); # 9 + is(-X "$a", -X "$b", '-X'); # 10 + is(-b "$a", -b "$b", '-b'); # 11 + is(-c "$a", -c "$b", '-c'); # 12 + is(-d "$a", -d "$b", '-d'); # 13 + is(-e "$a", -e "$b", '-e'); # 14 + is(-f "$a", -f "$b", '-f'); # 15 + is(-g "$a", -g "$b", '-g'); # 16 + is(-k "$a", -k "$b", '-k'); # 17 + is(-l "$a", -l "$b", '-l'); # 18 + is(-o "$a", -o "$b", '-o'); # 19 + is(-p "$a", -p "$b", '-p'); # 20 + is(-r "$a", -r "$b", '-r'); # 21 + is(-s "$a", -s "$b", '-s'); # 22 + is(-t "$a", -t "$b", '-t'); # 23 + is(-u "$a", -u "$b", '-u'); # 24 + is(-w "$a", -w "$b", '-w'); # 25 + is(-x "$a", -x "$b", '-x'); # 26 + is(-z "$a", -z "$b", '-z'); # 27 + my (@astat, @bstat); + @astat = stat("$a"); + @bstat = stat("$b"); + # dev, inode and blksize can legally change + @astat = @astat[2..10,12]; + @bstat = @bstat[2..10,12]; + is(join(" ",@astat),join(" ",@bstat),"stat()"); + ok( unlink($a), 'unlink' ); +} +test_file( $_ ) foreach ( 1, 2, 4, 8, 16, 32, 64 );