blob: 8d178248b5ebb44888ef56c01042941a84a94d9e [file]
#!/usr/bin/env vpython3
# Copyright 2026 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import os
import pathlib
import subprocess
import sys
CHROMIUM_SRC_DIR = pathlib.Path(__file__).absolute().parents[2]
THIRD_PARTY_DIR = CHROMIUM_SRC_DIR / 'third_party'
CROSSBENCH_DIR = THIRD_PARTY_DIR / 'crossbench'
CUJ_RUNNER = (
THIRD_PARTY_DIR / 'crossbench-web-tests/cuj/crossbench/runner/run.py'
)
def main():
# Set PYTHONPATH so that the CUJ runner can find crossbench.
env = os.environ.copy()
env['PYTHONPATH'] = CROSSBENCH_DIR
# TODO(b:435031130): For initial testing, only run the default
# variant of speedometer 3.1.
command_line = [
CUJ_RUNNER,
'--platform=adb',
'--tests=speedometer_3.1',
'--variants=$',
]
# Pipe any input arguments passed to this script to the command_line list.
if len(sys.argv) > 1:
command_line.extend(sys.argv[1:])
proc = subprocess.run(command_line, check=False, env=env)
status = proc.returncode
# TODO(b:435031130): While this feature is still in development, we just log
# the status code and then always return success. We will return the real
# status code only after the code has been verified to be reliable.
print('Web-tests CUJ runner returned status', status)
return 0
if __name__ == '__main__':
sys.exit(main())