| OLD | NEW | 
|---|
| 1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2012 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 """Class for running instrumentation tests on a single device.""" | 5 """Class for running instrumentation tests on a single device.""" | 
| 6 | 6 | 
| 7 import logging | 7 import logging | 
| 8 import os | 8 import os | 
| 9 import re | 9 import re | 
| 10 import shutil | 10 import shutil | 
| (...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 82     self.save_perf_json = options.save_perf_json | 82     self.save_perf_json = options.save_perf_json | 
| 83     self.screenshot_failures = options.screenshot_failures | 83     self.screenshot_failures = options.screenshot_failures | 
| 84     self.wait_for_debugger = options.wait_for_debugger | 84     self.wait_for_debugger = options.wait_for_debugger | 
| 85     self.disable_assertions = options.disable_assertions | 85     self.disable_assertions = options.disable_assertions | 
| 86     self.test_pkg = test_pkg | 86     self.test_pkg = test_pkg | 
| 87     self.ports_to_forward = ports_to_forward | 87     self.ports_to_forward = ports_to_forward | 
| 88     self.install_apk = options.install_apk | 88     self.install_apk = options.install_apk | 
| 89     self.forwarder = None | 89     self.forwarder = None | 
| 90 | 90 | 
| 91   #override | 91   #override | 
| 92   def PushDependencies(self): | 92   def InstallTestPackage(self): | 
|  | 93     if self.install_apk: | 
|  | 94       self.test_pkg.Install(self.adb) | 
|  | 95 | 
|  | 96   #override | 
|  | 97   def PushDataDeps(self): | 
| 93     # TODO(frankf): Implement a general approach for copying/installing | 98     # TODO(frankf): Implement a general approach for copying/installing | 
| 94     # once across test runners. | 99     # once across test runners. | 
| 95     if TestRunner._DEVICE_HAS_TEST_FILES.get(self.device, False): | 100     if TestRunner._DEVICE_HAS_TEST_FILES.get(self.device, False): | 
| 96       logging.warning('Already copied test files to device %s, skipping.', | 101       logging.warning('Already copied test files to device %s, skipping.', | 
| 97                       self.device) | 102                       self.device) | 
| 98       return | 103       return | 
| 99 | 104 | 
| 100     test_data = _GetDataFilesForTestSuite(self.test_pkg.GetApkName()) | 105     test_data = _GetDataFilesForTestSuite(self.test_pkg.GetApkName()) | 
| 101     if test_data: | 106     if test_data: | 
| 102       # Make sure SD card is ready. | 107       # Make sure SD card is ready. | 
| 103       self.adb.WaitForSdCardReady(20) | 108       self.adb.WaitForSdCardReady(20) | 
| 104       for data in test_data: | 109       for data in test_data: | 
| 105         self.CopyTestData([data], self.adb.GetExternalStorage()) | 110         self.CopyTestData([data], self.adb.GetExternalStorage()) | 
| 106 | 111 | 
| 107     # TODO(frankf): Specify test data in this file as opposed to passing | 112     # TODO(frankf): Specify test data in this file as opposed to passing | 
| 108     # as command-line. | 113     # as command-line. | 
| 109     for dest_host_pair in self.test_data: | 114     for dest_host_pair in self.test_data: | 
| 110       dst_src = dest_host_pair.split(':',1) | 115       dst_src = dest_host_pair.split(':',1) | 
| 111       dst_layer = dst_src[0] | 116       dst_layer = dst_src[0] | 
| 112       host_src = dst_src[1] | 117       host_src = dst_src[1] | 
| 113       host_test_files_path = constants.DIR_SOURCE_ROOT + '/' + host_src | 118       host_test_files_path = constants.DIR_SOURCE_ROOT + '/' + host_src | 
| 114       if os.path.exists(host_test_files_path): | 119       if os.path.exists(host_test_files_path): | 
| 115         self.adb.PushIfNeeded(host_test_files_path, | 120         self.adb.PushIfNeeded(host_test_files_path, | 
| 116                               self.adb.GetExternalStorage() + '/' + | 121                               self.adb.GetExternalStorage() + '/' + | 
| 117                               TestRunner._DEVICE_DATA_DIR + '/' + dst_layer) | 122                               TestRunner._DEVICE_DATA_DIR + '/' + dst_layer) | 
| 118     if self.install_apk: |  | 
| 119       self.test_pkg.Install(self.adb) |  | 
| 120     self.tool.CopyFiles() | 123     self.tool.CopyFiles() | 
| 121     TestRunner._DEVICE_HAS_TEST_FILES[self.device] = True | 124     TestRunner._DEVICE_HAS_TEST_FILES[self.device] = True | 
| 122 | 125 | 
| 123   def _GetInstrumentationArgs(self): | 126   def _GetInstrumentationArgs(self): | 
| 124     ret = {} | 127     ret = {} | 
| 125     if self.wait_for_debugger: | 128     if self.wait_for_debugger: | 
| 126       ret['debug'] = 'true' | 129       ret['debug'] = 'true' | 
| 127     return ret | 130     return ret | 
| 128 | 131 | 
| 129   def _TakeScreenshot(self, test): | 132   def _TakeScreenshot(self, test): | 
| (...skipping 219 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 349         duration_ms = 0 | 352         duration_ms = 0 | 
| 350       message = str(e) | 353       message = str(e) | 
| 351       if not message: | 354       if not message: | 
| 352         message = 'No information.' | 355         message = 'No information.' | 
| 353       results.AddResult(test_result.InstrumentationTestResult( | 356       results.AddResult(test_result.InstrumentationTestResult( | 
| 354           test, base_test_result.ResultType.CRASH, start_date_ms, duration_ms, | 357           test, base_test_result.ResultType.CRASH, start_date_ms, duration_ms, | 
| 355           log=message)) | 358           log=message)) | 
| 356       raw_result = None | 359       raw_result = None | 
| 357     self.TestTeardown(test, raw_result) | 360     self.TestTeardown(test, raw_result) | 
| 358     return (results, None if results.DidRunPass() else test) | 361     return (results, None if results.DidRunPass() else test) | 
| OLD | NEW | 
|---|