diff options
author | Heiko Schlittermann (HS12-RIPE) <hs@schlittermann.de> | 2019-11-16 21:37:00 +0800 |
---|---|---|
committer | Heiko Schlittermann (HS12-RIPE) <hs@schlittermann.de> | 2019-11-17 08:07:11 +0800 |
commit | 3b90b1d1cde55d00590193db15fd6c7dd87f34c8 (patch) | |
tree | 7b076d6ab90db1f84051ca25091b4982900f1a50 | |
parent | 90d0db05230b351bc6252f2b64df2e8966e6a203 (diff) |
Testsuite: better sorting for exim_dumpdb outputexim-4.93-RC3
-rwxr-xr-x | test/runtest | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/test/runtest b/test/runtest index d41e3c913..e8a3e8e85 100755 --- a/test/runtest +++ b/test/runtest @@ -2168,16 +2168,15 @@ if (/^dump\s+(\S+)/) if ($which eq "retry") { - $/ = "\n "; - @temp = <IN>; - $/ = "\n"; - - @temp = sort { - my($aa) = split(' ', $a); - my($bb) = split(' ', $b); - return $aa cmp $bb; - } @temp; - + # the sort key is the first part of the retry db dump line, but for + # sorting we (temporarly) replace the own hosts ipv4 with a munged + # version, which matches the munging that is done later + # Why? We must ensure sure, that 127.0.0.1 always sorts first + # map-sort-map: Schwartz's transformation + my @temp = map { $_->[1] } + sort { $a->[0] cmp $b->[0] } + map { [ (split)[0] =~ s/\Q$parm_ipv4/ip4.ip4.ip4.ip4/gr, $_ ] } + do { local $/ = "\n "; <$in> }; foreach $item (@temp) { $item =~ s/^\s*(.*)\n(.*)\n?\s*$/$1\n$2/m; |