OLD | NEW |
1 # Copyright 2016 The Chromium Authors. All rights reserved. | 1 # Copyright 2016 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_api | 5 from recipe_engine import recipe_api |
| 6 from recipe_engine.config_types import Path, NamedBasePath |
6 | 7 |
7 | 8 |
8 class InfraPathsApi(recipe_api.RecipeApi): | 9 class InfraPathsApi(recipe_api.RecipeApi): |
9 def get_config_defaults(self): | 10 def get_config_defaults(self): |
10 return { | 11 return { |
11 'PLATFORM': self.m.platform.name, | 12 'PLATFORM': self.m.platform.name, |
12 'CURRENT_WORKING_DIR': self.m.path['cwd'], | 13 'CURRENT_WORKING_DIR': self.m.path['cwd'], |
13 'ROOT': self.m.path['root'], | 14 'ROOT': self.m.path['root'], |
14 } | 15 } |
15 | 16 |
16 def __init__(self, **kwargs): | 17 def __init__(self, **kwargs): |
17 super(InfraPathsApi, self).__init__(**kwargs) | 18 super(InfraPathsApi, self).__init__(**kwargs) |
18 self._config_set = False | 19 self._config_set = False |
19 | 20 |
20 def _lazy_set_config(self): | 21 def _lazy_set_config(self): |
21 if self._config_set: | 22 if self._config_set: |
22 return | 23 return |
23 self._config_set = True | 24 self._config_set = True |
24 | 25 |
25 path_config = self.m.properties.get('path_config') | 26 path_config = self.m.properties.get('path_config') |
26 if path_config in ('kitchen',): | 27 if path_config in ('kitchen',): |
27 self.set_config(path_config) | 28 self.set_config(path_config) |
28 else: | 29 else: |
29 self.set_config('buildbot') | 30 self.set_config('buildbot') |
30 | 31 |
| 32 for path in self._test_data.get('exists', []): |
| 33 assert isinstance(path.base, NamedBasePath) |
| 34 self.m.path.mock_add_paths(self[path.base.name].join(*path.pieces)) |
| 35 |
31 def __getitem__(self, name): | 36 def __getitem__(self, name): |
32 self._lazy_set_config() | 37 self._lazy_set_config() |
33 return self.c.paths[name] | 38 return self.c.paths[name] |
OLD | NEW |