@PropertyDescriptors does not need to be exported and it does not need
to be initialized in a BEGIN block.
Add documentation for the CreateXxx() functions.
Signed-off-by: Francois Gouget <fgouget(a)codeweavers.com>
---
testbot/lib/WineTestBot/Branches.pm | 25 +++++++++-----
testbot/lib/WineTestBot/CGI/Sessions.pm | 40 +++++++++++++---------
testbot/lib/WineTestBot/Jobs.pm | 44 ++++++++++++++-----------
testbot/lib/WineTestBot/Patches.pm | 51 ++++++++++++++++-------------
testbot/lib/WineTestBot/PendingPatchSets.pm | 40 ++++++++++++----------
testbot/lib/WineTestBot/PendingPatches.pm | 28 +++++++++++-----
testbot/lib/WineTestBot/RecordGroups.pm | 27 +++++++++------
testbot/lib/WineTestBot/Records.pm | 32 +++++++++---------
testbot/lib/WineTestBot/Roles.pm | 24 +++++++++-----
testbot/lib/WineTestBot/Steps.pm | 44 ++++++++++++++++---------
testbot/lib/WineTestBot/StepsTasks.pm | 37 ++++++++++-----------
testbot/lib/WineTestBot/Tasks.pm | 36 ++++++++++++--------
testbot/lib/WineTestBot/UserRoles.pm | 24 +++++++++-----
testbot/lib/WineTestBot/Users.pm | 34 +++++++++++--------
testbot/lib/WineTestBot/VMs.pm | 45 ++++++++++++++-----------
15 files changed, 314 insertions(+), 217 deletions(-)
diff --git a/testbot/lib/WineTestBot/Branches.pm b/testbot/lib/WineTestBot/Branches.pm
index f5bd9d982..a67832590 100644
--- a/testbot/lib/WineTestBot/Branches.pm
+++ b/testbot/lib/WineTestBot/Branches.pm
@@ -53,7 +53,7 @@ WineTestBot::Branches - A collection of WineTestBot::Branch objects
use ObjectModel::BasicPropertyDescriptor;
use WineTestBot::WineTestBotObjects;
-use vars qw (@ISA @EXPORT @PropertyDescriptors);
+use vars qw (@ISA @EXPORT);
require Exporter;
@ISA = qw(WineTestBot::WineTestBotCollection Exporter);
@@ -71,14 +71,6 @@ sub GetDefaultBranch($)
return undef;
}
-BEGIN
-{
- @PropertyDescriptors = (
- CreateBasicPropertyDescriptor("Name", "Branch name", 1, 1, "A", 20),
- CreateBasicPropertyDescriptor("IsDefault", "Default branch", !1, 1, "B", 1),
- );
-}
-
sub MultipleBranchesPresent($)
{
my ($self) = @_;
@@ -93,6 +85,21 @@ sub CreateItem($)
return WineTestBot::Branch->new($self);
}
+my @PropertyDescriptors = (
+ CreateBasicPropertyDescriptor("Name", "Branch name", 1, 1, "A", 20),
+ CreateBasicPropertyDescriptor("IsDefault", "Default branch", !1, 1, "B", 1),
+);
+
+=pod
+=over 12
+
+=item C<CreateBranches()>
+
+Creates a collection of Branch objects.
+
+=back
+=cut
+
sub CreateBranches(;$)
{
my ($ScopeObject) = @_;
diff --git a/testbot/lib/WineTestBot/CGI/Sessions.pm b/testbot/lib/WineTestBot/CGI/Sessions.pm
index 4b1f6b3c4..87fd15fb2 100644
--- a/testbot/lib/WineTestBot/CGI/Sessions.pm
+++ b/testbot/lib/WineTestBot/CGI/Sessions.pm
@@ -61,20 +61,12 @@ use WineTestBot::Users;
use WineTestBot::Utils;
use WineTestBot::WineTestBotObjects;
-use vars qw(@ISA @EXPORT @PropertyDescriptors);
+use vars qw(@ISA @EXPORT);
require Exporter;
@ISA = qw(WineTestBot::WineTestBotCollection Exporter);
@EXPORT = qw(&CreateSessions &DeleteSessions &NewSession);
-BEGIN
-{
- @PropertyDescriptors = (
- CreateBasicPropertyDescriptor("Id", "Session id", 1, 1, "A", 32),
- CreateItemrefPropertyDescriptor("User", "User", !1, 1, \&CreateUsers, ["UserName"]),
- CreateBasicPropertyDescriptor("Permanent", "Permanent session", !1, 1, "B", 1),
- );
-}
sub CreateItem($)
{
@@ -83,6 +75,29 @@ sub CreateItem($)
return WineTestBot::CGI::Session->new($self);
}
+my @PropertyDescriptors = (
+ CreateBasicPropertyDescriptor("Id", "Session id", 1, 1, "A", 32),
+ CreateItemrefPropertyDescriptor("User", "User", !1, 1, \&CreateUsers, ["UserName"]),
+ CreateBasicPropertyDescriptor("Permanent", "Permanent session", !1, 1, "B", 1),
+);
+
+=pod
+=over 12
+
+=item C<CreateSessions()>
+
+Creates a collection of Session objects.
+
+=back
+=cut
+
+sub CreateSessions(;$)
+{
+ my ($ScopeObject) = @_;
+ return WineTestBot::CGI::Sessions->new("Sessions", "Sessions", "Session",
+ \@PropertyDescriptors, $ScopeObject);
+}
+
sub DeleteNonPermanentSessions($)
{
my ($User) = @_;
@@ -129,11 +144,4 @@ sub NewSession($$$)
return ($ErrMessage, $Session);
}
-sub CreateSessions(;$)
-{
- my ($ScopeObject) = @_;
- return WineTestBot::CGI::Sessions->new("Sessions", "Sessions", "Session",
- \@PropertyDescriptors, $ScopeObject);
-}
-
1;
diff --git a/testbot/lib/WineTestBot/Jobs.pm b/testbot/lib/WineTestBot/Jobs.pm
index 1d0f8bb8f..bcbcae91f 100644
--- a/testbot/lib/WineTestBot/Jobs.pm
+++ b/testbot/lib/WineTestBot/Jobs.pm
@@ -404,30 +404,12 @@ use WineTestBot::Steps;
use WineTestBot::Users;
use WineTestBot::VMs;
-use vars qw(@ISA @EXPORT @PropertyDescriptors);
+use vars qw(@ISA @EXPORT);
require Exporter;
@ISA = qw(WineTestBot::WineTestBotCollection Exporter);
@EXPORT = qw(&CreateJobs &ScheduleJobs &CheckJobs);
-my @PropertyDescriptors;
-
-BEGIN
-{
- @PropertyDescriptors = (
- CreateBasicPropertyDescriptor("Id", "Job id", 1, 1, "S", 5),
- CreateBasicPropertyDescriptor("Archived", "Job is archived", !1, 1, "B", 1),
- CreateItemrefPropertyDescriptor("Branch", "Branch", !1, 1, \&CreateBranches, ["BranchName"]),
- CreateItemrefPropertyDescriptor("User", "Author", !1, 1, \&WineTestBot::Users::CreateUsers, ["UserName"]),
- CreateBasicPropertyDescriptor("Priority", "Priority", !1, 1, "N", 1),
- CreateEnumPropertyDescriptor("Status", "Status", !1, 1, ['queued', 'running', 'completed', 'badpatch', 'badbuild', 'boterror', 'canceled']),
- CreateBasicPropertyDescriptor("Remarks", "Remarks", !1, !1, "A", 128),
- CreateBasicPropertyDescriptor("Submitted", "Submitted", !1, !1, "DT", 19),
- CreateBasicPropertyDescriptor("Ended", "Ended", !1, !1, "DT", 19),
- CreateItemrefPropertyDescriptor("Patch", "Submitted from patch", !1, !1, \&WineTestBot::Patches::CreatePatches, ["PatchId"]),
- CreateDetailrefPropertyDescriptor("Steps", "Steps", !1, !1, \&CreateSteps),
- );
-}
sub CreateItem($)
{
@@ -436,6 +418,30 @@ sub CreateItem($)
return WineTestBot::Job->new($self);
}
+my @PropertyDescriptors = (
+ CreateBasicPropertyDescriptor("Id", "Job id", 1, 1, "S", 5),
+ CreateBasicPropertyDescriptor("Archived", "Job is archived", !1, 1, "B", 1),
+ CreateItemrefPropertyDescriptor("Branch", "Branch", !1, 1, \&CreateBranches, ["BranchName"]),
+ CreateItemrefPropertyDescriptor("User", "Author", !1, 1, \&WineTestBot::Users::CreateUsers, ["UserName"]),
+ CreateBasicPropertyDescriptor("Priority", "Priority", !1, 1, "N", 1),
+ CreateEnumPropertyDescriptor("Status", "Status", !1, 1, ['queued', 'running', 'completed', 'badpatch', 'badbuild', 'boterror', 'canceled']),
+ CreateBasicPropertyDescriptor("Remarks", "Remarks", !1, !1, "A", 128),
+ CreateBasicPropertyDescriptor("Submitted", "Submitted", !1, !1, "DT", 19),
+ CreateBasicPropertyDescriptor("Ended", "Ended", !1, !1, "DT", 19),
+ CreateItemrefPropertyDescriptor("Patch", "Submitted from patch", !1, !1, \&WineTestBot::Patches::CreatePatches, ["PatchId"]),
+ CreateDetailrefPropertyDescriptor("Steps", "Steps", !1, !1, \&CreateSteps),
+);
+
+=pod
+=over 12
+
+=item C<CreateJobs()>
+
+Creates a collection of Job objects.
+
+=back
+=cut
+
sub CreateJobs(;$)
{
my ($ScopeObject) = @_;
diff --git a/testbot/lib/WineTestBot/Patches.pm b/testbot/lib/WineTestBot/Patches.pm
index a1d963529..7906f1cb6 100644
--- a/testbot/lib/WineTestBot/Patches.pm
+++ b/testbot/lib/WineTestBot/Patches.pm
@@ -375,22 +375,6 @@ require Exporter;
@ISA = qw(WineTestBot::WineTestBotCollection Exporter);
@EXPORT = qw(&CreatePatches);
-my @PropertyDescriptors;
-
-BEGIN
-{
- @PropertyDescriptors = (
- CreateBasicPropertyDescriptor("Id", "Patch id", 1, 1, "S", 7),
- CreateBasicPropertyDescriptor("WebPatchId", "Wine Web Patch id", !1, !1, "N", 7),
- CreateBasicPropertyDescriptor("Received", "Received", !1, 1, "DT", 19),
- CreateBasicPropertyDescriptor("AffectsTests", "Affects tests", !1, 1, "B", 1),
- CreateBasicPropertyDescriptor("FromName", "Author", !1, !1, "A", 40),
- CreateBasicPropertyDescriptor("FromEMail", "Author's email address", !1, !1, "A", 40),
- CreateBasicPropertyDescriptor("Subject", "Subject", !1, !1, "A", 120),
- CreateBasicPropertyDescriptor("MessageId", "Message id", !1, !1, "A", 256),
- CreateBasicPropertyDescriptor("Disposition", "Disposition", !1, 1, "A", 40),
- );
-}
sub CreateItem($)
{
@@ -399,6 +383,35 @@ sub CreateItem($)
return WineTestBot::Patch->new($self);
}
+my @PropertyDescriptors = (
+ CreateBasicPropertyDescriptor("Id", "Patch id", 1, 1, "S", 7),
+ CreateBasicPropertyDescriptor("WebPatchId", "Wine Web Patch id", !1, !1, "N", 7),
+ CreateBasicPropertyDescriptor("Received", "Received", !1, 1, "DT", 19),
+ CreateBasicPropertyDescriptor("AffectsTests", "Affects tests", !1, 1, "B", 1),
+ CreateBasicPropertyDescriptor("FromName", "Author", !1, !1, "A", 40),
+ CreateBasicPropertyDescriptor("FromEMail", "Author's email address", !1, !1, "A", 40),
+ CreateBasicPropertyDescriptor("Subject", "Subject", !1, !1, "A", 120),
+ CreateBasicPropertyDescriptor("MessageId", "Message id", !1, !1, "A", 256),
+ CreateBasicPropertyDescriptor("Disposition", "Disposition", !1, 1, "A", 40),
+);
+
+=pod
+=over 12
+
+=item C<CreatePatches()>
+
+Creates a collection of Patch objects.
+
+=back
+=cut
+
+sub CreatePatches(;$)
+{
+ my ($ScopeObject) = @_;
+ return WineTestBot::Patches->new("Patches", "Patches", "Patch",
+ \@PropertyDescriptors, $ScopeObject);
+}
+
sub IsPatch($$)
{
my ($self, $Body) = @_;
@@ -539,10 +552,4 @@ sub NewPatch($$$)
return undef;
}
-sub CreatePatches(;$)
-{
- my ($ScopeObject) = @_;
- return WineTestBot::Patches->new("Patches", "Patches", "Patch", \@PropertyDescriptors, $ScopeObject);
-}
-
1;
diff --git a/testbot/lib/WineTestBot/PendingPatchSets.pm b/testbot/lib/WineTestBot/PendingPatchSets.pm
index 5aae58338..520fb653c 100644
--- a/testbot/lib/WineTestBot/PendingPatchSets.pm
+++ b/testbot/lib/WineTestBot/PendingPatchSets.pm
@@ -161,22 +161,12 @@ use WineTestBot::Patches;
use WineTestBot::Utils;
use WineTestBot::WineTestBotObjects;
-use vars qw(@ISA @EXPORT @PropertyDescriptors);
+use vars qw(@ISA @EXPORT);
require Exporter;
@ISA = qw(WineTestBot::WineTestBotCollection Exporter);
@EXPORT = qw(&CreatePendingPatchSets);
-my @PropertyDescriptors;
-
-BEGIN
-{
- @PropertyDescriptors = (
- CreateBasicPropertyDescriptor("EMail", "EMail of series author", 1, 1, "A", 40),
- CreateBasicPropertyDescriptor("TotalParts", "Expected number of parts in series", 1, 1, "N", 2),
- CreateDetailrefPropertyDescriptor("Parts", "Parts received so far", !1, !1, \&CreatePendingPatches),
- );
-}
sub CreateItem($)
{
@@ -185,6 +175,28 @@ sub CreateItem($)
return WineTestBot::PendingPatchSet->new($self);
}
+my @PropertyDescriptors = (
+ CreateBasicPropertyDescriptor("EMail", "EMail of series author", 1, 1, "A", 40),
+ CreateBasicPropertyDescriptor("TotalParts", "Expected number of parts in series", 1, 1, "N", 2),
+ CreateDetailrefPropertyDescriptor("Parts", "Parts received so far", !1, !1, \&CreatePendingPatches),
+);
+
+=pod
+=over 12
+
+=item C<CreatePendingPatchSets()>
+
+Creates a collection of PendingPatchSet objects.
+
+=back
+=cut
+
+sub CreatePendingPatchSets(;$)
+{
+ my ($ScopeObject) = @_;
+ return WineTestBot::PendingPatchSets->new("PendingPatchSets", "PendingPatchSets", "PendingPatchSet", \@PropertyDescriptors, $ScopeObject);
+}
+
=pod
=over 12
@@ -323,10 +335,4 @@ sub CheckForCompleteSet($)
return $ErrMessage;
}
-sub CreatePendingPatchSets(;$)
-{
- my ($ScopeObject) = @_;
- return WineTestBot::PendingPatchSets->new("PendingPatchSets", "PendingPatchSets", "PendingPatchSet", \@PropertyDescriptors, $ScopeObject);
-}
-
1;
diff --git a/testbot/lib/WineTestBot/PendingPatches.pm b/testbot/lib/WineTestBot/PendingPatches.pm
index d63ff7e7d..053f7123d 100644
--- a/testbot/lib/WineTestBot/PendingPatches.pm
+++ b/testbot/lib/WineTestBot/PendingPatches.pm
@@ -51,19 +51,12 @@ use ObjectModel::ItemrefPropertyDescriptor;
use WineTestBot::Patches;
use WineTestBot::WineTestBotObjects;
-use vars qw(@ISA @EXPORT @PropertyDescriptors);
+use vars qw(@ISA @EXPORT);
require Exporter;
@ISA = qw(WineTestBot::WineTestBotCollection Exporter);
@EXPORT = qw(&CreatePendingPatches);
-BEGIN
-{
- @PropertyDescriptors = (
- CreateBasicPropertyDescriptor("No", "Part no", 1, 1, "N", 2),
- CreateItemrefPropertyDescriptor("Patch", "Submitted via patch", !1, 1, \&WineTestBot::Patches::CreatePatches, ["PatchId"]),
- );
-}
sub CreateItem($)
{
@@ -72,11 +65,28 @@ sub CreateItem($)
return WineTestBot::PendingPatch->new($self);
}
+my @PropertyDescriptors = (
+ CreateBasicPropertyDescriptor("No", "Part no", 1, 1, "N", 2),
+ CreateItemrefPropertyDescriptor("Patch", "Submitted via patch", !1, 1, \&WineTestBot::Patches::CreatePatches, ["PatchId"]),
+);
+
+=pod
+=over 12
+
+=item C<CreatePendingPatches()>
+
+Creates a collection of PendingPatch objects.
+
+=back
+=cut
+
sub CreatePendingPatches(;$$)
{
my ($ScopeObject, $PendingPatchSet) = @_;
- return WineTestBot::PendingPatches->new("PendingPatches", "PendingPatches", "PendingPatch", \@PropertyDescriptors, $ScopeObject, $PendingPatchSet);
+ return WineTestBot::PendingPatches->new(
+ "PendingPatches", "PendingPatches", "PendingPatch",
+ \@PropertyDescriptors, $ScopeObject, $PendingPatchSet);
}
1;
diff --git a/testbot/lib/WineTestBot/RecordGroups.pm b/testbot/lib/WineTestBot/RecordGroups.pm
index dfa83aeac..49c1758a0 100644
--- a/testbot/lib/WineTestBot/RecordGroups.pm
+++ b/testbot/lib/WineTestBot/RecordGroups.pm
@@ -61,22 +61,13 @@ use ObjectModel::DetailrefPropertyDescriptor;
use WineTestBot::WineTestBotObjects;
use WineTestBot::Records;
-use vars qw (@ISA @EXPORT @PropertyDescriptors);
+use vars qw (@ISA @EXPORT);
require Exporter;
@ISA = qw(WineTestBot::WineTestBotCollection Exporter);
@EXPORT = qw(&CreateRecordGroups &CompareRecordGroups &SaveRecord);
-BEGIN
-{
- @PropertyDescriptors = (
- CreateBasicPropertyDescriptor("Id", "Group id", 1, 1, "S", 6),
- CreateBasicPropertyDescriptor("Timestamp", "Timestamp", !1, 1, "DT", 19),
- CreateDetailrefPropertyDescriptor("Records", "Records", !1, !1, \&CreateRecords),
- );
-}
-
sub CreateItem($)
{
my ($self) = @_;
@@ -84,6 +75,22 @@ sub CreateItem($)
return WineTestBot::RecordGroup->new($self);
}
+my @PropertyDescriptors = (
+ CreateBasicPropertyDescriptor("Id", "Group id", 1, 1, "S", 6),
+ CreateBasicPropertyDescriptor("Timestamp", "Timestamp", !1, 1, "DT", 19),
+ CreateDetailrefPropertyDescriptor("Records", "Records", !1, !1, \&CreateRecords),
+);
+
+=pod
+=over 12
+
+=item C<CreateRecordGroups()>
+
+Creates a collection of RecordGroup objects.
+
+=back
+=cut
+
sub CreateRecordGroups(;$)
{
my ($ScopeObject) = @_;
diff --git a/testbot/lib/WineTestBot/Records.pm b/testbot/lib/WineTestBot/Records.pm
index 46cf1fe43..98d5ee7d9 100644
--- a/testbot/lib/WineTestBot/Records.pm
+++ b/testbot/lib/WineTestBot/Records.pm
@@ -66,26 +66,13 @@ use ObjectModel::BasicPropertyDescriptor;
use ObjectModel::EnumPropertyDescriptor;
use WineTestBot::WineTestBotObjects;
-use vars qw (@ISA @EXPORT @PropertyDescriptors @FlatPropertyDescriptors);
+use vars qw (@ISA @EXPORT);
require Exporter;
@ISA = qw(WineTestBot::WineTestBotCollection Exporter);
@EXPORT = qw(&CreateRecords);
-BEGIN
-{
- @PropertyDescriptors = (
- CreateEnumPropertyDescriptor("Type", "Type", 1, 1, ['engine', 'tasks', 'vmresult', 'vmstatus']),
- CreateBasicPropertyDescriptor("Name", "Name", 1, 1, "A", 96),
- CreateBasicPropertyDescriptor("Value", "Value", !1, !1, "A", 64),
- );
- @FlatPropertyDescriptors = (
- CreateBasicPropertyDescriptor("RecordGroupId", "Record group id", 1, 1, "S", 6),
- @PropertyDescriptors
- );
-}
-
sub CreateItem($)
{
my ($self) = @_;
@@ -93,15 +80,26 @@ sub CreateItem($)
return WineTestBot::Record->new($self);
}
+my @PropertyDescriptors = (
+ CreateEnumPropertyDescriptor("Type", "Type", 1, 1, ['engine', 'tasks', 'vmresult', 'vmstatus']),
+ CreateBasicPropertyDescriptor("Name", "Name", 1, 1, "A", 96),
+ CreateBasicPropertyDescriptor("Value", "Value", !1, !1, "A", 64),
+);
+my @FlatPropertyDescriptors = (
+ CreateBasicPropertyDescriptor("RecordGroupId", "Group id", 1, 1, "S", 6),
+ @PropertyDescriptors
+);
+
=pod
=over 12
=item C<CreateRecords()>
-Creates a collection containing the records of the specified RecordGroup. In
-this case the Record objects have no RecordGroupId property.
+When given a RecordGroup object returns a collection containing the
+corresponding records. In this case the Record objects don't store the key of
+their parent.
-If no RecordGroup is specified all the table records are returned and the
+If no RecordGroup object is specified all the table rows are returned and the
Record objects have a RecordGroupId property.
=back
diff --git a/testbot/lib/WineTestBot/Roles.pm b/testbot/lib/WineTestBot/Roles.pm
index eed13c301..a617ac14e 100644
--- a/testbot/lib/WineTestBot/Roles.pm
+++ b/testbot/lib/WineTestBot/Roles.pm
@@ -48,19 +48,12 @@ WineTestBot::Roles - A collection of WineTestBot::Role objects
use ObjectModel::BasicPropertyDescriptor;
use WineTestBot::WineTestBotObjects;
-use vars qw (@ISA @EXPORT @PropertyDescriptors);
+use vars qw (@ISA @EXPORT);
require Exporter;
@ISA = qw(WineTestBot::WineTestBotCollection Exporter);
@EXPORT = qw(&CreateRoles);
-BEGIN
-{
- @PropertyDescriptors = (
- CreateBasicPropertyDescriptor("Name", "Role name", 1, 1, "A", 20),
- CreateBasicPropertyDescriptor("IsDefaultRole", "Should new users get this role by default", !1, 1, "B", 1),
- );
-}
sub CreateItem($)
{
@@ -69,6 +62,21 @@ sub CreateItem($)
return WineTestBot::Role->new($self);
}
+my @PropertyDescriptors = (
+ CreateBasicPropertyDescriptor("Name", "Role name", 1, 1, "A", 20),
+ CreateBasicPropertyDescriptor("IsDefaultRole", "Should new users get this role by default", !1, 1, "B", 1),
+);
+
+=pod
+=over 12
+
+=item C<CreateRoles()>
+
+Creates a collection of Role objects.
+
+=back
+=cut
+
sub CreateRoles(;$)
{
my ($ScopeObject) = @_;
diff --git a/testbot/lib/WineTestBot/Steps.pm b/testbot/lib/WineTestBot/Steps.pm
index b8dbaecb8..f91b70e3f 100644
--- a/testbot/lib/WineTestBot/Steps.pm
+++ b/testbot/lib/WineTestBot/Steps.pm
@@ -190,27 +190,12 @@ use ObjectModel::DetailrefPropertyDescriptor;
use WineTestBot::Tasks;
use WineTestBot::WineTestBotObjects;
-use vars qw(@ISA @EXPORT @PropertyDescriptors);
+use vars qw(@ISA @EXPORT);
require Exporter;
@ISA = qw(WineTestBot::WineTestBotCollection Exporter);
@EXPORT = qw(&CreateSteps);
-BEGIN
-{
- @PropertyDescriptors = (
- CreateBasicPropertyDescriptor("No", "Step no", 1, 1, "N", 2),
- CreateBasicPropertyDescriptor("PreviousNo", "Previous step", !1, !1, "N", 2),
- CreateEnumPropertyDescriptor("Status", "Status", !1, 1, ['queued', 'running', 'completed', 'badpatch', 'badbuild', 'boterror', 'canceled', 'skipped']),
- CreateEnumPropertyDescriptor("Type", "Step type", !1, 1, ['suite', 'single', 'build', 'reconfig']),
- CreateBasicPropertyDescriptor("FileName", "File name", !1, 1, "A", 100),
- CreateEnumPropertyDescriptor("FileType", "File type", !1, 1, ['exe32', 'exe64', 'patchdlls', 'patchprograms']),
- CreateBasicPropertyDescriptor("InStaging", "File is in staging area", !1, 1, "B", 1),
- CreateBasicPropertyDescriptor("DebugLevel", "Debug level (WINETEST_DEBUG)", !1, 1, "N", 2),
- CreateBasicPropertyDescriptor("ReportSuccessfulTests", "Report successful tests (WINETEST_REPORT_SUCCESS)", !1, 1, "B", 1),
- CreateDetailrefPropertyDescriptor("Tasks", "Tasks", !1, !1, \&CreateTasks),
- );
-}
sub CreateItem($)
{
@@ -219,6 +204,33 @@ sub CreateItem($)
return WineTestBot::Step->new($self);
}
+my @PropertyDescriptors = (
+ CreateBasicPropertyDescriptor("No", "Step no", 1, 1, "N", 2),
+ CreateBasicPropertyDescriptor("PreviousNo", "Previous step", !1, !1, "N", 2),
+ CreateEnumPropertyDescriptor("Status", "Status", !1, 1, ['queued', 'running', 'completed', 'badpatch', 'badbuild', 'boterror', 'canceled', 'skipped']),
+ CreateEnumPropertyDescriptor("Type", "Step type", !1, 1, ['suite', 'single', 'build', 'reconfig']),
+ CreateBasicPropertyDescriptor("FileName", "File name", !1, 1, "A", 100),
+ CreateEnumPropertyDescriptor("FileType", "File type", !1, 1, ['exe32', 'exe64', 'patchdlls', 'patchprograms']),
+ CreateBasicPropertyDescriptor("InStaging", "File is in staging area", !1, 1, "B", 1),
+ CreateBasicPropertyDescriptor("DebugLevel", "Debug level (WINETEST_DEBUG)", !1, 1, "N", 2),
+ CreateBasicPropertyDescriptor("ReportSuccessfulTests", "Report successful tests (WINETEST_REPORT_SUCCESS)", !1, 1, "B", 1),
+ CreateDetailrefPropertyDescriptor("Tasks", "Tasks", !1, !1, \&CreateTasks),
+);
+
+=pod
+=over 12
+
+=item C<CreateSteps()>
+
+Creates a collection containing the steps of the specified Job. In
+this case the Step objects don't store the key of their parent.
+
+If no Job is specified all the table rows are returned and the
+Step objects have a JobId property.
+
+=back
+=cut
+
sub CreateSteps(;$$)
{
my ($ScopeObject, $Job) = @_;
diff --git a/testbot/lib/WineTestBot/StepsTasks.pm b/testbot/lib/WineTestBot/StepsTasks.pm
index 79216d4e1..aea4654f4 100644
--- a/testbot/lib/WineTestBot/StepsTasks.pm
+++ b/testbot/lib/WineTestBot/StepsTasks.pm
@@ -102,31 +102,12 @@ use WineTestBot::Tasks;
use WineTestBot::VMs;
use WineTestBot::WineTestBotObjects;
-use vars qw(@ISA @EXPORT @PropertyDescriptors);
+use vars qw(@ISA @EXPORT);
require Exporter;
@ISA = qw(WineTestBot::WineTestBotCollection Exporter);
@EXPORT = qw(&CreateStepsTasks);
-BEGIN
-{
- @PropertyDescriptors = (
- CreateBasicPropertyDescriptor("Id", "Id", 1, 1, "N", 4),
- CreateBasicPropertyDescriptor("StepNo", "Step no", !1, 1, "N", 2),
- CreateBasicPropertyDescriptor("TaskNo", "Task no", ! 1, 1, "N", 2),
- CreateBasicPropertyDescriptor("Type", "Step type", !1, 1, "A", 6),
- CreateBasicPropertyDescriptor("Status", "Status", !1, 1, "A", 9),
- CreateItemrefPropertyDescriptor("VM", "VM", !1, 1, \&CreateVMs, ["VMName"]),
- CreateBasicPropertyDescriptor("Timeout", "Timeout", !1, 1, "N", 4),
- CreateBasicPropertyDescriptor("FileName", "File name", !1, 1, "A", 64),
- CreateBasicPropertyDescriptor("FileType", "File Type", !1, 1, "A", 64),
- CreateBasicPropertyDescriptor("CmdLineArg", "Command line args", !1, !1, "A", 256),
- CreateBasicPropertyDescriptor("Started", "Execution started", !1, !1, "DT", 19),
- CreateBasicPropertyDescriptor("Ended", "Execution ended", !1, !1, "DT", 19),
- CreateBasicPropertyDescriptor("TestFailures", "Number of test failures", !1, !1, "N", 5),
- );
-}
-
sub _initialize($$)
{
my ($self, $Job) = @_;
@@ -181,6 +162,22 @@ sub CreateItem($)
return WineTestBot::StepTask->new($self);
}
+my @PropertyDescriptors = (
+ CreateBasicPropertyDescriptor("Id", "Id", 1, 1, "N", 4),
+ CreateBasicPropertyDescriptor("StepNo", "Step no", !1, 1, "N", 2),
+ CreateBasicPropertyDescriptor("TaskNo", "Task no", ! 1, 1, "N", 2),
+ CreateBasicPropertyDescriptor("Type", "Step type", !1, 1, "A", 6),
+ CreateBasicPropertyDescriptor("Status", "Status", !1, 1, "A", 9),
+ CreateItemrefPropertyDescriptor("VM", "VM", !1, 1, \&CreateVMs, ["VMName"]),
+ CreateBasicPropertyDescriptor("Timeout", "Timeout", !1, 1, "N", 4),
+ CreateBasicPropertyDescriptor("FileName", "File name", !1, 1, "A", 64),
+ CreateBasicPropertyDescriptor("FileType", "File Type", !1, 1, "A", 64),
+ CreateBasicPropertyDescriptor("CmdLineArg", "Command line args", !1, !1, "A", 256),
+ CreateBasicPropertyDescriptor("Started", "Execution started", !1, !1, "DT", 19),
+ CreateBasicPropertyDescriptor("Ended", "Execution ended", !1, !1, "DT", 19),
+ CreateBasicPropertyDescriptor("TestFailures", "Number of test failures", !1, !1, "N", 5),
+);
+
sub CreateStepsTasks(;$$)
{
my ($ScopeObject, $Job) = @_;
diff --git a/testbot/lib/WineTestBot/Tasks.pm b/testbot/lib/WineTestBot/Tasks.pm
index 373da5372..dcc222b52 100644
--- a/testbot/lib/WineTestBot/Tasks.pm
+++ b/testbot/lib/WineTestBot/Tasks.pm
@@ -209,25 +209,12 @@ use ObjectModel::ItemrefPropertyDescriptor;
use WineTestBot::VMs;
use WineTestBot::WineTestBotObjects;
-use vars qw(@ISA @EXPORT @PropertyDescriptors);
+use vars qw(@ISA @EXPORT);
require Exporter;
@ISA = qw(WineTestBot::WineTestBotCollection Exporter);
@EXPORT = qw(&CreateTasks);
-BEGIN
-{
- @PropertyDescriptors = (
- CreateBasicPropertyDescriptor("No", "Task no", 1, 1, "N", 2),
- CreateEnumPropertyDescriptor("Status", "Status", !1, 1, ['queued', 'running', 'completed', 'badpatch', 'badbuild', 'boterror', 'canceled', 'skipped']),
- CreateItemrefPropertyDescriptor("VM", "VM", !1, 1, \&CreateVMs, ["VMName"]),
- CreateBasicPropertyDescriptor("Timeout", "Timeout", !1, 1, "N", 4),
- CreateBasicPropertyDescriptor("CmdLineArg", "Command line args", !1, !1, "A", 256),
- CreateBasicPropertyDescriptor("Started", "Execution started", !1, !1, "DT", 19),
- CreateBasicPropertyDescriptor("Ended", "Execution ended", !1, !1, "DT", 19),
- CreateBasicPropertyDescriptor("TestFailures", "Number of test failures", !1, !1, "N", 6),
- );
-}
sub CreateItem($)
{
@@ -236,6 +223,27 @@ sub CreateItem($)
return WineTestBot::Task->new($self);
}
+my @PropertyDescriptors = (
+ CreateBasicPropertyDescriptor("No", "Task no", 1, 1, "N", 2),
+ CreateEnumPropertyDescriptor("Status", "Status", !1, 1, ['queued', 'running', 'completed', 'badpatch', 'badbuild', 'boterror', 'canceled', 'skipped']),
+ CreateItemrefPropertyDescriptor("VM", "VM", !1, 1, \&CreateVMs, ["VMName"]),
+ CreateBasicPropertyDescriptor("Timeout", "Timeout", !1, 1, "N", 4),
+ CreateBasicPropertyDescriptor("CmdLineArg", "Command line args", !1, !1, "A", 256),
+ CreateBasicPropertyDescriptor("Started", "Execution started", !1, !1, "DT", 19),
+ CreateBasicPropertyDescriptor("Ended", "Execution ended", !1, !1, "DT", 19),
+ CreateBasicPropertyDescriptor("TestFailures", "Number of test failures", !1, !1, "N", 6),
+);
+
+=pod
+=over 12
+
+=item C<CreateTasks()>
+
+Creates a collection of Patch objects.
+
+=back
+=cut
+
sub CreateTasks(;$$)
{
my ($ScopeObject, $Step) = @_;
diff --git a/testbot/lib/WineTestBot/UserRoles.pm b/testbot/lib/WineTestBot/UserRoles.pm
index 8f7899a9e..417baf994 100644
--- a/testbot/lib/WineTestBot/UserRoles.pm
+++ b/testbot/lib/WineTestBot/UserRoles.pm
@@ -40,23 +40,17 @@ WineTestBot::UserRoles - A collection of WineTestBot::UserRole objects
=cut
+use ObjectModel::BasicPropertyDescriptor;
use ObjectModel::ItemrefPropertyDescriptor;
use WineTestBot::Roles;
use WineTestBot::WineTestBotObjects;
-use vars qw(@ISA @EXPORT @PropertyDescriptors);
+use vars qw(@ISA @EXPORT);
require Exporter;
@ISA = qw(WineTestBot::WineTestBotCollection Exporter);
@EXPORT = qw(&CreateUserRoles);
-BEGIN
-{
- @PropertyDescriptors = (
- CreateItemrefPropertyDescriptor("Role", "Role", 1, 1, \&CreateRoles, ["RoleName"]),
- );
-
-}
sub CreateItem($)
{
@@ -65,6 +59,20 @@ sub CreateItem($)
return WineTestBot::UserRole->new($self);
}
+my @PropertyDescriptors = (
+ CreateItemrefPropertyDescriptor("Role", "Role", 1, 1, \&CreateRoles, ["RoleName"]),
+);
+
+=pod
+=over 12
+
+=item C<CreateUserRoles()>
+
+Creates a collection of UserRole objects.
+
+=back
+=cut
+
sub CreateUserRoles(;$$)
{
my ($ScopeObject, $User) = @_;
diff --git a/testbot/lib/WineTestBot/Users.pm b/testbot/lib/WineTestBot/Users.pm
index b9745d804..ec89f9b16 100644
--- a/testbot/lib/WineTestBot/Users.pm
+++ b/testbot/lib/WineTestBot/Users.pm
@@ -303,24 +303,12 @@ use WineTestBot::Config;
use WineTestBot::UserRoles;
use WineTestBot::WineTestBotObjects;
-use vars qw (@ISA @EXPORT @PropertyDescriptors);
+use vars qw (@ISA @EXPORT);
require Exporter;
@ISA = qw(WineTestBot::WineTestBotCollection Exporter);
@EXPORT = qw(&CreateUsers &GetBatchUser &Authenticate);
-BEGIN
-{
- @PropertyDescriptors = (
- CreateBasicPropertyDescriptor("Name", "Username", 1, 1, "A", 40),
- CreateBasicPropertyDescriptor("EMail", "EMail", !1, 1, "A", 40),
- CreateEnumPropertyDescriptor("Status", "Status", !1, 1, ['active', 'disabled', 'deleted']),
- CreateBasicPropertyDescriptor("Password", "Password", !1, 1, "A", 49),
- CreateBasicPropertyDescriptor("RealName", "Real name", !1, !1, "A", 40),
- CreateBasicPropertyDescriptor("ResetCode", "Password reset code", !1, !1, "A", 32),
- CreateDetailrefPropertyDescriptor("Roles", "Roles", !1, !1, \&CreateUserRoles),
- );
-}
sub CreateItem($)
{
@@ -329,6 +317,26 @@ sub CreateItem($)
return WineTestBot::User->new($self);
}
+my @PropertyDescriptors = (
+ CreateBasicPropertyDescriptor("Name", "Username", 1, 1, "A", 40),
+ CreateBasicPropertyDescriptor("EMail", "EMail", !1, 1, "A", 40),
+ CreateEnumPropertyDescriptor("Status", "Status", !1, 1, ['active', 'disabled', 'deleted']),
+ CreateBasicPropertyDescriptor("Password", "Password", !1, 1, "A", 49),
+ CreateBasicPropertyDescriptor("RealName", "Real name", !1, !1, "A", 40),
+ CreateBasicPropertyDescriptor("ResetCode", "Password reset code", !1, !1, "A", 32),
+ CreateDetailrefPropertyDescriptor("Roles", "Roles", !1, !1, \&CreateUserRoles),
+);
+
+=pod
+=over 12
+
+=item C<CreateUsers()>
+
+Creates a collection of User objects.
+
+=back
+=cut
+
sub CreateUsers(;$)
{
my ($ScopeObject) = @_;
diff --git a/testbot/lib/WineTestBot/VMs.pm b/testbot/lib/WineTestBot/VMs.pm
index 35bbe2a59..e93208201 100644
--- a/testbot/lib/WineTestBot/VMs.pm
+++ b/testbot/lib/WineTestBot/VMs.pm
@@ -639,31 +639,13 @@ use ObjectModel::BasicPropertyDescriptor;
use ObjectModel::EnumPropertyDescriptor;
use WineTestBot::WineTestBotObjects;
-use vars qw (@ISA @EXPORT @PropertyDescriptors);
+use vars qw (@ISA @EXPORT);
require Exporter;
@ISA = qw(WineTestBot::WineTestBotCollection Exporter);
@EXPORT = qw(&CreateVMs);
-BEGIN
-{
- @PropertyDescriptors = (
- CreateBasicPropertyDescriptor("Name", "VM name", 1, 1, "A", 20),
- CreateBasicPropertyDescriptor("SortOrder", "Display order", !1, 1, "N", 3),
- CreateEnumPropertyDescriptor("Type", "Type of VM", !1, 1, ['win32', 'win64', 'build']),
- CreateEnumPropertyDescriptor("Role", "VM Role", !1, 1, ['extra', 'base', 'winetest', 'retired', 'deleted']),
- CreateEnumPropertyDescriptor("Status", "Current status", !1, 1, ['dirty', 'reverting', 'sleeping', 'idle', 'running', 'off', 'offline', 'maintenance']),
- CreateBasicPropertyDescriptor("ChildPid", "Child process id", !1, !1, "N", 5),
- CreateBasicPropertyDescriptor("VirtURI", "LibVirt URI of the VM", !1, 1, "A", 64),
- CreateBasicPropertyDescriptor("VirtDomain", "LibVirt Domain for the VM", !1, 1, "A", 32),
- CreateBasicPropertyDescriptor("IdleSnapshot", "Name of idle snapshot", !1, 1, "A", 32),
- CreateBasicPropertyDescriptor("Hostname", "The VM hostname", !1, 1, "A", 64),
- CreateBasicPropertyDescriptor("Description", "Description", !1, !1, "A", 40),
- CreateBasicPropertyDescriptor("Details", "VM configuration details", !1, !1, "A", 512),
- );
-}
-
sub CreateItem($)
{
my ($self) = @_;
@@ -671,6 +653,31 @@ sub CreateItem($)
return WineTestBot::VM->new($self);
}
+my @PropertyDescriptors = (
+ CreateBasicPropertyDescriptor("Name", "VM name", 1, 1, "A", 20),
+ CreateBasicPropertyDescriptor("SortOrder", "Display order", !1, 1, "N", 3),
+ CreateEnumPropertyDescriptor("Type", "Type of VM", !1, 1, ['win32', 'win64', 'build']),
+ CreateEnumPropertyDescriptor("Role", "VM Role", !1, 1, ['extra', 'base', 'winetest', 'retired', 'deleted']),
+ CreateEnumPropertyDescriptor("Status", "Current status", !1, 1, ['dirty', 'reverting', 'sleeping', 'idle', 'running', 'off', 'offline', 'maintenance']),
+ CreateBasicPropertyDescriptor("ChildPid", "Child process id", !1, !1, "N", 5),
+ CreateBasicPropertyDescriptor("VirtURI", "LibVirt URI of the VM", !1, 1, "A", 64),
+ CreateBasicPropertyDescriptor("VirtDomain", "LibVirt Domain for the VM", !1, 1, "A", 32),
+ CreateBasicPropertyDescriptor("IdleSnapshot", "Name of idle snapshot", !1, 1, "A", 32),
+ CreateBasicPropertyDescriptor("Hostname", "The VM hostname", !1, 1, "A", 64),
+ CreateBasicPropertyDescriptor("Description", "Description", !1, !1, "A", 40),
+ CreateBasicPropertyDescriptor("Details", "VM configuration details", !1, !1, "A", 512),
+);
+
+=pod
+=over 12
+
+=item C<CreateVMs()>
+
+Creates a collection of VM objects.
+
+=back
+=cut
+
sub CreateVMs(;$)
{
my ($ScopeObject) = @_;
--
2.16.2