New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 698385 link

Starred by 7 users

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug

Blocked on:
issue 731933



Sign in to add a comment

On CQ, reject CLs that introduce __new tests__ that are flaky

Project Member Reported by st...@chromium.org, Mar 3 2017

Issue description

Currently, we have Flake Analyzer to analyze flaky tests in the post-submit stage. We have a recipe to rerun a given gtest N times to calculate its pass rate. According to the data in Flake Analyzer, we found that a good number of tests are already flaky in the CLs that introduced them. They pass CQ try-jobs (maybe because of the 3 retries upon failure), and then surface on waterfall or CQ try-jobs of other CLs.

It would be much better to prevent CLs from landing if they introduce __new tests__ that are flaky by rerunning the new tests N (like 20, or even 100) times. We could reject a CL if the pass rate of any new test is not 100%.

However, we might not have enough machine resource to do exactly the same for __existing tests__.
But we should have enough machine resource to verify whether a CL has fixed the flakiness of __existing tests__:
  1. The CL owner adds a tag "FIX_FLAKY_TESTS={'browser_tests': 'suite.test'}"
  2. trybot recipe reads the info, and rerun those given tests N times
  3. fail the try-job if pass rates are not 100%
This could give confidence to developers if the CL passes the check and lands, and also avoid commit-revert-fix-commit-revert-fix-...
This is also helpful if the developers don't have the test config (OS, GPU, etc) in hand, or the flakiness is reproducible only on bots but not local workstation.
 

Comment 1 by st...@chromium.org, Mar 3 2017

Cc: dpranke@chromium.org estaab@chromium.org phajdan.jr@chromium.org serg...@chromium.org ojan@chromium.org
Summary: On CQ, reject CLs that introduce __new tests__ that are flaky (was: On CQ, reject CLs that introduce new tests that are flaky)
cc a few more folks who are or might be interested in the idea.

At the moment, Findit team doesn't have the bandwidth for this yet, but I'd still file the bug to track this.
If we receive feedback that it is more important than the culprit-finding by Flake Analyzer, we will try to re-prioritize once Flake Analyzer is stable and useful enough.
This is somewhat similar to issue 694603.
Components: Infra>Client>Chrome

Comment 4 by st...@chromium.org, Jun 9 2017

Description: Show this description

Comment 5 Deleted

Comment 6 by st...@chromium.org, Nov 20 2017

There are ~10k *new* gtests added in between Sept 14 and Nov 18.

Comment 7 by sanfin@chromium.org, Nov 20 2017

Cc: sanfin@chromium.org

Comment 8 by ojan@chromium.org, Nov 20 2017

Cc: -ojan@chromium.org seanmccullough@chromium.org
Cc: -serg...@chromium.org
Cc: kbr@chromium.org nednguyen@chromium.org
Blockedon: 731933

Sign in to add a comment