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
6import argparse
7import os
8import sys
9
10hooks_path = os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))
11if hooks_path not in sys.path:
12  sys.path.append(hooks_path)
13
14from hooks import install
15
16
17from tracing import tracing_project
18import vinn
19
20
21def Main(args):
22  project = tracing_project.TracingProject()
23  d8_test_module_resources = project.FindAllD8TestModuleResources()
24  d8_test_module_filenames = [x.unix_style_relative_path
25                              for x in d8_test_module_resources]
26  d8_test_module_filenames.sort()
27
28  cmd = """
29  loadHTML('/base/d8_tests.html');
30  """
31  res = vinn.RunJsString(
32    cmd, source_paths=list(project.source_paths),
33    js_args=d8_test_module_filenames, stdout=sys.stdout, stdin=sys.stdin)
34  return res.returncode
35
36if __name__ == '__main__':
37  parser = argparse.ArgumentParser(
38      description='Run d8 tests.')
39  parser.add_argument(
40    '--no-install-hooks', dest='install_hooks', action='store_false')
41  parser.set_defaults(install_hooks=True)
42  args = parser.parse_args()
43  if args.install_hooks:
44    install.InstallHooks()
45
46  sys.exit(Main(sys.argv[1:]))
47