BEGIN { $|=1; print "1..2\n"; } END { print "not ok 1\n" unless $loaded; }; use Imager qw(:all); ++$loaded; print "ok 1\n"; init_log("testout/t05error.log", 1); # try to read an invalid pnm file open FH, "< testimg/junk.ppm" or die "Cannot open testin/junk: $!"; binmode(FH); my $IO = Imager::io_new_fd(fileno(FH)); my $im = i_readpnm_wiol($IO, -1); if ($im) { print "not ok 2 # read of junk.ppm should have failed\n"; } else { my @errors = Imager::i_errors(); unless (@errors) { print "not ok 2 # no errors from i_errors()\n"; } else { # each entry must be an array ref with 2 elements my $bad; for (@errors) { $bad = 1; if (ref ne 'ARRAY') { print "not ok 2 # element not an array ref\n"; last; } if (@$_ != 2) { print "not ok 2 # elements array didn't have 2 elements\n"; last; } $bad = 0; } unless ($bad) { print "ok 2\n"; for (@errors) { print "# $_->[0]/$_->[1]\n"; } } } }