@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@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) = @_;