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

Issue 563243002: Implemented a flaky test runner for auto-bisect bot. (Closed)

Created:
6 years, 3 months ago by Sergiy Byelozyorov
Modified:
6 years, 3 months ago
Reviewers:
qyearsley, ojan
CC:
chromium-reviews
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Project:
chromium
Visibility:
Public.

Description

Implemented a flaky test runner for auto-bisect bot. BUG=387410 R=qyearsley@chromium.org Committed: https://crrev.com/923f4e6a68e610a4d83fda194815f760461aa7dd Cr-Commit-Position: refs/heads/master@{#294858}

Patch Set 1 #

Patch Set 2 : Replaced optparse with argparse #

Patch Set 3 : There was more to it than just changing optparse to argparse :-) #

Patch Set 4 : Removed debug statement #

Patch Set 5 : #

Patch Set 6 : #

Patch Set 7 : #

Total comments: 11

Patch Set 8 : Review #

Total comments: 4

Patch Set 9 : #

Total comments: 6
Unified diffs Side-by-side diffs Delta from patch set Stats (+72 lines, -0 lines) Patch
A tools/flakiness/is_flaky_test.py View 1 2 3 4 5 6 7 8 1 chunk +72 lines, -0 lines 6 comments Download

Messages

Total messages: 14 (2 generated)
Sergiy Byelozyorov
PTAL
6 years, 3 months ago (2014-09-12 15:40:48 UTC) #1
qyearsley
Nice :-) I just tried this out with a script that contained: #!/usr/bin/env python """Randomly ...
6 years, 3 months ago (2014-09-12 16:42:59 UTC) #2
qyearsley
https://codereview.chromium.org/563243002/diff/120001/tools/flakiness/is_flaky_test.py File tools/flakiness/is_flaky_test.py (right): https://codereview.chromium.org/563243002/diff/120001/tools/flakiness/is_flaky_test.py#newcode60 tools/flakiness/is_flaky_test.py:60: flakiness = 0 On 2014/09/12 16:42:59, qyearsley wrote: > ...
6 years, 3 months ago (2014-09-12 16:44:26 UTC) #3
Sergiy Byelozyorov
https://codereview.chromium.org/563243002/diff/120001/tools/flakiness/is_flaky_test.py File tools/flakiness/is_flaky_test.py (right): https://codereview.chromium.org/563243002/diff/120001/tools/flakiness/is_flaky_test.py#newcode2 tools/flakiness/is_flaky_test.py:2: # Copyright (c) 2011 The Chromium Authors. All rights ...
6 years, 3 months ago (2014-09-15 08:12:14 UTC) #4
qyearsley
lgtm https://codereview.chromium.org/563243002/diff/140001/tools/flakiness/is_flaky_test.py File tools/flakiness/is_flaky_test.py (right): https://codereview.chromium.org/563243002/diff/140001/tools/flakiness/is_flaky_test.py#newcode29 tools/flakiness/is_flaky_test.py:29: running[:] = [p for p in running if ...
6 years, 3 months ago (2014-09-15 16:02:28 UTC) #5
Sergiy Byelozyorov
https://codereview.chromium.org/563243002/diff/140001/tools/flakiness/is_flaky_test.py File tools/flakiness/is_flaky_test.py (right): https://codereview.chromium.org/563243002/diff/140001/tools/flakiness/is_flaky_test.py#newcode29 tools/flakiness/is_flaky_test.py:29: running[:] = [p for p in running if p.poll() ...
6 years, 3 months ago (2014-09-15 16:27:29 UTC) #6
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patchset/563243002/160001
6 years, 3 months ago (2014-09-15 16:29:13 UTC) #8
commit-bot: I haz the power
Committed patchset #9 (id:160001) as 6dddbe7fe09c030015e3b2f3f1d2851cf08544b7
6 years, 3 months ago (2014-09-15 18:50:48 UTC) #9
commit-bot: I haz the power
Patchset 9 (id:??) landed as https://crrev.com/923f4e6a68e610a4d83fda194815f760461aa7dd Cr-Commit-Position: refs/heads/master@{#294858}
6 years, 3 months ago (2014-09-15 19:03:39 UTC) #10
ojan
Please add tests. All new code should have tests. That's harder to ask for buildbot ...
6 years, 3 months ago (2014-09-15 19:59:53 UTC) #12
qyearsley
On 2014/09/15 19:59:53, ojan-only-code-yellow-reviews wrote: > Please add tests. All new code should have tests. ...
6 years, 3 months ago (2014-09-15 20:17:54 UTC) #13
Sergiy Byelozyorov
6 years, 3 months ago (2014-09-16 14:27:07 UTC) #14
Message was sent while issue was closed.
Added tests and rewrote using multiprocessing. See
https://codereview.chromium.org/560123004.

On 2014/09/15 19:59:53, ojan-only-code-yellow-reviews wrote:
> Lastly, can we focus our efforts on getting non-flaky bisect working first?
I'm
> worried this is distracting from that effort and this work won't be useful
until
> we have the non-flaky bisect working.

According to qyearsley@, the auto-bisect project is sufficiently stuffed - there
is no major pieces of work to be done that is not being done by someone else.
Apart from that, for CQ we need to build tools to reduce flakiness and this is
high priority as it blocks other CY pillars.

https://codereview.chromium.org/563243002/diff/160001/tools/flakiness/is_flak...
File tools/flakiness/is_flaky_test.py (right):

https://codereview.chromium.org/563243002/diff/160001/tools/flakiness/is_flak...
tools/flakiness/is_flaky_test.py:23: parser.add_argument('command', nargs='+',
help='Command to run test.')
On 2014/09/15 19:59:53, ojan-only-code-yellow-reviews wrote:
> This is a good start. Eventually we're going to need something more
complicated
> for tests that are flaky only when run in conjunction with other tests. But we
> don't need to worry about that until we have at least the basic system in
place.

Acknowledged.

https://codereview.chromium.org/563243002/diff/160001/tools/flakiness/is_flak...
tools/flakiness/is_flaky_test.py:45:
running.append(subprocess.Popen(options.command, stdout=subprocess.PIPE,
On 2014/09/15 19:59:53, ojan-only-code-yellow-reviews wrote:
> Use multiprocessing.Pool. That will replace a good chunk of the code in this
> file.

Done.

https://codereview.chromium.org/563243002/diff/160001/tools/flakiness/is_flak...
tools/flakiness/is_flaky_test.py:50: num_passed, num_failed =
process_finished(running, num_passed, num_failed)
On 2014/09/15 19:59:53, ojan-only-code-yellow-reviews wrote:
> I think this code would be easier to follow if you didn't pass
> num_passed/num_failed in. Instead just return num_passed/num_failed from
> process_finished and add to the local num_passed/num_failed here.

Acknowledged.

Powered by Google App Engine
This is Rietveld 408576698