#!/usr/bin/env python
# Copyright (c) 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

sys.path.append(os.path.join(os.path.dirname(__file__), '..'))
from telemetry import benchmark_runner

def main():
  top_level_dir = os.path.dirname(__file__)
  config = benchmark_runner.ProjectConfig(
      top_level_dir=top_level_dir,
      benchmark_dirs=[os.path.join(top_level_dir, 'benchmarks')])
  return benchmark_runner.main(config)

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