kc3-lang/angle/doc/TestingOnBots.md

Branch

Download

Testing on bots

Sometimes a failure happens consistently (or flakily) on bots but is difficult to reproduce locally due to a different platform, driver version, etc. The same build can be triggered on a matching bot with additional arguments using the following steps. Triggering swarming tasks from a local build can also sometimes be useful (see scripts/trigger.py).

Navigate to the shard

Test shard failure

Note the task dimensions as well as the “CAS inputs” identifier

Swarming task info

Find additional args required to repro

The failure may or may not repro in isolation. Usually the test log will contain --gtest_filter= with the batch that was used when the failure occurred:

Test batch failure

Triggering a swarming task

You can trigger swarming tasks directly using tools/luci-go/swarming trigger from an ANGLE checkout.

ACLs: ANGLE realm (e.g. angle:try) is guarded by https://chrome-infra-auth.appspot.com/auth/groups/project-angle-owners. If that shows PermissionDenied, you could also try chromium:try.

For example, trigger that reproduced the failure in the example above - filter had to include the failing test and the test that ran right before it:

% tools/luci-go/swarming trigger \
  -digest=e11fb5a14596dce84e86a4776d65c5da26acda8e5b04257988cf2fa8ac4c5630/399 \
  -realm angle:try \
  -priority=20 \
  -server=https://chromium-swarm.appspot.com \
  -d os=Windows-10 \
  -d pool=chromium.tests.gpu \
  -d cpu=x86-64 \
  -d gpu=8086:9bc5-31.0.101.2127 \
  -service-account=chromium-tester@chops-service-accounts.iam.gserviceaccount.com \
  -env=ISOLATED_OUTDIR=\${ISOLATED_OUTDIR} \
  -relative-cwd=out/Release_x64 \
  -- vpython3 ../../testing/test_env.py \
  ./angle_end2end_tests.exe \
  --isolated-script-test-output=\${ISOLATED_OUTDIR}/output.json \
  --gtest_filter=EGLDisplayTest.InitializeMultipleTimesInDifferentThreads/ES2_D3D11_NoFixture:EGLPresentPathD3D11.ClientBufferPresentPathFast/ES2_D3D11_NoFixture

Additional notes:


Source

Download