From 54c705e70b28a8c073993c4d4b45bbddcbaec0c8 Mon Sep 17 00:00:00 2001 From: "kestes%walrus.com" Date: Wed, 1 May 2002 04:12:31 +0000 Subject: [PATCH] add better error reporting when tinderbox mail gets bounced. --- .../tinderbox2/src/bin/processmail_builds | 6 +++--- webtools/tinderbox2/src/lib/MailProcess.pm | 8 +++++--- webtools/tinderbox2/src/lib/Utils.pm | 19 +++++++++++++++++-- 3 files changed, 25 insertions(+), 8 deletions(-) diff --git a/webtools/tinderbox2/src/bin/processmail_builds b/webtools/tinderbox2/src/bin/processmail_builds index d088b7cf8bc2..8d181045e1e9 100755 --- a/webtools/tinderbox2/src/bin/processmail_builds +++ b/webtools/tinderbox2/src/bin/processmail_builds @@ -12,8 +12,8 @@ # server. No locks are used by the mail processes, data is passed to # the tinderbox server in a maildir like format. -# $Revision: 1.21 $ -# $Date: 2002/05/01 01:53:50 $ +# $Revision: 1.22 $ +# $Date: 2002/05/01 04:12:31 $ # $Author: kestes%walrus.com $ # $Source: /home/hwine/cvs_conversion/cvsroot/mozilla/webtools/tinderbox2/src/bin/processmail_builds,v $ # $Name: $ @@ -1156,7 +1156,7 @@ sub assemble_files { $SIG{'__DIE__'} = \&MailProcess::fatal_mailprocessing_error; %MAIL_HEADER = MailProcess::parse_mail_header(); - %TINDERBOX = MailProcess::parse_tinderbox_vars(); + %TINDERBOX = MailProcess::parse_tinderbox_vars( main::hash2string(%MAIL_HEADER) ); @DATE_FIELDS = qw(builddate starttime timenow); fix_tinderboxvar_time_format(); diff --git a/webtools/tinderbox2/src/lib/MailProcess.pm b/webtools/tinderbox2/src/lib/MailProcess.pm index ae1b3cd8a379..a99284bb17ab 100644 --- a/webtools/tinderbox2/src/lib/MailProcess.pm +++ b/webtools/tinderbox2/src/lib/MailProcess.pm @@ -4,8 +4,8 @@ # mailprocessing program. -# $Revision: 1.10 $ -# $Date: 2001/10/10 15:08:24 $ +# $Revision: 1.11 $ +# $Date: 2002/05/01 04:12:29 $ # $Author: kestes%walrus.com $ # $Source: /home/hwine/cvs_conversion/cvsroot/mozilla/webtools/tinderbox2/src/lib/MailProcess.pm,v $ # $Name: $ @@ -170,6 +170,7 @@ sub parse_mail_header { sub parse_tinderbox_vars { + my $error_context = @_; # Ignore all lines in the mail till we find the tinderbox lines, so # the lines we want should be at the top of the mail. We ignore the @@ -227,7 +228,8 @@ sub parse_tinderbox_vars { # bounce the mail message - die("No Tinderbox variables found in message.\n"); + die("No Tinderbox variables found in message.\n". + "$error_context\n"); } diff --git a/webtools/tinderbox2/src/lib/Utils.pm b/webtools/tinderbox2/src/lib/Utils.pm index 4a8dc56ba52a..5c603212d44d 100755 --- a/webtools/tinderbox2/src/lib/Utils.pm +++ b/webtools/tinderbox2/src/lib/Utils.pm @@ -3,8 +3,8 @@ # Utils.pm - General purpose utility functions. Every project needs a # kludge bucket for common access. -# $Revision: 1.28 $ -# $Date: 2002/04/24 04:00:40 $ +# $Revision: 1.29 $ +# $Date: 2002/05/01 04:12:29 $ # $Author: kestes%walrus.com $ # $Source: /home/hwine/cvs_conversion/cvsroot/mozilla/webtools/tinderbox2/src/lib/Utils.pm,v $ # $Name: $ @@ -513,6 +513,21 @@ sub uniq { return @out; } +# given a hash return a string suitable for printing. + +sub hash2string { + my (%hash) = @_; + my (@keys) = sort keys %hash; + my $str; + + foreach $key (@keys) { + $str .= "\t$key=$hash{$key}\n"; + } + + return $str +} + + # load a list of modules sub require_modules {