GN: Android perf/tests
authormtklein <mtklein@chromium.org>
Mon, 12 Sep 2016 19:24:38 +0000 (12:24 -0700)
committerCommit bot <commit-bot@chromium.org>
Mon, 12 Sep 2016 19:24:38 +0000 (12:24 -0700)
commitdf5df81084a9b8652e6ed0987c2454c62d787188
treedb8d534132f7afe5f37358e25be117cdf43061ca
parent5a7ae7e337a68dc42723fce80752c93b7d26d469
GN: Android perf/tests

Just to take inventory of which old problems still linger and which are now moot, I've gone out of my way to have this stand alone.  All of gn_android_flavor's logic is self contained, without any dependency on the platform_tools scripts.

The tricky bits turn out to be, copying directories containing symlinks---or really any copying involving more than one file---and getting the exit code back from adb shell.  Luckily the ADB I've got on my desktop and my Nexus 5x seems to handle this all without the awkward workarounds you see here, so there's hope that One Day Soon the weird parts (basically, anything with inline python) can go away.  Once we've got these bots landed green, I'll go see whether the fixes are due to ADB updates, Android updates, or perhaps something else like hardware.

The parts marked TEMPORARY are a nod to the fact that the devices are used by gn_android_flavor and android_flavor both today.  It's mostly about not stepping on each other's toes or leaving anything laying around that might confuse each other.  The marked parts can go away when bots are either gn_ or non-gn_ but not both.

I have omitted a few steps that may be important, but which are easy independent follow-ups:
  - running as root
  - locking clocks
  - waiting on battery levels
  - fancier wait-for-ready than adb wait-for-usb-device
It'd be nice to, e.g., reaffirm that locking clocks helps perf stability, and that we're locking to the best policy.  I've tried to keep this CL as trim as possible, leaving any of these vaguely optional steps for later.

As of PS 41 or so, it looks like the trybots are all behaving as expected.
We should expect no new images in Gold.  Can we see trybots in Perf yet?

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2320153002

CQ_INCLUDE_TRYBOTS=master.client.skia.android:Perf-Android-Clang-AndroidOne-CPU-MT6582-arm-Debug-GN_Android-Trybot,Perf-Android-Clang-AndroidOne-CPU-MT6582-arm-Release-GN_Android-Trybot,Perf-Android-Clang-AndroidOne-GPU-Mali400MP2-arm-Debug-GN_Android-Trybot,Perf-Android-Clang-AndroidOne-GPU-Mali400MP2-arm-Release-GN_Android-Trybot,Test-Android-Clang-AndroidOne-CPU-MT6582-arm-Debug-GN_Android-Trybot,Test-Android-Clang-AndroidOne-CPU-MT6582-arm-Release-GN_Android-Trybot,Test-Android-Clang-AndroidOne-GPU-Mali400MP2-arm-Debug-GN_Android-Trybot,Test-Android-Clang-AndroidOne-GPU-Mali400MP2-arm-Release-GN_Android-Trybot

Review-Url: https://codereview.chromium.org/2320153002
infra/bots/recipe_modules/flavor/gn_android_flavor.py
infra/bots/recipes/swarm_perf.py
infra/bots/recipes/swarm_test.expected/Test-Android-Clang-AndroidOne-CPU-MT6582-arm-Release-GN_Android.json [new file with mode: 0644]
infra/bots/recipes/swarm_test.py