Home | History | Annotate | Download | only in tracing_build
      1 #!/usr/bin/env python
      2 # Copyright (c) 2015 The Chromium Authors. All rights reserved.
      3 # Use of this source code is governed by a BSD-style license that can be
      4 # found in the LICENSE file.
      5 
      6 import argparse
      7 import os
      8 import sys
      9 
     10 from hooks import install
     11 import tracing_project
     12 import vinn
     13 
     14 
     15 def _RelPathToUnixPath(p):
     16   return p.replace(os.sep, '/')
     17 
     18 
     19 def RunTests():
     20   project = tracing_project.TracingProject()
     21   headless_test_module_filenames = [
     22       '/' + _RelPathToUnixPath(x)
     23       for x in project.FindAllD8TestModuleRelPaths()]
     24   headless_test_module_filenames.sort()
     25 
     26   cmd = """
     27   HTMLImportsLoader.loadHTML('/tracing/base/headless_tests.html');
     28   tr.b.unittest.loadAndRunTests(sys.argv.slice(1));
     29   """
     30   res = vinn.RunJsString(
     31       cmd, source_paths=list(project.source_paths),
     32       js_args=headless_test_module_filenames,
     33       stdout=sys.stdout, stdin=sys.stdin)
     34   return res.returncode
     35 
     36 
     37 def Main(argv):
     38   parser = argparse.ArgumentParser(
     39       description='Run d8 tests.')
     40   parser.add_argument(
     41       '--no-install-hooks', dest='install_hooks', action='store_false')
     42   parser.set_defaults(install_hooks=True)
     43   args = parser.parse_args(argv[1:])
     44   if args.install_hooks:
     45     install.InstallHooks()
     46 
     47   sys.exit(RunTests())
     48