aboutsummaryrefslogtreecommitdiffstats
path: root/lib/bb/ui/buildinfohelper.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/bb/ui/buildinfohelper.py')
-rw-r--r--lib/bb/ui/buildinfohelper.py14
1 files changed, 8 insertions, 6 deletions
diff --git a/lib/bb/ui/buildinfohelper.py b/lib/bb/ui/buildinfohelper.py
index 2084aab96..08d9fcf8b 100644
--- a/lib/bb/ui/buildinfohelper.py
+++ b/lib/bb/ui/buildinfohelper.py
@@ -134,8 +134,8 @@ class ORMWrapper(object):
task_object.sstate_result = Task.SSTATE_FAILED
# mark down duration if we have a start time and a current time
- if 'start_time' in task_information.keys() and 'time' in vars(event):
- duration = event.time - task_information['start_time']
+ if 'start_time' in task_information.keys() and 'end_time' in task_information.keys():
+ duration = task_information['end_time'] - task_information['start_time']
task_object.elapsed_time = duration
task_object.save()
@@ -672,7 +672,6 @@ class BuildInfoHelper(object):
task_obj = self.orm_wrapper.get_update_task_object(task_information)
self.internal_state['taskdata'][identifier] = {
- 'start_time': datetime.datetime.now(),
'outcome': task_information['outcome'],
}
@@ -717,10 +716,13 @@ class BuildInfoHelper(object):
recipe = self.orm_wrapper.get_update_recipe_object(recipe_information, True)
task_information = self._get_task_information(event,recipe)
- if 'time' in vars(event) and isinstance(event, bb.build.TaskStarted):
- self.internal_state['taskdata'][identifier]['start_time'] = event.time
+ if 'time' in vars(event):
+ if not 'start_time' in self.internal_state['taskdata'][identifier]:
+ self.internal_state['taskdata'][identifier]['start_time'] = event.time
+ else:
+ task_information['end_time'] = event.time
+ task_information['start_time'] = self.internal_state['taskdata'][identifier]['start_time']
- task_information['start_time'] = self.internal_state['taskdata'][identifier]['start_time']
task_information['outcome'] = self.internal_state['taskdata'][identifier]['outcome']
if 'logfile' in vars(event):