OLD | NEW |
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2012 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 # This file is meant to be included into a target to provide a rule | 5 # This file is meant to be included into a target to provide a rule |
6 # to "build" .isolate files into a .isolated file. | 6 # to "build" .isolate files into a .isolated file. |
7 # | 7 # |
8 # To use this, create a gyp target with the following form: | 8 # To use this, create a gyp target with the following form: |
9 # 'conditions': [ | 9 # 'conditions': [ |
10 # ['test_isolation_mode != "noop"', { | 10 # ['test_isolation_mode != "noop"', { |
(...skipping 29 matching lines...) Expand all Loading... |
40 { | 40 { |
41 'includes': [ | 41 'includes': [ |
42 '../build/util/version.gypi', | 42 '../build/util/version.gypi', |
43 ], | 43 ], |
44 'rules': [ | 44 'rules': [ |
45 { | 45 { |
46 'rule_name': 'isolate', | 46 'rule_name': 'isolate', |
47 'extension': 'isolate', | 47 'extension': 'isolate', |
48 'inputs': [ | 48 'inputs': [ |
49 # Files that are known to be involved in this step. | 49 # Files that are known to be involved in this step. |
| 50 '<(DEPTH)/tools/isolate_driver.py', |
50 '<(DEPTH)/tools/swarming_client/isolate.py', | 51 '<(DEPTH)/tools/swarming_client/isolate.py', |
51 '<(DEPTH)/tools/swarming_client/run_isolated.py', | 52 '<(DEPTH)/tools/swarming_client/run_isolated.py', |
52 | 53 |
53 # Disable file tracking by the build driver for now. This means the | 54 # Disable file tracking by the build driver for now. This means the |
54 # project must have the proper build-time dependency for their runtime | 55 # project must have the proper build-time dependency for their runtime |
55 # dependency. This improves the runtime of the build driver since it | 56 # dependency. This improves the runtime of the build driver since it |
56 # doesn't have to stat() all these files. | 57 # doesn't have to stat() all these files. |
57 # | 58 # |
58 # More importantly, it means that even if a isolate_dependency_tracked | 59 # More importantly, it means that even if a isolate_dependency_tracked |
59 # file is missing, for example if a file was deleted and the .isolate | 60 # file is missing, for example if a file was deleted and the .isolate |
60 # file was not updated, that won't break the build, especially in the | 61 # file was not updated, that won't break the build, especially in the |
61 # case where foo_tests_run is not built! This should be reenabled once | 62 # case where foo_tests_run is not built! This should be reenabled once |
62 # the switch-over to running tests on Swarm is completed. | 63 # the switch-over to running tests on Swarm is completed. |
63 #'<@(isolate_dependency_tracked)', | 64 #'<@(isolate_dependency_tracked)', |
64 ], | 65 ], |
65 'outputs': [ | 66 'outputs': [ |
66 '<(PRODUCT_DIR)/<(RULE_INPUT_ROOT).isolated', | 67 '<(PRODUCT_DIR)/<(RULE_INPUT_ROOT).isolated', |
67 ], | 68 ], |
68 'action': [ | 69 'action': [ |
69 'python', | 70 'python', |
70 '<(DEPTH)/tools/swarming_client/isolate.py', | 71 '<(DEPTH)/tools/isolate_driver.py', |
71 '<(test_isolation_mode)', | 72 '<(test_isolation_mode)', |
72 '--result', '<@(_outputs)', | 73 '--isolated', '<@(_outputs)', |
73 '--isolate', '<(RULE_INPUT_PATH)', | 74 '--isolate', '<(RULE_INPUT_PATH)', |
74 | 75 |
75 # Variables should use the -V FOO=<(FOO) form so frequent values, | 76 # Variables should use the -V FOO=<(FOO) form so frequent values, |
76 # like '0' or '1', aren't stripped out by GYP. Run 'isolate.py help' for | 77 # like '0' or '1', aren't stripped out by GYP. Run 'isolate.py help' for |
77 # more details. | 78 # more details. |
78 # | 79 # |
79 # This list needs to be kept in sync with the cmd line options | 80 # This list needs to be kept in sync with the cmd line options |
80 # in src/build/android/pylib/gtest/setup.py. | 81 # in src/build/android/pylib/gtest/setup.py. |
81 | 82 |
82 # Path variables are used to replace file paths when loading a .isolate | 83 # Path variables are used to replace file paths when loading a .isolate |
(...skipping 27 matching lines...) Expand all Loading... |
110 ["test_isolation_outdir!=''", { | 111 ["test_isolation_outdir!=''", { |
111 'action': [ '--isolate-server', '<(test_isolation_outdir)' ], | 112 'action': [ '--isolate-server', '<(test_isolation_outdir)' ], |
112 }], | 113 }], |
113 ['test_isolation_fail_on_missing == 0', { | 114 ['test_isolation_fail_on_missing == 0', { |
114 'action': ['--ignore_broken_items'], | 115 'action': ['--ignore_broken_items'], |
115 }], | 116 }], |
116 ], | 117 ], |
117 }, | 118 }, |
118 ], | 119 ], |
119 } | 120 } |
OLD | NEW |