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
my @cmdline;
if(defined $ENV{VALGRIND_COMMAND}) {
push @cmdline, $ENV{VALGRIND_COMMAND};
- push @cmdline, split(" ", $ENV{VALGRIND_COMMAND_OPTIONS});
+ push @cmdline, split(" ", $ENV{VALGRIND_OPTIONS});
if($cmd{'timeout'} ne 'no'){
$cmd{'timeout'}=$cmd{'timeout'}*20
}
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;
# 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;