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

Issue 2439083003: Replace flaky test, wrangle with harness/infra

Created:
4 years, 2 months ago by chcunningham
Modified:
4 years, 1 month ago
Reviewers:
Dirk Pranke
CC:
chromium-reviews, mlamouri+watch-test-runner_chromium.org, posciak+watch_chromium.org, feature-media-reviews_chromium.org, einbinder+watch-test-runner_chromium.org, mac-reviews_chromium.org, blink-reviews, jochen+watch_chromium.org
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Replace flaky test, wrangle with harness/infra BUG=638621

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+142 lines, -230 lines) Patch
M components/test_runner/test_runner.h View 1 chunk +4 lines, -0 lines 0 comments Download
M components/test_runner/test_runner.cc View 4 chunks +12 lines, -0 lines 0 comments Download
M third_party/WebKit/LayoutTests/TestExpectations View 1 chunk +0 lines, -3 lines 0 comments Download
A third_party/WebKit/LayoutTests/http/tests/media/media-source/mediasource-seekbar-buffer-with-currentTime.html View 1 chunk +107 lines, -0 lines 0 comments Download
M third_party/WebKit/LayoutTests/http/tests/media/media-source/mediasource-util.js View 1 chunk +7 lines, -1 line 0 comments Download
D third_party/WebKit/LayoutTests/http/tests/media/video-buffered-range-contains-currentTime.html View 1 chunk +0 lines, -24 lines 0 comments Download
D third_party/WebKit/LayoutTests/platform/android/http/tests/media/video-buffered-range-contains-currentTime-expected.png View Binary file 0 comments Download
D third_party/WebKit/LayoutTests/platform/android/http/tests/media/video-buffered-range-contains-currentTime-expected.txt View 1 chunk +0 lines, -33 lines 0 comments Download
A + third_party/WebKit/LayoutTests/platform/linux/http/tests/media/media-source/mediasource-seekbar-buffer-with-currentTime-expected.png View Binary file 0 comments Download
A + third_party/WebKit/LayoutTests/platform/linux/http/tests/media/media-source/mediasource-seekbar-buffer-with-currentTime-expected.txt View 0 chunks +-1 lines, --1 lines 0 comments Download
D third_party/WebKit/LayoutTests/platform/linux/http/tests/media/video-buffered-range-contains-currentTime-expected.png View Binary file 0 comments Download
D third_party/WebKit/LayoutTests/platform/linux/http/tests/media/video-buffered-range-contains-currentTime-expected.txt View 1 chunk +0 lines, -34 lines 0 comments Download
D third_party/WebKit/LayoutTests/platform/mac-mac10.9/http/tests/media/video-buffered-range-contains-currentTime-expected.png View Binary file 0 comments Download
D third_party/WebKit/LayoutTests/platform/mac-mac10.9/http/tests/media/video-buffered-range-contains-currentTime-expected.txt View 1 chunk +0 lines, -33 lines 0 comments Download
D third_party/WebKit/LayoutTests/platform/mac/http/tests/media/video-buffered-range-contains-currentTime-expected.png View Binary file 0 comments Download
D third_party/WebKit/LayoutTests/platform/mac/http/tests/media/video-buffered-range-contains-currentTime-expected.txt View 1 chunk +0 lines, -33 lines 0 comments Download
D third_party/WebKit/LayoutTests/platform/win/http/tests/media/video-buffered-range-contains-currentTime-expected.png View Binary file 0 comments Download
D third_party/WebKit/LayoutTests/platform/win/http/tests/media/video-buffered-range-contains-currentTime-expected.txt View 1 chunk +0 lines, -33 lines 0 comments Download
D third_party/WebKit/LayoutTests/platform/win7/http/tests/media/video-buffered-range-contains-currentTime-expected.png View Binary file 0 comments Download
D third_party/WebKit/LayoutTests/platform/win7/http/tests/media/video-buffered-range-contains-currentTime-expected.txt View 1 chunk +0 lines, -33 lines 0 comments Download
M third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/controllers/single_test_runner.py View 1 chunk +10 lines, -4 lines 0 comments Download
M third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/models/testharness_results.py View 1 chunk +3 lines, -0 lines 0 comments Download

Messages

Total messages: 10 (5 generated)
chcunningham
Hey Dirk, I'm attempting to create a new testharness test that also does pixel testing. ...
4 years, 2 months ago (2016-10-22 01:21:13 UTC) #4
chcunningham
On 2016/10/22 01:21:13, chcunningham wrote: > Hey Dirk, I'm attempting to create a new testharness ...
4 years, 1 month ago (2016-10-24 20:37:33 UTC) #7
Dirk Pranke
On 2016/10/24 20:37:33, chcunningham wrote: > On 2016/10/22 01:21:13, chcunningham wrote: > > Hey Dirk, ...
4 years, 1 month ago (2016-10-26 18:40:54 UTC) #8
chcunningham
On 2016/10/26 18:40:54, Dirk Pranke wrote: > On 2016/10/24 20:37:33, chcunningham wrote: > > On ...
4 years, 1 month ago (2016-10-28 17:11:19 UTC) #9
Dirk Pranke
4 years, 1 month ago (2016-10-28 18:56:05 UTC) #10
On 2016/10/28 17:11:19, chcunningham wrote:
> On 2016/10/26 18:40:54, Dirk Pranke wrote:
> > On 2016/10/24 20:37:33, chcunningham wrote:
> > > On 2016/10/22 01:21:13, chcunningham wrote:
> > > > Hey Dirk, I'm attempting to create a new testharness test that also does
> > pixel
> > > > testing. But I think what I really have here is a Frankenstein thing.
Has
> > this
> > > > been done before? A better way?
> > > 
> > > To explain more: Its probably best to just ignore the code here completely
> and
> > > address the question: How do I take screenshots in a testHarness test?
> > > 
> > > I've attempted to use window.testRunner, but it seems that is actually
part
> of
> > > pre-testHarness.js infrastructure. Looking at the logic in
> > single_test_runner.py
> > > [0], I see that having any image output is a condition of NOT being a
> > > testHarness.js test. So I suspect I'm in uncharted territory. 
> > > 
> > > So the next question is, if I want to do this, should I use testRunner to
> dump
> > > the pixels and just refactor the logic in single_test_runner to allow
pixels
> > > with testHarness tests?
> > > 
> > >
> >
>
https://cs.chromium.org/chromium/src/third_party/WebKit/Tools/Scripts/webkitp...
> > 
> > testharness.js is the framework we get from the W3C, and it (intentionally)
> does
> > not expose a way
> > to get screenshots, because screenshots require manual review.
> > 
> > I think you roughly have three options: 
> > 
> > 1) Use the js-test framework instead.
> > 
> > 2) Split this test into two: one that does the asserting, and one that just
> > produces the image.
> > 
> > 3) Try to convince people that we should have a non-standard extension to
> > testharness or get
> > the W3C to buy in to this extension.
> > 
> > I don't think option (3) is a very good idea, but it's possible there might
be
> > support for it from others.
> > If you can make things work with js-test that's probably they way to go.
> > 
> > Does that help? (And sorry for the delay, I was out for a few days).
> 
> Thanks, this is insightful. I think I need to take option 1. The primary
> function of this test is to verify media controls painted correctly via a
> screenshot.
> 
> > because screenshots require manual review.
> 
> I'm confused. Our js-tests seem to compare the image to expected pixels in an
> automated fashion. When do we do manual review?

When the initial version of a baseline gets checked in or when baselines are
updated
(as part of code reviews). The day-to-day execution of the suite is then
automated.

The w3c doesn't have an equivalent of baselines or repeated executions, so it's
just "manual review" to them.

> Also, I keep seeing that js-tests is the past, test-harness the future. I
> haven't seen any mention of actually deprecating js-tests... is that the
> longterm plan? I know we have lots of tests that primarily verify via
> screenshots, so just wondering about their future.

I don't believe we have any expectation of being able to remove js-tests.
It's not actually deprecated, just not preferred.

 Put differently, you should use testharness tests or reftests if you can, 
but those two will never work for everything, and it seems somewhat less
likely that we'll ever get to a standardized w3c framework for the other uses
(though maybe we'll see something someday based around selenium/webdriver).

Powered by Google App Engine
This is Rietveld 408576698