testbot/VMs: Tweak the sort order so retired and deleted VMs are last.

Francois Gouget fgouget at codeweavers.com
Thu Oct 25 12:14:18 CDT 2012


---
 testbot/lib/WineTestBot/VMs.pm |   11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/testbot/lib/WineTestBot/VMs.pm b/testbot/lib/WineTestBot/VMs.pm
index a356e98..734a58d 100644
--- a/testbot/lib/WineTestBot/VMs.pm
+++ b/testbot/lib/WineTestBot/VMs.pm
@@ -601,20 +601,19 @@ sub SortKeysBySortOrder
   my $self = shift;
   my $Keys = $_[0];
 
+  # Sort retired and deleted VMs last
+  my %RoleOrders = ("retired" => 1, "deleted" => 2);
+
   my %SortOrder;
   foreach my $Key (@$Keys)
   {
     my $Item = $self->GetItem($Key);
-    $SortOrder{$Key} = [$Item->Role, $Item->SortOrder];
+    $SortOrder{$Key} = [$RoleOrders{$Item->Role} || 0, $Item->SortOrder];
   }
 
   my @SortedKeys = sort {
     my ($soa, $sob) = ($SortOrder{$a}, $SortOrder{$b});
-    # Sort deleted VMs last
-    return 1 if (@$soa[0] eq "deleted");
-    return -1 if (@$sob[0] eq "deleted");
-    # Otherwise follow the SortOrder key
-    return @$soa[1] <=> @$sob[1];
+    return @$soa[0] <=> @$sob[0] || @$soa[1] <=> @$sob[1];
   } @$Keys;
   return \@SortedKeys;
 }
-- 
1.7.10.4




More information about the wine-patches mailing list