Francois Gouget : testbot/web: Use Collection::GetSortedItems() to sort record groups.
Alexandre Julliard
julliard at winehq.org
Thu Apr 7 16:07:10 CDT 2022
Module: tools
Branch: master
Commit: 659655fffe0235438b81b46d1504a2c69d414981
URL: https://source.winehq.org/git/tools.git/?a=commit;h=659655fffe0235438b81b46d1504a2c69d414981
Author: Francois Gouget <fgouget at codeweavers.com>
Date: Thu Apr 7 00:30:49 2022 +0200
testbot/web: Use Collection::GetSortedItems() to sort record groups.
Signed-off-by: Francois Gouget <fgouget at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
testbot/lib/WineTestBot/Activity.pm | 2 +-
testbot/lib/WineTestBot/RecordGroups.pm | 22 +++++++++++-----------
2 files changed, 12 insertions(+), 12 deletions(-)
diff --git a/testbot/lib/WineTestBot/Activity.pm b/testbot/lib/WineTestBot/Activity.pm
index 2a1e21f..b82d265 100644
--- a/testbot/lib/WineTestBot/Activity.pm
+++ b/testbot/lib/WineTestBot/Activity.pm
@@ -111,7 +111,7 @@ sub GetActivity($;$)
}
my $MinId;
$Counters->{recordgroups} = $RecordGroups->GetItemsCount();
- foreach my $RecordGroup (sort CompareRecordGroups @{$RecordGroups->GetItems()})
+ foreach my $RecordGroup (@{$RecordGroups->GetSortedItems()})
{
my $Group = { id => $RecordGroup->Id,
start => $RecordGroup->Timestamp };
diff --git a/testbot/lib/WineTestBot/RecordGroups.pm b/testbot/lib/WineTestBot/RecordGroups.pm
index f094543..c3022ae 100644
--- a/testbot/lib/WineTestBot/RecordGroups.pm
+++ b/testbot/lib/WineTestBot/RecordGroups.pm
@@ -43,6 +43,16 @@ sub InitializeNew($$)
$self->SUPER::InitializeNew($Collection);
}
+sub Compare($$)
+{
+ my ($self, $B) = @_;
+
+ # The Timestamps have a 1 second granularity and may have duplicates.
+ # So use the Id to break ties. And use GetColValue() for performance.
+ return $self->GetColValue("Timestamp") <=> $B->GetColValue("Timestamp") ||
+ $self->GetColValue("Id") <=> $B->GetColValue("Id");
+}
+
package WineTestBot::RecordGroups;
@@ -57,7 +67,7 @@ use WineTestBot::WineTestBotObjects;
BEGIN
{
our @ISA = qw(WineTestBot::WineTestBotCollection);
- our @EXPORT = qw(CreateRecordGroups CompareRecordGroups SaveRecord);
+ our @EXPORT = qw(CreateRecordGroups SaveRecord);
}
use ObjectModel::BasicPropertyDescriptor;
@@ -96,16 +106,6 @@ sub CreateRecordGroups(;$)
\@PropertyDescriptors, $ScopeObject);
}
-sub CompareRecordGroups($$)
-{
- my ($RecordGroup1, $RecordGroup2) = @_;
-
- # The Timestamps have a 1 second granularity and may have duplicates.
- # So use the Id to break ties.
- return $RecordGroup1->Timestamp <=> $RecordGroup2->Timestamp ||
- $RecordGroup1->Id <=> $RecordGroup2->Id;
-}
-
=pod
=over 12
More information about the wine-cvs
mailing list