
Added some flags to the docs on adding filtering, specifying images, and specifying shard indices as well for better local failure reproducibility. Change-Id: I20294f371fb962cb82dec2351aceae4caf673094 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3997411 Commit-Queue: Rohan Pavone <rohpavone@chromium.org> Reviewed-by: Chong Gu <chonggu@google.com> Cr-Commit-Position: refs/heads/main@{#1071201}
2.6 KiB
Running GPU integration tests on Fuchsia
[TOC]
General instruction on running and debugging GPU integration tests can be found here.
Fuchsia uses either web_engine_shell
or the Chrome browser to run GPU integration tests. For the sake of this
example, we will be using web_engine_shell
as the target browser and
gpu_process
as the test suite we wish to execute. Build the target
telemetry_gpu_integration_test_fuchsia
and run the appropriate commands:
Hermetic emulation
The test script brings up an emulator, runs the tests on it, and shuts the emulator down when finished.
$ content/test/gpu/run_gpu_integration_test_fuchsia.py gpu_process
--browser=web-engine-shell --out-dir=/path/to/outdir
Additional flags
You can specify the following flags to help replicate failure cases:
--test-filter=<regex of test cases>
: Use this to filter test cases--total-shards=<num shards>
: Specify total number of shards to split tests over. You would use this to replicate sharding on a bot.--shard-index=<shard index>
: Specify shard index for splitting up the given tests.
Run on an physical device
If ffx has already been set up to use the target device by default, or if there is only one discoverable device on the host:
$ content/test/gpu/run_gpu_integration_test_fuchsia.py gpu_process
--browser=web-engine-shell --out-dir=/path/to/outdir -d
Otherwise, specify the id of the target device:
$ content/test/gpu/run_gpu_integration_test_fuchsia.py gpu_process
--browser=web-engine-shell --out-dir=/path/to/outdir --target-id=[TARGET_ID]
### Updating OS flag
You can update the OS of a device by specifying the path to an image and how
to check the OS:
```bash
$ content/test/gpu/run_gpu_integration_test_fuchsia.py gpu_process
--browser=web-engine-shell --out-dir=/path/to/outdir -d --os-check=check
--system-image-dir=path/to/dir/containing/image
Run on a device that needs packages built from Fuchsia source
$ content/test/gpu/run_gpu_integration_test_fuchsia.py gpu_process
--browser=web-engine-shell --out-dir=/path/to/outdir -d
--repo=/path/to/fuchsia/outdir --no-repo-init
Note that fx serve
should not be running, since the script
handles launching the package server from the Fuchsia output directory.
Run on a device the host is connected to remotely via ssh
$ content/test/gpu/run_gpu_integration_test_fuchsia.py gpu_process
--browser=web-engine-shell --out-dir=/path/to/outdir --target-id=[::1]:8022
Note the this requires a remote tunnel to have been set up first.