Thanks, Dirk! Appreciate you digging into this.On 18 October 2017 at 05:21, Ryan Hamilton <r...@chromium.org> wrote:On Tue, Oct 17, 2017 at 1:22 PM, Dirk Pranke <dpr...@chromium.org> wrote:On Tue, Oct 17, 2017 at 9:37 AM, Dirk Pranke <dpr...@chromium.org> wrote:You can do this, but it is convoluted and we should (and can) make it a lot easier.Let's say you wanted to run ExtensionWebRequestApiTest.WebRequestUnloadImmediately for renderer_side_navigation_browser_tests, which is currently failing on the "Linux Tests" bot on the chromium.linux waterfall:First, you need to figure out which trybot to use. The trybots are mostly configured to "mirror" waterfall bots, and that mapping is listed in trybots.py:Searching for "Linux Tests" in that file, you'll see it maps to linux_chromium_rel_ng.Second, the list of tests that are run are configured via the //testing/buildbot/*.json files in the src repo. There is one file per master, and you want the chromium.linux.json file.Search in that file for the "Linux Tests" bot:and then scroll down to find the "renderer_side_navigation_browser_tests" entry:You need to modify that entry, and add argument to run just that file: `--gtest_filter=ExtensionWebRequestApiTest.WebRequestUnloadImmediately`.and add that as an entry to the "args" value, right above it. If you wanted to run a list files, you can also use a "filter file"; there's a convenient example of that right below the lines in that file.You're now almost there. There's one last step, because the way the "analyze" step on the trybots is implemented, it doesn't know how to deal with changes to the //testing/buildbot/*.json files, so it gives up and reruns all of the tests. So, your single browser test will be run, but so will all of the other test steps. In order to get around that, you need to remove the json files from the analyze whitelist:Wrap all that up and you get the following CL:https://crrev.com/c/723721You can then trigger the try job you want via the UI, or, if you're on the branch that you uploaded that CL from:`git cl try -m master.tryserver.chromium.linux -b linux_chromium_rel_ng`.
Which I've just done, so we can see if I got all this right or not :).
And ... I didn't :).There were two more steps. First, because analyze was still enabled, my CL didn't actually modify any source files, and so at first nothing was run. You can make a dummy source change to force something to happen, or you can leave the whitelist entry in (to bypass analyze).Second, when you do modify files, it re-runs not only that test, but any other test that might be affected; in my case, that re-ran three other variants of the test.To avoid that, you can modify the *.json entry to remove all of the other test steps.I'll upload all of this to something in //docs for future reference.-- DirkI have wanted to do this a million times but didn't know how. Thanks for writing this up!! I can't wait to see it in //docs!
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/chromium-dev/CAATLsPa2Rn2LqxP7q3oZ%3Drnxbb8p0RPHm1KtoxPuP%3DJCpb8bGQ%40mail.gmail.com.--
--
Chromium Developers mailing list: chromi...@chromium.org
View archives, change email options, or unsubscribe:
http://groups.google.com/a/chromium.org/group/chromium-dev
---
You received this message because you are subscribed to the Google Groups "Chromium-dev" group.
Related to this, I recently added a script in tools/fuchsia/run-swarmed.py that's a wrapper around swarming. I've been using it to work on deflaking tests (unfortunately running this way still requires @google.com credentials when running directly rather than through the tryserver). Running directly on swarming like this is much quicker and resource-efficient than doing the same thing with tryjobs.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/chromium-dev/CANHK6RaFO%2B0AxGq0dR%2B%3DG_i3JfvHJAfSB9KmnVUNoHO%2BGsnCUA%40mail.gmail.com.
swarming.py <args-to-swarming> -- --args-to-target-process-like--gtest_filter
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/infra-dev/CANHK6RYk-i6K4oeXBbF3xsbEYmjWKDxU06bL_78FvUQwjpC01g%40mail.gmail.com.You received this message because you are subscribed to the Google Groups "infra-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to infra-dev+unsubscribe@chromium.org.
To post to this group, send email to infr...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/infra-dev/CAPSmAARKKZ_byowpg9zcUzR9F8AHWKUD_3m82e922RN06QP2xg%40mail.gmail.com.