#!/usr/bin/env python
# Copyright 2017 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.

"""
The symbolizer tests take a long time to run [potentially 5+ minutes each], so
they are invoked directly from separately from run_py_tests.
"""

import os
import sys

_CATAPULT_PATH = os.path.abspath(
    os.path.join(
        os.path.dirname(os.path.realpath(__file__)),
        os.path.pardir,
        os.path.pardir))
_TRACING_PATH = os.path.join(_CATAPULT_PATH, 'tracing')


def _RunTestsOrDie(top_level_dir):
  exit_code = run_with_typ.Run(top_level_dir, path=[_TRACING_PATH],
                               suffixes=['*_test_slow.py'])
  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 catapult_build import run_with_typ
  _RunTestsOrDie(os.path.join(_TRACING_PATH, 'tracing', 'extras', 'symbolizer'))
  sys.exit(0)
