BEGIN {
unless(grep /blib/, @INC) {
chdir 't' if -d 't';
- @INC = '../lib' if -d '../lib';
+ @INC = '../lib';
}
}
BEGIN {
if(-d "lib" && -f "TEST") {
- if (! $Config{'d_fork'} ||
- ($Config{'extensions'} !~ /\bIO\b/ && $^O ne 'VMS'))
- {
- print "1..0\n";
+ my $reason;
+ if (! $Config{'d_fork'}) {
+ $reason = 'no fork';
+ }
+ elsif ($Config{'extensions'} !~ /\bIO\b/) {
+ $reason = 'IO extension unavailable';
+ }
+ undef $reason if $^O eq 'VMS';
+ if ($reason) {
+ print "1..0 # Skip: $reason\n";
exit 0;
}
}
$pipe->close or print "# \$!=$!\nnot ";
print "ok 4\n";
+# Check if can fork with dynamic extensions (bug in CRT):
+if ($^O eq 'os2' and
+ system "$^X -I../lib -MOpcode -e 'defined fork or die' > /dev/null 2>&1") {
+ print "ok $_ # skipped: broken fork\n" for 5..10;
+ exit 0;
+}
+
$pipe = new IO::Pipe;
$pid = fork();
print $pipe "not ok 9\n";
$pipe->close;
+sleep 1;
print "ok 10\n";