[tools] testbot: Better track VM status changes.
Francois Gouget
fgouget at codeweavers.com
Mon Jun 27 12:58:34 CDT 2022
Only set OldStatus once to avoid issues in case the status is changed
multiple times before the VM is saved.
Signed-off-by: Francois Gouget <fgouget at codeweavers.com>
---
This matches the recent job status tracking change.
---
testbot/lib/WineTestBot/VMs.pm | 21 ++++-----------------
1 file changed, 4 insertions(+), 17 deletions(-)
diff --git a/testbot/lib/WineTestBot/VMs.pm b/testbot/lib/WineTestBot/VMs.pm
index f0c16d19ec..2f736c636e 100644
--- a/testbot/lib/WineTestBot/VMs.pm
+++ b/testbot/lib/WineTestBot/VMs.pm
@@ -157,15 +157,6 @@ use WineTestBot::TestAgent;
use WineTestBot::Utils;
-sub _initialize($$)
-{
- my ($self, $VMs) = @_;
-
- $self->SUPER::_initialize($VMs);
-
- $self->{OldStatus} = undef;
-}
-
sub InitializeNew($$)
{
my ($self, $Collection) = @_;
@@ -270,8 +261,8 @@ sub Status($;$)
if (!defined $CurrentStatus or $NewStatus ne $CurrentStatus)
{
+ $self->{OldStatus} ||= $CurrentStatus;
$self->SUPER::Status($NewStatus);
- $self->{OldStatus} = $CurrentStatus;
}
return $NewStatus;
@@ -424,15 +415,11 @@ sub OnSaved($)
my ($self) = @_;
$self->SUPER::OnSaved();
-
- if (defined($self->{OldStatus}))
+ if (defined $self->{OldStatus} and $self->{OldStatus} ne $self->Status)
{
- my $NewStatus = $self->Status;
- if ($NewStatus ne $self->{OldStatus})
- {
- VMStatusChange($self->GetKey(), $self->{OldStatus}, $NewStatus);
- }
+ VMStatusChange($self->GetKey(), $self->{OldStatus}, $self->Status);
}
+ delete $self->{OldStatus};
}
sub Run($$$$$$)
--
2.30.2
More information about the wine-devel
mailing list