OLD | NEW |
1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
2 # Copyright 2017 the V8 project authors. All rights reserved. | 2 # Copyright 2017 the V8 project authors. All rights reserved. |
3 # Use of this source code is governed by a BSD-style license that can be | 3 # Use of this source code is governed by a BSD-style license that can be |
4 # found in the LICENSE file. | 4 # found in the LICENSE file. |
5 """\ | 5 """\ |
6 Convenience wrapper for compiling V8 with gn/ninja and running tests. | 6 Convenience wrapper for compiling V8 with gn/ninja and running tests. |
7 Sets up build output directories if they don't exist. | 7 Sets up build output directories if they don't exist. |
8 Produces simulator builds for non-Intel target architectures. | 8 Produces simulator builds for non-Intel target architectures. |
9 Uses Goma by default if it is detected (at output directory setup time). | 9 Uses Goma by default if it is detected (at output directory setup time). |
10 Expects to be run from the root of a V8 checkout. | 10 Expects to be run from the root of a V8 checkout. |
(...skipping 222 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
233 self.PopulateConfigs(DEFAULT_ARCHES, DEFAULT_MODES, **impact) | 233 self.PopulateConfigs(DEFAULT_ARCHES, DEFAULT_MODES, **impact) |
234 | 234 |
235 def ParseArg(self, argstring): | 235 def ParseArg(self, argstring): |
236 if argstring in ("-h", "--help", "help"): | 236 if argstring in ("-h", "--help", "help"): |
237 PrintHelpAndExit() | 237 PrintHelpAndExit() |
238 arches = [] | 238 arches = [] |
239 modes = [] | 239 modes = [] |
240 targets = [] | 240 targets = [] |
241 actions = [] | 241 actions = [] |
242 tests = [] | 242 tests = [] |
243 words = argstring.split('.') | 243 # Specifying a single unit test looks like "unittests/Foo.Bar". |
| 244 if argstring.startswith("unittests/"): |
| 245 words = [argstring] |
| 246 else: |
| 247 words = argstring.split('.') |
244 if len(words) == 1: | 248 if len(words) == 1: |
245 word = words[0] | 249 word = words[0] |
246 if word in ACTIONS: | 250 if word in ACTIONS: |
247 self.global_actions.add(word) | 251 self.global_actions.add(word) |
248 return | 252 return |
249 if word in TARGETS: | 253 if word in TARGETS: |
250 self.global_targets.add(word) | 254 self.global_targets.add(word) |
251 return | 255 return |
252 maybe_target = GetTestBinary(word) | 256 maybe_target = GetTestBinary(word) |
253 if maybe_target is not None: | 257 if maybe_target is not None: |
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
304 if return_code == 0: | 308 if return_code == 0: |
305 _Call("notify-send 'Done!' 'V8 compilation finished successfully.'", | 309 _Call("notify-send 'Done!' 'V8 compilation finished successfully.'", |
306 silent=True) | 310 silent=True) |
307 else: | 311 else: |
308 _Call("notify-send 'Error!' 'V8 compilation finished with errors.'", | 312 _Call("notify-send 'Error!' 'V8 compilation finished with errors.'", |
309 silent=True) | 313 silent=True) |
310 return return_code | 314 return return_code |
311 | 315 |
312 if __name__ == "__main__": | 316 if __name__ == "__main__": |
313 sys.exit(Main(sys.argv)) | 317 sys.exit(Main(sys.argv)) |
OLD | NEW |