| 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 sys |   10 import sys | 
| (...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   92  |   92  | 
|   93   #override |   93   #override | 
|   94   def PushDataDeps(self): |   94   def PushDataDeps(self): | 
|   95     # TODO(frankf): Implement a general approach for copying/installing |   95     # TODO(frankf): Implement a general approach for copying/installing | 
|   96     # once across test runners. |   96     # once across test runners. | 
|   97     if TestRunner._DEVICE_HAS_TEST_FILES.get(self.device, False): |   97     if TestRunner._DEVICE_HAS_TEST_FILES.get(self.device, False): | 
|   98       logging.warning('Already copied test files to device %s, skipping.', |   98       logging.warning('Already copied test files to device %s, skipping.', | 
|   99                       str(self.device)) |   99                       str(self.device)) | 
|  100       return |  100       return | 
|  101  |  101  | 
 |  102     host_device_file_tuples = [] | 
|  102     test_data = _GetDataFilesForTestSuite(self.test_pkg.GetApkName()) |  103     test_data = _GetDataFilesForTestSuite(self.test_pkg.GetApkName()) | 
|  103     if test_data: |  104     if test_data: | 
|  104       # Make sure SD card is ready. |  105       # Make sure SD card is ready. | 
|  105       self.device.WaitUntilFullyBooted(timeout=20) |  106       self.device.WaitUntilFullyBooted(timeout=20) | 
|  106       for p in test_data: |  107       host_device_file_tuples += [ | 
|  107         self.device.PushChangedFiles( |  108           (os.path.join(constants.DIR_SOURCE_ROOT, p), | 
|  108             os.path.join(constants.DIR_SOURCE_ROOT, p), |  109            os.path.join(self.device.GetExternalStoragePath(), p)) | 
|  109             os.path.join(self.device.GetExternalStoragePath(), p)) |  110           for p in test_data] | 
|  110  |  111  | 
|  111     # 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 | 
|  112     # as command-line. |  113     # as command-line. | 
|  113     for dest_host_pair in self.options.test_data: |  114     for dest_host_pair in self.options.test_data: | 
|  114       dst_src = dest_host_pair.split(':', 1) |  115       dst_src = dest_host_pair.split(':', 1) | 
|  115       dst_layer = dst_src[0] |  116       dst_layer = dst_src[0] | 
|  116       host_src = dst_src[1] |  117       host_src = dst_src[1] | 
|  117       host_test_files_path = os.path.join(constants.DIR_SOURCE_ROOT, |  118       host_test_files_path = os.path.join(constants.DIR_SOURCE_ROOT, | 
|  118                                           host_src) |  119                                           host_src) | 
|  119       if os.path.exists(host_test_files_path): |  120       if os.path.exists(host_test_files_path): | 
|  120         self.device.PushChangedFiles( |  121         host_device_file_tuples += [( | 
|  121             host_test_files_path, |  122             host_test_files_path, | 
|  122             '%s/%s/%s' % ( |  123             '%s/%s/%s' % ( | 
|  123                 self.device.GetExternalStoragePath(), |  124                 self.device.GetExternalStoragePath(), | 
|  124                 TestRunner._DEVICE_DATA_DIR, |  125                 TestRunner._DEVICE_DATA_DIR, | 
|  125                 dst_layer)) |  126                 dst_layer))] | 
 |  127     if host_device_file_tuples: | 
 |  128       self.device.PushChangedFiles(host_device_file_tuples) | 
|  126     self.tool.CopyFiles() |  129     self.tool.CopyFiles() | 
|  127     TestRunner._DEVICE_HAS_TEST_FILES[str(self.device)] = True |  130     TestRunner._DEVICE_HAS_TEST_FILES[str(self.device)] = True | 
|  128  |  131  | 
|  129   def _GetInstrumentationArgs(self): |  132   def _GetInstrumentationArgs(self): | 
|  130     ret = {} |  133     ret = {} | 
|  131     if self.options.wait_for_debugger: |  134     if self.options.wait_for_debugger: | 
|  132       ret['debug'] = 'true' |  135       ret['debug'] = 'true' | 
|  133     if self.coverage_dir: |  136     if self.coverage_dir: | 
|  134       ret['coverage'] = 'true' |  137       ret['coverage'] = 'true' | 
|  135       ret['coverageFile'] = self.coverage_device_file |  138       ret['coverageFile'] = self.coverage_device_file | 
| (...skipping 366 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  502     except device_errors.CommandTimeoutError as e: |  505     except device_errors.CommandTimeoutError as e: | 
|  503       results.AddResult(test_result.InstrumentationTestResult( |  506       results.AddResult(test_result.InstrumentationTestResult( | 
|  504           test, base_test_result.ResultType.TIMEOUT, start_ms, duration_ms, |  507           test, base_test_result.ResultType.TIMEOUT, start_ms, duration_ms, | 
|  505           log=str(e) or 'No information')) |  508           log=str(e) or 'No information')) | 
|  506     except device_errors.DeviceUnreachableError as e: |  509     except device_errors.DeviceUnreachableError as e: | 
|  507       results.AddResult(test_result.InstrumentationTestResult( |  510       results.AddResult(test_result.InstrumentationTestResult( | 
|  508           test, base_test_result.ResultType.CRASH, start_ms, duration_ms, |  511           test, base_test_result.ResultType.CRASH, start_ms, duration_ms, | 
|  509           log=str(e) or 'No information')) |  512           log=str(e) or 'No information')) | 
|  510     self.TestTeardown(test, results) |  513     self.TestTeardown(test, results) | 
|  511     return (results, None if results.DidRunPass() else test) |  514     return (results, None if results.DidRunPass() else test) | 
| OLD | NEW |