Francois Gouget : testbot: Make sure UpdateStatus() iterates over all the Steps and Tasks.

Alexandre Julliard julliard at winehq.org
Tue Jun 12 17:35:20 CDT 2018


Module: tools
Branch: master
Commit: b0b20cfea3cf40a939ee9e16839f274aea38285b
URL:    https://source.winehq.org/git/tools.git/?a=commit;h=b0b20cfea3cf40a939ee9e16839f274aea38285b

Author: Francois Gouget <fgouget at codeweavers.com>
Date:   Tue Jun 12 11:49:23 2018 +0200

testbot: Make sure UpdateStatus() iterates over all the Steps and Tasks.

It tends to be called from places where filters have been put on the
Steps and/or Tasks collections which prevents it from getting the full
picture. So work on a clone that has no filter.

Signed-off-by: Francois Gouget <fgouget at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 testbot/lib/WineTestBot/Jobs.pm  | 2 +-
 testbot/lib/WineTestBot/Steps.pm | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/testbot/lib/WineTestBot/Jobs.pm b/testbot/lib/WineTestBot/Jobs.pm
index b3512e1..a13b346 100644
--- a/testbot/lib/WineTestBot/Jobs.pm
+++ b/testbot/lib/WineTestBot/Jobs.pm
@@ -209,7 +209,7 @@ sub UpdateStatus($)
   return $Status if ($Status ne "queued" && $Status ne "running");
 
   my %Has;
-  my $Steps = $self->Steps;
+  my $Steps = $self->Steps->Clone();
   my @SortedSteps = sort { $a->No <=> $b->No } @{$Steps->GetItems()};
   foreach my $Step (@SortedSteps)
   {
diff --git a/testbot/lib/WineTestBot/Steps.pm b/testbot/lib/WineTestBot/Steps.pm
index aea1aee..8afe793 100644
--- a/testbot/lib/WineTestBot/Steps.pm
+++ b/testbot/lib/WineTestBot/Steps.pm
@@ -199,7 +199,7 @@ sub UpdateStatus($$)
   return $Status if ($Status ne "queued" && $Status ne "running");
 
   my %Has;
-  map { $Has{$_->UpdateStatus($Skip)} = 1 } (@{$self->Tasks->GetItems()});
+  map { $Has{$_->UpdateStatus($Skip)} = 1 } (@{$self->Tasks->Clone()->GetItems()});
 
   # Inherit the tasks most significant status.
   # Note that one or more tasks may have been requeued during the cleanup phase




More information about the wine-cvs mailing list