This CL fixes a bug in the logic that checks whether there's an image mounted on the attached iOS device.
Currently this is determined by checking whether strings "ImagePresent: true" or "ImageSignature:" are present in the output of command "ideviceimagemounter --list". However, these strings do not match the command's actual output:
# No image mounted.
$ ideviceimagemounter --list
Status: Complete
# Image mounted (fake signature for illustrative purposes).
$ ideviceimagemounter --list
ImageSignature[1]:
0: Rm9yIGlsbHVzdHJhdGl2ZSBwdXJwb3NlcyBvbmx5LiBUaGlzIGlzIG5vdCBhIHJlYWwgc2lnbmF0dXJlLg==
Status: Complete
As is, the recipe fails to detect that an image is already mounted on the attached iOS device. The recipe then tries to mount one, which makes the "ideviceimagemounter" command fail with "Error: ImageAlreadyMounted". The following example shows how to reproduce this error:
# Initially no image is mounted.
$ ideviceimagemounter --list
Status: Complete
# Mount an image.
$ ideviceimagemounter DeveloperDiskImage.dmg DeveloperDiskImage.dmg.signature
Uploading DeveloperDiskImage.dmg
done.
Mounting...
Done.
Status: Complete
# Verify that the image is mounted.
$ ideviceimagemounter --list
ImageSignature[1]:
0: Rm9yIGlsbHVzdHJhdGl2ZSBwdXJwb3NlcyBvbmx5LiBUaGlzIGlzIG5vdCBhIHJlYWwgc2lnbmF0dXJlLg==
Status: Complete
# Try to mount an image when one is already mounted.
$ ideviceimagemounter DeveloperDiskImage.dmg DeveloperDiskImage.dmg.signature
Uploading DeveloperDiskImage.dmg
done.
Mounting...
Error: ImageMountFailed
Checking for presence of string "ImageSignature" in the ideviceimagemounter command's output seems to solve the problem.
In the process I also discovered that self._run() requires keyword argument stdout=self.m.raw_io.output() in order to return the command's output. As is, the returned stdout is always blank.
Note to reviewer:
- Patchsets 1 to 11 iterate on a potential fix.
- Patchset 12 reproduces the bug. See the failing tryjob.
- Patchset 13 tries the fix. See the successful tryjob.
- Patchsets 14+ clean up the CL.
Change-Id: I3ca1cdbf4bfa450c3e87d6d87b5f615f28c4aaba
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/281058
Reviewed-by: Weston Tracey <westont@google.com>
Commit-Queue: Leandro Lovisolo <lovisolo@google.com>
Change-Id: Id37954715f61a264b3b5fe0f1ed36bd31835ff86
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/275634
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
This allows us to move iOS-specific stuff from individual recipes into
the flavor module.
First in a long series of CLs to clean up recipes and move to task drivers.
Change-Id: Iff01610f76c71920639328ead5209e0cd5d93f31
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/273762
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
This generally makes things tidier (e.g. perf_skottietrace.py no longer
needs special logic so that the app is only installed once), and it
means iOS can install only the app that's going to be run instead of
installing everything.
Change-Id: Ic07c56e724d0379255c8da5f204d9d6379b646ec
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/273002
Commit-Queue: Ben Wagner aka dogben <benjaminwagner@google.com>
Auto-Submit: Ben Wagner aka dogben <benjaminwagner@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
We shouldn't modify self.m.vars.extra_tokens in the docker flavor.
I noticed this when doing some debugging. It doesn't seem to be causing
any problems currently.
Change-Id: I2239787f8aec8a25a6a26418c633e68840f74e04
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/271058
Commit-Queue: Eric Boren <borenet@google.com>
Auto-Submit: Ben Wagner aka dogben <benjaminwagner@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
If we need to support the Ultras, I vote we use taskdrivers instead of
these old recipes.
Bug: skia:9899
Change-Id: I9a3adedde5e7b28d90d3f836ccab0c7fe40abd38
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/270440
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
std::call_once() will trigger false positive races without
a libc++ (specifically __call_once()) built with TSAN itself.
Interestingly, there's a built-in interceptor for this
use case, only on Mac: https://reviews.llvm.org/D24188.
Fixes: skia:9884
Change-Id: I7b2c031c15b78ec7302c42b4e4ac365d596c2c33
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/265567
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
Change-Id: Ic1f3896a450bd81bb8c4859d3998c9873af821f6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/263016
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
An error from addr2line (e.g. unknown binary type) can truncate the
output, hiding the remainder of the stack trace. Instead print the
original line.
Change-Id: I563aae4333a79a17560378e399e79b60c79f9ac7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/261288
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Auto-Submit: Ben Wagner aka dogben <benjaminwagner@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Also update some recipe expectations to use job names that currently
exist.
Bug: skia:9632
Change-Id: I35883474a91ffb9fb2ab3b16089c7c80b5df0bd6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255982
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Ben Wagner aka dogben <benjaminwagner@google.com>
Since we've moved compilation to a Debian10 Docker container, the
resulting binaries won't run on Debian9 unless we also run them in a
Debian10 Docker container.
Test-Debian10-GCC-GCE-CPU-AVX2-x86-Debug-All-Docker failures are
tracked in skia:9664.
Bug: skia:9632, skia:9664
Change-Id: I97edc142cf558e30d11bd7bc3b5d1b423ba2418b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255152
Auto-Submit: Ben Wagner aka dogben <benjaminwagner@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
if a filename ends with `.py` and the file begins with '#!.*python.*',
make it executable.
Change-Id: I41de516ff37343d3b0979bde9fd61813aec7365c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/254439
Commit-Queue: Hal Canary <halcanary@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Auto-Submit: Hal Canary <halcanary@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
I think we may not need this limit since 3.15.0 added f16c support.
Cq-Include-Trybots: skia.primary:Test-Ubuntu18-GCC-Golo-GPU-QuadroP400-x86_64-Release-All-Valgrind_PreAbandonGpuContext,Perf-Ubuntu18-GCC-Golo-GPU-QuadroP400-x86_64-Release-All-Valgrind,Test-Ubuntu18-GCC-Golo-GPU-QuadroP400-x86_64-Release-All-Valgrind,Test-Ubuntu18-GCC-Golo-GPU-QuadroP400-x86_64-Release-All-Valgrind_AbandonGpuContext
Change-Id: I4de547069ca0c77f2208c86f995496880df75d36
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/255342
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Ben Wagner aka dogben <benjaminwagner@google.com>
It seems like we see quite a few "force quarantined" bots when pushing
resources to the device fails. Rewrite copy_directory_contents_to_device
to use the _adb method, which automatically retries.
Change-Id: Iae36f8e42e85a58fdddc8c9dc80e693a371fab8b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/248560
Commit-Queue: Eric Boren <borenet@google.com>
Auto-Submit: Ben Wagner aka dogben <benjaminwagner@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
The lack of 'rmfile' steps is OK because all of the temporary paths
are created within swarming's sandbox; swarming will clean everything
up after the recipe has quit.
R=borenet@google.com
Change-Id: Ibb8dc612ec8eb98fe966c9caa90ba59db48dbfba
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/239797
Auto-Submit: Robbie Iannucci <iannucci@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Cq-Include-Trybots: skia.primary:Test-Android-Clang-Pixel-CPU-Snapdragon821-arm-Release-All-Android_ASAN
Change-Id: I14abc54f97c083287ee98ccab1ed0f63cb9bd0e7
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/225483
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).
Please review the expectation changes, and LGTM+CQ.
More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
recipe_engine:
https://crrev.com/4b7e794e4dbf7abefd1732b76ff9539570d0be7f [file] Record written data in step presentation. (joshuaseaton@google.com)
R=kjlubick@google.com
Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Ic59ac87f9de5f6abe73e03feb5a94ce4b0dd35f1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/222573
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Robbie Iannucci <iannucci@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
This device is very old and very unsupported. It doesn't officially come
with a browser (Chrome needs to be sideloaded).
Bug: skia:6531 skia:6670 skia:7286 skia:7921
Change-Id: I720cd3a40981694bf7befa5cafc700717dcd7cdf
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/219486
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
This is an automated CL created by the recipe roller. This CL rolls recipe
changes from upstream projects (e.g. depot_tools) into downstream projects
(e.g. tools/build).
Please review the expectation changes, and LGTM+CQ.
More info is at https://goo.gl/zkKdpD. Use https://goo.gl/noib3a to file a bug.
recipe_engine:
https://crrev.com/c2ae1f8b058dc210e2f8b1753aa7184973da36a6 Remove stdout and stderr from expectation files. (gbeaty@chromium.org)
R=stephana@google.com
Recipe-Tryjob-Bypass-Reason: Autoroller
Bugdroid-Send-Email: False
Change-Id: Idc32b8c2c426c0bc60b0c57476258b649d9620d1
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/216355
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Robbie Iannucci <iannucci@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Fixes https://skia-review.googlesource.com/c/skia/+/204264. I should
have realized before that the '-t -t' option to ssh was the cause of all
the ANSI escape codes.
Change-Id: I43b745115f4672230bf28469e03fdfbaec602b9a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/209041
Commit-Queue: Ben Wagner aka dogben <benjaminwagner@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
Auto-Submit: Ben Wagner aka dogben <benjaminwagner@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Change-Id: Ie72515f5b9c64bb156fee81a0f28d6335b528978
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/210240
Auto-Submit: Ben Wagner aka dogben <benjaminwagner@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Change-Id: Ie74bc321dcd1a9150b55b36278e94acf1df34139
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/210220
Commit-Queue: Eric Boren <borenet@google.com>
Auto-Submit: Ben Wagner aka dogben <benjaminwagner@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Change-Id: I70f4e01a2c55e85ee5e17a29f7f05a4a4aff2ae2
Bug: skia:8569 skia:8976
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/204264
Commit-Queue: Ben Wagner aka dogben <benjaminwagner@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Change-Id: I3e9acc3f8e2690169b3c76f9aec1ac22f6dfc93a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/205620
Commit-Queue: Ben Wagner aka dogben <benjaminwagner@google.com>
Auto-Submit: Ben Wagner aka dogben <benjaminwagner@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Bug: skia:8901
Change-Id: Ibe14ed88c0cd937eae2d91eb6e90391466098a2c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/203341
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
Bug: skia:8901
Change-Id: Idde99d943c31ae62fcd0bc3f3b8cfc0ebc07e896
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/203340
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
Bug: skia:8901
Change-Id: Ieca2a053223434a0b6f49e9d9ef47a359b751dfe
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/202905
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
Bug: skia:8884
Change-Id: Iff6e8da803c0cf76d4d2888af12e97b7491b0993
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/201473
Commit-Queue: Ravi Mistry <rmistry@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
This saves lots of time when we need to run dm/nanobench repeatedly and the binary is already on the device.
Bug: skia:8884
Change-Id: Ie0afbefbb350b5d3f57c39948b9483e8e2faa0e6
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/201471
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>
Also add a NativeFonts job for this bot so we have coverage of 10.14.
Change-Id: I8536d7725eb3492b59318695dd3ecadad76b68ff
Reviewed-on: https://skia-review.googlesource.com/c/194022
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>