--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
Also somewhat related is http://crbug.com/537764 wherein we plan to auto-generate what's needed for RuntimeEnabledFeatures to have test-available JS setters. Today this has to be done manually on a per feature basis if you want to write tests that fiddle REFs one way or another (or, use a virtual suite). I think this is worth doing (and it was output of discussion with ojan@), but it is only in-addition-to what you're proposing.
For virtual test suites I understand there are performance ramifications as they don't/didn't shard as effectively. Would that be an issue here at all?
Interesting! During SlimmingPaint v1 run-up to launch wangxianzhu@ manually created and maintained a set of one-off scripts and patches to track things on an ongoing basis similarly to what this is aimed at. I think your proposal could have made this easier.
For new flags that are still in development, it's useful to have a record of which layout tests pass with the flag enabled. Virtual test suites are one way to do this, but they don't scale to flags that make deep architectural changes that potentially impact all of the tests.In http://crrev.com/1469433002 I'm proposing "flag-specific test expectations" which are used by run-webkit-tests when additional flags are passed.
Have you thought much about how you imagine people using this feature, how bot coverage would work, etc.?
We'll probably need to do a little more leg work to figure out how to make the other tools play nicely with this without requiring additional bots to be set up (like we had to do w/ oilpan, which is a compile-time flag instead of a runtime flag).
On Tue, Nov 24, 2015 at 7:28 PM, Dirk Pranke <dpr...@chromium.org> wrote:Have you thought much about how you imagine people using this feature, how bot coverage would work, etc.?I am using it for --root-layer-scrolling, and I imagine other people developing behind flags may find it similarly useful. For example, I am working on a fix for scrollbar placement in RTL documents. Using flag-specific expectations I was able to discover that(1) there is an existing test which is fixed by the patch (compositing/rtl/rtl-overflow-invalidation.html), which saves me the trouble of writing a new one(2) there are a handful of tests which are broken by the patch, which I need to investigateWithout flag-specific expectations, it would be much more work to discover these diffs since they would be lost in the noise of expected failures. Plus the patch can modify FlagExpectations/root-layer-scrolls to indicate test coverage instead of using the change description.
We'll probably need to do a little more leg work to figure out how to make the other tools play nicely with this without requiring additional bots to be set up (like we had to do w/ oilpan, which is a compile-time flag instead of a runtime flag).Just to be clear, this does not give us fully automated continuous testing of unlaunched flags without dedicated bots... I don't know of a good way to do that (but if anyone has ideas please chime in).
If we wanted to have feature-specific baselines, we could extend the patch to look in additional directories much like the way --additional-platform-directory works
Of course, if each flag really needed to run all of the tests, that would create a lot of load and increase cycle time significantly, so I wouldn't want to add this lightly, at least not before we at least had swarming support so we could run steps in parallel.
We should probably document this. Maybe add a section to https://www.chromium.org/developers/testing/webkit-layout-tests#TOC-Virtual-Test-Suites explaining how these work and when to use this option vs. when to use a VirtualTestSuites? I agree that it's mostly just a question of number of tests.