--
--
Chromium Developers mailing list: chromi...@chromium.org
View archives, change email options, or unsubscribe:
http://groups.google.com/a/chromium.org/group/chromium-dev
On Nov 11, 2013 9:52 PM, "Paweł Hajdan, Jr." <phajd...@chromium.org> wrote:
>
> The bots are now running with --brave-new-test-launcher, the new C++ test launcher that is intended to be more solid and provide more detailed report from each test run that can be analyzed later. It is also faster by running tests in parallel.
>
> This is not really new - an initial PSA has been sent two months ago: https://groups.google.com/a/chromium.org/d/msg/chromium-dev/jej3uEF1WJ4/Hp1E6BAmWq4J
>
> I appreciate your feedback and I've strived to apply it best I could so far. If I missed something, please file a bug assigned directly to me so it doesn't get lost, and it's also OK to ping me randomly for any questions you might have. You can also send me an e-mail or just reply to this thread.
>
> I'd like to highlight some command-line switches that may be very useful to you:
>
> --test-launcher-developer-mode: enable this if you're debugging a failing test locally; it disables test retries and output buffering
Feels this should be default and the bots should instead specify a flag to disable developer mode.
In general I think it's better to have a more complex config for the bots when it avoids requiring developers to remember specific flags required for debugging.
Cheers!
Gab
>
> --test-launcher-jobs: controls number of parallel jobs; use --test-launcher-jobs=1 for serial execution
>
> --test-launcher-print-test-stdio: can take "auto" (default), "always", or "never" values. By default the launcher prints test output snippet only on failures. "always" makes it print the snippet always and so on.
>
> Note that I'm open to ideas and CLs to change these options or add new ones. I'll try to keep the number of knobs reasonable, and will challenge the change ideas to provide convincing rationale and data as needed. Still, this is a launcher done by a developer, for developers. I'd like it to be helpful and useful, so please keep the feedback coming.
>
> I also think we're getting ready to enable it by default (as opposed to having it behind a flag; bots are running it now anyway). Please do your tests, see how it works, and let me know what you think.
>
> Finally, if your test doesn't react to --brave-new-test-launcher, please file a bug for me. I can convert test targets for you, it's easy, it's mostly about enumerating ones that still need it. Help obviously welcome.
>
> Paweł
>
--
To clear up possible confusion: you're most likely running cc_unittests. This is https://code.google.com/p/chromium/issues/detail?id=299200 . Please let me know if any other test targets are affected.
Due to some internal waterfalls weirdness this was delayed (that was the only issue, and it couldn't be predicted beforehand without duplicating all of the waterfalls, which is obviously not feasible).New defaults are enabled now: when you use --brave-new-test-launcher it defaults to developer mode unless --test-launcher-bot-mode is present.
Please let me know if you'd like to see further adjustments, I'm quite open to that. I'd like to make --brave-new-test-launcher itself default ~next week (there'll still be option to use plain gtest just in case).
Can --test-launcher-bot-mode be shortened to something more like --quiet --parallel? I'd rather have more simple flags than one complex flag, as they're easier to understand (within reason, of course).
On Wed, Nov 27, 2013 at 2:33 PM, Ilya Sherman <ishe...@chromium.org> wrote:
Can --test-launcher-bot-mode be shortened to something more like --quiet --parallel? I'd rather have more simple flags than one complex flag, as they're easier to understand (within reason, of course).This is easy to respond to. I don't think that'd be a good idea.Changing these flags build-system side first requires updating multiple places, and depending on the exact place may either require a master restart, would be impossible to test using trybots, or both.Furthermore, it's not always --parallel since interactive_ui_tests run in serial mode (single job). It's not only --quiet but also enables test retries. Next step is likely uploading the JSON summaries to Google Storage so they can be analyzed with Big Query. Should each of these be a flag, with all the costs and ambiguities?
The main idea behind it is we'd configure the bot environment to pass that flag once. The interpretation of that lives in src, which can be tested via trybots, can be branched, and has working blamelists.To give some graphic example of why changing flags buildbot-side is a bad idea: it introduced this weird 2-week delay in landing an otherwise very simple change. It made other changes unnecessarily risky and hard to test, because the test would require duplicating all waterfalls, which we can't do.
I think I see the reasons behind the question, and I agree about understandability. More specific suggestions taking the above into account are welcome. One possible idea would be to make sure --test-launcher-bot-mode can be expressed as a set of other existing flags and make the test launcher print these flags.
--
Runs tests using the gtest framework, each batch of tests being
run in their own process. Supported command-line flags:
Common flags:
--gtest_filter=...
Runs a subset of tests (see --gtest_help for more info).
--help
Shows this message.
--gtest_help
Shows the gtest help message.
--test-launcher-jobs=N
Sets the number of parallel test jobs to N.
--single-process-tests
Runs the tests and the launcher in the same process. Useful
for debugging a specific test in a debugger.
Other flags:
--test-launcher-batch-limit=N
Sets the limit of test batch to run in a single process to N.
--test-launcher-retry-limit=N
Sets the limit of test retries on failures to N.
--test-launcher-summary-output=PATH
Saves a JSON machine-readable summary of the run.
--test-launcher-print-test-stdio=auto|always|never
Controls when full test output is printed.
auto means to print it when the test failed.
--test-launcher-total-shards=N
Sets the total number of shards to N.
--test-launcher-shard-index=N
Sets the shard index to run to N (from 0 to TOTAL - 1).
I noticed that browser_tests now show a black screen when running tests, for example:out/Release/browser_tests --gtest_filter=MSE_ClearKey/EncryptedMediaTest.Playback_VideoOnly_WebM/0
Does anyone know if that's controlled by the new test launcher flags or related to something else?