Home | History | Annotate | Download | only in uiautomator
      1 # Copyright 2013 The Chromium Authors. All rights reserved.
      2 # Use of this source code is governed by a BSD-style license that can be
      3 # found in the LICENSE file.
      4 
      5 """Generates test runner factory and tests for uiautomator tests."""
      6 
      7 import logging
      8 
      9 from pylib.uiautomator import test_package
     10 from pylib.uiautomator import test_runner
     11 
     12 
     13 def Setup(test_options):
     14   """Runs uiautomator tests on connected device(s).
     15 
     16   Args:
     17     test_options: A UIAutomatorOptions object.
     18 
     19   Returns:
     20     A tuple of (TestRunnerFactory, tests).
     21   """
     22   test_pkg = test_package.TestPackage(test_options.uiautomator_jar,
     23                                       test_options.uiautomator_info_jar)
     24   tests = test_pkg.GetAllMatchingTests(test_options.annotations,
     25                                        test_options.exclude_annotations,
     26                                        test_options.test_filter)
     27 
     28   if not tests:
     29     logging.error('No uiautomator tests to run with current args.')
     30 
     31   def TestRunnerFactory(device, shard_index):
     32     return test_runner.TestRunner(
     33         test_options, device, shard_index, test_pkg)
     34 
     35   return (TestRunnerFactory, tests)
     36