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

Side by Side Diff: build/android/pylib/local/device/local_device_gtest_run.py

Issue 1982493002: [Android] Log uncaught Java exceptions when running native tests. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix findbugs warning Created 4 years, 7 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
« no previous file with comments | « no previous file | testing/android/appurify_support/java/src/org/chromium/test/support/RobotiumBundleGenerator.java » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 import collections 5 import collections
6 import itertools 6 import itertools
7 import logging
7 import os 8 import os
8 import posixpath 9 import posixpath
9 10
10 from devil.android import device_errors 11 from devil.android import device_errors
11 from devil.android import device_temp_file 12 from devil.android import device_temp_file
12 from devil.android import ports 13 from devil.android import ports
13 from devil.utils import reraiser_thread 14 from devil.utils import reraiser_thread
14 from pylib import constants 15 from pylib import constants
15 from pylib.base import base_test_result 16 from pylib.base import base_test_result
16 from pylib.gtest import gtest_test_instance 17 from pylib.gtest import gtest_test_instance
(...skipping 287 matching lines...) Expand 10 before | Expand all | Expand 10 after
304 tests = _ExtractTestsFromFilter(self._test_instance.gtest_filter) 305 tests = _ExtractTestsFromFilter(self._test_instance.gtest_filter)
305 if tests: 306 if tests:
306 return tests 307 return tests
307 308
308 # Even when there's only one device, it still makes sense to retrieve the 309 # Even when there's only one device, it still makes sense to retrieve the
309 # test list so that tests can be split up and run in batches rather than all 310 # test list so that tests can be split up and run in batches rather than all
310 # at once (since test output is not streamed). 311 # at once (since test output is not streamed).
311 @local_device_test_run.handle_shard_failures_with( 312 @local_device_test_run.handle_shard_failures_with(
312 on_failure=self._env.BlacklistDevice) 313 on_failure=self._env.BlacklistDevice)
313 def list_tests(dev): 314 def list_tests(dev):
314 tests = self._delegate.Run( 315 raw_test_list = self._delegate.Run(
315 None, dev, flags='--gtest_list_tests', timeout=30) 316 None, dev, flags='--gtest_list_tests', timeout=30)
316 tests = gtest_test_instance.ParseGTestListTests(tests) 317 tests = gtest_test_instance.ParseGTestListTests(raw_test_list)
318 if not tests:
319 logging.info('No tests found. Output:')
320 for l in raw_test_list:
321 logging.info(' %s', l)
317 tests = self._test_instance.FilterTests(tests) 322 tests = self._test_instance.FilterTests(tests)
318 return tests 323 return tests
319 324
320 # Query all devices in case one fails. 325 # Query all devices in case one fails.
321 test_lists = self._env.parallel_devices.pMap(list_tests).pGet(None) 326 test_lists = self._env.parallel_devices.pMap(list_tests).pGet(None)
322 327
323 # If all devices failed to list tests, raise an exception. 328 # If all devices failed to list tests, raise an exception.
324 # Check that tl is not None and is not empty. 329 # Check that tl is not None and is not empty.
325 if all(not tl for tl in test_lists): 330 if all(not tl for tl in test_lists):
326 raise device_errors.CommandFailedError( 331 raise device_errors.CommandFailedError(
(...skipping 29 matching lines...) Expand all
356 def TearDown(self): 361 def TearDown(self):
357 @local_device_test_run.handle_shard_failures 362 @local_device_test_run.handle_shard_failures
358 def individual_device_tear_down(dev): 363 def individual_device_tear_down(dev):
359 for s in self._servers.get(str(dev), []): 364 for s in self._servers.get(str(dev), []):
360 s.TearDown() 365 s.TearDown()
361 366
362 tool = self.GetTool(dev) 367 tool = self.GetTool(dev)
363 tool.CleanUpEnvironment() 368 tool.CleanUpEnvironment()
364 369
365 self._env.parallel_devices.pMap(individual_device_tear_down) 370 self._env.parallel_devices.pMap(individual_device_tear_down)
OLDNEW
« no previous file with comments | « no previous file | testing/android/appurify_support/java/src/org/chromium/test/support/RobotiumBundleGenerator.java » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698