4 |
|
|
5 |
my $debug = shift @ARGV; |
my $debug = shift @ARGV; |
6 |
|
|
7 |
use Test::More tests => 766; |
use Test::More tests => 770; |
8 |
use File::Slurp; |
use File::Slurp; |
9 |
use IO::File; |
use IO::File; |
10 |
|
|
30 |
my $orig_size = -s "$to/$path"; |
my $orig_size = -s "$to/$path"; |
31 |
ok( open( my $fh, $op, "$to/$path" ), "open( $op $path )"); |
ok( open( my $fh, $op, "$to/$path" ), "open( $op $path )"); |
32 |
if ( $op eq '>' ) { |
if ( $op eq '>' ) { |
33 |
cmp_ok( -s "$to/$path", '==', 0, "truncate $to/$path" ); |
cmp_ok( -s "$to/$path", '==', 0, "truncated $to/$path" ); |
34 |
print $fh $content; |
print $fh $content; |
35 |
} elsif ( $op eq '>>' ) { |
} elsif ( $op eq '>>' ) { |
36 |
cmp_ok( -s "$to/$path", '==', $orig_size, "no truncate $to/$path" ); |
cmp_ok( -s "$to/$path", '==', $orig_size, "no truncate $to/$path" ); |
63 |
ok( -e "$tmp/$path" , "in tmp $tmp/$path" ) if ( $op eq '<' ); |
ok( -e "$tmp/$path" , "in tmp $tmp/$path" ) if ( $op eq '<' ); |
64 |
# check total size if not append |
# check total size if not append |
65 |
if ( $op ne '>>' ) { |
if ( $op ne '>>' ) { |
66 |
cmp_ok( -s $pack, '==', $size, "$tmp/$path = $size bytes" ); |
cmp_ok( -s $pack, '<', $size, "$pack < $size bytes" ); |
67 |
} |
} |
68 |
} else { |
} else { |
69 |
ok( -e "$from/$path", "on disk $from/$path" ); |
ok( -e "$from/$path", "on disk $from/$path" ); |
129 |
|
|
130 |
ok( symlink("$to/m", "$to/s"), 'symlink' ); |
ok( symlink("$to/m", "$to/s"), 'symlink' ); |
131 |
ok( -l "$to/s", 'is symlink' ); |
ok( -l "$to/s", 'is symlink' ); |
132 |
|
|
133 |
|
ok( !symlink("fake", "$to/s"), 'symlink' ); |
134 |
|
ok( !symlink("$to/m", "fake"), 'symlink' ); |
135 |
|
|
136 |
ok( link("$to/m", "$to/l"), 'link' ); |
ok( link("$to/m", "$to/l"), 'link' ); |
137 |
cmp_ok( (stat("$to/l"))[3], '==', 2, 'l has 2 links' ); |
cmp_ok( (stat("$to/l"))[3], '==', 2, 'l has 2 links' ); |
138 |
cmp_ok( (stat("$to/m"))[3], '==', 2, 'm has 2 links' ); |
cmp_ok( (stat("$to/m"))[3], '==', 2, 'm has 2 links' ); |
147 |
cmp_ok( (stat("$to/m"))[3], '==', 1, 'no links' ); |
cmp_ok( (stat("$to/m"))[3], '==', 1, 'no links' ); |
148 |
|
|
149 |
my @sizes; |
my @sizes; |
150 |
my $size = 65536; |
$size = 65536; |
151 |
while ( $size > 1 ) { |
while ( $size > 1 ) { |
152 |
push @sizes, $size; |
push @sizes, $size; |
153 |
$size /= 2; |
$size /= 2; |