This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Integrate with Sarathy; manual resolve on regcomp.c conflicts
[perl5.git] / t / op / exec.t
CommitLineData
8d063cd8
LW
1#!./perl
2
8d063cd8 3$| = 1; # flush stdout
68dc0745 4
9429f27a
JH
5$ENV{LC_ALL} = 'C'; # Forge English error messages.
6$ENV{LANGUAGE} = 'C'; # Ditto in GNU.
7
68dc0745 8if ($^O eq 'MSWin32') {
1d3434b8 9 # XXX the system tests could be written to use ./perl and so work on Win32
45c0de28 10 print "1..0 # Skip: shh, win32\n";
68dc0745 11 exit(0);
12}
13
378cc40b 14print "1..8\n";
8d063cd8 15
ec40c0cd
IZ
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}
378cc40b
LW
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
8d063cd8 24
1d3434b8 25# these should probably be rewritten to match the examples in perlfunc.pod
378cc40b
LW
26if (system "true") {print "not ok 4\n";} else {print "ok 4\n";}
27
28if ((system "/bin/sh -c 'exit 1'") != 256) { print "not "; }
29print "ok 5\n";
30
d5a9bfb0 31$rc = system "lskdfj";
9429f27a
JH
32if ($rc == 255 << 8 or $rc == -1 and
33 (
34 $! == 2 or
35 $! =~ /\bno\b.*\bfile/i or
36 $! == 13 or
37 $! =~ /permission denied/i
38 )
39 )
d5a9bfb0 40 {print "ok 6\n";} else {print "not ok 6\n";}
378cc40b
LW
41
42unless (exec "lskdjfalksdjfdjfkls") {print "ok 7\n";} else {print "not ok 7\n";}
43
44exec "echo","ok","8";