Run webgl_conformance_integration_test on Android via swarming?

4 views
Skip to first unread message

Colin Blundell

unread,
Jul 26, 2022, 2:45:01 PM7/26/22
to infra-dev, Graphics-dev
Hi infra-dev@ and graphics-dev@,

I would like to run this test from the webgl_conformance_integration_test suite in the same configuration via swarming. It's not obvious to me what the proper incantation should be (my apologies if I missed it here). Can anyone advise?

Thank you,

Colin

Sunny Sachanandani

unread,
Jul 26, 2022, 3:07:31 PM7/26/22
to Colin Blundell, infra-dev, Graphics-dev
Here are some steps I followed recently but for running the webgpu conformance tests on Windows:

$ vpython3 tools/mb/mb.py isolate out/Release telemetry_gpu_integration_test

$ tools\luci-go\isolate archive -cas-instance chromium-swarm -i out\Release\telemetry_gpu_integration_test.isolate

(this outputs a digest hash that you specify via -digest to the next command)

$ tools\luci-go\swarming trigger -S https://chromium-swarm.appspot.com -dimension pool="chromium.tests.gpu" -dimension os="Windows-10-18363" -dimension cpu="x86-64" -dimension gpu="10de:2184-27.21.14.5638" -digest  1fcb46d987e71caed70dcbf09d21b0d2503c9c7aeff918196978754405e9ef62/734 -- vpython3 testing\test_env.py testing\scripts\run_gpu_integration_test_as_googletest.py  content\test\gpu\run_gpu_integration_test.py --isolated-script-test-output=${ISOLATED_OUTDIR}/output.json webgpu_cts --browser=release --passthrough -v --show-stdout --extra-browser-args="--enable-logging=stderr --js-flags=--expose-gc --force_high_performance_gpu --no-sandbox" --test-filter "webgpu:api,validation,queue,copyToTexture,CopyExternalImageToTexture:source_image,crossOrigin:sourceImage=\"canvas\";isOriginClean=true"

The important point is that you can't use mb.py or run-swarmed.py since they only work for simple gtest harnesses, and you need to specify "--isolated-script-test-output=${ISOLATED_OUTDIR}/output.json" so test artifacts are uploaded to cloud storage.

Colin Blundell

unread,
Jul 27, 2022, 9:54:33 AM7/27/22
to Sunny Sachanandani, Colin Blundell, infra-dev, Graphics-dev
Thanks, Sunny! I will try this out. Fingers crossed that s/Windows/Android isn't too problematic :).

Best,

Colin

On Tue, Jul 26, 2022 at 9:07 PM Sunny Sachanandani <sun...@chromium.org> wrote:
Here are some steps I followed recently but for running the webgpu conformance tests on Windows:

$ vpython3 tools/mb/mb.py isolate out/Release telemetry_gpu_integration_test

$ tools\luci-go\isolate archive -cas-instance chromium-swarm -i out\Release\telemetry_gpu_integration_test.isolate

(this outputs a digest hash that you specify via -digest to the next command)

$ tools\luci-go\swarming trigger -S https://chromium-swarm.appspot.com -dimension pool="chromium.tests.gpu" -dimension os="Windows-10-18363" -dimension cpu="x86-64" -dimension gpu="10de:2184-27.21.14.5638" -digest  1fcb46d987e71caed70dcbf09d21b0d2503c9c7aeff918196978754405e9ef62/734 -- vpython3 testing\test_env.py testing\scripts\run_gpu_integration_test_as_googletest.py  content\test\gpu\run_gpu_integration_test.py --isolated-script-test-output=${ISOLATED_OUTDIR}/output.json webgpu_cts --browser=release --passthrough -v --show-stdout --extra-browser-args="--enable-logging=stderr --js-flags=--expose-gc --force_high_performance_gpu --no-sandbox" --test-filter "webgpu:api,validation,queue,copyToTexture,CopyExternalImageToTexture:source_image,crossOrigin:sourceImage=\"canvas\";isOriginClean=true"

The important point is that you can't use mb.py or run-swarmed.py since they only work for simple gtest harnesses, and you need to specify "--isolated-script-test-output=${ISOLATED_OUTDIR}/output.json" so test artifacts are uploaded to cloud storage.

The first part of this sentence is exactly what was giving me pause about how to use mb.py/run-swarmed.py here :). I'm grateful that you did the deep dive here and preserved the info of how you did it!
Reply all
Reply to author
Forward
0 new messages