blob: ba71aa69ea38d61a94435558c57669653a252bc6 [file] [log] [blame]
# Copyright 2022 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
"""Implements commands for running blink web tests."""
import os
import subprocess
from argparse import Namespace
from typing import Optional
from common import DIR_SRC_ROOT
from test_runner import TestRunner
_BLINK_TEST_SCRIPT = os.path.join(DIR_SRC_ROOT, 'third_party', 'blink',
'tools', 'run_web_tests.py')
class BlinkTestRunner(TestRunner):
"""Test runner for running blink web tests."""
def __init__(self, out_dir: str, test_args: Namespace,
target_id: Optional[str]) -> None:
super().__init__(out_dir, test_args, ['content_shell'], target_id)
# TODO(crbug.com/1278939): Remove when blink tests use CFv2 content_shell.
@staticmethod
def is_cfv2() -> bool:
return False
def run_test(self):
test_cmd = [_BLINK_TEST_SCRIPT, '-t', os.path.basename(self._out_dir)]
if self._test_args:
test_cmd.extend(self._test_args)
return subprocess.run(test_cmd, check=True)