diff options
author | Alexandru DAMIAN <alexandru.damian@intel.com> | 2014-02-13 13:12:39 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2014-03-09 12:23:57 -0700 |
commit | 3d0bb418a08aa96dd57c15b695385775ce3bddc8 (patch) | |
tree | f39bb8adbf421f0296b4d97434bd105f01e88a8a /bitbake/lib/bb/ui/buildinfohelper.py | |
parent | 7008a24792704b8e757c583663636addf49f397d (diff) | |
download | poky-3d0bb418a08aa96dd57c15b695385775ce3bddc8.tar.gz |
bitbake: toasterui: adding new task outcome empty
In order to separate tasks with invalid states from the
no exec tasks, we add a new value OUTCOME_EMPTY for the tasks.
OUTCOME_EMPTY has the same value as OUTCOME_NA as to maintain
compatibility with already existing builds. New value for
OUTCOME_NA can be used to detect tasks with invalid states, i.e.
it should never appear after finishing a build.
Fixing noexec tasks outcomes.
[YOCTO #5763]
(Bitbake rev: 475643ad78796835bf2e731b9d0fa5794ec80dd1)
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/bb/ui/buildinfohelper.py')
-rw-r--r-- | bitbake/lib/bb/ui/buildinfohelper.py | 27 |
1 files changed, 15 insertions, 12 deletions
diff --git a/bitbake/lib/bb/ui/buildinfohelper.py b/bitbake/lib/bb/ui/buildinfohelper.py index 0a8073f916..4c9c96b1bc 100644 --- a/bitbake/lib/bb/ui/buildinfohelper.py +++ b/bitbake/lib/bb/ui/buildinfohelper.py | |||
@@ -458,7 +458,7 @@ class BuildInfoHelper(object): | |||
458 | task_information['task_executed'] = True | 458 | task_information['task_executed'] = True |
459 | if 'noexec' in vars(event) and event.noexec == True: | 459 | if 'noexec' in vars(event) and event.noexec == True: |
460 | task_information['task_executed'] = False | 460 | task_information['task_executed'] = False |
461 | task_information['outcome'] = Task.OUTCOME_NA | 461 | task_information['outcome'] = Task.OUTCOME_EMPTY |
462 | task_information['script_type'] = Task.CODING_NA | 462 | task_information['script_type'] = Task.CODING_NA |
463 | 463 | ||
464 | # do not assign order numbers to scene tasks | 464 | # do not assign order numbers to scene tasks |
@@ -468,7 +468,10 @@ class BuildInfoHelper(object): | |||
468 | 468 | ||
469 | task_obj = self.orm_wrapper.get_update_task_object(task_information) | 469 | task_obj = self.orm_wrapper.get_update_task_object(task_information) |
470 | 470 | ||
471 | self.internal_state[identifier] = {'start_time': datetime.datetime.now()} | 471 | self.internal_state[identifier] = { |
472 | 'start_time': datetime.datetime.now(), | ||
473 | 'outcome': task_information['outcome'], | ||
474 | } | ||
472 | 475 | ||
473 | 476 | ||
474 | def store_tasks_stats(self, event): | 477 | def store_tasks_stats(self, event): |
@@ -489,10 +492,9 @@ class BuildInfoHelper(object): | |||
489 | recipe_information = self._get_recipe_information_from_taskfile(event.taskfile) | 492 | recipe_information = self._get_recipe_information_from_taskfile(event.taskfile) |
490 | recipe = self.orm_wrapper.get_update_recipe_object(recipe_information) | 493 | recipe = self.orm_wrapper.get_update_recipe_object(recipe_information) |
491 | task_information = self._get_task_information(event,recipe) | 494 | task_information = self._get_task_information(event,recipe) |
492 | try: | 495 | |
493 | task_information['start_time'] = self.internal_state[identifier]['start_time'] | 496 | task_information['start_time'] = self.internal_state[identifier]['start_time'] |
494 | except: | 497 | task_information['outcome'] = self.internal_state[identifier]['outcome'] |
495 | pass | ||
496 | 498 | ||
497 | if 'logfile' in vars(event): | 499 | if 'logfile' in vars(event): |
498 | task_information['logfile'] = event.logfile | 500 | task_information['logfile'] = event.logfile |
@@ -507,13 +509,14 @@ class BuildInfoHelper(object): | |||
507 | else: | 509 | else: |
508 | task_information['script_type'] = Task.CODING_SHELL | 510 | task_information['script_type'] = Task.CODING_SHELL |
509 | 511 | ||
510 | if isinstance(event, (bb.runqueue.runQueueTaskCompleted, bb.runqueue.sceneQueueTaskCompleted)): | 512 | if task_information['outcome'] == Task.OUTCOME_NA: |
511 | task_information['outcome'] = Task.OUTCOME_SUCCESS | 513 | if isinstance(event, (bb.runqueue.runQueueTaskCompleted, bb.runqueue.sceneQueueTaskCompleted)): |
512 | del self.internal_state[identifier] | 514 | task_information['outcome'] = Task.OUTCOME_SUCCESS |
515 | del self.internal_state[identifier] | ||
513 | 516 | ||
514 | if isinstance(event, (bb.runqueue.runQueueTaskFailed, bb.runqueue.sceneQueueTaskFailed)): | 517 | if isinstance(event, (bb.runqueue.runQueueTaskFailed, bb.runqueue.sceneQueueTaskFailed)): |
515 | task_information['outcome'] = Task.OUTCOME_FAILED | 518 | task_information['outcome'] = Task.OUTCOME_FAILED |
516 | del self.internal_state[identifier] | 519 | del self.internal_state[identifier] |
517 | 520 | ||
518 | self.orm_wrapper.get_update_task_object(task_information) | 521 | self.orm_wrapper.get_update_task_object(task_information) |
519 | 522 | ||