testbot/lib: Always call the parent _initialize() and InitializeNew() methods, with the right arguments.

Francois Gouget fgouget at codeweavers.com
Wed May 21 10:44:59 CDT 2014


Although Item::_initialize() is empty now, it is improper for subclasses to assume so and skip calling it or not pass it the right arguments.
Similarly, although Item::InitializeNew() does not currently use its Collection argument, subclasses should not assume so.
---
 testbot/lib/ObjectModel/Collection.pm   | 3 ++-
 testbot/lib/ObjectModel/Item.pm         | 3 ++-
 testbot/lib/WineTestBot/Branches.pm     | 4 ++--
 testbot/lib/WineTestBot/CGI/Sessions.pm | 4 ++--
 testbot/lib/WineTestBot/Jobs.pm         | 8 ++++----
 testbot/lib/WineTestBot/Patches.pm      | 4 ++--
 testbot/lib/WineTestBot/Steps.pm        | 2 +-
 testbot/lib/WineTestBot/StepsTasks.pm   | 2 +-
 testbot/lib/WineTestBot/Tasks.pm        | 2 +-
 testbot/lib/WineTestBot/Users.pm        | 4 ++--
 testbot/lib/WineTestBot/VMs.pm          | 6 ++++--
 11 files changed, 23 insertions(+), 19 deletions(-)

diff --git a/testbot/lib/ObjectModel/Collection.pm b/testbot/lib/ObjectModel/Collection.pm
index a356990..7dbcf63 100644
--- a/testbot/lib/ObjectModel/Collection.pm
+++ b/testbot/lib/ObjectModel/Collection.pm
@@ -102,7 +102,8 @@ sub new
 
 sub _initialize
 {
-  my ($self) = @_;
+  # $MasterObject may be required for some Collections.
+  my ($self, $MasterObject) = @_;
 
   $self->{AllScopeItems}->{ref($self)} ||= {};
 }
diff --git a/testbot/lib/ObjectModel/Item.pm b/testbot/lib/ObjectModel/Item.pm
index 47aea03..0cc07ab 100644
--- a/testbot/lib/ObjectModel/Item.pm
+++ b/testbot/lib/ObjectModel/Item.pm
@@ -72,11 +72,12 @@ sub new
 
 sub _initialize
 {
+  #my ($self, $Collection) = @_;
 }
 
 sub InitializeNew
 {
-  my $self = shift;
+  my ($self, $_Collection) = @_;
 
   $self->{IsModified} = !1;
 }
diff --git a/testbot/lib/WineTestBot/Branches.pm b/testbot/lib/WineTestBot/Branches.pm
index 0b37e89..f434569 100644
--- a/testbot/lib/WineTestBot/Branches.pm
+++ b/testbot/lib/WineTestBot/Branches.pm
@@ -35,10 +35,10 @@ require Exporter;
 
 sub InitializeNew
 {
-  my $self = shift;
+  my ($self, $Collection) = @_;
 
   $self->IsDefault(!1);
-  $self->SUPER::InitializeNew();
+  $self->SUPER::InitializeNew($Collection);
 }
 
 package WineTestBot::Branches;
diff --git a/testbot/lib/WineTestBot/CGI/Sessions.pm b/testbot/lib/WineTestBot/CGI/Sessions.pm
index a053036..3fbef8a 100644
--- a/testbot/lib/WineTestBot/CGI/Sessions.pm
+++ b/testbot/lib/WineTestBot/CGI/Sessions.pm
@@ -36,9 +36,9 @@ use vars qw(@ISA @EXPORT);
 
 sub InitializeNew
 {
-  my $self = shift;
+  my ($self, $Collection) = @_;
 
-  $self->SUPER::InitializeNew(@_);
+  $self->SUPER::InitializeNew($Collection);
 
   $self->Permanent(!1);
 }
diff --git a/testbot/lib/WineTestBot/Jobs.pm b/testbot/lib/WineTestBot/Jobs.pm
index 4532d4e..60241e0 100644
--- a/testbot/lib/WineTestBot/Jobs.pm
+++ b/testbot/lib/WineTestBot/Jobs.pm
@@ -62,23 +62,23 @@ require Exporter;
 
 sub _initialize
 {
-  my $self = shift;
+  my ($self, $Collection) = @_;
 
-  $self->SUPER::_initialize(@_);
+  $self->SUPER::_initialize($Collection);
 
   $self->{OldStatus} = undef;
 }
 
 sub InitializeNew
 {
-  my $self = shift;
+  my ($self, $Collection) = @_;
 
   $self->Archived(!1);
   $self->Branch(CreateBranches()->GetDefaultBranch());
   $self->Status("queued");
   $self->Submitted(time());
 
-  $self->SUPER::InitializeNew();
+  $self->SUPER::InitializeNew($Collection);
 }
 
 sub Status
diff --git a/testbot/lib/WineTestBot/Patches.pm b/testbot/lib/WineTestBot/Patches.pm
index a4aed22..468c531 100644
--- a/testbot/lib/WineTestBot/Patches.pm
+++ b/testbot/lib/WineTestBot/Patches.pm
@@ -49,11 +49,11 @@ require Exporter;
 
 sub InitializeNew
 {
-  my $self = shift;
+  my ($self, $Collection) = @_;
 
   $self->Received(time());
 
-  $self->SUPER::InitializeNew();
+  $self->SUPER::InitializeNew($Collection);
 }
 
 =pod
diff --git a/testbot/lib/WineTestBot/Steps.pm b/testbot/lib/WineTestBot/Steps.pm
index 0431bc0..683e634 100644
--- a/testbot/lib/WineTestBot/Steps.pm
+++ b/testbot/lib/WineTestBot/Steps.pm
@@ -53,7 +53,7 @@ sub InitializeNew
   $self->DebugLevel(1);
   $self->ReportSuccessfulTests(!1);
 
-  $self->SUPER::InitializeNew(@_);
+  $self->SUPER::InitializeNew($Collection);
 }
 
 sub HandleStaging
diff --git a/testbot/lib/WineTestBot/StepsTasks.pm b/testbot/lib/WineTestBot/StepsTasks.pm
index 8a29196..a5facda 100644
--- a/testbot/lib/WineTestBot/StepsTasks.pm
+++ b/testbot/lib/WineTestBot/StepsTasks.pm
@@ -120,7 +120,7 @@ sub _initialize
   my $self = shift;
   my $Job = $_[0];
 
-  $self->SUPER::_initialize(@_);
+  $self->SUPER::_initialize($Job);
 
   foreach my $Step (@{$Job->Steps->GetItems()})
   {
diff --git a/testbot/lib/WineTestBot/Tasks.pm b/testbot/lib/WineTestBot/Tasks.pm
index dd22749..02dd220 100644
--- a/testbot/lib/WineTestBot/Tasks.pm
+++ b/testbot/lib/WineTestBot/Tasks.pm
@@ -54,7 +54,7 @@ sub InitializeNew
   my $Keys = $Collection->GetKeys();
   $self->No(scalar @$Keys + 1);
 
-  $self->SUPER::InitializeNew(@_);
+  $self->SUPER::InitializeNew($Collection);
 }
 
 =pod
diff --git a/testbot/lib/WineTestBot/Users.pm b/testbot/lib/WineTestBot/Users.pm
index 46828a3..047e5d7 100644
--- a/testbot/lib/WineTestBot/Users.pm
+++ b/testbot/lib/WineTestBot/Users.pm
@@ -40,11 +40,11 @@ require Exporter;
 
 sub InitializeNew
 {
-  my $self = shift;
+  my ($self, $Collection) = @_;
 
   $self->Status('active');
   $self->Password("*");
-  $self->SUPER::InitializeNew();
+  $self->SUPER::InitializeNew($Collection);
 }
 
 sub GeneratePasswordHash
diff --git a/testbot/lib/WineTestBot/VMs.pm b/testbot/lib/WineTestBot/VMs.pm
index 0aa06eb..e4a5a59 100644
--- a/testbot/lib/WineTestBot/VMs.pm
+++ b/testbot/lib/WineTestBot/VMs.pm
@@ -223,6 +223,8 @@ sub _initialize($$)
 {
   my ($self, $VMs) = @_;
 
+  $self->SUPER::_initialize($VMs);
+
   $self->{Hypervisors} = $VMs->{Hypervisors};
   $self->{Hypervisor} = undef;
   $self->{Domain} = undef;
@@ -231,12 +233,12 @@ sub _initialize($$)
 
 sub InitializeNew
 {
-  my $self = shift;
+  my ($self, $Collection) = @_;
 
   $self->Status("idle");
   $self->IdleSnapshot("wtb");
 
-  $self->SUPER::InitializeNew(@_);
+  $self->SUPER::InitializeNew($Collection);
 }
 
 sub GetHost($)
-- 
2.0.0.rc0



More information about the wine-patches mailing list