| Index: tools/telemetry/telemetry/run_tests.py | 
| diff --git a/tools/telemetry/telemetry/run_tests.py b/tools/telemetry/telemetry/run_tests.py | 
| deleted file mode 100644 | 
| index e1c2128d13cbf8e0a52b0ba46e50eb81152c6c77..0000000000000000000000000000000000000000 | 
| --- a/tools/telemetry/telemetry/run_tests.py | 
| +++ /dev/null | 
| @@ -1,149 +0,0 @@ | 
| -# Copyright (c) 2012 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 fnmatch | 
| -import logging | 
| -import os | 
| -import traceback | 
| -import unittest | 
| - | 
| -from telemetry import gtest_testrunner | 
| -from telemetry import browser_options | 
| -from telemetry import options_for_unittests | 
| - | 
| - | 
| -def RequiresBrowserOfType(*types): | 
| -  def wrap(func): | 
| -    func._requires_browser_types = types | 
| -    return func | 
| -  return wrap | 
| - | 
| - | 
| -def Discover(start_dir, pattern = 'test*.py', top_level_dir = None): | 
| -  modules = [] | 
| -  for dirpath, _, filenames in os.walk(start_dir): | 
| -    for filename in filenames: | 
| -      if not filename.endswith('.py'): | 
| -        continue | 
| - | 
| -      if not fnmatch.fnmatch(filename, pattern): | 
| -        continue | 
| - | 
| -      if filename.startswith('.') or filename.startswith('_'): | 
| -        continue | 
| -      name, _ = os.path.splitext(filename) | 
| - | 
| -      relpath = os.path.relpath(dirpath, top_level_dir) | 
| -      fqn = relpath.replace('/', '.') + '.' + name | 
| - | 
| -      # load the module | 
| -      try: | 
| -        module = __import__(fqn, fromlist=[True]) | 
| -      except Exception: | 
| -        print 'While importing [%s]\n' % fqn | 
| -        traceback.print_exc() | 
| -        continue | 
| -      modules.append(module) | 
| - | 
| -  loader = unittest.defaultTestLoader | 
| -  loader.suiteClass = gtest_testrunner.GTestTestSuite | 
| -  subsuites = [] | 
| -  for module in modules: | 
| -    if hasattr(module, 'suite'): | 
| -      new_suite = module.suite() | 
| -    else: | 
| -      new_suite = loader.loadTestsFromModule(module) | 
| -    if new_suite.countTestCases(): | 
| -      subsuites.append(new_suite) | 
| -  return gtest_testrunner.GTestTestSuite(subsuites) | 
| - | 
| - | 
| -def FilterSuite(suite, predicate): | 
| -  new_suite = suite.__class__() | 
| -  for x in suite: | 
| -    if isinstance(x, unittest.TestSuite): | 
| -      subsuite = FilterSuite(x, predicate) | 
| -      if subsuite.countTestCases() == 0: | 
| -        continue | 
| - | 
| -      new_suite.addTest(subsuite) | 
| -      continue | 
| - | 
| -    assert isinstance(x, unittest.TestCase) | 
| -    if predicate(x): | 
| -      new_suite.addTest(x) | 
| - | 
| -  return new_suite | 
| - | 
| - | 
| -def DiscoverAndRunTests(dir_name, args, top_level_dir, runner=None): | 
| -  if not runner: | 
| -    runner = gtest_testrunner.GTestTestRunner(inner=True) | 
| - | 
| -  suite = Discover(dir_name, '*_unittest.py', top_level_dir) | 
| - | 
| -  def IsTestSelected(test): | 
| -    if len(args) != 0: | 
| -      found = False | 
| -      for name in args: | 
| -        if name in test.id(): | 
| -          found = True | 
| -      if not found: | 
| -        return False | 
| - | 
| -    if hasattr(test, '_testMethodName'): | 
| -      method = getattr(test, test._testMethodName) # pylint: disable=W0212 | 
| -      if hasattr(method, '_requires_browser_types'): | 
| -        types = method._requires_browser_types # pylint: disable=W0212 | 
| -        if options_for_unittests.GetBrowserType() not in types: | 
| -          logging.debug('Skipping test %s because it requires %s' % | 
| -                        (test.id(), types)) | 
| -          return False | 
| - | 
| -    return True | 
| - | 
| -  filtered_suite = FilterSuite(suite, IsTestSelected) | 
| -  test_result = runner.run(filtered_suite) | 
| -  return test_result | 
| - | 
| - | 
| -def Main(args, start_dir, top_level_dir, runner=None): | 
| -  """Unit test suite that collects all test cases for telemetry.""" | 
| -  default_options = browser_options.BrowserOptions() | 
| -  default_options.browser_type = 'any' | 
| - | 
| -  parser = default_options.CreateParser('run_tests [options] [test names]') | 
| -  parser.add_option('--repeat-count', dest='run_test_repeat_count', | 
| -                    type='int', default=1, | 
| -                    help='Repeats each a provided number of times.') | 
| - | 
| -  _, args = parser.parse_args(args) | 
| - | 
| -  if default_options.verbosity == 0: | 
| -    logging.getLogger().setLevel(logging.ERROR) | 
| - | 
| -  from telemetry import browser_finder | 
| -  browser_to_create = browser_finder.FindBrowser(default_options) | 
| -  if browser_to_create == None: | 
| -    logging.error('No browser found of type %s. Cannot run tests.', | 
| -                  default_options.browser_type) | 
| -    logging.error('Re-run with --browser=list to see available browser types.') | 
| -    return 1 | 
| - | 
| -  options_for_unittests.Set(default_options, | 
| -                            browser_to_create.browser_type) | 
| -  olddir = os.getcwd() | 
| -  try: | 
| -    os.chdir(top_level_dir) | 
| -    success = True | 
| -    for _ in range( | 
| -        default_options.run_test_repeat_count): # pylint: disable=E1101 | 
| -      success = success and DiscoverAndRunTests(start_dir, args, top_level_dir, | 
| -                                                runner) | 
| -    if success: | 
| -      return 0 | 
| -  finally: | 
| -    os.chdir(olddir) | 
| -    options_for_unittests.Set(None, None) | 
| - | 
| -  return 1 | 
|  |