Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(142)

Side by Side Diff: build/android/pylib/instrumentation/setup.py

Issue 20210002: [Android] Sets up a coverage system for java using EMMA (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Removes unnecessary option, cleans up some string formatting Created 7 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 instrumentation tests.""" 5 """Generates test runner factory and tests for instrumentation tests."""
6 6
7 import logging 7 import logging
8 import os 8 import os
9 9
10 from pylib import android_commands 10 from pylib import android_commands
11 from pylib import constants 11 from pylib import constants
12 from pylib.base import base_test_result 12 from pylib.base import base_test_result
13 from pylib.utils import report_results 13 from pylib.utils import report_results
14 14
15 import test_package 15 import test_package
16 import test_runner 16 import test_runner
17 17
18 18
19 def Setup(test_apk_path, test_apk_jar_path, annotations, exclude_annotations, 19 def Setup(test_apk_path, test_apk_jar_path, annotations, exclude_annotations,
20 test_filter, build_type, test_data, install_apk, save_perf_json, 20 test_filter, build_type, test_data, install_apk, save_perf_json,
21 screenshot_failures, tool, wait_for_debugger, disable_assertions, 21 screenshot_failures, tool, wait_for_debugger, disable_assertions,
22 push_deps, cleanup_test_files): 22 push_deps, cleanup_test_files, coverage_dir):
23 """Create and return the test runner factory and tests. 23 """Create and return the test runner factory and tests.
24 24
25 Args: 25 Args:
26 test_apk_path: Path to the test apk file. 26 test_apk_path: Path to the test apk file.
27 test_apk_jar_path: Path to the jar associated with the test apk. 27 test_apk_jar_path: Path to the jar associated with the test apk.
28 annotations: Annotations for the tests. 28 annotations: Annotations for the tests.
29 exclude_annotations: Any annotations to exclude from running. 29 exclude_annotations: Any annotations to exclude from running.
30 test_filter: Filter string for tests. 30 test_filter: Filter string for tests.
31 build_type: 'Release' or 'Debug'. 31 build_type: 'Release' or 'Debug'.
32 test_data: Location of the test data. 32 test_data: Location of the test data.
33 install_apk: Re-installs the apk if opted. 33 install_apk: Re-installs the apk if opted.
34 save_perf_json: Whether or not to save the JSON file from UI perf tests. 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 35 screenshot_failures: Take a screenshot for a test failure
36 tool: Name of the Valgrind tool. 36 tool: Name of the Valgrind tool.
37 wait_for_debugger: blocks until the debugger is connected. 37 wait_for_debugger: blocks until the debugger is connected.
38 disable_assertions: Whether to disable java assertions on the device. 38 disable_assertions: Whether to disable java assertions on the device.
39 push_deps: If True, push all dependencies to the device. 39 push_deps: If True, push all dependencies to the device.
40 cleanup_test_files: Whether or not to cleanup test files on device. 40 cleanup_test_files: Whether or not to cleanup test files on device.
41 coverage_dir: Directory to pull all EMMA coverage files into, or None if
42 coverage is not being used.
41 43
42 Returns: 44 Returns:
43 A tuple of (TestRunnerFactory, tests). 45 A tuple of (TestRunnerFactory, tests).
44 """ 46 """
45 test_pkg = test_package.TestPackage(test_apk_path, test_apk_jar_path) 47 test_pkg = test_package.TestPackage(test_apk_path, test_apk_jar_path)
46 tests = test_pkg._GetAllMatchingTests(annotations, exclude_annotations, 48 tests = test_pkg._GetAllMatchingTests(annotations, exclude_annotations,
47 test_filter) 49 test_filter)
48 if not tests: 50 if not tests:
49 logging.error('No instrumentation tests to run with current args.') 51 logging.error('No instrumentation tests to run with current args.')
50 52
51 def TestRunnerFactory(device, shard_index): 53 def TestRunnerFactory(device, shard_index):
52 return test_runner.TestRunner( 54 return test_runner.TestRunner(
53 build_type, test_data, install_apk, save_perf_json, screenshot_failures, 55 build_type, test_data, install_apk, save_perf_json, screenshot_failures,
54 tool, wait_for_debugger, disable_assertions, push_deps, 56 tool, wait_for_debugger, disable_assertions, push_deps,
55 cleanup_test_files, device, shard_index, test_pkg, []) 57 cleanup_test_files, device, shard_index, test_pkg, [], coverage_dir)
56 58
57 return (TestRunnerFactory, tests) 59 return (TestRunnerFactory, tests)
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698