[svn:parrot] r41368 - trunk/tools/install

fperrad at svn.parrot.org fperrad at svn.parrot.org
Sat Sep 19 19:37:26 UTC 2009


Author: fperrad
Date: Sat Sep 19 19:37:25 2009
New Revision: 41368
URL: https://trac.parrot.org/parrot/changeset/41368

Log:
[languages] chdir to the directory of each language

Modified:
   trunk/tools/install/smoke_languages.pl

Modified: trunk/tools/install/smoke_languages.pl
==============================================================================
--- trunk/tools/install/smoke_languages.pl	Sat Sep 19 19:08:24 2009	(r41367)
+++ trunk/tools/install/smoke_languages.pl	Sat Sep 19 19:37:25 2009	(r41368)
@@ -6,6 +6,7 @@
 use warnings;
 use 5.008;
 
+use Cwd;
 use Getopt::Long;
 use File::Spec::Functions;
 
@@ -58,13 +59,14 @@
 
 $bindir = 'bin' unless $bindir;
 
-chdir $DESTDIR if ($DESTDIR);
+chdir($DESTDIR) if ($DESTDIR);
+my $pwd = getcwd();
 
 my $filename;
 my $exe;
 my $out;
 my $FH;
-my $parrot = catfile($bindir, 'parrot');
+my $parrot = catfile($pwd, $bindir, 'parrot');
 
 $out = `$parrot -V`;
 $out =~ m/version (\S+) built/;
@@ -80,20 +82,22 @@
 
 SKIP:
 {
-skip("abc", 1) unless (-d "$langdir/abc");
+skip("abc", 1) unless (-d "$pwd/$langdir/abc");
+chdir("$pwd/$langdir/abc");
 $filename = 'test.bc';
 open $FH, '>', $filename
         or die "Can't open $filename ($!).\n";
 print $FH "1 + 2\n";
 close $FH;
-$out = `$parrot $langdir/abc/abc.pbc $filename`;
+$out = `$parrot abc.pbc $filename`;
 ok($out eq "3\n", "check abc");
 unlink($filename);
 }
 
 SKIP:
 {
-skip("Befunge", 1) unless (-d "$langdir/befunge");
+skip("Befunge", 1) unless (-d "$pwd/$langdir/befunge");
+chdir("$pwd/$langdir/befunge");
 $filename = 'test.bef';
 open $FH, '>', $filename
         or die "Can't open $filename ($!).\n";
@@ -110,117 +114,127 @@
                  > :8- ^
 CODE
 close $FH;
-$out = `$parrot $langdir/befunge/befunge.pbc $filename`;
+$out = `$parrot befunge.pbc $filename`;
 ok($out eq "If you can see a 4 here ->4 <- then everything is ok!\n", "check befunge");
 unlink($filename);
 }
 
 SKIP:
 {
-skip("bf", 3) unless (-d "$langdir/bf");
-$out = `$parrot $langdir/bf/bf.pbc`;
+skip("bf", 3) unless (-d "$pwd/$langdir/bf");
+chdir("$pwd/$langdir/bf");
+$out = `$parrot bf.pbc`;
 ok($out =~ /^usage/, "check bf");
-$out = `$parrot $langdir/bf/bfc.pbc`;
+$out = `$parrot bfc.pbc`;
 ok($out =~ /^usage/, "check bfc");
-$out = `$parrot $langdir/bf/bfco.pbc`;
+$out = `$parrot bfco.pbc`;
 ok($out =~ /^usage/, "check bfco");
 }
 
 SKIP:
 {
-skip("Cardinal", 1) unless (-d "$langdir/cardinal");
-$out = `$parrot $langdir/cardinal/cardinal.pbc -e "print 'hello world';"`;
+skip("Cardinal", 1) unless (-d "$pwd/$langdir/cardinal");
+chdir("$pwd/$langdir/cardinal");
+$out = `$parrot cardinal.pbc -e "print 'hello world';"`;
 ok($out eq "hello world", "check cardinal");
 }
 
 SKIP:
 {
-skip("ChitChat", 1) unless (-d "$langdir/chitchat");
+skip("ChitChat", 1) unless (-d "$pwd/$langdir/chitchat");
+chdir("$pwd/$langdir/chitchat");
 $filename = 'test.smalltalk';
 open $FH, '>', $filename
         or die "Can't open $filename ($!).\n";
 print $FH "Transcript show: 'Hello, world!'.";
 close $FH;
-$out = `$parrot $langdir/chitchat/chitchat.pbc $filename`;
+$out = `$parrot chitchat.pbc $filename`;
 ok($out eq "Hello, world!\n", "check chitchat");
 unlink($filename);
 }
 
 SKIP:
 {
-skip(".NET", 1) unless (-d "$langdir/dotnet");
-$out = `$parrot $langdir/dotnet/net2pbc.pbc`;
+skip(".NET", 1) unless (-d "$pwd/$langdir/dotnet");
+chdir("$pwd/$langdir/dotnet");
+$out = `$parrot dotnet/net2pbc.pbc`;
 ok($out =~ /^Usage/, "check dotnet");
 }
 
 SKIP:
 {
-skip("EcmaScript", 1) unless (-d "$langdir/ecmascript");
+skip("EcmaScript", 1) unless (-d "$pwd/$langdir/ecmascript");
+chdir("$pwd/$langdir/ecmascript");
 $filename = 'test.js';
 open $FH, '>', $filename
         or die "Can't open $filename ($!).\n";
 print $FH "print(\"Hello World from JS\");";
 close $FH;
-$out = `$parrot $langdir/ecmascript/js.pbc $filename`;
+$out = `$parrot js.pbc $filename`;
 ok($out eq "Hello World from JS\n", "check ecmascript");
 unlink($filename);
 }
 
 SKIP:
 {
-skip("fun", 1) unless (-d "$langdir/fun");
+skip("fun", 1) unless (-d "$pwd/$langdir/fun");
+chdir("$pwd/$langdir/fun");
 $filename = 'test.fun';
 open $FH, '>', $filename
         or die "Can't open $filename ($!).\n";
 print $FH "\"Hello World!\".";
 close $FH;
-$out = `$parrot $langdir/fun/fun.pbc $filename`;
+$out = `$parrot fun.pbc $filename`;
 ok($out eq "Hello World!\n", "check fun");
 unlink($filename);
 }
 
 SKIP:
 {
-skip("gil", 1) unless (-d "$langdir/gil");
+skip("gil", 1) unless (-d "$pwd/$langdir/gil");
+chdir("$pwd/$langdir/gil");
 $filename = 'test.gil';
 open $FH, '>', $filename
         or die "Can't open $filename ($!).\n";
 print $FH q{say('Hello, world!');};
 close $FH;
-$out = `$parrot $langdir/gil/gil.pbc $filename`;
+$out = `$parrot gil.pbc $filename`;
 ok($out eq "Hello, world!\n", "check gil");
 unlink($filename);
 }
 
 SKIP:
 {
-skip("HQ9Plus", 1) unless (-d "$langdir/hq9plus");
+skip("HQ9Plus", 1) unless (-d "$pwd/$langdir/hq9plus");
+chdir("$pwd/$langdir/hq9plus");
 $filename = 'test.HQ9Plus';
 open $FH, '>', $filename
         or die "Can't open $filename ($!).\n";
 print $FH "H";
 close $FH;
-$out = `$parrot $langdir/hq9plus/hq9plus.pbc $filename`;
+$out = `$parrot hq9plus.pbc $filename`;
 ok($out eq "Hello, world!\n", "check HQ9Plus");
 unlink($filename);
 }
 
 SKIP:
 {
-skip("Lisp", 1) unless (-d "$langdir/lisp");
+skip("Lisp", 1) unless (-d "$pwd/$langdir/lisp");
+chdir("$pwd/$langdir/lisp");
 $filename = 'test.l';
 open $FH, '>', $filename
         or die "Can't open $filename ($!).\n";
 print $FH "( print \"Hello, World!\" )\n";
 close $FH;
-$out = `$parrot $langdir/lisp/lisp.pbc $filename`;
+$out = `$parrot lisp.pbc $filename`;
 ok($out eq "Hello, World!\n", "check lisp");
 unlink($filename);
 }
 
 SKIP:
 {
-skip("LOLCODE", 1) unless (-d "$langdir/lolcode");
+skip("LOLCODE", 1) unless (-d "$pwd/$langdir/lolcode");
+chdir("$pwd/$langdir/lolcode");
 $filename = 'test.lolcode';
 open $FH, '>', $filename
         or die "Can't open $filename ($!).\n";
@@ -230,93 +244,101 @@
 KTHXBYE
 CODE
 close $FH;
-$out = `$parrot $langdir/lolcode/lolcode.pbc $filename`;
+$out = `$parrot lolcode.pbc $filename`;
 ok($out eq "HAI WORLD!\n", "check lolcode");
 unlink($filename);
 }
 
 SKIP:
 {
-skip("Lua", 1) unless (-d "$langdir/lua");
-$out = `$parrot $langdir/lua/lua.pbc -e "print(nil)"`;
+skip("Lua", 1) unless (-d "$pwd/$langdir/lua");
+chdir("$pwd/$langdir/lua");
+$out = `$parrot lua.pbc -e "print(nil)"`;
 ok($out eq "nil\n", "check lua");
 }
 
 SKIP:
 {
-skip("m4", 1) unless (-d "$langdir/m4");
-$out = `$parrot $langdir/m4/m4.pbc`;
+skip("m4", 1) unless (-d "$pwd/$langdir/m4");
+chdir("$pwd/$langdir/m4");
+$out = `$parrot m4.pbc`;
 ok($out =~ /^Usage/, "check m4");
 }
 
 SKIP:
 {
-skip("Markdown", 1) unless (-d "$langdir/markdown");
+skip("Markdown", 1) unless (-d "$pwd/$langdir/markdown");
+chdir("$pwd/$langdir/markdown");
 $filename = 'test.text';
 open $FH, '>', $filename
         or die "Can't open $filename ($!).\n";
 print $FH "Hello, World!\n\n";
 close $FH;
-$out = `$parrot $langdir/markdown/markdown.pbc $filename`;
+$out = `$parrot markdown.pbc $filename`;
 ok($out eq "<p>Hello, World!</p>\n", "check markdown");
 unlink($filename);
 }
 
 SKIP:
 {
-skip("matrixy", 1) unless (-d "$langdir/matrixy");
+skip("matrixy", 1) unless (-d "$pwd/$langdir/matrixy");
+chdir("$pwd/$langdir/matrixy");
 $filename = 'test.oct';
 open $FH, '>', $filename
         or die "Can't open $filename ($!).\n";
 print $FH "printf(\"Hello, world!\n\");";
 close $FH;
-$out = `$parrot $langdir/matrixy/matrixy.pbc $filename`;
+$out = `$parrot matrixy.pbc $filename`;
 ok($out eq "Hello, world!\n", "check matrixy");
 unlink($filename);
 }
 
 SKIP:
 {
-skip("Paraplegic", 1) unless (-d "$langdir/paraplegic");
+skip("Paraplegic", 1) unless (-d "$pwd/$langdir/paraplegic");
+chdir("$pwd/$langdir/paraplegic");
 $filename = 'test.apl';
 open $FH, '>', $filename
         or die "Can't open $filename ($!).\n";
 print $FH "\"Hello world!\"";
 close $FH;
-$out = `$parrot $langdir/paraplegic/APL.pbc $filename`;
+$out = `$parrot APL.pbc $filename`;
 ok($out eq "Hello world!\n", "check Paraplegic");
 unlink($filename);
 }
 
 SKIP:
 {
-skip("Pheme", 1) unless (-d "$langdir/pheme");
+skip("Pheme", 1) unless (-d "$pwd/$langdir/pheme");
+chdir("$pwd/$langdir/pheme");
 $filename = 'test.l';
 open $FH, '>', $filename
         or die "Can't open $filename ($!).\n";
 print $FH "( write \"Hello, World!\\n\" )\n";
 close $FH;
-$out = `$parrot $langdir/pheme/pheme.pbc $filename`;
+$out = `$parrot pheme.pbc $filename`;
 ok($out eq "Hello, World!\n", "check pheme");
 unlink($filename);
 }
 
 SKIP:
 {
-skip("Pipp", 1) unless (-d "$langdir/pipp");
+skip("Pipp", 1) unless (-d "$pwd/$langdir/pipp");
+chdir("$pwd/$langdir/pipp");
 $filename = 'test.php';
 open $FH, '>', $filename
         or die "Can't open $filename ($!).\n";
 print $FH "<?php echo \"Hello, World!\\n\"; ?>";
 close $FH;
-$out = `$parrot $langdir/pipp/pipp.pbc $filename`;
+$out = `$parrot pipp.pbc $filename`;
 ok($out eq "Hello, World!\n", "check pipp");
 unlink($filename);
 }
 
 SKIP:
 {
-skip("porcupine", 1) unless (-d "$langdir/porcupine");
+skip("porcupine", 1) unless (-d "$pwd/$langdir/porcupine");
+chdir("$pwd/$langdir/porcupine");
 $filename = 'test.pas';
 open $FH, '>', $filename
         or die "Can't open $filename ($!).\n";
@@ -327,54 +349,58 @@
 end.
 CODE
 close $FH;
-$out = `$parrot $langdir/porcupine/porcupine.pbc $filename`;
+$out = `$parrot porcupine.pbc $filename`;
 ok($out eq "Hello, world!\n", "check porcupine");
 unlink($filename);
 }
 
 SKIP:
 {
-skip("primitivearc", 1) unless (-d "$langdir/primitivearc");
+skip("primitivearc", 1) unless (-d "$pwd/$langdir/primitivearc");
+chdir("$pwd/$langdir/primitivearc");
 $filename = 'test.arc';
 open $FH, '>', $filename
         or die "Can't open $filename ($!).\n";
 print $FH q{"Hello, world!\n"};
 close $FH;
-$out = `$parrot $langdir/primitivearc/primitivearc.pbc $filename`;
+$out = `$parrot primitivearc.pbc $filename`;
 ok($out eq "Hello, world!\n\n", "check primitivearc");
 unlink($filename);
 }
 
 SKIP:
 {
-skip("Punie", 1) unless (-d "$langdir/punie");
+skip("Punie", 1) unless (-d "$pwd/$langdir/punie");
+chdir("$pwd/$langdir/punie");
 $filename = 'test.p1';
 open $FH, '>', $filename
         or die "Can't open $filename ($!).\n";
 print $FH "print \"Hello, World!\";\n";
 close $FH;
-$out = `$parrot $langdir/punie/punie.pbc $filename`;
+$out = `$parrot punie.pbc $filename`;
 ok($out eq "Hello, World!", "check punie");
 unlink($filename);
 }
 
 SKIP:
 {
-skip("Pynie", 1) unless (-d "$langdir/pynie");
+skip("Pynie", 1) unless (-d "$pwd/$langdir/pynie");
+chdir("$pwd/$langdir/pynie");
 $filename = 'test.py';
 open $FH, '>', $filename
         or die "Can't open $filename ($!).\n";
 print $FH "print('Hello, World!')\n";
 close $FH;
-$out = `$parrot $langdir/pynie/pynie.pbc $filename`;
+$out = `$parrot pynie.pbc $filename`;
 ok($out eq "Hello, World!\n", "check pynie");
 unlink($filename);
 }
 
 SKIP:
 {
-skip("Rakudo", 2) unless (-d "$langdir/rakudo");
-$out = `$parrot $langdir/rakudo/perl6.pbc -e "say 'hello world'"`;
+skip("Rakudo", 2) unless (-d "$pwd/$langdir/rakudo");
+chdir("$pwd/$langdir/rakudo");
+$out = `$parrot perl6.pbc -e "say 'hello world'"`;
 ok($out eq "hello world\n", "check rakudo");
 
 skip("perl6 executable", 1) if ($bindir eq '.');
@@ -385,7 +411,8 @@
 
 SKIP:
 {
-skip("Shakespeare", 1) unless (-d "$langdir/shakespeare");
+skip("Shakespeare", 1) unless (-d "$pwd/$langdir/shakespeare");
+chdir("$pwd/$langdir/shakespeare");
 $filename = 'test.spl';
 open $FH, '>', $filename
         or die "Can't open $filename ($!).\n";
@@ -482,40 +509,43 @@
 
 CODE
 close $FH;
-$out = `$parrot $langdir/shakespeare/shakespeare.pbc $filename`;
+$out = `$parrot shakespeare.pbc $filename`;
 ok($out eq "Hello World!\n", "check shakespeare");
 unlink($filename);
 }
 
 SKIP:
 {
-skip("steme", 1) unless (-d "$langdir/steme");
+skip("steme", 1) unless (-d "$pwd/$langdir/steme");
+chdir("$pwd/$langdir/steme");
 $filename = 'test.scm';
 open $FH, '>', $filename
         or die "Can't open $filename ($!).\n";
 print $FH "( say \"Hello, World!\" )\n";
 close $FH;
-$out = `$parrot $langdir/steme/steme.pbc $filename`;
+$out = `$parrot steme.pbc $filename`;
 ok($out eq "Hello, World!\n", "check steme");
 unlink($filename);
 }
 
 SKIP:
 {
-skip("Squaak", 1) unless (-d "$langdir/squaak");
+skip("Squaak", 1) unless (-d "$pwd/$langdir/squaak");
+chdir("$pwd/$langdir/squaak");
 $filename = 'test.squaak';
 open $FH, '>', $filename
         or die "Can't open $filename ($!).\n";
 print $FH "print(\"Hello, World!\")\n";
 close $FH;
-$out = `$parrot $langdir/squaak/squaak.pbc $filename`;
+$out = `$parrot squaak.pbc $filename`;
 ok($out eq "Hello, World!\n", "check squaak");
 unlink($filename);
 }
 
 SKIP:
 {
-skip("unlambda", 1) unless (-d "$langdir/unlambda");
+skip("unlambda", 1) unless (-d "$pwd/$langdir/unlambda");
+chdir("$pwd/$langdir/unlambda");
 $filename = 'test.unl';
 open $FH, '>', $filename
         or die "Can't open $filename ($!).\n";
@@ -524,15 +554,16 @@
 `r```````````.H.e.l.l.o. .w.o.r.l.di
 CODE
 close $FH;
-$out = `$parrot $langdir/unlambda/unl.pbc $filename`;
+$out = `$parrot unl.pbc $filename`;
 ok($out eq "Hello world\n", "check unlambda");
 unlink($filename);
 }
 
 SKIP:
 {
-skip("WMLScript", 1) unless (-d "$langdir/wmlscript");
+skip("WMLScript", 1) unless (-d "$pwd/$langdir/wmlscript");
 skip("WMLScript, not wmlsc", 1) unless (`wmlsc -h` =~ /wmlsc/);
+chdir("$pwd/$langdir/wmlscript");
 
 $filename = 'test.wmls';
 open $FH, '>', $filename
@@ -545,7 +576,7 @@
 CODE
 close $FH;
 `wmlsc $filename`;
-$out = `$parrot $langdir/wmlscript/wmlsi.pbc ${filename}c main`;
+$out = `$parrot wmlsi.pbc ${filename}c main`;
 ok($out eq "Hello World!\n", "check wmlscript");
 unlink($filename);
 unlink($filename . 'c');


More information about the parrot-commits mailing list