| OLD | NEW | 
|---|
| 1 # Copyright 2013 The Chromium Authors. All rights reserved. | 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 | 2 # Use of this source code is governed by a BSD-style license that can be | 
| 3 # found in the LICENSE file. | 3 # found in the LICENSE file. | 
| 4 | 4 | 
| 5 """Generates test runner factory and tests for uiautomator tests.""" | 5 """Generates test runner factory and tests for uiautomator tests.""" | 
| 6 | 6 | 
| 7 import logging | 7 import logging | 
| 8 import os |  | 
| 9 |  | 
| 10 from pylib import android_commands |  | 
| 11 from pylib import constants |  | 
| 12 from pylib.base import base_test_result |  | 
| 13 from pylib.utils import report_results |  | 
| 14 | 8 | 
| 15 import test_package | 9 import test_package | 
| 16 import test_runner | 10 import test_runner | 
| 17 | 11 | 
| 18 | 12 | 
| 19 def Setup(uiautomator_jar, uiautomator_info_jar, annotations, | 13 def Setup(test_options): | 
| 20           exclude_annotations, test_filter, package_name, build_type, test_data, |  | 
| 21           save_perf_json, screenshot_failures, tool, disable_assertions, |  | 
| 22           push_deps, cleanup_test_files): |  | 
| 23   """Runs uiautomator tests on connected device(s). | 14   """Runs uiautomator tests on connected device(s). | 
| 24 | 15 | 
| 25   Args: | 16   Args: | 
| 26     uiautomator_jar: Location of the jar file with the uiautomator test suite. | 17     test_options: A UIAutomatorOptions object. | 
| 27     uiautomator_info_jar: Info jar accompanying the jar. |  | 
| 28     annotations: Annotations for the tests. |  | 
| 29     exclude_annotations: Any annotations to exclude from running. |  | 
| 30     test_filter: Filter string for tests. |  | 
| 31     package_name: Application package name under test. |  | 
| 32     build_type: 'Release' or 'Debug'. |  | 
| 33     test_data: Location of the test data. |  | 
| 34     save_perf_json: Whether or not to save the JSON file from UI perf tests. |  | 
| 35     screenshot_failures: Take a screenshot for a test failure |  | 
| 36     tool: Name of the Valgrind tool. |  | 
| 37     disable_assertions: Whether to disable java assertions on the device. |  | 
| 38     push_deps: If True, push all dependencies to the device. |  | 
| 39     cleanup_test_files: Whether or not to cleanup test files on device. |  | 
| 40 | 18 | 
| 41   Returns: | 19   Returns: | 
| 42     A tuple of (TestRunnerFactory, tests). | 20     A tuple of (TestRunnerFactory, tests). | 
| 43   """ | 21   """ | 
| 44   test_pkg = test_package.TestPackage( | 22   test_pkg = test_package.TestPackage(test_options.uiautomator_jar, | 
| 45       uiautomator_jar, uiautomator_info_jar) | 23                                       test_options.uiautomator_info_jar) | 
| 46   tests = test_pkg._GetAllMatchingTests( | 24   tests = test_pkg._GetAllMatchingTests(test_options.annotations, | 
| 47       annotations, exclude_annotations, test_filter) | 25                                         test_options.exclude_annotations, | 
|  | 26                                         test_options.test_filter) | 
| 48 | 27 | 
| 49   if not tests: | 28   if not tests: | 
| 50     logging.error('No uiautomator tests to run with current args.') | 29     logging.error('No uiautomator tests to run with current args.') | 
| 51 | 30 | 
| 52   def TestRunnerFactory(device, shard_index): | 31   def TestRunnerFactory(device, shard_index): | 
| 53     return test_runner.TestRunner( | 32     return test_runner.TestRunner( | 
| 54         package_name, build_type, test_data, save_perf_json, | 33         test_options, device, shard_index, test_pkg, []) | 
| 55         screenshot_failures, tool, False, disable_assertions, push_deps, |  | 
| 56         cleanup_test_files, device, shard_index, test_pkg, []) |  | 
| 57 | 34 | 
| 58   return (TestRunnerFactory, tests) | 35   return (TestRunnerFactory, tests) | 
| OLD | NEW | 
|---|