From 91ae056ed37ab4ad62d9c685af29c43424004f80 Mon Sep 17 00:00:00 2001
From: Andreas Kloeckner <inform@tiker.net>
Date: Fri, 22 Nov 2013 10:46:13 -0600
Subject: [PATCH] Py3 test fixes

---
 pytools/datatable.py    | 13 +++++--------
 test/test_data_table.py |  4 ++--
 2 files changed, 7 insertions(+), 10 deletions(-)

diff --git a/pytools/datatable.py b/pytools/datatable.py
index 5df1e0c..8019f30 100644
--- a/pytools/datatable.py
+++ b/pytools/datatable.py
@@ -123,15 +123,12 @@ class DataTable:
     def sort(self, columns, reverse=False):
         col_indices = [self.column_indices[col] for col in columns]
 
-        def mycmp(row_a, row_b):
-            for col_index in col_indices:
-                this_result = cmp(row_a[col_index], row_b[col_index])
-                if this_result:
-                    return this_result
+        def mykey(row):
+            return tuple(
+                    row[col_index]
+                    for col_index in col_indices)
 
-            return 0
-
-        self.data.sort(mycmp, reverse=reverse)
+        self.data.sort(reverse=reverse, key=mykey)
 
     def aggregated(self, groupby, agg_column, aggregate_func):
         gb_indices = [self.column_indices[col] for col in groupby]
diff --git a/test/test_data_table.py b/test/test_data_table.py
index 0b3343e..2e6fa5c 100644
--- a/test/test_data_table.py
+++ b/test/test_data_table.py
@@ -73,8 +73,8 @@ def test_aggregate_2():
     from pytools.datatable import DataTable
     tbl = DataTable(["step", "value"], zip(range(20), range(20)))
     agg = tbl.aggregated(["step"], "value", max)
-    assert agg.column_data("step") == range(20)
-    assert agg.column_data("value") == range(20)
+    assert agg.column_data("step") == list(range(20))
+    assert agg.column_data("value") == list(range(20))
 
 
 def test_join():
-- 
GitLab