docker_run_apk.sh 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. #! /bin/sh
  2. # Copyright 2019 Google LLC.
  3. # Use of this source code is governed by a BSD-style license that can be
  4. # found in the LICENSE file.
  5. # Notes:
  6. #
  7. # You may need to run as root for docker permissions.
  8. #
  9. # The SKQP_ARGS environment variable affects this script.
  10. if ! [ -f "$1" ] ; then
  11. echo "Usage: $0 SKQP_APK_FILE_PATH" >&2
  12. exit 1
  13. fi
  14. APK_DIR="$(cd "$(dirname "$1")"; pwd)"
  15. APK_FILE="$(basename "$1")"
  16. DST="$(mktemp -d "${TMPDIR:-/tmp}/skqp_emulated_test.XXXXXXXXXX")"
  17. SED_CMD='s/^.* org.skia.skqp: output written to "\([^"]*\)".*$/\1/p'
  18. SKQP="$(cd $(dirname "$0"); pwd)"
  19. set -x
  20. cd "${SKQP}/../../infra/skqp/docker"
  21. docker build -t android-skqp ./android-skqp/ > "$DST"/docker-build || exit 2
  22. docker run --privileged --rm -d \
  23. --name android_em \
  24. --env=DEVICE="Samsung Galaxy S6" \
  25. --env=SKQP_SLEEP="30" \
  26. --env=SKQP_ARGS="$SKQP_ARGS" \
  27. --volume="$DST":/DST \
  28. --volume="$APK_DIR":/APK:ro \
  29. --volume="$SKQP":/SKQP:ro \
  30. android-skqp > "$DST"/docker-run || exit 3
  31. docker exec android_em sh "/SKQP/run_apk.sh" "/APK/$APK_FILE" "/DST"
  32. docker kill android_em
  33. "${SKQP}/../../bin/sysopen" "$DST"/skqp_report_*/report.html