New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 843581 link

Starred by 4 users

Issue metadata

Status: Available
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug



Sign in to add a comment

Code Coverage Test Suite: add GPU tests

Project Member Reported by mmoroz@chromium.org, May 16 2018

Issue description

Cc: zmo@chromium.org
Owner: kbr@chromium.org
Status: Assigned (was: Available)
+cc GPU folks, any test you want to add other than gpu_unittests in https://cs.chromium.org/chromium/src/tools/code_coverage/test_suite.txt. This will then automatically show up on https://chromium-coverage.appspot.com/

Comment 2 by kbr@chromium.org, May 16 2018

Cc: kbr@chromium.org vmi...@chromium.org
Owner: infe...@chromium.org
Could you please explain the environment in which these tests run on the bots?

It's my understanding that they run in a VM, which is a different environment than running on a local Linux workstation (no real graphics stack, for example).

How can we tell that adding test suites to this list won't break things?

Assigning back for more details.

Cc: infe...@chromium.org
Owner: kbr@chromium.org
Environment is GCE vm (ubuntu 16.04) and yes it wont have actual gpus. But can the tests use software swiftshader ?

To ensure it does not break things, you verify locally first. see help on coverage.py
e.g.
python tools/code_coverage/coverage.py crypto_unittests -b out/coverage -o out/report -c 'out/coverage/crypto_unittests'

Labels: -Pri-1 Pri-3
Would be happy to help with this, but think it's not as high priority. Lowering. Feel free to assign to me if you agree it's not pri-1.
Owner: jmad...@chromium.org
Sounds good. Not high priority, but good to do it some time. feels more pri-2 to me.
Labels: -Pri-3 Pri-2
OK, thanks.
Running on SwiftShader is a reasonable long term plan but won't help ANGLE until we have SwiftShader integration. We could conceivably run angle_end2end_tests on D3D11/WARP without too much effort.

Comment 8 by kbr@chromium.org, May 16 2018

Components: Tests>Telemetry Internals>GPU>SwiftShader
jmadill@: the code coverage setup only works on Linux right now, so it wouldn't be possible to test the D3D backend.

mmoroz@: do you have a list of test targets you have in mind to run? Can per-test-suite command line arguments be added? That would be needed in order to specify --use-gl=swiftshader for some or many of the harnesses.

Well, I was hoping we could add angle_end2end_tests, but it looks like this might be more complicated than the Chromium GPU tests. Maybe it would make sense to file a separate issue for that.
kbr@, I don't have any targets in mind, this issue has started from jmadill@'s email to chrome-code-coverage@. I've just moved the discussion to the bug tracker :)

It's up to you to decide which tests you'd like to see on the aggregated code coverage dashboard (https://chromium-coverage.appspot.com/). I'm not an expert in that area.

As for the interface for running the tests, currently we have two options:

1) If GN target has the same name as the binary executable produced, and it doesn't require special args, just add it to https://cs.chromium.org/chromium/src/tools/code_coverage/test_suite.txt

2) If test target requires some special handling, follow the instructions in https://bugs.chromium.org/p/chromium/issues/detail?id=843185#c7


If you only need to add some arguments to specific targets, option 2) would be an overkill. We can think of something more universal, e.g. add an option to specify arguments in the test suite file. Let us know if that would work for you.


Comment 11 by kbr@chromium.org, May 17 2018

Thanks mmoroz@ for the detailed info.

Jamie: I guess without SwiftShader integrated into ANGLE it'll be difficult to get angle_end2end_tests running.

Looking through the test suites in https://chromium.googlesource.com/chromium/src/+/master/content/test/gpu/generate_buildbot_json.py , the main test suites that could run with code coverage enabled (which aren't already in https://cs.chromium.org/chromium/src/tools/code_coverage/test_suite.txt ) would be the Telemetry-based GPU tests, run in the browser with --use-gl=swiftshader .

Jamie, is this something that you would be interested in hooking up, or should we find someone else to do it? The best way would be to add a script which runs them per https://bugs.chromium.org/p/chromium/issues/detail?id=843185#c7 .

mmoroz@ note that some of these test suites take a very long time to run (hours) so probably we would not incorporate those.

Owner: kbr@chromium.org
Ken: I was thinking more for ANGLE's testing specifically. It sounds like this might be a ways off due to multiple blockers so assigning this back to you.

Comment 13 by kbr@chromium.org, May 18 2018

Cc: kainino@chromium.org jdarpinian@chromium.org
Summary: Code Coverage Test Suite: add GPU tests (was: Test Suite: add GPU tests)
Nice! Though are you planning to enable code coverage on all the configs or just a few special configs? 

I worry that enable the code coverage may make the browser integration test a bit less realistic.

Comment 15 by kbr@chromium.org, Jun 25 2018

Owner: ----
Status: Available (was: Assigned)
We'll need a volunteer from the GPU team to help pick this up; I can't take this on personally.

Comment 16 by benhenry@google.com, Jan 16 (6 days ago)

Components: Test>Telemetry

Comment 17 by benhenry@google.com, Jan 16 (6 days ago)

Components: -Tests>Telemetry

Sign in to add a comment