commit | d1f9ed886de3930f68a8b042fda843ca214eac96 | [log] [tgz] |
---|---|---|
author | Adrienne Walker <enne@chromium.org> | Tue Aug 21 03:00:57 2018 |
committer | Commit Bot <commit-bot@chromium.org> | Tue Aug 21 03:00:57 2018 |
tree | 075a7bdc15e64c3bdd2d6ada4b3101e0ce02e6f5 | |
parent | 429c5dcef93750aae315c80cdbfaea74d43c965c [diff] |
cc: Split up blending tests to avoid timeouts The current tests time out quite a bit when using swiftshader. I suspect that this is due to shader compilation on a per-blend mode basis, as reducing pixels rastered did not seem to make any difference. The goal here is to reduce the maximum length of any one test so that fewer tests time out and these tests keep causing flakiness and getting disabled. This test breaks up each individual blend mode test into parameterizing by blend mode and rastering what used to be a single column in a larger image into its own image. Instead of saving out a million data pngs, instead this modifies the test framework to use expected pngs as well. This assumes that Skia's blend modes work properly and verifies that software and gl renderer match the output of those blend modes on an SkCanvas. In terms of total time of the test, splitting each test up into 16 different tests on Linux debug for me has each individual test completing in 1/4 of the time of the original (1/4x * 16 = 4x increase overall). However, when running the entire test suite in parallel, this patch speeds up running cc_unittests from ~70s to ~60s overall. So, I think this is overall a win, both in terms of individual and total test time. Bug: 870326,872733 Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;master.tryserver.blink:linux_trusty_blink_rel Change-Id: I4791a0a2369f9f17af7bb2a6ba95d7f29dee8b42 Reviewed-on: https://chromium-review.googlesource.com/1180570 Reviewed-by: weiliangc <weiliangc@chromium.org> Commit-Queue: enne <enne@chromium.org> Cr-Commit-Position: refs/heads/master@{#584616}
Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.
The project's web site is https://www.chromium.org.
Documentation in the source is rooted in docs/README.md.
Learn how to Get Around the Chromium Source Code Directory Structure .