[2/5] testbot/bin: Add LogTaskError() to factorize reporting to the task's error log.
Francois Gouget
fgouget at codeweavers.com
Fri Mar 29 08:02:36 CDT 2013
---
testbot/bin/WineRunBuild.pl | 35 ++++++++++++++++-------------------
testbot/bin/WineRunReconfig.pl | 35 ++++++++++++++++-------------------
testbot/bin/WineRunTask.pl | 32 ++++++++++++++++++--------------
3 files changed, 50 insertions(+), 52 deletions(-)
diff --git a/testbot/bin/WineRunBuild.pl b/testbot/bin/WineRunBuild.pl
index 22018f1..e385a0d 100755
--- a/testbot/bin/WineRunBuild.pl
+++ b/testbot/bin/WineRunBuild.pl
@@ -42,19 +42,28 @@ use WineTestBot::Jobs;
use WineTestBot::Log;
use WineTestBot::Engine::Notify;
-sub FatalError($$$$)
+sub LogTaskError($$)
{
- my ($ErrMessage, $FullErrFileName, $Job, $Task) = @_;
-
- my ($JobKey, $StepKey, $TaskKey) = @{$Task->GetMasterKey()};
- LogMsg "$JobKey/$StepKey/$TaskKey $ErrMessage";
-
+ my ($ErrMessage, $FullErrFileName) = @_;
if (open(my $ErrFile, ">>", $FullErrFileName))
{
print $ErrFile $ErrMessage;
close($ErrFile);
}
+ else
+ {
+ LogMsg "Unable to open '$FullErrFileName' for writing: $!\n";
+ }
+}
+sub FatalError($$$$)
+{
+ my ($ErrMessage, $FullErrFileName, $Job, $Task) = @_;
+
+ my ($JobKey, $StepKey, $TaskKey) = @{$Task->GetMasterKey()};
+ LogMsg "$JobKey/$StepKey/$TaskKey $ErrMessage";
+
+ LogTaskError($ErrMessage, $FullErrFileName);
$Task->Status("boterror");
$Task->Ended(time);
$Task->Save();
@@ -109,19 +118,7 @@ sub ProcessLog($$)
LogMsg "Unable to open '$FullLogFileName' for reading: $!\n";
}
- if ($Errors)
- {
- if (open(my $ErrFile, ">", $FullErrFileName))
- {
- print $ErrFile $Errors;
- close($ErrFile);
- }
- else
- {
- LogMsg "Unable to open '$FullErrFileName' for writing: $!\n";
- }
- }
-
+ LogTaskError($Errors, $FullErrFileName) if ($Errors);
return $Status;
}
diff --git a/testbot/bin/WineRunReconfig.pl b/testbot/bin/WineRunReconfig.pl
index b59332d..6cbf75d 100755
--- a/testbot/bin/WineRunReconfig.pl
+++ b/testbot/bin/WineRunReconfig.pl
@@ -42,19 +42,28 @@ use WineTestBot::Jobs;
use WineTestBot::Log;
use WineTestBot::Engine::Notify;
-sub FatalError($$$$)
+sub LogTaskError($$)
{
- my ($ErrMessage, $FullErrFileName, $Job, $Task) = @_;
-
- my ($JobKey, $StepKey, $TaskKey) = @{$Task->GetMasterKey()};
- LogMsg "$JobKey/$StepKey/$TaskKey $ErrMessage";
-
+ my ($ErrMessage, $FullErrFileName) = @_;
if (open(my $ErrFile, ">>", $FullErrFileName))
{
print $ErrFile $ErrMessage;
close($ErrFile);
}
+ else
+ {
+ LogMsg "Unable to open '$FullErrFileName' for writing: $!\n";
+ }
+}
+
+sub FatalError($$$$)
+{
+ my ($ErrMessage, $FullErrFileName, $Job, $Task) = @_;
+
+ my ($JobKey, $StepKey, $TaskKey) = @{$Task->GetMasterKey()};
+ LogMsg "$JobKey/$StepKey/$TaskKey $ErrMessage";
+ LogTaskError($ErrMessage, $FullErrFileName);
$Task->Status("boterror");
$Task->Ended(time);
$Task->Save();
@@ -109,19 +118,7 @@ sub ProcessLog($$)
LogMsg "Unable to open '$FullLogFileName' for reading: $!\n";
}
- if ($Errors)
- {
- if (open(my $ErrFile, ">", $FullErrFileName))
- {
- print $ErrFile $Errors;
- close($ErrFile);
- }
- else
- {
- LogMsg "Unable to open '$FullErrFileName' for writing: $!\n";
- }
- }
-
+ LogTaskError($Errors, $FullErrFileName) if ($Errors);
return $Status;
}
diff --git a/testbot/bin/WineRunTask.pl b/testbot/bin/WineRunTask.pl
index 8db2b65..6a48df8 100755
--- a/testbot/bin/WineRunTask.pl
+++ b/testbot/bin/WineRunTask.pl
@@ -42,21 +42,31 @@ use WineTestBot::Jobs;
use WineTestBot::Log;
use WineTestBot::Engine::Notify;
-sub FatalError($$$$$)
+sub LogTaskError($$)
{
- my ($ErrMessage, $FullErrFileName, $Job, $Step, $Task) = @_;
-
- my ($JobKey, $StepKey, $TaskKey) = @{$Task->GetMasterKey()};
- LogMsg "$JobKey/$StepKey/$TaskKey $ErrMessage";
-
+ my ($ErrMessage, $FullErrFileName) = @_;
my $OldUMask = umask(002);
if (open(my $ErrFile, ">>", $FullErrFileName))
{
+ umask($OldUMask);
print $ErrFile $ErrMessage;
close($ErrFile);
}
- umask($OldUMask);
+ else
+ {
+ umask($OldUMask);
+ LogMsg "Unable to open '$FullErrFileName' for writing: $!\n";
+ }
+}
+sub FatalError($$$$$)
+{
+ my ($ErrMessage, $FullErrFileName, $Job, $Step, $Task) = @_;
+
+ my ($JobKey, $StepKey, $TaskKey) = @{$Task->GetMasterKey()};
+ LogMsg "$JobKey/$StepKey/$TaskKey $ErrMessage";
+
+ LogTaskError($ErrMessage, $FullErrFileName);
if ($Step->Type eq "suite")
{
my $LatestName = "$DataDir/latest/" . $Task->VM->Name . "_" .
@@ -342,13 +352,7 @@ $Task->Ended(time);
my $TestFailures = CountFailures($FullLogFileName);
if (!defined $TestFailures)
{
- my $OldUMask = umask(002);
- if (open ERRFILE, ">>$FullErrFileName")
- {
- print ERRFILE "No test summary line found\n";
- close ERRFILE;
- }
- umask($OldUMask);
+ LogTaskError("No test summary line found\n", $FullErrFileName);
$TestFailures = 1;
}
$Task->TestFailures($TestFailures);
--
1.7.10.4
More information about the wine-patches
mailing list