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 DEPS = [ | 5 DEPS = [ |
6 'path', | 6 'path', |
7 'platform', | 7 'platform', |
8 'properties', | 8 'properties', |
9 'step', | 9 'step', |
10 ] | 10 ] |
11 | 11 |
12 from recipe_engine.config_types import Path | 12 from recipe_engine.config_types import Path |
13 | 13 |
14 def RunSteps(api): | 14 def RunSteps(api): |
15 api.step('step1', ['/bin/echo', str(api.path['slave_build'].join('foo'))]) | 15 api.step('step1', ['/bin/echo', str(api.path['tmp'].join('foo'))]) |
16 | 16 |
17 # module.resource(...) demo. | 17 # module.resource(...) demo. |
18 api.step('print resource', | 18 api.step('print resource', |
19 ['echo', api.path.resource('dir', 'file.py')]) | 19 ['echo', api.path.resource('dir', 'file.py')]) |
20 | 20 |
21 # module.package_repo_resource() demo. | 21 # module.package_repo_resource() demo. |
22 api.step('print package dir', | 22 api.step('print package dir', |
23 ['echo', api.path.package_repo_resource('dir', 'file.py')]) | 23 ['echo', api.path.package_repo_resource('dir', 'file.py')]) |
24 | 24 |
25 # Global dynamic paths (see config.py example for declaration): | 25 # Global dynamic paths (see config.py example for declaration): |
26 dynamic_path = Path('[CHECKOUT]', 'jerky') | 26 dynamic_path = Path('[CHECKOUT]', 'jerky') |
27 | 27 |
28 assert 'checkout' not in api.path | 28 assert 'checkout' not in api.path |
29 api.path['checkout'] = api.path['slave_build'].join('checkout') | 29 api.path['checkout'] = api.path['tmp'].join('checkout') |
30 assert 'checkout' in api.path | 30 assert 'checkout' in api.path |
31 | 31 |
32 api.step('checkout path', ['/bin/echo', dynamic_path]) | 32 api.step('checkout path', ['/bin/echo', dynamic_path]) |
33 | 33 |
34 # Methods from python os.path are available via api.path. | 34 # Methods from python os.path are available via api.path. |
35 # For testing, we asserted that this file existed in the test description | 35 # For testing, we asserted that this file existed in the test description |
36 # below. | 36 # below. |
37 assert api.path.exists(api.path['slave_build']) | 37 assert api.path.exists(api.path['tmp']) |
38 | 38 |
39 temp_dir = api.path.mkdtemp('kawaab') | 39 temp_dir = api.path.mkdtemp('kawaab') |
40 assert api.path.exists(temp_dir) | 40 assert api.path.exists(temp_dir) |
41 | 41 |
42 file_path = api.path['slave_build'].join('new_file') | 42 file_path = api.path['tmp'].join('new_file') |
43 abspath = api.path.abspath(file_path) | 43 abspath = api.path.abspath(file_path) |
44 api.path.assert_absolute(abspath) | 44 api.path.assert_absolute(abspath) |
45 | 45 |
46 api.step('touch me', ['touch', api.path.abspath(file_path)]) | 46 api.step('touch me', ['touch', api.path.abspath(file_path)]) |
47 # Assert for testing that a file exists. | 47 # Assert for testing that a file exists. |
48 api.path.mock_add_paths(file_path) | 48 api.path.mock_add_paths(file_path) |
49 assert api.path.exists(file_path) | 49 assert api.path.exists(file_path) |
50 | 50 |
51 | 51 |
52 def GenTests(api): | 52 def GenTests(api): |
53 for platform in ('linux', 'win', 'mac'): | 53 for platform in ('linux', 'win', 'mac'): |
54 yield (api.test(platform) + api.platform.name(platform) + | 54 yield (api.test(platform) + api.platform.name(platform) + |
55 # Test when a file already exists | 55 # Test when a file already exists |
56 api.path.exists(api.path['slave_build'])) | 56 api.path.exists(api.path['tmp'])) |
57 | |
58 # We have support for chromium swarming built in to the engine for some | |
59 # reason. TODO(phajdan.jr) remove it. | |
60 yield (api.test('%s_swarming' % platform) + | |
61 api.platform.name(platform) + | |
62 api.properties(path_config='swarming') + | |
63 api.path.exists(api.path['slave_build'])) | |
64 | |
65 yield (api.test('%s_kitchen' % platform) + | |
66 api.platform.name(platform) + | |
67 api.properties(path_config='kitchen') + | |
68 api.path.exists(api.path['slave_build'])) | |
OLD | NEW |