xref: /third_party/skia/tools/skqp/run_apk.sh (revision cb93a386)
1cb93a386Sopenharmony_ci#! /bin/sh
2cb93a386Sopenharmony_ci# Copyright 2019 Google LLC.
3cb93a386Sopenharmony_ci# Use of this source code is governed by a BSD-style license that can be
4cb93a386Sopenharmony_ci# found in the LICENSE file.
5cb93a386Sopenharmony_ci
6cb93a386Sopenharmony_ci# Note:
7cb93a386Sopenharmony_ci#   The ANDROID_SERIAL, SKQP_ARGS, and SKQP_SLEEP environment variables affect
8cb93a386Sopenharmony_ci#   this script.
9cb93a386Sopenharmony_ci
10cb93a386Sopenharmony_ciif ! [ -f "$1" ] || ! [ -d "$2" ] ; then
11cb93a386Sopenharmony_ci  echo "Usage:  $0 SKQP_APK_FILE_PATH RESULTS_DIRECTORY" >&2
12cb93a386Sopenharmony_ci  exit 1
13cb93a386Sopenharmony_cifi
14cb93a386Sopenharmony_ci
15cb93a386Sopenharmony_ciSED_CMD='s/^.* org.skia.skqp: output written to "\([^"]*\)".*$/\1/p'
16cb93a386Sopenharmony_ciAPK="$1"
17cb93a386Sopenharmony_ciDST="$2"
18cb93a386Sopenharmony_ci
19cb93a386Sopenharmony_ciprintf '\n\nAPK = "%s"\nDST = "%s"\n\n' "$APK" "$DST"
20cb93a386Sopenharmony_ci
21cb93a386Sopenharmony_ciset -x
22cb93a386Sopenharmony_ci
23cb93a386Sopenharmony_citimeout 60 adb wait-for-device || exit 1
24cb93a386Sopenharmony_ci
25cb93a386Sopenharmony_cisleep ${SKQP_SLEEP:-0}
26cb93a386Sopenharmony_ci
27cb93a386Sopenharmony_ciadb uninstall org.skia.skqp > /dev/null 2>&1
28cb93a386Sopenharmony_ci
29cb93a386Sopenharmony_ciadb install "$APK" || exit 1
30cb93a386Sopenharmony_ci
31cb93a386Sopenharmony_ciadb logcat -c
32cb93a386Sopenharmony_ci
33cb93a386Sopenharmony_ciadb shell am instrument $SKQP_ARGS -w org.skia.skqp 2>&1 | tee "$DST"/stdout
34cb93a386Sopenharmony_ci
35cb93a386Sopenharmony_ciadb logcat -d TestRunner org.skia.skqp skia DEBUG '*:S' > "$DST"/logcat
36cb93a386Sopenharmony_ci
37cb93a386Sopenharmony_ciODIR="$(sed -n "$SED_CMD" "$DST"/logcat | head -1)"
38cb93a386Sopenharmony_ci
39cb93a386Sopenharmony_ciif adb shell "test -d '$ODIR'"; then adb pull "$ODIR" "$DST"; fi
40