Commit Graph

11 Commits

Author SHA1 Message Date
Leandro Lovisolo
17fbcd145b ios.py: Bugfix to prevent iOS tasks from failing with "Error: ImageMountFailed".
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>
2020-04-02 19:18:06 +00:00
Eric Boren
7fb77c8165 [recipes] Move app_name into flavor.setup()
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>
2020-02-27 18:06:15 +00:00
Ben Wagner
7a6db4cbf4 [infra] Move app installation to install method
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>
2020-02-25 17:34:21 +00:00
Ben Wagner
828a7ef39d [infra] Switch iOS to updated libimobiledevice.
Bug: skia:9799
Change-Id: I94069d58bde1762ef19122605147bd75232b6ed8
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/270446
Commit-Queue: Ben Wagner aka dogben <benjaminwagner@google.com>
Reviewed-by: Weston Tracey <westont@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2020-02-21 16:21:20 +00:00
Hal Canary
014f540f70 BotsCfg/Perf/RemoteGlyphCache: bots to download and use traces
This runs the following benches in Perf-Android-*-CPU-* bots:
  - SkDiffBench-amazon
  - SkDiffBench-espn
  - SkDiffBench-googlecat
  - SkDiffBench-qq
  - SkDiffBench-taobao
  - SkDiffBench-wikicat
  - SkDiffBench-yahoo
  - SkDiffBench-youtube

CQ_INCLUDE_TRYBOTS=skia.primary:Perf-Android-Clang-NVIDIA_Shield-CPU-TegraX1-arm64-Release-All-Android

Change-Id: If8b51bd09cfb0bfcc04258bc68a94e1e4e24de90
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/251205
Commit-Queue: Hal Canary <halcanary@skia.org>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2019-10-29 22:24:54 +00:00
Nathaniel Nifong
79342e492c Add a kind of asset for MSKPs so the skpbench bot can read them.
Bug: skia:9209
Change-Id: Ic16d33341b4fbfd3a77e5dce782b134cd855d0b2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/230133
Commit-Queue: Nathaniel Nifong <nifong@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
2019-08-01 20:29:52 +00:00
Eric Boren
8c172ba397 [infra] Add infra support for Lottie
Bug: skia:8136
Change-Id: I18c4ad549c52346ebfe23d172597d5da205e5c4d
Reviewed-on: https://skia-review.googlesource.com/142105
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
2018-07-19 17:53:25 +00:00
Eric Boren
322a859bda Reland [recipes] Isolate build outputs with no subdirs
Bug: skia:6473
Change-Id: I730cb860abc72473aaa9af98527fd220b9a55120
Reviewed-on: https://skia-review.googlesource.com/131389
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
2018-06-01 15:18:46 +00:00
Eric Boren
fbe7166685 Revert "[recipes] Isolate build outputs with no subdirs"
This reverts commit 0c9d2805e8.

Reason for revert: Broke iOS and SwiftShader (and maybe others)

Original change's description:
> [recipes] Isolate build outputs with no subdirs
> 
> Bug: skia:6473
> Change-Id: If243b6afb748529d2bdb212e360cd4338edc929c
> Reviewed-on: https://skia-review.googlesource.com/130942
> Reviewed-by: Ben Wagner <benjaminwagner@google.com>
> Commit-Queue: Eric Boren <borenet@google.com>

TBR=borenet@google.com,benjaminwagner@google.com

Change-Id: Icf9490f2f88dc454c6d971f35258e219137b0c0e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: skia:6473
Reviewed-on: https://skia-review.googlesource.com/131400
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
2018-06-01 11:53:46 +00:00
Eric Boren
0c9d2805e8 [recipes] Isolate build outputs with no subdirs
Bug: skia:6473
Change-Id: If243b6afb748529d2bdb212e360cd4338edc929c
Reviewed-on: https://skia-review.googlesource.com/130942
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Commit-Queue: Eric Boren <borenet@google.com>
2018-06-01 11:45:15 +00:00
Eric Boren
90f050387a [recipes] Rename some modules and files
- Move doxygen and binary size out of core and into their own modules.
- Rename core -> checkout since that's all it does, shorten method names.
- Rename flavors:
  - Everything is GN, so remove GN/gn_ everywhere.
  - Merge gn_flavor into default.
  - Shorten file / module names.

Bug: skia:6473
Change-Id: I8ac9ff9c9a267f366206b9991adfa5eb37126ca7
Reviewed-on: https://skia-review.googlesource.com/129176
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
2018-05-24 14:06:55 +00:00