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

Unified Diff: build/android/pylib/remote/device/remote_device_test_run.py

Issue 851503003: Update from https://crrev.com/311076 (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 years, 11 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 side-by-side diff with in-line comments
Download patch
Index: build/android/pylib/remote/device/remote_device_test_run.py
diff --git a/build/android/pylib/remote/device/remote_device_test_run.py b/build/android/pylib/remote/device/remote_device_test_run.py
index 2144e2471348822b4413b07ab06656c67ab6f320..cdc87778a967a0c30206e3eb867e4429b633bd6c 100644
--- a/build/android/pylib/remote/device/remote_device_test_run.py
+++ b/build/android/pylib/remote/device/remote_device_test_run.py
@@ -22,6 +22,7 @@ class RemoteDeviceTestRun(test_run.TestRun):
WAIT_TIME = 5
COMPLETE = 'complete'
+ HEARTBEAT_INTERVAL = 300
def __init__(self, env, test_instance):
"""Constructor.
@@ -37,7 +38,6 @@ class RemoteDeviceTestRun(test_run.TestRun):
self._test_id = ''
self._results = ''
self._test_run_id = ''
- self._current_status = ''
#override
def RunTests(self):
@@ -63,8 +63,28 @@ class RemoteDeviceTestRun(test_run.TestRun):
'File for storing test_run_id must be a string.')
with open(self._env.collect, 'r') as test_run_id_file:
self._test_run_id = test_run_id_file.read().strip()
+ current_status = ''
+ timeout_counter = 0
+ heartbeat_counter = 0
while self._GetTestStatus(self._test_run_id) != self.COMPLETE:
+ if self._results['detailed_status'] != current_status:
+ logging.info('Test status: %s', self._results['detailed_status'])
+ current_status = self._results['detailed_status']
+ timeout_counter = 0
+ heartbeat_counter = 0
+ if heartbeat_counter > self.HEARTBEAT_INTERVAL:
+ logging.info('Test status: %s', self._results['detailed_status'])
+ heartbeat_counter = 0
+
+ timeout = self._env.timeouts.get(
+ current_status, self._env.timeouts['unknown'])
+ if timeout_counter > timeout:
+ raise remote_device_helper.RemoteDeviceError(
+ 'Timeout while in %s state for %s seconds'
+ % (current_status, timeout))
time.sleep(self.WAIT_TIME)
+ timeout_counter += self.WAIT_TIME
+ heartbeat_counter += self.WAIT_TIME
self._DownloadTestResults(self._env.results_path)
return self._ParseTestResults()
@@ -148,9 +168,6 @@ class RemoteDeviceTestRun(test_run.TestRun):
remote_device_helper.TestHttpResponse(test_check_res,
'Unable to get test status.')
self._results = test_check_res.json()['response']
- if self._results['detailed_status'] != self._current_status:
- logging.info('Test status: %s', self._results['detailed_status'])
- self._current_status = self._results['detailed_status']
return self._results['status']
def _AmInstrumentTestSetup(self, app_path, test_path, runner_package):
@@ -184,12 +201,11 @@ class RemoteDeviceTestRun(test_run.TestRun):
def _UploadAppToDevice(self, app_path):
"""Upload app to device."""
logging.info('Uploading %s to remote service.', app_path)
- apk_name = os.path.basename(app_path)
with open(app_path, 'rb') as apk_src:
with appurify_sanitized.SanitizeLogging(self._env.verbose_count,
logging.WARNING):
upload_results = appurify_sanitized.api.apps_upload(
- self._env.token, apk_src, 'raw', name=apk_name)
+ self._env.token, apk_src, 'raw', name=self._test_instance.suite)
remote_device_helper.TestHttpResponse(
upload_results, 'Unable to upload %s.' % app_path)
return upload_results.json()['response']['app_id']
« no previous file with comments | « build/android/pylib/remote/device/remote_device_gtest_run.py ('k') | build/android/pylib/uirobot/uirobot_test_instance.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698