New issue
Advanced search Search tips

Issue 646223 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Dec 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 2
Type: Bug



Sign in to add a comment

test_runner.py loses remainder of shard on segfault in gtests

Project Member Reported by jbudorick@chromium.org, Sep 13 2016

Issue description

Context: https://bugs.chromium.org/p/chromium/issues/detail?id=646085

On a segfault (at least), the test runner gets *nothing* from the containing shard. Unless the test in which the segfault occurred was the first in that shard, the test runner should be able to glean something -- ideally, what ran before, what crashed, and what didn't run.
 
... on further inspection, this only holds when we run the test activity in the same process as the instrumentation. We don't typically do this (https://codesearch.chromium.org/chromium/src/testing/android/native_test/java/AndroidManifest.xml.jinja2?l=31) but net_unittests, the suite referenced in issue 646085, does. I'm guessing this was an oversight?
Status: WontFix (was: Assigned)
Status: Assigned (was: WontFix)
Summary: test_runner.py loses remainder of shard on segfault in gtests (was: test_runner.py loses entire shards on segfault in gtests)
Actually, the out-of-process handling could stand to be improved as well.
Status: Fixed (was: Assigned)
Status: Started (was: Fixed)
Project Member

Comment 7 by bugdroid1@chromium.org, Dec 2 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/20a1d335f2cf1e97c16e1036bb427a448db84097

commit 20a1d335f2cf1e97c16e1036bb427a448db84097
Author: jbudorick <jbudorick@chromium.org>
Date: Fri Dec 02 05:04:14 2016

[Android] Try harder to run every gtest within each try.

Gtests on Android get sharded into 256-test chunks to mitigate
the latency of spinning up the VM while also allowing for reasonably
balanced sharding across multiple attached devices. This can have
adverse side effects when a test crashes, though, leaving the remaining
tests in a given shard unrun. This is particularly problematic when a
lot of tests crash, with dozens or hundreds of tests failing as
UNKNOWN with no logs.

This CL splits out a separate NOT_RUN status from UNKNOWN to
differentiate between tests that were never run (or that we didn't see
start) and tests that we believe started but for which we were unable to
determine what happened. It then attempts to run any tests that come
back with NOTRUN statuses within each try.

BUG= 646223 

Review-Url: https://codereview.chromium.org/2541093004
Cr-Commit-Position: refs/heads/master@{#435863}

[modify] https://crrev.com/20a1d335f2cf1e97c16e1036bb427a448db84097/build/android/pylib/base/base_test_result.py
[modify] https://crrev.com/20a1d335f2cf1e97c16e1036bb427a448db84097/build/android/pylib/local/device/local_device_gtest_run.py
[modify] https://crrev.com/20a1d335f2cf1e97c16e1036bb427a448db84097/build/android/pylib/local/device/local_device_instrumentation_test_run.py
[modify] https://crrev.com/20a1d335f2cf1e97c16e1036bb427a448db84097/build/android/pylib/local/device/local_device_monkey_test_run.py
[modify] https://crrev.com/20a1d335f2cf1e97c16e1036bb427a448db84097/build/android/pylib/local/device/local_device_test_run.py

Status: Fixed (was: Started)
Project Member

Comment 9 by bugdroid1@chromium.org, Dec 8 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/bee3d3bdd2d7e537cb1341a476bdff18a45334fe

commit bee3d3bdd2d7e537cb1341a476bdff18a45334fe
Author: jbudorick <jbudorick@chromium.org>
Date: Thu Dec 08 21:01:24 2016

[Android] Handle unrun tests as a list rather than a set.

Several bots that subsequently try to rerun an unrun group of test
are left trying to index into a set.

BUG= 646223 

Review-Url: https://codereview.chromium.org/2561153002
Cr-Commit-Position: refs/heads/master@{#437337}

[modify] https://crrev.com/bee3d3bdd2d7e537cb1341a476bdff18a45334fe/build/android/pylib/local/device/local_device_gtest_run.py

Sign in to add a comment