#!/usr/bin/env python
# Copyright 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 os
import sys
import platform

_CATAPULT_PATH = os.path.abspath(os.path.join(
    os.path.dirname(__file__), os.path.pardir, os.path.pardir))
_PERF_INSIGHTS_PATH = os.path.join(_CATAPULT_PATH, 'perf_insights')


def _RunTestsOrDie(top_level_dir):
  exit_code = run_with_typ.Run(top_level_dir, path=[_PERF_INSIGHTS_PATH])
  if exit_code:
    sys.exit(exit_code)


def _AddToPathIfNeeded(path):
  if path not in sys.path:
    sys.path.insert(0, path)


if __name__ == '__main__':
  _AddToPathIfNeeded(_CATAPULT_PATH)

  from hooks import install
  if '--no-install-hooks' in sys.argv:
    sys.argv.remove('--no-install-hooks')
  else:
    install.InstallHooks()

  from catapult_build import run_with_typ
  _RunTestsOrDie(os.path.join(_PERF_INSIGHTS_PATH, 'perf_insights'))
  _RunTestsOrDie(os.path.join(_PERF_INSIGHTS_PATH, 'perf_insights_build'))