Add docs on using "mb.py zip" to move tests between machines.
This will help some partners set up their in-house testing. Tbr: dpranke@chromium.org Tbr: zmo@chromium.org Bug: None Change-Id: I90778b52ed03a3dcef85e13423d9bfe762e8adc2 Reviewed-on: https://chromium-review.googlesource.com/1116278 Reviewed-by: Kenneth Russell <kbr@chromium.org> Cr-Commit-Position: refs/heads/master@{#570633}
This commit is contained in:
@ -110,16 +110,13 @@ Sends your job to the default set of try servers.
|
||||
The GPU tests are part of the default set for Chromium CLs, and are run as part
|
||||
of the following tryservers' jobs:
|
||||
|
||||
* [linux_chromium_rel_ng] on the [tryserver.chromium.linux] waterfall
|
||||
* [mac_chromium_rel_ng] on the [tryserver.chromium.mac] waterfall
|
||||
* [win_chromium_rel_ng] on the [tryserver.chromium.win] waterfall
|
||||
* [linux_chromium_rel_ng], formerly on the `tryserver.chromium.linux` waterfall
|
||||
* [mac_chromium_rel_ng], formerly on the `tryserver.chromium.mac` waterfall
|
||||
* [win_chromium_rel_ng], formerly on the `tryserver.chromium.win` waterfall
|
||||
|
||||
[linux_chromium_rel_ng]: http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_rel_ng?numbuilds=100
|
||||
[mac_chromium_rel_ng]: http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_rel_ng?numbuilds=100
|
||||
[win_chromium_rel_ng]: http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_rel_ng?numbuilds=100
|
||||
[tryserver.chromium.linux]: http://build.chromium.org/p/tryserver.chromium.linux/waterfall?numbuilds=100
|
||||
[tryserver.chromium.mac]: http://build.chromium.org/p/tryserver.chromium.mac/waterfall?numbuilds=100
|
||||
[tryserver.chromium.win]: http://build.chromium.org/p/tryserver.chromium.win/waterfall?numbuilds=100
|
||||
[linux_chromium_rel_ng]: https://ci.chromium.org/p/chromium/builders/luci.chromium.try/linux_chromium_rel_ng?limit=100
|
||||
[mac_chromium_rel_ng]: https://ci.chromium.org/p/chromium/builders/luci.chromium.try/mac_chromium_rel_ng?limit=100
|
||||
[win7_chromium_rel_ng]: https://ci.chromium.org/p/chromium/builders/luci.chromium.try/win7_chromium_rel_ng?limit=100
|
||||
|
||||
Scan down through the steps looking for the text "GPU"; that identifies those
|
||||
tests run on the GPU bots. For each test the "trigger" step can be ignored; the
|
||||
@ -132,7 +129,7 @@ tryserver master you want to reference, for example:
|
||||
```sh
|
||||
git cl try -b linux_chromium_rel_ng
|
||||
git cl try -b mac_chromium_rel_ng
|
||||
git cl try -b win_chromium_rel_ng
|
||||
git cl try -b win7_chromium_rel_ng
|
||||
```
|
||||
|
||||
Alternatively, the Gerrit UI can be used to send a patch set to these try
|
||||
@ -150,6 +147,7 @@ tryservers for code changes to certain sub-directories.
|
||||
[linux_optional_gpu_tests_rel]: https://ci.chromium.org/p/chromium/builders/luci.chromium.try/linux_optional_gpu_tests_rel
|
||||
[mac_optional_gpu_tests_rel]: https://ci.chromium.org/p/chromium/builders/luci.chromium.try/mac_optional_gpu_tests_rel
|
||||
[win_optional_gpu_tests_rel]: https://ci.chromium.org/p/chromium/builders/luci.chromium.try/win_optional_gpu_tests_rel
|
||||
[luci.chromium.try]: https://ci.chromium.org/p/chromium/g/luci.chromium.try/builders
|
||||
|
||||
Tryservers for the [ANGLE project] are also present on the
|
||||
[tryserver.chromium.angle] waterfall. These are invoked from the Gerrit user
|
||||
@ -358,6 +356,42 @@ See the [Swarming documentation] for instructions on how to upload your binaries
|
||||
|
||||
[Swarming documentation]: https://www.chromium.org/developers/testing/isolated-testing/for-swes#TOC-Run-a-test-built-locally-on-Swarming
|
||||
|
||||
## Moving Test Binaries from Machine to Machine
|
||||
|
||||
To create a zip archive of your personal Chromium build plus all of
|
||||
the Telemetry-based GPU tests' dependencies, which you can then move
|
||||
to another machine for testing:
|
||||
|
||||
1. Build Chrome (into `out/Release` in this example).
|
||||
1. `python tools/mb/mb.py zip out/Release/ telemetry_gpu_integration_test out/telemetry_gpu_integration_test.zip`
|
||||
|
||||
Then copy telemetry_gpu_integration_test.zip to another machine. Unzip
|
||||
it, and cd into the resulting directory. Invoke
|
||||
`content/test/gpu/run_gpu_integration_test.py` as above.
|
||||
|
||||
This workflow has been tested successfully on Windows with a
|
||||
statically-linked Release build of Chrome.
|
||||
|
||||
Note: on one macOS machine, this command failed because of a broken
|
||||
`strip-json-comments` symlink in
|
||||
`src/third_party/catapult/common/node_runner/node_runner/node_modules/.bin`. Deleting
|
||||
that symlink allowed it to proceed.
|
||||
|
||||
Note also: on the same macOS machine, with a component build, this
|
||||
command failed to zip up a working Chromium binary. The browser failed
|
||||
to start with the following error:
|
||||
|
||||
`[0626/180440.571670:FATAL:chrome_main_delegate.cc(1057)] Check failed: service_manifest_data_pack_.`
|
||||
|
||||
In a pinch, this command could be used to bundle up everything, but
|
||||
the "out" directory could be deleted from the resulting zip archive,
|
||||
and the Chromium binaries moved over to the target machine. Then the
|
||||
command line arguments `--browser=exact --browser-executable=[path]`
|
||||
can be used to launch that specific browser.
|
||||
|
||||
See the [user guide for mb](../../tools/mb/docs/user_guide.md#mb-zip), the
|
||||
meta-build system, for more details.
|
||||
|
||||
## Adding New Tests to the GPU Bots
|
||||
|
||||
The goal of the GPU bots is to avoid regressions in Chrome's rendering stack.
|
||||
|
Reference in New Issue
Block a user