Hi, As implied in the header the enclosed patch provides _some_ help but not complete help for the various tests in :t:io:*.t. Most of the failures are due to an inability to run perl in system() or `backticks` from MPW without a perl tool && toolserver running. Here are some notes on the test results that I obtained: miniperl :io:argv.t not ok 1 not ok 2 not ok 3 :: miniperl :io:dup.t 1..6 ok 1 ### catenate - Unable to open "lo.dup". # File not found (OS error -43) ok 6 ( a strange case dup is ..) miniperl :io:fs.t 1..29 not ok 1 not ok 2 not ok 3 not ok 4 not ok 5 ok 6 not ok 7 not ok 8 not ok 9 not ok 10 not ok 11 ok 12 ok 13 ok 14 ok 15 ok 16 ok 17 not ok 18 500000001 500000001 ok 19 ok 20 ok 21 ok 22 not ok 23 not ok 24 ok 25 ok 26 ok 27 not ok 28 not ok 29 miniperl :io:inplace.t 1..2 Can't open .a: No such file or directory at :io:inplace.t line 26. Can't open .b: No such file or directory at :io:inplace.t line 26. Can't open .c: No such file or directory at :io:inplace.t line 26. not ok 1 not ok 2 miniperl :io:iprefix.t 1..2 Can't open .a: No such file or directory at :io:iprefix.t line 26. Can't open .b: No such file or directory at :io:iprefix.t line 26. Can't open .c: No such file or directory at :io:iprefix.t line 26. not ok 1 not ok 2 ( too many attempts to invoke `perl -i` in inplace and iprefix? ) :io:open.t - many failures miniperl :io:openpid.t 1..0 # Skip: no multitasking (err, if it was good enough reason for DOS to skip ...:-) miniperl :io:pipe.t 1..0 # Skip: no fork miniperl :io:print.t 1..18 ( all ok ) miniperl :io:read.t 1..1 not ok 1 miniperl :io:tell.t 1..21 ( all ok ) Here then is the patch: diff -ru :io.orig:argv.t :io:argv.t --- :io.orig:argv.t Wed Dec 29 20:59:33 1999 +++ :io:argv.t Sun May 14 22:04:51 2000 @@ -2,7 +2,12 @@ BEGIN { chdir 't' if -d 't'; - unshift @INC, '../lib'; + if ($^O eq 'MacOS') { + unshift @INC, '::lib:'; + } + else { + unshift @INC, '../lib'; + } } print "1..20\n"; diff -ru :io.orig:dup.t :io:dup.t --- :io.orig:dup.t Fri Sep 17 20:23:09 1999 +++ :io:dup.t Sun May 14 22:09:01 2000 @@ -32,8 +32,9 @@ open(STDOUT,">&dupout"); open(STDERR,">&duperr"); -if ($^O eq 'MSWin32') { print `type Io.dup` } -else { system 'cat Io.dup' } +if ($^O eq 'MSWin32') { print `type Io.dup` } +elsif ($^O eq 'MacOS') { system 'catenate lo.dup' } +else { system 'cat Io.dup' } unlink 'Io.dup'; print STDOUT "ok 6\n"; diff -ru :io.orig:fs.t :io:fs.t --- :io.orig:fs.t Wed Mar 22 19:14:33 2000 +++ :io:fs.t Sun May 14 22:17:47 2000 @@ -4,7 +4,12 @@ BEGIN { chdir 't' if -d 't'; - unshift @INC, '../lib'; + if ($^O eq 'MacOS') { + unshift @INC, '::lib:'; + } + else { + unshift @INC, '../lib'; + } } use Config; @@ -19,6 +24,7 @@ print "1..29\n"; $wd = (($^O eq 'MSWin32') ? `cd` : `pwd`); +$wd = (($^O eq 'MacOS') ? `Directory -q` : $wd); chop($wd); if ($^O eq 'MSWin32') { `rmdir /s /q tmp 2>nul`; `mkdir tmp`; } diff -ru :io.orig:open.t :io:open.t --- :io.orig:open.t Mon Mar 13 21:25:37 2000 +++ :io:open.t Sun May 14 22:24:32 2000 @@ -2,7 +2,12 @@ BEGIN { chdir 't' if -d 't'; - unshift @INC, '../lib'; + if ($^O eq 'MacOS') { + unshift @INC, '::lib:'; + } + else { + unshift @INC, '../lib'; + } } # $RCSfile$ diff -ru :io.orig:openpid.t :io:openpid.t --- :io.orig:openpid.t Wed Mar 1 06:28:41 2000 +++ :io:openpid.t Mon May 15 19:12:22 2000 @@ -10,7 +10,7 @@ BEGIN { chdir 't' if -d 't'; unshift @INC, '../lib'; - if ($^O eq 'dos') { + if ($^O eq 'dos' || $^O eq 'MacOS') { print "1..0 # Skip: no multitasking\n"; exit 0; } diff -ru :io.orig:pipe.t :io:pipe.t --- :io.orig:pipe.t Mon Mar 20 21:05:22 2000 +++ :io:pipe.t Mon May 15 19:14:22 2000 @@ -2,7 +2,12 @@ BEGIN { chdir 't' if -d 't'; - unshift @INC, '../lib'; + if ($^O eq 'MacOS') { + unshift @INC, '::lib:'; + } + else { + unshift @INC, '../lib'; + } require Config; import Config; unless ($Config{'d_fork'}) { print "1..0 # Skip: no fork\n"; diff -ru :io.orig:tell.t :io:tell.t --- :io.orig:tell.t Sun Jan 23 09:07:36 2000 +++ :io:tell.t Mon May 15 19:26:29 2000 @@ -9,7 +9,12 @@ $Is_Dosish = ($^O eq 'MSWin32' or $^O eq 'dos' or $^O eq 'os2' or $^O eq 'mint' or $^O eq 'cygwin'); -open($TST, '../Configure') || (die "Can't open ../Configure"); +if ($^O eq 'MacOS') { + open($TST, '::Configure') || (die "Can't open ::Configure"); +} +else { + open($TST, '../Configure') || (die "Can't open ../Configure"); +} binmode $TST if $Is_Dosish; if (eof(tst)) { print "not ok 1\n"; } else { print "ok 1\n"; } @@ -49,7 +54,12 @@ if ($. == 0) { print "not ok 14\n"; } else { print "ok 14\n"; } $curline = $.; -open(other, '../Configure') || (die "Can't open ../Configure"); +if ($^O eq 'MacOS') { + open(other, '::Configure') || (die "Can't open ::Configure"); +} +else { + open(other, '../Configure') || (die "Can't open ../Configure"); +} binmode other if $^O eq 'MSWin32'; { End of Patch. Peter Prymmer ==== Want to unsubscribe from this list? ==== Send mail with body "unsubscribe" to macperl-porters-request@macperl.org