Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
This line make test failed.
[simgrid.git] / buildtools / Cmake / tesh.pl
index 0e63b59..28296d6 100755 (executable)
@@ -13,20 +13,27 @@ tesh -- testing shell
 B<tesh> [I<options>] I<tesh_file>
 
 =cut
-
+my($bindir);
+my($srcdir);
 my $path = $0;
 $path =~ s|[^/]*$||;
 push @INC,$path;
 
-use Pod::Usage qw(pod2usage);
 use Getopt::Long qw(GetOptions);
 use strict;
 use Term::ANSIColor;
 use IPC::Open3;
 
+my($OS)=`echo %OS%`;
+if($OS eq "%OS%"){
+       $OS = "UNIX";
+}
+else{
+       $OS = "WIN";
+}
 
 # make sure we received a tesh file
-scalar @ARGV > 0 || pod2usage(-exitval => 1);
+scalar @ARGV > 0 || die "Usage:\n    tesh [*options*] *tesh_file*\n";
 
 #Add current directory to path
 $ENV{PATH} = "$ENV{PATH}:.";
@@ -52,9 +59,22 @@ sub cd_cmd {
 sub setenv_cmd {
     if ($_[1] =~ /^(.*)=(.*)$/) {
        my($var,$ctn)=($1,$2);
-       $ENV{$var} = $ctn;
-       print "[Tesh/INFO] setenv $var=$ctn\n";
-    } else { 
+       
+       if($var =~ /bindir/){
+               print "[Tesh/INFO] setenv $var=$ctn\n";
+               $bindir = $ctn;
+       }
+       else
+       {
+               if($var =~ /srcdir/){
+                       $srcdir = $ctn;
+               }
+               else{
+                       $ENV{$var} = $ctn;
+                       print "[Tesh/INFO] setenv $var=$ctn\n";
+               }
+       }       
+       } else { 
        die "[Tesh/CRITICAL] Malformed argument to setenv: expected 'name=value' but got '$_[1]'\n";
     }
 }
@@ -153,7 +173,18 @@ sub exec_cmd {
     }
 
     # cleanup the command line
-    $cmd{'cmd'} =~ s/\${EXEEXT:=}//g;
+    if($OS eq "WIN"){
+               $cmd{'cmd'} =~ s/\${EXEEXT:=}/.exe/g;
+       }
+       else{
+               $cmd{'cmd'} =~ s/\${EXEEXT:=}//g;
+       }
+    $cmd{'cmd'} =~ s/\${bindir:=}/$bindir/g;
+    $cmd{'cmd'} =~ s/\${srcdir:=}/$srcdir/g;
+    $cmd{'cmd'} =~ s/\${bindir:=.}/$bindir/g;
+    $cmd{'cmd'} =~ s/\${srcdir:=.}/$srcdir/g;
+    $cmd{'cmd'} =~ s/\${bindir}/$bindir/g;
+    $cmd{'cmd'} =~ s/\${srcdir}/$srcdir/g;
     $cmd{'cmd'} =~ s|^\./||g;
 #    $cmd{'cmd'} =~ s|tesh|tesh.pl|g;
     $cmd{'cmd'} =~ s/\(%i:%P@%h\)/\\\(%i:%P@%h\\\)/g;
@@ -185,7 +216,7 @@ sub exec_cmd {
     my @got;
     while(defined(my $got=<OUT>)) {
        $got =~ s/\r//g;
-       $got =~ s/^( )*//g;
+       #$got =~ s/^( )*//g;
        chomp $got;
        push @got, "$got";
     }