issue97.t 992 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #! /usr/bin/env perl
  2. # http://code.google.com/p/perl-compiler/issues/detail?id=97
  3. # require without op_first in use v5.12
  4. use strict;
  5. my $name = "ccode97i";
  6. use Test::More tests => 1;
  7. my $source = $] < 5.012 ? "use 5.006; print q(ok);" : "use v5.12; print q(ok);";
  8. open F, ">", "$name.pl";
  9. print F $source;
  10. close F;
  11. my $expected = "ok";
  12. my $runperl = $^X =~ m/\s/ ? qq{"$^X"} : $^X;
  13. my $Mblib = "-Iblib/arch -Iblib/lib";
  14. if ($] < 5.008) {
  15. system "$runperl -MO=Bytecode,-o$name.plc $name.pl";
  16. } else {
  17. system "$runperl $Mblib -MO=-qq,Bytecode,-H,-o$name.plc $name.pl";
  18. }
  19. unless (-e "$name.plc") {
  20. print "not ok 1 #B::Bytecode failed.\n";
  21. exit;
  22. }
  23. my $runexe = $] < 5.008
  24. ? "$runperl -MByteLoader $name.plc"
  25. : "$runperl $Mblib $name.plc";
  26. my $result = `$runexe`;
  27. $result =~ s/\n$//;
  28. SKIP: {
  29. # skip "no v-objects on 5.6", 1 if $] < 5.008;
  30. ok($result eq $expected, "issue97 - BC require v5.12");
  31. }
  32. END {
  33. unlink($name, "$name.plc", "$name.pl")
  34. if $result eq $expected;
  35. }