Home | History | Annotate | Download | only in catapult_build
      1 #!/usr/bin/env python
      2 # Copyright 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 """A wrapper around typ (test your projects)."""
      7 
      8 import os
      9 import sys
     10 
     11 
     12 def Run(top_level_dir, path=None):
     13   """Runs a set of Python tests using typ.
     14 
     15   Args:
     16     top_level_dir: Directory to look for Python unit tests in.
     17     path: A list of extra paths to add to sys.path when running the tests.
     18 
     19   Returns:
     20     An exit code (0 for success, otherwise non-zero).
     21   """
     22   typ_path = os.path.abspath(os.path.join(
     23       os.path.dirname(__file__), os.path.pardir, 'third_party', 'typ'))
     24   _AddToPathIfNeeded(typ_path)
     25   import typ
     26   return typ.main(
     27       top_level_dir=top_level_dir,
     28       path=(path or []),
     29       coverage_source=[top_level_dir])
     30 
     31 
     32 def _AddToPathIfNeeded(path):
     33   if path not in sys.path:
     34     sys.path.insert(0, path)
     35