#!/usr/bin/env python
# Copyright (c) 2015 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import argparse
import os
import sys
from hooks import install
import tracing_project
import vinn
def _RelPathToUnixPath(p):
return p.replace(os.sep, '/')
def RunTests():
project = tracing_project.TracingProject()
headless_test_module_filenames = [
'/' + _RelPathToUnixPath(x)
for x in project.FindAllD8TestModuleRelPaths()]
headless_test_module_filenames.sort()
cmd = """
HTMLImportsLoader.loadHTML('/tracing/base/headless_tests.html');
tr.b.unittest.loadAndRunTests(sys.argv.slice(1));
"""
res = vinn.RunJsString(
cmd, source_paths=list(project.source_paths),
js_args=headless_test_module_filenames,
stdout=sys.stdout, stdin=sys.stdin)
return res.returncode
def Main(argv):
parser = argparse.ArgumentParser(
description='Run d8 tests.')
parser.add_argument(
'--no-install-hooks', dest='install_hooks', action='store_false')
parser.set_defaults(install_hooks=True)
args = parser.parse_args(argv[1:])
if args.install_hooks:
install.InstallHooks()
sys.exit(RunTests())