X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2Fop%2Fsysio.t;h=22e60e30fcc15caf90e3021710a3882e46959d30;hb=5cec1e3b3b86ef84555da325ea92c9cc0b18b7b2;hp=6135cd3465385397ddd2d03e3ce3b20f075845e1;hpb=96e4d5b14cf2dfb0235faa8bc3f701c15b15bb05;p=p5sagit%2Fp5-mst-13.2.git diff --git a/t/op/sysio.t b/t/op/sysio.t index 6135cd3..22e60e3 100755 --- a/t/op/sysio.t +++ b/t/op/sysio.t @@ -1,12 +1,13 @@ #!./perl -print "1..34\n"; +print "1..39\n"; chdir('op') || die "sysio.t: cannot look for myself: $!"; open(I, 'sysio.t') || die "sysio.t: cannot find myself: $!"; -$reopen = ($^O eq 'VMS' || $^O eq 'os2' || $^O eq 'MSWin32'); +$reopen = ($^O eq 'VMS' || $^O eq 'os2' || $^O eq 'MSWin32' || $^O eq 'dos' || + $^O eq 'mpeix'); $x = 'abc'; @@ -151,6 +152,21 @@ if ($reopen) { # must close file to update EOF marker for stat print 'not ' unless (-s $outfile == 7); print "ok 28\n"; +# with implicit length argument +print 'not ' unless (syswrite(O, $x) == 3); +print "ok 29\n"; + +# $a still intact +print 'not ' unless ($x eq "abc"); +print "ok 30\n"; + +# $outfile should have grown now +if ($reopen) { # must close file to update EOF marker for stat + close O; open(O, ">>$outfile") || die "sysio.t: cannot write $outfile: $!"; +} +print 'not ' unless (-s $outfile == 10); +print "ok 31\n"; + close(O); open(I, $outfile) || die "sysio.t: cannot read $outfile: $!"; @@ -158,27 +174,30 @@ open(I, $outfile) || die "sysio.t: cannot read $outfile: $!"; $b = 'xyz'; # reading too much only return as much as available -print 'not ' unless (sysread(I, $b, 100) == 7); -print "ok 29\n"; +print 'not ' unless (sysread(I, $b, 100) == 10); +print "ok 32\n"; # this we should have -print 'not ' unless ($b eq '#!ererl'); -print "ok 30\n"; +print 'not ' unless ($b eq '#!ererlabc'); +print "ok 33\n"; -# test sysseek and systell +# test sysseek -sysseek(I, 2, 0); +print 'not ' unless sysseek(I, 2, 0) == 2; +print "ok 34\n"; sysread(I, $b, 3); print 'not ' unless $b eq 'ere'; -print "ok 31\n"; -print 'not ' unless systell(I) == 5; -print "ok 32\n"; +print "ok 35\n"; -sysseek(I, -2, 1); +print 'not ' unless sysseek(I, -2, 1) == 3; +print "ok 36\n"; sysread(I, $b, 4); print 'not ' unless $b eq 'rerl'; -print "ok 33\n"; -print 'not ' unless systell(I) == 7; -print "ok 34\n"; +print "ok 37\n"; + +print 'not ' unless sysseek(I, 0, 0) eq '0 but true'; +print "ok 38\n"; +print 'not ' if defined sysseek(I, -1, 1); +print "ok 39\n"; close(I);