Module: tools Branch: master Commit: 376816550c3eaebd246a81fc98aa4ad032500833 URL: https://source.winehq.org/git/tools.git/?a=commit;h=376816550c3eaebd246a81fc...
Author: Alexandre Julliard julliard@winehq.org Date: Wed Jan 31 20:54:55 2018 +0100
Revert "testbot: Better wrap the database backend code."
This reverts commit 831aa5ce66000626f963c50ba37f1ddabb642d3c. It kills the testbot.
Signed-off-by: Alexandre Julliard julliard@winehq.org
---
testbot/bin/Engine.pl | 4 ++-- testbot/lib/ObjectModel/BackEnd.pm | 33 ++------------------------- testbot/lib/ObjectModel/DBIBackEnd.pm | 10 ++++---- testbot/lib/WineTestBot/VMs.pm | 4 ++-- testbot/lib/WineTestBot/WineTestBotObjects.pm | 4 ++-- 5 files changed, 13 insertions(+), 42 deletions(-)
diff --git a/testbot/bin/Engine.pl b/testbot/bin/Engine.pl index d637564..827879c 100755 --- a/testbot/bin/Engine.pl +++ b/testbot/bin/Engine.pl @@ -309,8 +309,8 @@ sub HandleJobStatusChange($$$)
if ($OldStatus eq "running" && $NewStatus ne "running") { - # Make sure the child process does not inherit the database connections - CloseAllDBBackEnds(); + # Make sure the child process does not inherit the database connection + $ActiveBackEnds{'WineTestBot'}->Close();
my $Pid = fork; if (!defined $Pid) diff --git a/testbot/lib/ObjectModel/BackEnd.pm b/testbot/lib/ObjectModel/BackEnd.pm index 0bb48cf..6c5c813 100644 --- a/testbot/lib/ObjectModel/BackEnd.pm +++ b/testbot/lib/ObjectModel/BackEnd.pm @@ -30,11 +30,11 @@ should provide.
=cut
-use vars qw(@ISA @EXPORT); +use vars qw(@ISA @EXPORT %ActiveBackEnds);
require Exporter; @ISA = qw(Exporter); -@EXPORT = qw(&AddDBBackEnd &GetDBBackEnd &RemoveDBBackEnd &CloseAllDBBackEnds); +@EXPORT = qw(%ActiveBackEnds);
sub new($@) { @@ -51,33 +51,4 @@ sub _initialize($) #my ($self) = @_; }
- -my %_ActiveBackEnds; - -sub AddDBBackEnd($$) -{ - my ($Name, $BackEnd) = @_; - $_ActiveBackEnds{$Name} = $BackEnd; -} - -sub GetDBBackEnd($) -{ - my ($Name) = @_; - return $_ActiveBackEnds{$Name}; -} - -sub RemoveDBBackEnd($) -{ - my ($Name) = @_; - delete $_ActiveBackEnds{$Name}; -} - -sub CloseAllDBBackEnds() -{ - foreach my $BackEnd (values %_ActiveBackEnds) - { - $BackEnd->Close(); - } -} - 1; diff --git a/testbot/lib/ObjectModel/DBIBackEnd.pm b/testbot/lib/ObjectModel/DBIBackEnd.pm index d4b0777..565d4a8 100644 --- a/testbot/lib/ObjectModel/DBIBackEnd.pm +++ b/testbot/lib/ObjectModel/DBIBackEnd.pm @@ -604,12 +604,12 @@ sub Close($) } }
-sub UseDBIBackEnd($$$$$$) +sub UseDBIBackEnd($$@) { - my ($class, $DbSelector, $DbSource, $DbUser, $DbPassword, $DbArgs) = @_; + my $class = shift; + my $DbSelector = shift;
- my $BackEnd = $class->new(); - $BackEnd->{ConnectArgs} = [$DbSource, $DbUser, $DbPassword, $DbArgs]; - AddDBBackEnd($DbSelector, $BackEnd); + $ObjectModel::BackEnd::ActiveBackEnds{$DbSelector} = $class->new(); + $ObjectModel::BackEnd::ActiveBackEnds{$DbSelector}->{ConnectArgs} = @_; } 1; diff --git a/testbot/lib/WineTestBot/VMs.pm b/testbot/lib/WineTestBot/VMs.pm index bb9a832..2ba6b4b 100644 --- a/testbot/lib/WineTestBot/VMs.pm +++ b/testbot/lib/WineTestBot/VMs.pm @@ -344,8 +344,8 @@ sub Run($$$$$) # So set ChildPid in the parent and synchronize with the child so it only # starts once this is done.
- # Make sure the child process will use its own database connections - CloseAllDBBackEnds(); + # Make sure the child process will use its own database connection + $self->GetBackEnd()->Close();
use Fcntl; my ($fd_read, $fd_write); diff --git a/testbot/lib/WineTestBot/WineTestBotObjects.pm b/testbot/lib/WineTestBot/WineTestBotObjects.pm index 20ff6b1..b46fa41 100644 --- a/testbot/lib/WineTestBot/WineTestBotObjects.pm +++ b/testbot/lib/WineTestBot/WineTestBotObjects.pm @@ -37,7 +37,7 @@ require Exporter; sub GetBackEnd($) { #my ($self) = @_; - return GetDBBackEnd('WineTestBot'); + return $ActiveBackEnds{'WineTestBot'}; }
@@ -61,7 +61,7 @@ require Exporter; sub GetBackEnd($) { #my ($self) = @_; - return GetDBBackEnd('WineTestBot'); + return $ActiveBackEnds{'WineTestBot'}; }
1;