X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/4a6b0a991a67e6f2f67c03fed43529e078da7115..48580b7729ed54c60acc262d86e12fe547b6b2b5:/tools/tesh/tesh.pl diff --git a/tools/tesh/tesh.pl b/tools/tesh/tesh.pl index 07bd7698be..cb4c46f4e2 100755 --- a/tools/tesh/tesh.pl +++ b/tools/tesh/tesh.pl @@ -177,7 +177,7 @@ by the lexicographical sort. The solution is to prefix each line of your output with temporal information so that lines can be grouped by timestamps. The -lexicographical sort then only applies to lines that occured at the +lexicographical sort then only applies to lines that occurred at the same timestamp. Here is a SimGrid example: # Sort only lines depending on the first 19 chars @@ -370,7 +370,15 @@ sub exec_cmd { ### # exec the command line - my @cmdline = quotewords( '\s+', 0, $cmd{'cmd'} ); + my @cmdline; + if(defined $ENV{VALGRIND_COMMAND}) { + push @cmdline, $ENV{VALGRIND_COMMAND}; + push @cmdline, split(" ", $ENV{VALGRIND_OPTIONS}); + if($cmd{'timeout'} ne 'no'){ + $cmd{'timeout'}=$cmd{'timeout'}*20 + } + } + push @cmdline, quotewords( '\s+', 0, $cmd{'cmd'} ); my $input = defined($cmd{'in'})? join("\n",@{$cmd{'in'}}) : ""; my $output = " " x 10240; $output = ""; # Preallocate 10kB, and reset length to 0 $cmd{'got'} = \$output; @@ -395,7 +403,7 @@ sub analyze_result { eval { finish( $cmd{'job'} ); }; - if ($@) { # deal with the errors that occured in the child process + if ($@) { # deal with the errors that occurred in the child process if ($@ =~ /timeout/) { $cmd{'job'}->kill_kill; $cmd{'timeouted'} = 1; @@ -782,7 +790,7 @@ sub cd_cmd($) { # Command setenv. Gets "variable=content", and update the environment accordingly sub setenv_cmd($) { my $arg = shift; - if ( $arg =~ /^(.*)=(.*)$/ ) { + if ( $arg =~ /^(.*?)=(.*)$/ ) { my ( $var, $ctn ) = ( $1, $2 ); print "[Tesh/INFO] setenv $var=$ctn\n"; $environ{$var} = $ctn;