0

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:
Kenneth Russell
2018-06-27 02:08:42 +00:00
parent 3f38afc82b
commit 42732959dc

@ -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.