| OLD | NEW |
| 1 # Copyright 2014 The Chromium Authors. All rights reserved. | 1 # Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
| 3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
| 4 | 4 |
| 5 from recipe_engine import recipe_test_api | 5 from recipe_engine import recipe_test_api |
| 6 | 6 |
| 7 | 7 |
| 8 class ChromiumTestApi(recipe_test_api.RecipeTestApi): | 8 class ChromiumTestApi(recipe_test_api.RecipeTestApi): |
| 9 def gen_tests_for_builders(self, builder_dict, overrides=None): | 9 def gen_tests_for_builders(self, builder_dict): |
| 10 # TODO: crbug.com/354674. Figure out where to put "simulation" | 10 # TODO: crbug.com/354674. Figure out where to put "simulation" |
| 11 # tests. Is this really the right place? | 11 # tests. Is this really the right place? |
| 12 | 12 |
| 13 def _sanitize_nonalpha(text): | 13 def _sanitize_nonalpha(text): |
| 14 return ''.join(c if c.isalnum() else '_' for c in text) | 14 return ''.join(c if c.isalnum() else '_' for c in text) |
| 15 | 15 |
| 16 overrides = overrides or {} | |
| 17 for mastername in builder_dict: | 16 for mastername in builder_dict: |
| 18 for buildername in builder_dict[mastername]['builders']: | 17 for buildername in builder_dict[mastername]['builders']: |
| 19 if 'mac' in buildername or 'Mac' in buildername: | 18 if 'mac' in buildername or 'Mac' in buildername: |
| 20 platform_name = 'mac' | 19 platform_name = 'mac' |
| 21 elif 'win' in buildername or 'Win' in buildername: | 20 elif 'win' in buildername or 'Win' in buildername: |
| 22 platform_name = 'win' | 21 platform_name = 'win' |
| 23 else: | 22 else: |
| 24 platform_name = 'linux' | 23 platform_name = 'linux' |
| 25 test = ( | 24 test = ( |
| 26 self.test('full_%s_%s' % (_sanitize_nonalpha(mastername), | 25 self.test('full_%s_%s' % (_sanitize_nonalpha(mastername), |
| 27 _sanitize_nonalpha(buildername))) + | 26 _sanitize_nonalpha(buildername))) + |
| 28 self.m.platform.name(platform_name) | 27 self.m.platform.name(platform_name) |
| 29 ) | 28 ) |
| 30 if mastername.startswith('tryserver'): | 29 if mastername.startswith('tryserver'): |
| 31 test += self.m.properties.tryserver(buildername=buildername, | 30 test += self.m.properties.tryserver(buildername=buildername, |
| 32 mastername=mastername) | 31 mastername=mastername) |
| 33 else: | 32 else: |
| 34 test += self.m.properties.generic(buildername=buildername, | 33 test += self.m.properties.generic(buildername=buildername, |
| 35 mastername=mastername) | 34 mastername=mastername) |
| 36 | 35 |
| 37 override_step_data = overrides.get(mastername, {}).get(buildername, | |
| 38 None) | |
| 39 if override_step_data: | |
| 40 test += override_step_data | |
| 41 yield test | 36 yield test |
| 42 | 37 |
| 43 # The following data was generated by running 'gyp_chromium | 38 # The following data was generated by running 'gyp_chromium |
| 44 # --analyzer' with input JSON files corresponding to changes | 39 # --analyzer' with input JSON files corresponding to changes |
| 45 # affecting these targets. | 40 # affecting these targets. |
| 46 @property | 41 @property |
| 47 def analyze_builds_nothing(self): | 42 def analyze_builds_nothing(self): |
| 48 return self.m.json.output({ | 43 return self.m.json.output({ |
| 49 'status': 'No dependencies', | 44 'status': 'No dependencies', |
| 50 'compile_targets': [], | 45 'compile_targets': [], |
| 51 'test_targets': [], | 46 'test_targets': [], |
| 52 }) | 47 }) |
| OLD | NEW |