Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 # Copyright 2016 The LUCI Authors. All rights reserved. | 1 # Copyright 2016 The LUCI Authors. All rights reserved. |
| 2 # Use of this source code is governed under the Apache License, Version 2.0 | 2 # Use of this source code is governed under the Apache License, Version 2.0 |
| 3 # that can be found in the LICENSE file. | 3 # that can be found in the LICENSE file. |
| 4 | 4 |
| 5 import StringIO | 5 import StringIO |
| 6 import collections | 6 import collections |
| 7 import contextlib | 7 import contextlib |
| 8 import datetime | 8 import datetime |
| 9 import json | 9 import json |
| 10 import os | 10 import os |
| (...skipping 453 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 464 self._test_data.expected_exception)) | 464 self._test_data.expected_exception)) |
| 465 | 465 |
| 466 def _rendered_step_to_dict(self, rs): | 466 def _rendered_step_to_dict(self, rs): |
| 467 d = rs.config.render_to_dict() | 467 d = rs.config.render_to_dict() |
| 468 if rs.followup_annotations: | 468 if rs.followup_annotations: |
| 469 d['~followup_annotations'] = rs.followup_annotations | 469 d['~followup_annotations'] = rs.followup_annotations |
| 470 return d | 470 return d |
| 471 | 471 |
| 472 @property | 472 @property |
| 473 def steps_ran(self): | 473 def steps_ran(self): |
| 474 return [self._rendered_step_to_dict(rs) | 474 return collections.OrderedDict( |
| 475 for rs in self._step_history.itervalues()] | 475 (name, self._rendered_step_to_dict(rs)) |
|
dnj
2016/10/04 16:42:35
Can we make this a namedtuple?
iannucci
2016/10/06 22:47:11
are you serious?
| |
| 476 for name, rs in self._step_history.iteritems()) | |
| 476 | 477 |
| 477 | 478 |
| 478 # Placeholders associated with a rendered step. | 479 # Placeholders associated with a rendered step. |
| 479 Placeholders = collections.namedtuple('Placeholders', | 480 Placeholders = collections.namedtuple('Placeholders', |
| 480 ('inputs_cmd', 'outputs_cmd', 'stdout', 'stderr', 'stdin')) | 481 ('inputs_cmd', 'outputs_cmd', 'stdout', 'stderr', 'stdin')) |
| 481 | 482 |
| 482 # Result of 'render_step'. | 483 # Result of 'render_step'. |
| 483 # | 484 # |
| 484 # Fields: | 485 # Fields: |
| 485 # config (recipe_api.StepConfig): The step configuration. | 486 # config (recipe_api.StepConfig): The step configuration. |
| (...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 670 supplied command, and only uses the |env| kwarg for modifying the environment | 671 supplied command, and only uses the |env| kwarg for modifying the environment |
| 671 of the child process. | 672 of the child process. |
| 672 """ | 673 """ |
| 673 saved_path = os.environ['PATH'] | 674 saved_path = os.environ['PATH'] |
| 674 try: | 675 try: |
| 675 if path is not None: | 676 if path is not None: |
| 676 os.environ['PATH'] = path | 677 os.environ['PATH'] = path |
| 677 yield | 678 yield |
| 678 finally: | 679 finally: |
| 679 os.environ['PATH'] = saved_path | 680 os.environ['PATH'] = saved_path |
| OLD | NEW |