New issue
Advanced search Search tips

Issue 726572 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Jun 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Feature



Sign in to add a comment

Web Platform Tests docs: Please explain what to do about failed imported tests

Project Member Reported by mgiuca@chromium.org, May 26 2017

Issue description

See  Issue 726571 .

https://crrev.com/474764 is an automatic import CL that happened to introduce 18 new failing tests.

The comment in that auto CL description is:
"""
Background: https://chromium.googlesource.com/chromium/src/+/master/docs/testing/web_platform_tests.md

Note to sheriffs: If this CL causes a small number of new layout
test failures, it may be easier to add lines to TestExpectations
rather than reverting.
"""

As a sheriff, this isn't very useful. The normal role of the sheriff is to revert if you can find the culprit, otherwise disable the test (i.e., add an expectation for web platform tests). This helps us reduce the number of disabled tests.

The "background" link doesn't elaborate on this at all.

- Please add a section in web_platform_tests.md called "Sheriffs: What to do if imported tests fail", and elaborate on the above paragraph about the trade-off between reverting and adding to TestExpectations. What are the implications of both? What does "easier" mean... easier for whom? If I was to revert, how much work would I be creating for someone?
- Why aren't these tests running on try bots so they are caught before sheriffs have to deal with them? (Perhaps a question for infra.)
 
Good points, thanks for filing this.

For more context, the reason why I added that section in the description is this: Since we want to continually automatically import web-platform-tests, if an import is reverted, that means I have to then manually reland the import CL with added expectations.

The actual source of the tests is external (out of my control), and for now at least, for any new tests which happen to fail in Chromium, we still want to import them, and in a sense, the import is not the "cause" of the failure, it's just syncing the Chromium copy of the tests with the upstream copy of the tests.

"Easier" was meant to mean "easier overall in terms of overall effort" -- a revert means that the import has to be relanded *plus* the addition of test expectations; that is, we are going to want to add test expectations anyway, so in this particular case, reverting the import doesn't help reduce the number of disabled tests.

Perhaps this is me being selfish, since the main person affected by this is me :-)

As for tests and try bots: In theory, these tests are meant to be run on all platforms before being landed, but currently there are these two possible exceptions:

 - If there is one bot that fails (e.g. some failure outside of the layout tests), the importer will try to continue and fill in results based on bots that didn't fail. It does this now for baselines, but doesn't properly handle expectation lines ( bug 722887 ).
 - There are currently no try bots corresponding to the debug/asan/msan/leak builders on chromium.webkit.
Labels: -Pri-3 Pri-2
(Next action: Update the doc and possibly the CL description)

Comment 3 by mgiuca@chromium.org, May 30 2017

Great, thanks for the explanation.

> Perhaps this is me being selfish, since the main person affected by this is me :-)

Not at all. We should be reducing effort for everyone not just the sheriff :). I don't disagree with the conclusion, but with the weak language used in the CL description. Most sheriffs don't have the context to understand the ramifications, so saying "it may be easier to X rather than Y" doesn't really help me understand whether I should be doing X.

I'd say you should flat-out recommend disabling the tests, unless a huge number of failures happened which indicates something is seriously wrong.
Components: Blink>Infra
Status: Started (was: Assigned)
Project Member

Comment 5 by bugdroid1@chromium.org, Jun 7 2017

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

commit 12a15b76226a3f5e24b2fa90a462b28a19634f0a
Author: Quinten Yearsley <qyearsley@google.com>
Date: Wed Jun 07 02:34:44 2017

Clarify docs and note in wpt-importer commit descriptions.

Purpose: The purpose of this commit is to try to offer
clearer info/suggestions to sheriffs when import CLs
cause failures.

Change-Id: I90711d6bfe2f04ff0ec2a9d8c2f9caa92637f688
Bug:  726572 
Reviewed-on: https://chromium-review.googlesource.com/516203
Reviewed-by: Matt Giuca <mgiuca@chromium.org>
Commit-Queue: Quinten Yearsley <qyearsley@chromium.org>
Cr-Commit-Position: refs/heads/master@{#477522}
[modify] https://crrev.com/12a15b76226a3f5e24b2fa90a462b28a19634f0a/docs/testing/web_platform_tests.md
[modify] https://crrev.com/12a15b76226a3f5e24b2fa90a462b28a19634f0a/third_party/WebKit/Tools/Scripts/webkitpy/w3c/test_importer.py
[modify] https://crrev.com/12a15b76226a3f5e24b2fa90a462b28a19634f0a/third_party/WebKit/Tools/Scripts/webkitpy/w3c/test_importer_unittest.py

Status: Fixed (was: Started)
Alright, the description and docs are probably not perfect, but at least now they're a bit clearer.

Sign in to add a comment