From f675bf30a2ce6242cfc7c3e3997ec5d68a1fca7a Mon Sep 17 00:00:00 2001 From: Jeremy Harris Date: Tue, 15 May 2012 00:06:18 +0100 Subject: [PATCH] Testsuite: fix problem with parsing retry records spanning midnight. --- test/runtest | 21 +++++++++++++++++---- test/stdout/5100 | 2 +- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/test/runtest b/test/runtest index a8016cc94..5f77e6256 100755 --- a/test/runtest +++ b/test/runtest @@ -18,6 +18,7 @@ require Cwd; use Errno; use FileHandle; use Socket; +use Time::Local; # Start by initializing some global variables @@ -210,14 +211,26 @@ return $newid; } -# This is used while munging the output from exim_dumpdb. We cheat by assuming -# that the date always the same, and just return the number of seconds since -# midnight. +# This is used while munging the output from exim_dumpdb. +# May go wrong across DST changes. sub date_seconds { my($day,$month,$year,$hour,$min,$sec) = $_[0] =~ /^(\d\d)-(\w\w\w)-(\d{4})\s(\d\d):(\d\d):(\d\d)/; -return $hour * 60 * 60 + $min * 60 + $sec; +my($mon); +if ($month =~ /Jan/) {$mon = 0;} +elsif($month =~ /Feb/) {$mon = 1;} +elsif($month =~ /Mar/) {$mon = 2;} +elsif($month =~ /Apr/) {$mon = 3;} +elsif($month =~ /May/) {$mon = 4;} +elsif($month =~ /Jun/) {$mon = 5;} +elsif($month =~ /Jul/) {$mon = 6;} +elsif($month =~ /Aug/) {$mon = 7;} +elsif($month =~ /Sep/) {$mon = 8;} +elsif($month =~ /Oct/) {$mon = 9;} +elsif($month =~ /Nov/) {$mon = 10;} +elsif($month =~ /Dec/) {$mon = 11;} +return timelocal($sec,$min,$hour,$day,$mon,$year); } diff --git a/test/stdout/5100 b/test/stdout/5100 index cf3412153..eff877af5 100644 --- a/test/stdout/5100 +++ b/test/stdout/5100 @@ -1,5 +1,5 @@ +++++++++++++++++++++++++++ T:jack@myhost.test.ex -46 12800 LMTP error after end of data: 450 Number 2 is now delayed -first failed = time last try = time2 next try = time2 + 0 +first failed = time last try = time2 next try = time2 + 86400 T:tom@myhost.test.ex -44 12800 LMTP error after RCPT TO:: 450 This one is delayed on RCPT first failed = time last try = time2 next try = time2 + 60 -- 2.25.1