AnyEvent

 view release on metacpan or  search on metacpan

t/io_common  view on Meta::CPAN

#! perl

$| = 1;

# not tested: symlink, readlink, link, utime, chown, chmod

BEGIN {
   print "1..37\n";
   print "ok 1 # MODEL=$AnyEvent::IO::MODEL\n";
}
use AnyEvent;
use AnyEvent::IO qw(:DEFAULT :flags);
BEGIN {
   print "ok 2 # MODEL=$AnyEvent::IO::MODEL\n";
}

our $t = 3;

sub t {
   my $ok = shift;
   my $f = "aio_" . shift;
   $f->(@_, my $cv = AE::cv);
   my @res = $cv->recv;

   print !@res != !$ok ? "not " : "", "ok ", $t++, " # $f (@_) = (@res)\n";

   wantarray ? @res : $res[0]
}

use File::Spec;

our $TMP = File::Spec->tmpdir;
our $DIR = "$TMP/ae_io_testdir_$$~";

t 1, mkdir => $DIR, 0777
   or do { print "Bail out! Cannot mkdir $DIR, skipping test.\n"; exit 0 };
t 0, mkdir => $DIR, 0777;

#############################################################################
# create file

my $fh = t 1, open => "$DIR/test", O_CREAT | O_EXCL | O_WRONLY, 0666;
         t 0, open => "$DIR/test", O_CREAT | O_EXCL | O_WRONLY, 0666;

t 0, rmdir => $DIR;

t 1, write => $fh, "tes--";
t 1, write => $fh, "test2";
t 1, write => $fh, "";

t 1, seek  => $fh, 3, 0;
t 1, write => $fh, "t1";

#t 1, truncate => $fh, 5+5; # not available on windows

t 1, stat => $fh;
print -s _ != 10 ? "not " : "", "ok ", $t++, " # stat size\n";

t 1, close => $fh;

t 1, stat => "$DIR/test";
print -s _ != 10 ? "not " : "", "ok ", $t++, " # stat size (", -s _,")\n";

t 1, lstat => "$DIR/test";
print -s _ != 10 ? "not " : "", "ok ", $t++, " # lstat size\n";



( run in 1.610 second using v1.01-cache-2.11-cpan-39bf76dae61 )