Gitweb:
http://git.exim.org/exim.git/commitdiff/f675bf30a2ce6242cfc7c3e3997ec5d68a1fca7a
Commit: f675bf30a2ce6242cfc7c3e3997ec5d68a1fca7a
Parent: 8fd715e80d7848fa463f06951a42967bd7123756
Author: Jeremy Harris <jgh146exb@???>
AuthorDate: Tue May 15 00:06:18 2012 +0100
Committer: Jeremy Harris <jgh146exb@???>
CommitDate: Tue May 15 00:06:18 2012 +0100
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 a8016cc..5f77e62 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 cf34121..eff877a 100644
--- a/test/stdout/5100
+++ b/test/stdout/5100
@@ -1,5 +1,5 @@
+++++++++++++++++++++++++++
T:jack@??? -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@??? -44 12800 LMTP error after RCPT TO:<tom@???>: 450 This one is delayed on RCPT
first failed = time last try = time2 next try = time2 + 60