OLD | NEW |
1 # Copyright 2014 The Chromium Authors. All rights reserved. | 1 # Copyright 2014 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 """Run specific test on specific environment.""" | 5 """Run specific test on specific environment.""" |
6 | 6 |
7 import json | 7 import json |
8 import logging | 8 import logging |
9 import os | 9 import os |
10 import sys | 10 import sys |
(...skipping 201 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
212 for h, _ in data_deps: | 212 for h, _ in data_deps: |
213 if os.path.isdir(h): | 213 if os.path.isdir(h): |
214 zip_utils.WriteToZipFile(zip_file, h, '.') | 214 zip_utils.WriteToZipFile(zip_file, h, '.') |
215 sdcard_files.extend(os.listdir(h)) | 215 sdcard_files.extend(os.listdir(h)) |
216 else: | 216 else: |
217 zip_utils.WriteToZipFile(zip_file, h, os.path.basename(h)) | 217 zip_utils.WriteToZipFile(zip_file, h, os.path.basename(h)) |
218 sdcard_files.append(os.path.basename(h)) | 218 sdcard_files.append(os.path.basename(h)) |
219 config['sdcard_files'] = ','.join(sdcard_files) | 219 config['sdcard_files'] = ','.join(sdcard_files) |
220 config['host_test'] = host_test | 220 config['host_test'] = host_test |
221 self._test_id = self._UploadTestToDevice( | 221 self._test_id = self._UploadTestToDevice( |
222 'robotium', test_with_deps.name) | 222 'robotium', test_with_deps.name, app_id=self._app_id) |
223 else: | 223 else: |
224 self._test_id = self._UploadTestToDevice('robotium', test_path) | 224 self._test_id = self._UploadTestToDevice('robotium', test_path) |
225 | 225 |
226 logging.info('Setting config: %s' % config) | 226 logging.info('Setting config: %s' % config) |
227 self._SetTestConfig('robotium', config) | 227 self._SetTestConfig('robotium', config) |
228 | 228 |
229 def _UploadAppToDevice(self, app_path): | 229 def _UploadAppToDevice(self, app_path): |
230 """Upload app to device.""" | 230 """Upload app to device.""" |
231 logging.info('Uploading %s to remote service.', app_path) | 231 logging.info('Uploading %s to remote service.', app_path) |
232 with open(app_path, 'rb') as apk_src: | 232 with open(app_path, 'rb') as apk_src: |
233 with appurify_sanitized.SanitizeLogging(self._env.verbose_count, | 233 with appurify_sanitized.SanitizeLogging(self._env.verbose_count, |
234 logging.WARNING): | 234 logging.WARNING): |
235 upload_results = appurify_sanitized.api.apps_upload( | 235 upload_results = appurify_sanitized.api.apps_upload( |
236 self._env.token, apk_src, 'raw', name=self._test_instance.suite) | 236 self._env.token, apk_src, 'raw', name=self._test_instance.suite) |
237 remote_device_helper.TestHttpResponse( | 237 remote_device_helper.TestHttpResponse( |
238 upload_results, 'Unable to upload %s.' % app_path) | 238 upload_results, 'Unable to upload %s.' % app_path) |
239 return upload_results.json()['response']['app_id'] | 239 return upload_results.json()['response']['app_id'] |
240 | 240 |
241 def _UploadTestToDevice(self, test_type, test_path): | 241 def _UploadTestToDevice(self, test_type, test_path, app_id=None): |
242 """Upload test to device | 242 """Upload test to device |
243 Args: | 243 Args: |
244 test_type: Type of test that is being uploaded. Ex. uirobot, gtest.. | 244 test_type: Type of test that is being uploaded. Ex. uirobot, gtest.. |
245 """ | 245 """ |
246 logging.info('Uploading %s to remote service.' % test_path) | 246 logging.info('Uploading %s to remote service.' % test_path) |
247 with open(test_path, 'rb') as test_src: | 247 with open(test_path, 'rb') as test_src: |
248 with appurify_sanitized.SanitizeLogging(self._env.verbose_count, | 248 with appurify_sanitized.SanitizeLogging(self._env.verbose_count, |
249 logging.WARNING): | 249 logging.WARNING): |
250 upload_results = appurify_sanitized.api.tests_upload( | 250 upload_results = appurify_sanitized.api.tests_upload( |
251 self._env.token, test_src, 'raw', test_type) | 251 self._env.token, test_src, 'raw', test_type, app_id=app_id) |
252 remote_device_helper.TestHttpResponse(upload_results, | 252 remote_device_helper.TestHttpResponse(upload_results, |
253 'Unable to upload %s.' % test_path) | 253 'Unable to upload %s.' % test_path) |
254 return upload_results.json()['response']['test_id'] | 254 return upload_results.json()['response']['test_id'] |
255 | 255 |
256 def _SetTestConfig(self, runner_type, body): | 256 def _SetTestConfig(self, runner_type, body): |
257 """Generates and uploads config file for test. | 257 """Generates and uploads config file for test. |
258 Args: | 258 Args: |
259 extras: Extra arguments to set in the config file. | 259 extras: Extra arguments to set in the config file. |
260 """ | 260 """ |
261 logging.info('Generating config file for test.') | 261 logging.info('Generating config file for test.') |
262 with tempfile.TemporaryFile() as config: | 262 with tempfile.TemporaryFile() as config: |
263 config_data = [ | 263 config_data = [ |
264 '[appurify]', | 264 '[appurify]', |
265 'pcap=0', | 265 'pcap=0', |
266 'profiler=0', | 266 'profiler=0', |
267 'videocapture=0', | 267 'videocapture=0', |
268 '[%s]' % runner_type | 268 '[%s]' % runner_type |
269 ] | 269 ] |
270 config_data.extend('%s=%s' % (k, v) for k, v in body.iteritems()) | 270 config_data.extend('%s=%s' % (k, v) for k, v in body.iteritems()) |
271 config.write(''.join('%s\n' % l for l in config_data)) | 271 config.write(''.join('%s\n' % l for l in config_data)) |
272 config.flush() | 272 config.flush() |
273 config.seek(0) | 273 config.seek(0) |
274 with appurify_sanitized.SanitizeLogging(self._env.verbose_count, | 274 with appurify_sanitized.SanitizeLogging(self._env.verbose_count, |
275 logging.WARNING): | 275 logging.WARNING): |
276 config_response = appurify_sanitized.api.config_upload( | 276 config_response = appurify_sanitized.api.config_upload( |
277 self._env.token, config, self._test_id) | 277 self._env.token, config, self._test_id) |
278 remote_device_helper.TestHttpResponse( | 278 remote_device_helper.TestHttpResponse( |
279 config_response, 'Unable to upload test config.') | 279 config_response, 'Unable to upload test config.') |
OLD | NEW |