Alexandre Julliard : Revert "testbot: Better wrap the database backend code."
Alexandre Julliard
julliard at winehq.org
Wed Jan 31 13:55:11 CST 2018
Module: tools
Branch: master
Commit: 376816550c3eaebd246a81fc98aa4ad032500833
URL: https://source.winehq.org/git/tools.git/?a=commit;h=376816550c3eaebd246a81fc98aa4ad032500833
Author: Alexandre Julliard <julliard at 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 at 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);
- at EXPORT = qw(&AddDBBackEnd &GetDBBackEnd &RemoveDBBackEnd &CloseAllDBBackEnds);
+ at 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;
More information about the wine-cvs
mailing list