my $path = $0;
my $OS;
my $enable_coverage=0;
+my $sort_prefix = 19;
my $tesh_file;
my $tesh_name;
my $error=0;
if ($cmd{'sort'}){
sub mysort{
- $a cmp $b
+ substr($a, 0, $sort_prefix) cmp substr($b, 0, $sort_prefix)
}
- use sort qw(defaults _quicksort); # force quicksort
+ use sort 'stable';
@got = sort mysort @got;
+ while (@got and $got[0] eq "") {
+ shift @got;
+ }
+
#also resort the other one, as perl sort is not the same as the C one used to generate teshes
if(defined($cmd{'out'})){
@{$cmd{'out'}}=sort mysort @{$cmd{'out'}};
+ while (@{$cmd{'out'}} and ${$cmd{'out'}}[0] eq "") {
+ shift @{$cmd{'out'}};
+ }
}
}
%cmd = ();
}
$cmd{'sort'} = 1;
+ if ($line =~ /^!\s*output sort\s+(\d+)/) {
+ $sort_prefix = $1;
+ }
}
elsif($line =~ /^!\s*output ignore/){ #output ignore
if (defined($cmd{'cmd'})) {
$line =~ s/\r//g;
setenv_cmd($line);
}
- elsif($line =~ /^!\s*include/){ #output sort
+ elsif($line =~ /^!\s*include/){ #include
if (defined($cmd{'cmd'})) {
exec_cmd(\%cmd);
%cmd = ();