X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;ds=inline;f=test%2Fruntest;h=59f61c6a6fb5b0bf5bdc6bc91caae25b3503d2fe;hb=e51462229029e40afa0932dd9c6337192a0dc70b;hp=ac840379c90ea063095eafcf873394acf35622f2;hpb=b402f29499e9790419ff4dc8bb3462552e98e827;p=user%2Fhenk%2Fcode%2Fexim.git diff --git a/test/runtest b/test/runtest index ac840379c..59f61c6a6 100755 --- a/test/runtest +++ b/test/runtest @@ -1522,7 +1522,7 @@ $munges = 'rejectlog' => 's/^(.* SMTP protocol synchronization error .* next input=.{8}).*$/$1/'}, 'debuglog_stdout' => - { 'stdout' => 's/^\d\d:\d\d:\d\d\s+\d+ //; + { 'stdout' => 's/^[ .]*\d\d:\d\d:\d\d\s+\d+ //; s/Process \d+ is ready for new message/Process pppp is ready for new message/' }, @@ -2266,22 +2266,20 @@ elsif (/^((?i:[A-Z\d_]+=\S+\s+)+)?(\d+)?\s*(sudo(?:\s+-u\s+(\w+))?\s+)?exim(_\S+ if ($args =~ /\$msg/) { - my($listcmd) = "$parm_cwd/eximdir/exim -bp " . - "-DEXIM_PATH=$parm_cwd/eximdir/exim " . - "-C $parm_cwd/test-config |"; - print ">> Getting queue list from:\n>> $listcmd\n" if ($debug); - open (QLIST, $listcmd) || tests_exit(-1, "Couldn't run \"exim -bp\": $!\n"); - my(@msglist) = (); - while () { push (@msglist, $1) if /^\s*\d+[smhdw]\s+\S+\s+(\S+)/; } - close(QLIST); + my @listcmd = ("$parm_cwd/eximdir/exim", '-bp', + "-DEXIM_PATH=$parm_cwd/eximdir/exim", + -C => "$parm_cwd/test-config"); + print ">> Getting queue list from:\n>> @listcmd\n" if $debug; # We need the message ids sorted in ascending order. # Message id is: --. On some systems (*BSD) the # PIDs are randomized, so sorting just the whole PID doesn't work. # We do the Schartz' transformation here (sort on # ). Thanks to Kirill Miazine - @msglist = map { $_->[0] } - sort { $a->[1] cmp $b->[1] } - map { [$_, join '', (split '-', $_)[0,2]] } @msglist; + my @msglist = + map { $_->[1] } # extract the values + sort { $a->[0] cmp $b->[0] } # sort by key + map { [join('.' => (split /-/, $_)[0,2]) => $_] } # key (timestamp.fractional-time) => value(message_id) + map { /^\s*\d+[smhdw]\s+\S+\s+(\S+)/ } `@listcmd` or tests_exit(-1, "No output from `exim -bp` (@listcmd)\n"); # Done backwards just in case there are more than 9