Module: tools
Branch: master
Commit: b0b20cfea3cf40a939ee9e16839f274aea38285b
URL: https://source.winehq.org/git/tools.git/?a=commit;h=b0b20cfea3cf40a939ee9e1…
Author: Francois Gouget <fgouget(a)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(a)codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard(a)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
Module: tools
Branch: master
Commit: 27bfe1cf8dbb0836a1c77844b7bf7dc065a938fc
URL: https://source.winehq.org/git/tools.git/?a=commit;h=27bfe1cf8dbb0836a1c7784…
Author: Francois Gouget <fgouget(a)codeweavers.com>
Date: Tue Jun 12 11:49:05 2018 +0200
testbot: Ignore process deadlines for the disabled VMs.
Disabled VMs should probably not have deadlines but it makes sense to
ignore them anyway.
Signed-off-by: Francois Gouget <fgouget(a)codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard(a)winehq.org>
---
testbot/lib/WineTestBot/Engine/Scheduler.pm | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/testbot/lib/WineTestBot/Engine/Scheduler.pm b/testbot/lib/WineTestBot/Engine/Scheduler.pm
index 85bc0f3..159b10c 100644
--- a/testbot/lib/WineTestBot/Engine/Scheduler.pm
+++ b/testbot/lib/WineTestBot/Engine/Scheduler.pm
@@ -1010,7 +1010,9 @@ sub ScheduleJobs()
# Reschedule at the latest when the next task times out
my $FirstDeadline;
- foreach my $VM (@{$Sched->{VMs}->GetItems()})
+ my $VMs = $Sched->{VMs}->Clone();
+ $VMs->FilterEnabledRole();
+ foreach my $VM (@{$VMs->GetItems()})
{
if (defined $VM->ChildDeadline and
(!defined $FirstDeadline or $VM->ChildDeadline < $FirstDeadline))