Francois Gouget : testbot/bin: Add LogTaskError() to factorize reporting to the task's error log.
Alexandre Julliard
julliard at winehq.org
Mon Apr 1 09:53:41 CDT 2013
Module: tools
Branch: master
Commit: 13a8dfde4dbc692e3f3626b7616a6dac92ef066b
URL: http://source.winehq.org/git/tools.git/?a=commit;h=13a8dfde4dbc692e3f3626b7616a6dac92ef066b
Author: Francois Gouget <fgouget at codeweavers.com>
Date: Fri Mar 29 14:02:36 2013 +0100
testbot/bin: Add LogTaskError() to factorize reporting to the task's error log.
---
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 e700610..903fbbe 100755
--- a/testbot/bin/WineRunTask.pl
+++ b/testbot/bin/WineRunTask.pl
@@ -41,21 +41,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 . "_" .
@@ -341,13 +351,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);
More information about the wine-cvs
mailing list