4b5dba838eef907236fbf96190430ef22bb23a7f
[p5sagit/p5-mst-13.2.git] / t / op.magic
1 #!./perl
2
3 # $Header: op.magic,v 3.0.1.1 89/11/11 05:00:07 lwall Locked $
4
5 $| = 1;         # command buffering
6
7 print "1..5\n";
8
9 eval '$ENV{"foo"} = "hi there";';       # check that ENV is inited inside eval
10 if (`echo \$foo` eq "hi there\n") {print "ok 1\n";} else {print "not ok 1\n";}
11
12 unlink 'ajslkdfpqjsjfk';
13 $! = 0;
14 open(foo,'ajslkdfpqjsjfk');
15 if ($! == 2) {print "ok 2\n";} else {print "not ok 2\n";}
16
17 # the next tests are embedded inside system simply because sh spits out
18 # a newline onto stderr when a child process kills itself with SIGINT.
19
20 system './perl',
21 '-e', '$| = 1;          # command buffering',
22
23 '-e', '$SIG{"INT"} = "ok3"; kill 2,$$;',
24 '-e', '$SIG{"INT"} = "IGNORE"; kill 2,$$; print "ok 4\n";',
25 '-e', '$SIG{"INT"} = "DEFAULT"; kill 2,$$; print "not ok\n";',
26
27 '-e', 'sub ok3 { print "ok 3\n" if pop(@_) eq "INT"; }';
28
29 @val1 = @ENV{keys(%ENV)};       # can we slice ENV?
30 @val2 = values(%ENV);
31
32 print join(':',@val1) eq join(':',@val2) ? "ok 5\n" : "not ok 5\n";