# New Ticket Created by  François PERRAD 
# Please include the string:  [perl #36862]
# in the subject line of all future correspondence about this issue. 
# <URL: https://rt.perl.org/rt3/Ticket/Display.html?id=36862 >


*nix utilities are not available on Win32.
But Perl allows to write portable test.

m4/t/freezing/001_freeze.t
        cat --> perl -MExtUtils::Command -e cat
        rm ->  perl -MExtUtils::Command -e rm_f
m4/t/builtins/010_sysval.t
        true -> perl -e exit(0)
        false -> perl -e exit(1)

François Perrad.
svn diff
Index: languages/m4/t/freezing/001_freeze.t
===================================================================
--- languages/m4/t/freezing/001_freeze.t        (revision 8911)
+++ languages/m4/t/freezing/001_freeze.t        (working copy)
@@ -7,11 +7,14 @@
 use Parrot::Config;
 use Test::More tests => 1;

my $parrot_m4 = "cd .. && .$PConfig{slash_exec}parrot$PConfig{exe} 
languages/m4/m4.pbc";
+my $cat = "$PConfig{perl} -MExtUtils::Command -e cat";
+my $rm = "$PConfig{perl} -MExtUtils::Command -e rm_f";

-
 #--------------------------------------------
-my $real_out = `$parrot_m4 
--reload-state=languages/m4/examples/only_builtin.frozen 
--freeze-state=languages/m4/examples/hello.frozen 
languages/m4/examples/hello.m4; cat languages/m4/examples/hello.frozen; rm 
languages/m4/examples/hello.frozen`;
+my $real_out = `$parrot_m4 
--reload-state=languages/m4/examples/only_builtin.frozen 
--freeze-state=languages/m4/examples/hello.frozen 
languages/m4/examples/hello.m4`;
+$real_out   .= `$cat m4/examples/hello.frozen`;
+$real_out   .= `$rm m4/examples/hello.frozen`;
 is( $real_out, << 'END_OUT', '1 file' );
 Hello
 T8,8
Index: languages/m4/t/builtins/010_sysval.t
===================================================================
--- languages/m4/t/builtins/010_sysval.t        (revision 8911)
+++ languages/m4/t/builtins/010_sysval.t        (working copy)
@@ -4,14 +4,17 @@
 use FindBin;
 use lib "$FindBin::Bin/../../lib", "$FindBin::Bin/../../../../lib";

+use Parrot::Config;
 use Parrot::Test tests => 1 + 1;

+my $true = "$PConfig{perl} -e exit(0)";
+my $false = "$PConfig{perl} -e exit(1)";
+
 SKIP:
 {
-  skip( "`false' not available on $^O", 1 ) if ($^O =~ /MSWin32/);
   skip( "difference between running a process in a fork, or with system()", 1 
);
   language_output_is( 'm4', <<'CODE', <<'OUT', 'output of "false"' );
-syscmd(`false')
+syscmd(`$false`)
 sysval()
 CODE

@@ -20,10 +23,8 @@
 }

 {
-  skip( "`true' not available on $^O", 1 ) if ($^O =~ /MSWin32/);
-
   language_output_is( 'm4', <<'CODE', <<'OUT', 'output of "true"' );
-syscmd(`true')
+syscmd(`$true`)
 sysval()
 CODE

Reply via email to