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

"""This script runs unit tests of the code in the perf directory.

This script DOES NOT run benchmarks. run_benchmark does that.
"""

import os
import subprocess
import sys

from chrome_telemetry_build import chromium_config
from core import path_util

path_util.AddTelemetryToPath()
from telemetry.testing import unittest_runner


def main():
  project_config = chromium_config.ChromiumConfig(
      top_level_dir=path_util.GetPerfDir())
  return unittest_runner.Run(project_config)

if __name__ == '__main__':
  sys.exit(main())
