From 9968eb96755f2eabf22d1b55d6b98bae3d16f1d9 Mon Sep 17 00:00:00 2001 From: Chase Qi Date: Mon, 20 Mar 2017 15:38:59 +0800 Subject: automated: android: add optee xtest Change-Id: Ib542b90c1866edc7dfae6a1091ffb4b88230e32a Signed-off-by: Chase Qi --- automated/android/optee/optee-xtest.sh | 64 ++++++++++++++++++++++++++++++++ automated/android/optee/optee-xtest.yaml | 30 +++++++++++++++ 2 files changed, 94 insertions(+) create mode 100755 automated/android/optee/optee-xtest.sh create mode 100755 automated/android/optee/optee-xtest.yaml diff --git a/automated/android/optee/optee-xtest.sh b/automated/android/optee/optee-xtest.sh new file mode 100755 index 0000000..0a8de78 --- /dev/null +++ b/automated/android/optee/optee-xtest.sh @@ -0,0 +1,64 @@ +#!/bin/sh -e + +LEVEL="0" +TEST_SUITE="regression" +OUTPUT="$(pwd)/output" +BOOT_TIMEOUT="300" +LOGFILE="${OUTPUT}/xtest-${TEST_SUITE}-stdout.log" +RESULT_FILE="${OUTPUT}/result.txt" + +usage() { + echo "Usage: $0 [-s ] [-t ] [-l ] [-T ]" 1>&2 + exit 1 +} + +while getopts ":s:t:l:T:" o; do + case "$o" in + s) ANDROID_SERIAL="${OPTARG}" ;; + t) BOOT_TIMEOUT="${OPTARG}" ;; + l) LEVEL="${OPTARG}" ;; + T) TEST_SUITE="${OPTARG}" ;; + *) usage ;; + esac +done + +# shellcheck disable=SC1091 +. ../../lib/sh-test-lib +# shellcheck disable=SC1091 +. ../../lib/android-test-lib + +initialize_adb +wait_boot_completed "${BOOT_TIMEOUT}" +create_out_dir "${OUTPUT}" + +# Run test. +info_msg "About to run optee-xtest on device ${ANDROID_SERIAL}" +if ! adb_shell_which "tee-supplicant"; then + report_fail "check-tee-supplicant-existence" + exit 0 +fi +adb shell "echo 'tee-supplicant &' | su" + +if ! adb_shell_which "xtest"; then + report_fail "check-xtest-existence" + exit 0 +fi +adb shell "echo xtest -l ${LEVEL} -t ${TEST_SUITE} 2>&1 | su" | tee "${LOGFILE}" + +# Parse xtest test log. +grep "^XTEST_TEE" "${LOGFILE}" \ + | sed 's/OK/pass/; s/FAILED/fail/; s/SKIPPED/skip/' \ + | awk '{printf("%s %s\n", $1, $2)}' \ + | tee -a "${RESULT_FILE}" + +# Parse test pass/fail/skip stats. +for i in "subtests" "test cases"; do + grep -E "^[0-9]+ $i of which [0-9]+ failed" "${LOGFILE}" \ + | awk -v tc="$(echo "$i" | sed 's/ /-/')" \ + '{printf("%s-fail-rate pass %s/%s\n"), tc, $(NF-1), $1}' \ + | tee -a "${RESULT_FILE}" +done + +grep -E "^[0-9]+ test case was skipped" "${LOGFILE}" \ + | awk '{printf("test-skipped pass %s\n", $1)}' \ + | tee -a "${RESULT_FILE}" diff --git a/automated/android/optee/optee-xtest.yaml b/automated/android/optee/optee-xtest.yaml new file mode 100755 index 0000000..bdf32da --- /dev/null +++ b/automated/android/optee/optee-xtest.yaml @@ -0,0 +1,30 @@ +metadata: + name: optee-xtest + format: "Lava-Test-Shell Test Definition 1.0" + description: "OP-TEE sanity test suite" + maintainer: + - chase.qi@linaro.org + os: + - android + scope: + - functional + - performance + devices: + - hi6220-hikey + - juno + +params: + # Test suite level: [0-15] + LEVEL: "0" + # Available test suite: regression, benchmark + TEST_SUITE: "regression" + # Specify device serial no. when more than one device connected. + ANDROID_SERIAL: "" + # Specify timeout in seconds for wait_boot_completed + BOOT_TIMEOUT: "300" + +run: + steps: + - cd ./automated/android/optee + - ./optee-xtest.sh -l "${LEVEL}" -T "${TEST_SUITE}" -s "${ANDROID_SERIAL}" -t "${BOOT_TIMEOUT}" + - ../../utils/send-to-lava.sh ./output/result.txt -- cgit v1.2.3