Make sure that grouping by time_daily works as expected.
Problem occurred because missing time stamp bewilded
sorting algorithm. Replace all NULLs with 1970-01-01 00:00:00 before sorting.
Change is visible to users.
Signed-off-by: Vladimir Samarskiy <vsamarsk@google.com>
git-svn-id: http://test.kernel.org/svn/autotest/trunk@1552 592f7852-d20e-0410-864c-8624ca9c26a4
diff --git a/tko/frontend.py b/tko/frontend.py
index fbcb128..2ccb601 100755
--- a/tko/frontend.py
+++ b/tko/frontend.py
@@ -114,15 +114,22 @@
def kernel_encode(kernel):
return kernel_versions.version_encode(kernel)
list.sort(key = kernel_encode, reverse = True)
- elif field.endswith('time'):
- ## old records may contain time=None
- ## make None comparable with timestamp as string
- def handleNone(date_time):
- if date_time==None:
- return datetime.datetime(1970,1,1,0,0,0)
+ ## old records may contain time=None
+ ## make None comparable with timestamp datetime or date
+ elif field == 'test_finished_time':
+ def convert_None_to_datetime(date_time):
+ if not date_time:
+ return datetime.datetime(1970, 1, 1, 0, 0, 0)
else:
return date_time
- list = map(handleNone,list)
+ list = map(convert_None_to_datetime, list)
+ elif field == 'DATE(test_finished_time)':
+ def convert_None_to_date(date):
+ if not date:
+ return datetime.date(1970, 1, 1)
+ else:
+ return date
+ list = map(convert_None_to_date, list)
list.sort()
return list