#!/usr/bin/perl
eval
"use String::Random"
;
plan
skip_all
=>
"Requires String::Random"
if
$@;
plan
tests
=> 109;
my
$loop_iterations
= 20;
my
$temp
= Directory::Scratch->new;
ok(
my
$rfile
=
$temp
->randfile,
"randfile()"
);
ok(
length
(
$rfile
),
"randfile() returned a string"
);
ok( -e
$rfile
,
"file exists"
);
ok(
unlink
(
$rfile
),
"file unlink() succeeds"
);
$rfile
=
undef
;
sub
test_iterations {
for
my
$i
(1..
$loop_iterations
) {
ok(
$rfile
=
$temp
->randfile( 1024, 2048 ),
"$i: randfile( 1024, 2048 )"
);
my
$size
= -s
$rfile
;
ok( -e
$rfile
,
" $i: File exists."
);
cmp_ok(
$size
,
'>='
, 1024,
" $i: size of file: $size > 1024"
);
cmp_ok(
$size
,
'<='
, 2048,
" $i: size of file: $size < 2048"
);
}
}
test_iterations();
my
$j
= 1;
for
(
my
$i
=1;
$i
<=1000000;
$i
*= 10 ) {
ok(
my
$file
=
$temp
->randfile(
$j
,
$i
),
"randfile($j, $i)"
);
my
$size
= -s
$file
;
if
(
$size
<=
$i
&&
$size
>=
$j
) {
pass(
" check file size"
);
}
else
{
fail(
" check file size ( $size <= $i && $size >= $j )"
);
}
$j
=
$i
;
unlink
$file
;
}
for
(
my
$i
=1;
$i
<=1024;
$i
*= 2 ) {
ok(
my
$file
=
$temp
->randfile(
$i
),
"randfile($i)"
);
}