# $RCSfile: tell.t,v $$Revision$$Date$
-print "1..21\n";
+BEGIN {
+ chdir 't' if -d 't';
+ @INC = '../lib';
+}
+
+print "1..23\n";
$TST = 'tst';
-open($TST, '../Configure') || (die "Can't open ../Configure");
-binmode $TST if $^O eq 'MSWin32';
+$Is_Dosish = ($^O eq 'MSWin32' or $^O eq 'NetWare' or $^O eq 'dos' or
+ $^O eq 'os2' or $^O eq 'mint' or $^O eq 'cygwin');
+
+open($TST, 'harness') || (die "Can't open harness");
+binmode $TST if $Is_Dosish;
if (eof(tst)) { print "not ok 1\n"; } else { print "ok 1\n"; }
$firstline = <$TST>;
if ($. == 0) { print "not ok 14\n"; } else { print "ok 14\n"; }
$curline = $.;
-open(other, '../Configure') || (die "Can't open ../Configure");
-binmode other if $^O eq 'MSWin32';
+open(other, 'harness') || (die "Can't open harness: $!");
+binmode other if (($^O eq 'MSWin32') || ($^O eq 'NetWare'));
{
local($.);
tell other;
if ($. == 7) { print "ok 21\n"; } else { print "not ok 21\n"; }
}
+
+close(other);
+if (tell(other) == -1) { print "ok 22\n"; } else { print "not ok 22\n"; }
+
+if (tell(ether) == -1) { print "ok 23\n"; } else { print "not ok 23\n"; }
+
+# ftell(STDIN) (or any std streams) is undefined, it can return -1 or
+# something else. ftell() on pipes, fifos, and sockets is defined to
+# return -1.
+