[PATCH 1/5] testbot/WineSendlog: Use a lexical file handle for the sendmail pipe.
Francois Gouget
fgouget at codeweavers.com
Tue Jul 17 09:41:43 CDT 2018
Lexical file handles are much simpler to pass around (and generally much
cleaner).
Also standardize on the 3-parameter open() form.
Signed-off-by: Francois Gouget <fgouget at codeweavers.com>
---
Some cleanup patches before the big ones.
Having a lexical file handle will come in handy soon. Also, all the
other regular file handles will disappear soon so there is no point
messing with them.
testbot/bin/WineSendLog.pl | 87 +++++++++++++++++++-------------------
1 file changed, 44 insertions(+), 43 deletions(-)
diff --git a/testbot/bin/WineSendLog.pl b/testbot/bin/WineSendLog.pl
index ac14e11dc..9ed83367b 100755
--- a/testbot/bin/WineSendLog.pl
+++ b/testbot/bin/WineSendLog.pl
@@ -221,29 +221,30 @@ sub SendLog($)
#
Debug("-------------------- Developer email --------------------\n");
+ my $Sendmail;
if ($Debug)
{
- open(SENDMAIL, ">>&=", 1);
+ open($Sendmail, ">>&=", 1);
}
else
{
- open (SENDMAIL, "|/usr/sbin/sendmail -oi -t -odq");
+ open($Sendmail, "|-", "/usr/sbin/sendmail -oi -t -odq");
}
- print SENDMAIL "From: $RobotEMail\n";
- print SENDMAIL "To: $To\n";
+ print $Sendmail "From: $RobotEMail\n";
+ print $Sendmail "To: $To\n";
my $Subject = "TestBot job " . $Job->Id . " results";
my $Description = $Job->GetDescription();
if ($Description)
{
$Subject .= ": " . $Description;
}
- print SENDMAIL "Subject: $Subject\n";
+ print $Sendmail "Subject: $Subject\n";
if ($Job->Patch and $Job->Patch->MessageId)
{
- print SENDMAIL "In-Reply-To: ", $Job->Patch->MessageId, "\n";
- print SENDMAIL "References: ", $Job->Patch->MessageId, "\n";
+ print $Sendmail "In-Reply-To: ", $Job->Patch->MessageId, "\n";
+ print $Sendmail "References: ", $Job->Patch->MessageId, "\n";
}
- print SENDMAIL <<"EOF";
+ print $Sendmail <<"EOF";
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="$PART_BOUNDARY"
@@ -263,8 +264,8 @@ EOF
{
$TestFailures = "";
}
- printf SENDMAIL "%-20s %-9s %s\n", $StepTask->VM->Name, $StepTask->Status,
- $TestFailures;
+ printf $Sendmail "%-20s %-9s %s\n", $StepTask->VM->Name, $StepTask->Status,
+ $TestFailures;
}
# Print the job summary
@@ -274,7 +275,7 @@ EOF
my $StepTask = $StepsTasks->GetItem($Key);
my $TaskDir = $StepTask->GetTaskDir();
- print SENDMAIL "\n=== ", $StepTask->GetTitle(), " ===\n";
+ print $Sendmail "\n=== ", $StepTask->GetTitle(), " ===\n";
my $LogFiles = GetLogFileNames($TaskDir);
my $LogName = $LogFiles->[0] || "log";
@@ -298,16 +299,16 @@ EOF
{
if ($PrintedDll ne $CurrentDll)
{
- print SENDMAIL "\n$CurrentDll:\n";
+ print $Sendmail "\n$CurrentDll:\n";
$PrintedDll = $CurrentDll;
}
if ($Line =~ m/^[^:]+:([^ ]+)(?::[0-9a-f]+)? done \(258\)/)
{
- print SENDMAIL "$1: The test timed out\n";
+ print $Sendmail "$1: The test timed out\n";
}
else
{
- print SENDMAIL "$Line\n";
+ print $Sendmail "$Line\n";
}
$PrintedSomething = 1;
}
@@ -321,12 +322,12 @@ EOF
{
if ($First)
{
- print SENDMAIL "\n";
+ print $Sendmail "\n";
$First = !1;
}
$HasLogEntries = 1;
$Line =~ s/\s*$//;
- print SENDMAIL "$Line\n";
+ print $Sendmail "$Line\n";
$PrintedSomething = 1;
}
close ERRFILE;
@@ -336,15 +337,15 @@ EOF
{
if (! $HasLogEntries)
{
- print SENDMAIL "Empty test log and no error message\n";
+ print $Sendmail "Empty test log and no error message\n";
}
elsif ($StepTask->Type eq "build")
{
- print SENDMAIL "No build failures found\n";
+ print $Sendmail "No build failures found\n";
}
else
{
- print SENDMAIL "No test failures found\n";
+ print $Sendmail "No test failures found\n";
}
}
else
@@ -360,12 +361,12 @@ EOF
{
$HasErrEntries = 1;
$Line =~ s/\s*$//;
- print SENDMAIL "$Line\n";
+ print $Sendmail "$Line\n";
}
close ERRFILE;
if (! $HasErrEntries)
{
- print SENDMAIL "No test log and no error message";
+ print $Sendmail "No test log and no error message";
}
else
{
@@ -380,15 +381,15 @@ EOF
my $StepTask = $StepsTasks->GetItem($Key);
my $TaskDir = $StepTask->GetTaskDir();
- print SENDMAIL <<"EOF";
+ print $Sendmail <<"EOF";
--$PART_BOUNDARY
Content-Type: text/plain; charset="UTF-8"
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
EOF
- print SENDMAIL "Content-Disposition: attachment; filename=",
- $StepTask->VM->Name, ".log\n\n";
- print SENDMAIL "Not dumping logs in debug mode\n" if ($Debug);
+ print $Sendmail "Content-Disposition: attachment; filename=",
+ $StepTask->VM->Name, ".log\n\n";
+ print $Sendmail "Not dumping logs in debug mode\n" if ($Debug);
my $LogFiles = GetLogFileNames($TaskDir);
my $LogName = $LogFiles->[0] || "log";
@@ -399,7 +400,7 @@ EOF
while (defined($Line = <LOGFILE>))
{
$Line =~ s/\s*$//;
- print SENDMAIL "$Line\n" if (!$Debug);
+ print $Sendmail "$Line\n" if (!$Debug);
$PrintSeparator = 1;
}
close LOGFILE;
@@ -412,18 +413,18 @@ EOF
{
if ($PrintSeparator)
{
- print SENDMAIL "\n" if (!$Debug);
+ print $Sendmail "\n" if (!$Debug);
$PrintSeparator = !1;
}
$Line =~ s/\s*$//;
- print SENDMAIL "$Line\n" if (!$Debug);
+ print $Sendmail "$Line\n" if (!$Debug);
}
close ERRFILE;
}
}
- print SENDMAIL "--$PART_BOUNDARY--\n";
- close(SENDMAIL);
+ print $Sendmail "--$PART_BOUNDARY--\n";
+ close($Sendmail);
# This is all for jobs submitted from the website
if (!defined $Job->Patch)
@@ -506,22 +507,22 @@ EOF
{
if ($Debug)
{
- open(SENDMAIL, ">>&=", 1);
+ open($Sendmail, ">>&=", 1);
}
else
{
- open (SENDMAIL, "|/usr/sbin/sendmail -oi -t -odq");
+ open($Sendmail, "|-", "/usr/sbin/sendmail -oi -t -odq");
}
- print SENDMAIL "From: $RobotEMail\n";
- print SENDMAIL "To: $To\n";
- print SENDMAIL "Cc: $WinePatchCc\n";
- print SENDMAIL "Subject: Re: ", $Job->Patch->Subject, "\n";
+ print $Sendmail "From: $RobotEMail\n";
+ print $Sendmail "To: $To\n";
+ print $Sendmail "Cc: $WinePatchCc\n";
+ print $Sendmail "Subject: Re: ", $Job->Patch->Subject, "\n";
if ($Job->Patch->MessageId)
{
- print SENDMAIL "In-Reply-To: ", $Job->Patch->MessageId, "\n";
- print SENDMAIL "References: ", $Job->Patch->MessageId, "\n";
+ print $Sendmail "In-Reply-To: ", $Job->Patch->MessageId, "\n";
+ print $Sendmail "References: ", $Job->Patch->MessageId, "\n";
}
- print SENDMAIL <<"EOF";
+ print $Sendmail <<"EOF";
Hi,
@@ -530,12 +531,12 @@ Being a bot and all I'm not very good at pattern recognition, so I might be
wrong, but could you please double-check?
Full results can be found at
EOF
- print SENDMAIL "$WebSite/JobDetails.pl?Key=",
+ print $Sendmail "$WebSite/JobDetails.pl?Key=",
$Job->GetKey(), "\n\n";
- print SENDMAIL "Your paranoid android.\n\n";
+ print $Sendmail "Your paranoid android.\n\n";
- print SENDMAIL $Messages;
- close SENDMAIL;
+ print $Sendmail $Messages;
+ close($Sendmail);
}
else
{
--
2.18.0
More information about the wine-devel
mailing list