maint: make output of 'gen-testsuite-part' deterministic
authorStefano Lattarini <stefano.lattarini@gmail.com>
Mon, 22 Dec 2014 11:39:05 +0000 (12:39 +0100)
committerStefano Lattarini <stefano.lattarini@gmail.com>
Mon, 22 Dec 2014 12:35:33 +0000 (13:35 +0100)
So that diffs displayed by the 'compare-autodiffs' target are
less spurious and more useful.

* gen-testsuite-part: Sort keys of %deps_extractor, %wrapper_setups
and %depmodes before iterating on them.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
gen-testsuite-part

index 3bd5c9f015824145bbbfabb6cd754597531e13c8..32158bac25761734ab0e8fa030ead1675b0debfb 100755 (executable)
@@ -297,8 +297,9 @@ foreach my $test (@all_tests)
     $wrapper_setups{$test} = \@setups if @setups;
   }
 # And now create all the wrapper tests.
-while (my ($wrapped_test, $setup_list) = each %wrapper_setups)
+for my $wrapped_test (sort keys %wrapper_setups)
   {
+    my $setup_list = $wrapper_setups{$wrapped_test};
     (my $base = $wrapped_test) =~ s/\.([^.]*)$//;
     my $suf = $1 or die "$me: test '$wrapped_test' lacks a suffix\n";
     my $count = 0;
@@ -359,7 +360,7 @@ my %depmodes =
 
 foreach my $lt (TRUE, FALSE)
   {
-    foreach my $m (keys %depmodes)
+    foreach my $m (sort keys %depmodes)
       {
         my $planned = ($lt && $m eq "auto") ? 84 : 28;
         my @required =
@@ -414,8 +415,9 @@ print <<EOF;
 
 EOF
 
-while (my ($k, $x) = each %deps_extractor)
+for my $k (sort keys %deps_extractor)
   {
+    my $x = $deps_extractor{$k};
     my $dist_prereqs = $x->{dist_prereqs} || "";
     my $nodist_prereqs = $x->{nodist_prereqs} || "";
     my @tests = grep { line_match $x->{line_matcher}, $_ } @all_tests;