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

Side by Side Diff: build/android/pylib/instrumentation/test_runner.py

Issue 854733002: [Android] Fixes for instrumentation in platform mode. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.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 unified diff | Download patch
OLDNEW
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 303 matching lines...) Expand 10 before | Expand all | Expand 10 after
314 314
315 Returns: 315 Returns:
316 The raw output of am instrument as a list of lines. 316 The raw output of am instrument as a list of lines.
317 """ 317 """
318 extras = self._GetInstrumentationArgs() 318 extras = self._GetInstrumentationArgs()
319 extras['class'] = test 319 extras['class'] = test
320 return self.device.StartInstrumentation( 320 return self.device.StartInstrumentation(
321 '%s/%s' % (self.test_pkg.GetPackageName(), self.options.test_runner), 321 '%s/%s' % (self.test_pkg.GetPackageName(), self.options.test_runner),
322 raw=True, extras=extras, timeout=timeout, retries=0) 322 raw=True, extras=extras, timeout=timeout, retries=0)
323 323
324 def _GenerateTestResult(self, test, instr_statuses, start_ms, duration_ms):
325 return instrumentation_test_instance.GenerateTestResult(
326 test, instr_statuses, start_ms, duration_ms)
327
324 #override 328 #override
325 def RunTest(self, test): 329 def RunTest(self, test):
326 results = base_test_result.TestRunResults() 330 results = base_test_result.TestRunResults()
327 timeout = (self._GetIndividualTestTimeoutSecs(test) * 331 timeout = (self._GetIndividualTestTimeoutSecs(test) *
328 self._GetIndividualTestTimeoutScale(test) * 332 self._GetIndividualTestTimeoutScale(test) *
329 self.tool.GetTimeoutScale()) 333 self.tool.GetTimeoutScale())
330 if (self.device.build_version_sdk 334 if (self.device.build_version_sdk
331 < constants.ANDROID_SDK_VERSION_CODES.JELLY_BEAN): 335 < constants.ANDROID_SDK_VERSION_CODES.JELLY_BEAN):
332 timeout *= 10 336 timeout *= 10
333 337
334 start_ms = 0 338 start_ms = 0
335 duration_ms = 0 339 duration_ms = 0
336 try: 340 try:
337 self.TestSetup(test) 341 self.TestSetup(test)
338 342
339 time_ms = lambda: int(time.time() * 1000) 343 time_ms = lambda: int(time.time() * 1000)
340 start_ms = time_ms() 344 start_ms = time_ms()
341 raw_output = self._RunTest(test, timeout) 345 raw_output = self._RunTest(test, timeout)
342 duration_ms = time_ms() - start_ms 346 duration_ms = time_ms() - start_ms
343 347
344 # Parse the test output 348 # Parse the test output
345 _, _, statuses = ( 349 _, _, statuses = (
346 instrumentation_test_instance.ParseAmInstrumentRawOutput(raw_output)) 350 instrumentation_test_instance.ParseAmInstrumentRawOutput(raw_output))
347 result = instrumentation_test_instance.GenerateTestResult( 351 result = self._GenerateTestResult(test, statuses, start_ms, duration_ms)
348 test, statuses, start_ms, duration_ms)
349 if local_device_instrumentation_test_run.DidPackageCrashOnDevice( 352 if local_device_instrumentation_test_run.DidPackageCrashOnDevice(
350 self.test_pkg.GetPackageName(), self.device): 353 self.test_pkg.GetPackageName(), self.device):
351 result.SetType(base_test_result.ResultType.CRASH) 354 result.SetType(base_test_result.ResultType.CRASH)
352 results.AddResult(result) 355 results.AddResult(result)
353 except device_errors.CommandTimeoutError as e: 356 except device_errors.CommandTimeoutError as e:
354 results.AddResult(test_result.InstrumentationTestResult( 357 results.AddResult(test_result.InstrumentationTestResult(
355 test, base_test_result.ResultType.TIMEOUT, start_ms, duration_ms, 358 test, base_test_result.ResultType.TIMEOUT, start_ms, duration_ms,
356 log=str(e) or 'No information')) 359 log=str(e) or 'No information'))
357 except device_errors.DeviceUnreachableError as e: 360 except device_errors.DeviceUnreachableError as e:
358 results.AddResult(test_result.InstrumentationTestResult( 361 results.AddResult(test_result.InstrumentationTestResult(
359 test, base_test_result.ResultType.CRASH, start_ms, duration_ms, 362 test, base_test_result.ResultType.CRASH, start_ms, duration_ms,
360 log=str(e) or 'No information')) 363 log=str(e) or 'No information'))
361 self.TestTeardown(test, results) 364 self.TestTeardown(test, results)
362 return (results, None if results.DidRunPass() else test) 365 return (results, None if results.DidRunPass() else test)
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698