Index: scripts/slave/recipe_modules/filter/api.py |
diff --git a/scripts/slave/recipe_modules/filter/api.py b/scripts/slave/recipe_modules/filter/api.py |
index 65c8c482334541f488179b0677712b59f1d6a928..fe6a6d83b723268c1fe36fa3a0a19215a92de7c6 100644 |
--- a/scripts/slave/recipe_modules/filter/api.py |
+++ b/scripts/slave/recipe_modules/filter/api.py |
@@ -75,14 +75,23 @@ class FilterApi(recipe_api.RecipeApi): |
kwargs.setdefault('env', {}) |
kwargs['env'].update(self.m.chromium.c.gyp_env.as_jsonish()) |
- step_result = self.m.python('analyze', |
- self.m.path['checkout'].join('build', 'gyp_chromium'), |
- args=['--analyzer2', |
- self.m.json.input(analyze_input), |
- self.m.json.output()], |
- step_test_data=lambda: self.m.json.test_api.output( |
- test_output), |
- **kwargs) |
+ try: |
+ step_result = self.m.python('analyze', |
+ self.m.path['checkout'].join('build', 'gyp_chromium'), |
+ args=['--analyzer2', |
+ self.m.json.input(analyze_input), |
+ self.m.json.output()], |
+ step_test_data=lambda: self.m.json.test_api.output( |
+ test_output), |
+ **kwargs) |
+ except self.m.step.StepFailure as f: |
+ # Continue on if there is an error executing python. Most likely runhooks |
+ # will fail too, but errors there are more well understood than here. |
+ self._result = True |
+ step_result = f.result |
+ step_result.presentation.status = 'WARNING' |
+ return |
+ |
if 'error' in step_result.json.output: |
self._result = True |
step_result.presentation.step_text = 'Error: ' + \ |