Refactored TestExpectations out of Telemetry and into content/test/gpu.
(Re-land #2 with fixes for handling crashed renderers and other bug fixes)
(Original CL: https://codereview.chromium.org/
1224233005/ )
(Re-land #1: https://codereview.chromium.org/
1231863008/ )
The GPU tests are the primary user of Telemetry's TestExpectations,
and it turns out they can be implemented entirely in the code using
Telemetry, rather than Telemetry itself. For this reason, move them
into content/test/gpu.
Refactored the GPU tests to all derive from a common set of base
classes implementing support for test expectations. Verified that
skipping tests, expected failures, and flaky test handling all work.
More tests of test expectations are needed, and will be added in later
CLs; this one is too large already, but can't be broken up further.
Fixed up two WebGL perf tests that were relying on test expectations
to skip the pages on specific GPUs, and added a hook to Telemetry's
browser_info to enable this.
This CL loses one valuable test,
testHandlingOfCrashedTabWithExpectedFailure, from
page_run_end_to_end_unittest.py. It will be reintroduced in a later CL.
A subsequent CL will redesign TestExpectations. This CL is intended to
be a refactoring with no behavioral changes.
Ran telemetry_unittests, telemetry_gpu_unittests,
telemetry_perf_unittests, and all GPU tests locally to verify.
BUG=495870
CQ_EXTRA_TRYBOTS=tryserver.chromium.perf:linux_perf_bisect;tryserver.chromium.perf:mac_perf_bisect;tryserver.chromium.perf:win_perf_bisect
TBR=bajones@chromium.org,nednguyen@google.com,dtu@chromium.org,zmo@chromium.org
Review URL: https://codereview.chromium.org/
1233133003
Cr-Commit-Position: refs/heads/master@{#339069}