home *** CD-ROM | disk | FTP | other *** search
/ Geek Gadgets 1 / ADE-1.bin / ade-dist / perl-5.003-src.tgz / tar.out / fsf / perl / t / op / magic.t < prev    next >
Text File  |  1996-09-28  |  1KB  |  46 lines

  1. #!./perl
  2.  
  3. # $RCSfile: magic.t,v $$Revision: 4.1 $$Date: 92/08/07 18:28:05 $
  4.  
  5. $| = 1;        # command buffering
  6.  
  7. print "1..6\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 ($!) {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', '-e', <<'END';
  21.  
  22.     $| = 1;        # command buffering
  23.  
  24.     $SIG{"INT"} = "ok3"; kill "INT",$$;
  25.     $SIG{"INT"} = "IGNORE"; kill 2,$$; print "ok 4\n";
  26.     $SIG{"INT"} = "DEFAULT"; kill 2,$$; print "not ok\n";
  27.  
  28.     sub ok3 {
  29.     if (($x = pop(@_)) eq "INT") {
  30.         print "ok 3\n";
  31.     }
  32.     else {
  33.         print "not ok 3 $a\n";
  34.     }
  35.     }
  36.  
  37. END
  38.  
  39. @val1 = @ENV{keys(%ENV)};    # can we slice ENV?
  40. @val2 = values(%ENV);
  41.  
  42. print join(':',@val1) eq join(':',@val2) ? "ok 5\n" : "not ok 5\n";
  43.  
  44. print @val1 > 1 ? "ok 6\n" : "not ok 6\n";
  45.  
  46.