23a575171f
This adds a wrapper script for run-tests.py that continues support for iterating over multiple modes and architectures. This also fixes a bug of the auto-detect target in gyp. Bug: chromium:772804 Change-Id: I61ff47b12e1925e010d822327a8aae8c402f435d Reviewed-on: https://chromium-review.googlesource.com/730225 Commit-Queue: Michael Achenbach <machenbach@chromium.org> Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org> Cr-Commit-Position: refs/heads/master@{#48794}
51 lines
1.6 KiB
Python
Executable File
51 lines
1.6 KiB
Python
Executable File
#!/usr/bin/env python
|
|
# Copyright 2017 the V8 project authors. All rights reserved.
|
|
# Use of this source code is governed by a BSD-style license that can be
|
|
# found in the LICENSE file.
|
|
|
|
"""
|
|
Legacy test-runner wrapper supporting a product of multiple architectures and
|
|
modes.
|
|
"""
|
|
|
|
import argparse
|
|
import itertools
|
|
from os.path import abspath, dirname, join
|
|
import subprocess
|
|
import sys
|
|
|
|
BASE_DIR = dirname(dirname(abspath(__file__)))
|
|
RUN_TESTS = join(BASE_DIR, 'tools', 'run-tests.py')
|
|
|
|
def main():
|
|
parser = argparse.ArgumentParser(description='Legacy test-runner wrapper')
|
|
parser.add_argument(
|
|
'--arch', help='Comma-separated architectures to run tests on')
|
|
parser.add_argument(
|
|
'--mode', help='Comma-separated modes to run tests on')
|
|
parser.add_argument(
|
|
'--arch-and-mode',
|
|
help='Architecture and mode in the format \'arch.mode\'',
|
|
)
|
|
|
|
args, remaining_args = parser.parse_known_args(sys.argv)
|
|
if (args.arch or args.mode) and args.arch_and_mode:
|
|
parser.error('The flags --arch-and-mode and --arch/--mode are exclusive.')
|
|
arch = (args.arch or 'ia32,x64,arm').split(',')
|
|
mode = (args.mode or 'release,debug').split(',')
|
|
if args.arch_and_mode:
|
|
arch_and_mode = map(
|
|
lambda am: am.split('.'),
|
|
args.arch_and_mode.split(','))
|
|
arch = map(lambda am: am[0], arch_and_mode)
|
|
mode = map(lambda am: am[1], arch_and_mode)
|
|
|
|
ret_code = 0
|
|
for a, m in itertools.product(arch, mode):
|
|
ret_code |= subprocess.check_call(
|
|
[RUN_TESTS] + remaining_args[1:] + ['--arch', a, '--mode', m])
|
|
return ret_code
|
|
|
|
if __name__ == '__main__':
|
|
sys.exit(main())
|