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 """Base class for linker-specific test cases. | 5 """Base class for linker-specific test cases. |
6 | 6 |
7 The custom dynamic linker can only be tested through a custom test case | 7 The custom dynamic linker can only be tested through a custom test case |
8 for various technical reasons: | 8 for various technical reasons: |
9 | 9 |
10 - It's an 'invisible feature', i.e. it doesn't expose a new API or | 10 - It's an 'invisible feature', i.e. it doesn't expose a new API or |
(...skipping 24 matching lines...) Expand all Loading... |
35 """ | 35 """ |
36 # pylint: disable=R0201 | 36 # pylint: disable=R0201 |
37 | 37 |
38 import logging | 38 import logging |
39 import os | 39 import os |
40 import re | 40 import re |
41 import time | 41 import time |
42 | 42 |
43 from pylib import constants | 43 from pylib import constants |
44 from pylib.base import base_test_result | 44 from pylib.base import base_test_result |
| 45 from pylib.device import intent |
45 | 46 |
46 | 47 |
47 ResultType = base_test_result.ResultType | 48 ResultType = base_test_result.ResultType |
48 | 49 |
49 _PACKAGE_NAME = 'org.chromium.chromium_linker_test_apk' | 50 _PACKAGE_NAME = 'org.chromium.chromium_linker_test_apk' |
50 _ACTIVITY_NAME = '.ChromiumLinkerTestActivity' | 51 _ACTIVITY_NAME = '.ChromiumLinkerTestActivity' |
51 _COMMAND_LINE_FILE = '/data/local/tmp/chromium-linker-test-command-line' | 52 _COMMAND_LINE_FILE = '/data/local/tmp/chromium-linker-test-command-line' |
52 | 53 |
53 # Path to the Linker.java source file. | 54 # Path to the Linker.java source file. |
54 _LINKER_JAVA_SOURCE_PATH = ( | 55 _LINKER_JAVA_SOURCE_PATH = ( |
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
157 Returns: | 158 Returns: |
158 A (status, logs) tuple, where status is a ResultType constant, and logs | 159 A (status, logs) tuple, where status is a ResultType constant, and logs |
159 if the final logcat output as a string. | 160 if the final logcat output as a string. |
160 """ | 161 """ |
161 # 1. Start recording logcat with appropriate filters. | 162 # 1. Start recording logcat with appropriate filters. |
162 device.old_interface.StartRecordingLogcat( | 163 device.old_interface.StartRecordingLogcat( |
163 clear=True, filters=_LOGCAT_FILTERS) | 164 clear=True, filters=_LOGCAT_FILTERS) |
164 | 165 |
165 try: | 166 try: |
166 # 2. Force-start activity. | 167 # 2. Force-start activity. |
167 device.old_interface.StartActivity( | 168 device.StartActivity( |
168 package=_PACKAGE_NAME, activity=_ACTIVITY_NAME, force_stop=True) | 169 intent.Intent(package=_PACKAGE_NAME, activity=_ACTIVITY_NAME), |
| 170 force_stop=True) |
169 | 171 |
170 # 3. Wait up to |timeout| seconds until the test status is in the logcat. | 172 # 3. Wait up to |timeout| seconds until the test status is in the logcat. |
171 num_tries = 0 | 173 num_tries = 0 |
172 max_tries = timeout | 174 max_tries = timeout |
173 found = False | 175 found = False |
174 while num_tries < max_tries: | 176 while num_tries < max_tries: |
175 time.sleep(1) | 177 time.sleep(1) |
176 num_tries += 1 | 178 num_tries += 1 |
177 found, browser_ok, renderer_ok = _CheckLinkerTestStatus( | 179 found, browser_ok, renderer_ok = _CheckLinkerTestStatus( |
178 device.old_interface.GetCurrentRecordedLogcat()) | 180 device.old_interface.GetCurrentRecordedLogcat()) |
(...skipping 352 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
531 # Note that this behaviour doesn't seem to happen when starting an | 533 # Note that this behaviour doesn't seem to happen when starting an |
532 # application 'normally', i.e. when using the application launcher to | 534 # application 'normally', i.e. when using the application launcher to |
533 # start the activity. | 535 # start the activity. |
534 logging.info('Ignoring system\'s low randomization of browser libraries' + | 536 logging.info('Ignoring system\'s low randomization of browser libraries' + |
535 ' for regular devices') | 537 ' for regular devices') |
536 | 538 |
537 if not renderer_status: | 539 if not renderer_status: |
538 return ResultType.FAIL, renderer_logs | 540 return ResultType.FAIL, renderer_logs |
539 | 541 |
540 return ResultType.PASS, logs | 542 return ResultType.PASS, logs |
OLD | NEW |