1#!./perl 2 3$| = 1; # flush stdout 4 5$ENV{LC_ALL} = 'C'; # Forge English error messages. 6$ENV{LANGUAGE} = 'C'; # Ditto in GNU. 7 8if ($^O eq 'MSWin32') { 9 # XXX the system tests could be written to use ./perl and so work on Win32 10 print "1..0 # Skip: shh, win32\n"; 11 exit(0); 12} 13 14print "1..8\n"; 15 16if ($^O ne 'os2') { 17 print "not ok 1\n" if system "echo ok \\1"; # shell interpreted 18} 19else { 20 print "ok 1 # skipped: bug/feature of pdksh\n"; # shell interpreted 21} 22print "not ok 2\n" if system "echo ok 2"; # split and directly called 23print "not ok 3\n" if system "echo", "ok", "3"; # directly called 24 25# these should probably be rewritten to match the examples in perlfunc.pod 26if (system "true") {print "not ok 4\n";} else {print "ok 4\n";} 27 28if ($^O eq 'mpeix') { 29 print "ok 5 # skipped: status broken on MPE/iX\n"; 30} else { 31 if ((system "/bin/sh -c 'exit 1'") != 256) { print "not "; } 32 print "ok 5\n"; 33} 34 35$rc = system "lskdfj"; 36if ($rc == 255 << 8 or $rc == -1 and 37 ( 38 $! == 2 or 39 $! =~ /\bno\b.*\bfile/i or 40 $! == 13 or 41 $! =~ /permission denied/i 42 ) 43 ) 44 {print "ok 6\n";} else {print "not ok 6\n";} 45 46unless (exec "lskdjfalksdjfdjfkls") {print "ok 7\n";} else {print "not ok 7\n";} 47 48exec "echo","ok","8"; 49