issue105.t 992 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. #! /usr/bin/env perl
  2. # http://code.google.com/p/perl-compiler/issues/detail?id=105
  3. # v5.16 Missing bc imports
  4. use strict;
  5. my $name = "ccode105i";
  6. use Test::More tests => 1;
  7. my $source = 'package A;
  8. use Storable qw/dclone/;
  9. my $a = \"";
  10. dclone $a;
  11. print q(ok)';
  12. open F, ">", "$name.pl";
  13. print F $source;
  14. close F;
  15. my $expected = "ok";
  16. my $runperl = $^X =~ m/\s/ ? qq{"$^X"} : $^X;
  17. my $Mblib = "-Iblib/arch -Iblib/lib";
  18. if ($] < 5.008) {
  19. system "$runperl -MO=Bytecode,-o$name.plc $name.pl";
  20. } else {
  21. system "$runperl $Mblib -MO=-qq,Bytecode,-H,-o$name.plc $name.pl";
  22. }
  23. unless (-e "$name.plc") {
  24. print "not ok 1 #B::Bytecode failed.\n";
  25. exit;
  26. }
  27. my $runexe = $] < 5.008
  28. ? "$runperl -MByteLoader $name.plc"
  29. : "$runperl $Mblib $name.plc";
  30. my $result = `$runexe`;
  31. $result =~ s/\n$//;
  32. SKIP: {
  33. # skip "no features on 5.6", 1 if $] < 5.008;
  34. ok($result eq $expected, "issue105 - 5.16 missing import");
  35. }
  36. END {
  37. unlink($name, "$name.plc", "$name.pl")
  38. if $result eq $expected;
  39. }