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