X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/926f866bd5d08f749df619f78ef2ed77a5cddea7..2a283885f92b85ae047ff92372b5fb1df1f9ef9c:/buildtools/Cmake/tesh.pl diff --git a/buildtools/Cmake/tesh.pl b/buildtools/Cmake/tesh.pl index 0e63b590c6..28296d6a32 100755 --- a/buildtools/Cmake/tesh.pl +++ b/buildtools/Cmake/tesh.pl @@ -13,20 +13,27 @@ tesh -- testing shell B [I] I =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=)) { $got =~ s/\r//g; - $got =~ s/^( )*//g; + #$got =~ s/^( )*//g; chomp $got; push @got, "$got"; }