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