Francois Gouget : testbot: Better track job status changes.
Module: tools Branch: master Commit: c6aed2663bb6e18816a8fce7e3978c50dea0c68a URL: https://source.winehq.org/git/tools.git/?a=commit;h=c6aed2663bb6e18816a8fce7... Author: Francois Gouget <fgouget(a)codeweavers.com> Date: Thu Jun 16 17:21:26 2022 +0200 testbot: Better track job status changes. Only set OldStatus once to avoid issues in case the status is changed multiple times before the job is saved. Signed-off-by: Francois Gouget <fgouget(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- testbot/lib/WineTestBot/Jobs.pm | 23 +++++------------------ 1 file changed, 5 insertions(+), 18 deletions(-) diff --git a/testbot/lib/WineTestBot/Jobs.pm b/testbot/lib/WineTestBot/Jobs.pm index 3da6ae7b..b54f864d 100644 --- a/testbot/lib/WineTestBot/Jobs.pm +++ b/testbot/lib/WineTestBot/Jobs.pm @@ -92,15 +92,6 @@ use WineTestBot::Engine::Notify; use WineTestBot::TaskFailures; -sub _initialize($$) -{ - my ($self, $Collection) = @_; - - $self->SUPER::_initialize($Collection); - - $self->{OldStatus} = undef; -} - sub InitializeNew($$) { my ($self, $Collection) = @_; @@ -171,10 +162,10 @@ sub Status($;$) my $CurrentStatus = $self->SUPER::Status; return $CurrentStatus if (!defined $NewStatus); - if (! defined($CurrentStatus) || $NewStatus ne $CurrentStatus) + if (!defined $CurrentStatus or $NewStatus ne $CurrentStatus) { + $self->{OldStatus} ||= $CurrentStatus; $self->SUPER::Status($NewStatus); - $self->{OldStatus} = $CurrentStatus; } return $NewStatus; @@ -185,15 +176,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}) - { - JobStatusChange($self->GetKey(), $self->{OldStatus}, $NewStatus); - } + JobStatusChange($self->GetKey(), $self->{OldStatus}, $self->Status); } + delete $self->{OldStatus}; } =pod
participants (1)
-
Alexandre Julliard