[01/25] testbot: Standardize building the reference report filenames.

Francois Gouget fgouget at codeweavers.com
Tue Jan 14 09:40:47 CST 2020


---
 testbot/bin/WineRunBuild.pl           | 2 +-
 testbot/bin/WineRunTask.pl            | 2 +-
 testbot/bin/WineRunWineTest.pl        | 2 +-
 testbot/bin/WineSendLog.pl            | 7 ++++---
 testbot/lib/WineTestBot/StepsTasks.pm | 7 +++++++
 testbot/lib/WineTestBot/Tasks.pm      | 6 ++++++
 testbot/web/JobDetails.pl             | 4 ++--
 7 files changed, 22 insertions(+), 8 deletions(-)

diff --git a/testbot/bin/WineRunBuild.pl b/testbot/bin/WineRunBuild.pl
index f33b7bde6..ce8f40f05 100755
--- a/testbot/bin/WineRunBuild.pl
+++ b/testbot/bin/WineRunBuild.pl
@@ -510,7 +510,7 @@ foreach my $TestStep (@{$Job->Steps->GetItems()})
   {
     foreach my $TestTask (@{$TestStep->Tasks->GetItems()})
     {
-      my $RefReport = $TestTask->VM->Name ."_". $TestStep->FileType .".report";
+      my $RefReport = $TestTask->GetRefReportName($TestStep->FileType .".report");
       for my $Suffix ("", ".err")
       {
         if (-f "$LatestDir/$RefReport$Suffix")
diff --git a/testbot/bin/WineRunTask.pl b/testbot/bin/WineRunTask.pl
index cef7a5caa..62bd162ee 100755
--- a/testbot/bin/WineRunTask.pl
+++ b/testbot/bin/WineRunTask.pl
@@ -305,7 +305,7 @@ sub WrapUpAndExit($;$$$$)
     if (-f "$TaskDir/$RptFileName" and !-z "$TaskDir/$RptFileName")
     {
       # Update the VM's reference WineTest results for WineSendLog.pl
-      my $RefReport = "$DataDir/latest/". $Task->VM->Name ."_$RptFileName";
+      my $RefReport = "$DataDir/latest/". $Task->GetRefReportName($RptFileName);
       unlink($RefReport);
       link("$TaskDir/$RptFileName", $RefReport);
 
diff --git a/testbot/bin/WineRunWineTest.pl b/testbot/bin/WineRunWineTest.pl
index 1cf9541cf..245128a73 100755
--- a/testbot/bin/WineRunWineTest.pl
+++ b/testbot/bin/WineRunWineTest.pl
@@ -630,7 +630,7 @@ if ($NewStatus eq 'completed')
   foreach my $Mission (@{$TaskMissions->{Missions}})
   {
     my $RptFileName = GetMissionBaseName($Mission) .".report";
-    my $RefReport = $Task->VM->Name ."_$RptFileName";
+    my $RefReport = $Task->GetRefReportName($RptFileName);
     for my $Suffix ("", ".err")
     {
       if (-f "$LatestDir/$RefReport$Suffix")
diff --git a/testbot/bin/WineSendLog.pl b/testbot/bin/WineSendLog.pl
index 98bfc4c0f..1ec7db1bd 100755
--- a/testbot/bin/WineSendLog.pl
+++ b/testbot/bin/WineSendLog.pl
@@ -238,8 +238,9 @@ Content-Type: text/plain; charset="UTF-8"
 MIME-Version: 1.0
 Content-Transfer-Encoding: 8bit
 EOF
+      # Prepend the VM name to get unique attachment filenames for this email.
       print $Sendmail "Content-Disposition: attachment; filename=",
-                     $StepTask->VM->Name, "_$LogName\n\n";
+                      $StepTask->VM->Name, "-$LogName\n\n";
       if ($Debug)
       {
         print $Sendmail "Not dumping logs in debug mode\n";
@@ -290,8 +291,8 @@ EOF
       # Skip if there are no errors
       next if (!$LogErrors->{Groups});
 
-      my $RefFileName = $StepTask->GetFullFileName($StepTask->VM->Name ."_$LogName");
-      my ($NewGroups, $NewErrors, $_NewIndices) = GetNewLogErrors($RefFileName, $LogErrors->{Groups}, $LogErrors->{Errors});
+      my $RefReportPath = $StepTask->GetFullFileName($StepTask->GetRefReportName($LogName));
+      my ($NewGroups, $NewErrors, $_NewIndices) = GetNewLogErrors($RefReportPath, $LogErrors->{Groups}, $LogErrors->{Errors});
       if (!$NewGroups)
       {
         # Test reports should have reference WineTest results and if not
diff --git a/testbot/lib/WineTestBot/StepsTasks.pm b/testbot/lib/WineTestBot/StepsTasks.pm
index 463f15078..bad0e2437 100644
--- a/testbot/lib/WineTestBot/StepsTasks.pm
+++ b/testbot/lib/WineTestBot/StepsTasks.pm
@@ -67,6 +67,13 @@ sub GetTaskDir($)
   return $self->GetStepDir() ."/". $self->TaskNo;
 }
 
+# Keep in sync with WineTestBot::Task::GetRefReportName()
+sub GetRefReportName($$)
+{
+  my ($self, $ReportName) = @_;
+  return $self->VM->Name ."_$ReportName";
+}
+
 sub GetTitle($)
 {
   my ($self) = @_;
diff --git a/testbot/lib/WineTestBot/Tasks.pm b/testbot/lib/WineTestBot/Tasks.pm
index f9e84d471..0c26904e1 100644
--- a/testbot/lib/WineTestBot/Tasks.pm
+++ b/testbot/lib/WineTestBot/Tasks.pm
@@ -108,6 +108,12 @@ sub RmTree($)
   rmtree($Dir);
 }
 
+sub GetRefReportName($$)
+{
+  my ($self, $ReportName) = @_;
+  return $self->VM->Name ."_$ReportName";
+}
+
 sub _SetupTask($$)
 {
   my ($VM, $self) = @_;
diff --git a/testbot/web/JobDetails.pl b/testbot/web/JobDetails.pl
index a59fa000d..4d08a862c 100644
--- a/testbot/web/JobDetails.pl
+++ b/testbot/web/JobDetails.pl
@@ -529,8 +529,8 @@ EOF
         if ($LogName =~ /\.report$/)
         {
           # Identify new errors in test reports
-          my $RefFileName = $StepTask->GetFullFileName($VM->Name ."_$LogName");
-          (my $_NewGroups, my $_NewErrors, $New) = GetNewLogErrors($RefFileName, $Summary->{Groups}, $Summary->{Errors});
+          my $RefReportPath = $StepTask->GetFullFileName($StepTask->GetRefReportName($LogName));
+          (my $_NewGroups, my $_NewErrors, $New) = GetNewLogErrors($RefReportPath, $Summary->{Groups}, $Summary->{Errors});
         }
 
         foreach my $GroupName (@{$Summary->{Groups}})
-- 
2.20.1




More information about the wine-devel mailing list