diff options
author | Milosz Wasilewski <milosz.wasilewski@linaro.org> | 2018-05-08 11:35:07 +0100 |
---|---|---|
committer | Milosz Wasilewski <milosz.wasilewski@linaro.org> | 2018-05-09 14:48:10 +0100 |
commit | fffa030132628cd5b57d950368345c4a472035c7 (patch) | |
tree | 9450b237211f85d9113c7a45aeb60a64aa548862 | |
parent | acbcd28e8e6faab5ad4c9e0682bb80b05b06ee9b (diff) |
workload-automation: add installation and config for AEP
This commit adds support for installing and configuring ARM Energy Probe
(AEP) devices. These devices are connected to Device Under Test in order
to measure energy consumption at the connection point.
AEP is currently only suppored in WA scripts that execute on AOSP. There
is no support for devices running Linux.
Scripts allow to use custom repositories and branches for installation
and configuration.
Change-Id: Ieb9a485f1d269f108c1305c373d66e422136a2b0
Signed-off-by: Milosz Wasilewski <milosz.wasilewski@linaro.org>
3 files changed, 118 insertions, 0 deletions
diff --git a/automated/android/workload-automation/aep-energy-config.sh b/automated/android/workload-automation/aep-energy-config.sh new file mode 100755 index 0000000..79ce07b --- /dev/null +++ b/automated/android/workload-automation/aep-energy-config.sh @@ -0,0 +1,44 @@ +#!/bin/sh -ex +# shellcheck disable=SC1090 + +TEST_DIR=$(dirname "$(realpath "$0")") +OUTPUT="${TEST_DIR}/output" +SKIP_INSTALL="false" +AEP_CONFIG_REPOSITORY="https://git.linaro.org/power/energy-probe-ext.git" +AEP_CONFIG_REF="master" +AEP_CONFIG_TARGET_PATH="/root/energy-probe-ext" + +usage() { + echo "Usage: $0 [-t <aep_config_repository_ref>] [-r <aep_config_repository>] [-p <aep_config_target_path>]" 1>&2 + exit 1 +} + +while getopts ":t:r:p:" opt; do + case "${opt}" in + t) AEP_CONFIG_REF="${OPTARG}" ;; + r) AEP_CONFIG_REPOSITORY="${OPTARG}" ;; + p) AEP_CONFIG_TARGET_PATH="${OPTARG}" ;; + *) usage ;; + esac +done + +. "${TEST_DIR}/../../lib/sh-test-lib" + +! check_root && error_msg "Please run this test as root." +cd "${TEST_DIR}" +create_out_dir "${OUTPUT}" +RESULT_FILE="${OUTPUT}/result.txt" +export RESULT_FILE + +if [ "${SKIP_INSTALL}" = "true" ] || [ "${SKIP_INSTALL}" = "True" ]; then + info_msg "Dependency installation skipped" +else + PKGS="git" + install_deps "${PKGS}" +fi +create_out_dir "${AEP_CONFIG_TARGET_PATH}" +git clone "${AEP_CONFIG_REPOSITORY}" energy-probe-ext +cd energy-probe-ext +git checkout "${AEP_CONFIG_REF}" +cp -r ./* "${AEP_CONFIG_TARGET_PATH}" +report_pass "AEP config installed" diff --git a/automated/android/workload-automation/aep-install.sh b/automated/android/workload-automation/aep-install.sh new file mode 100755 index 0000000..5cb4104 --- /dev/null +++ b/automated/android/workload-automation/aep-install.sh @@ -0,0 +1,44 @@ +#!/bin/sh -ex +# shellcheck disable=SC1090 + +TEST_DIR=$(dirname "$(realpath "$0")") +OUTPUT="${TEST_DIR}/output" +SKIP_INSTALL="false" +AEP_REPOSITORY="https://git.linaro.org/tools/arm-probe.git" +AEP_REF="master" + +usage() { + echo "Usage: $0 [-t <aep_repository_ref>] [-r <aep_repository>]" 1>&2 + exit 1 +} + +while getopts ":t:r:" opt; do + case "${opt}" in + t) AEP_REF="${OPTARG}" ;; + r) AEP_REPOSITORY="${OPTARG}" ;; + *) usage ;; + esac +done + +. "${TEST_DIR}/../../lib/sh-test-lib" + +! check_root && error_msg "Please run this test as root." +cd "${TEST_DIR}" +create_out_dir "${OUTPUT}" +RESULT_FILE="${OUTPUT}/result.txt" +export RESULT_FILE + +if [ "${SKIP_INSTALL}" = "true" ] || [ "${SKIP_INSTALL}" = "True" ]; then + info_msg "Dependency installation skipped" +else + PKGS="git autoconf libtool cmake zlib1g-dev libssl-dev python" + install_deps "${PKGS}" +fi +git clone "${AEP_REPOSITORY}" arm-probe +cd arm-probe +git checkout "${AEP_REF}" +./autogen.sh +./configure --prefix=/usr +make +make install +report_pass "AEP installed" diff --git a/automated/android/workload-automation/aep-install.yaml b/automated/android/workload-automation/aep-install.yaml new file mode 100644 index 0000000..a8ed990 --- /dev/null +++ b/automated/android/workload-automation/aep-install.yaml @@ -0,0 +1,30 @@ +metadata: + format: Lava-Test Test Definition 1.0 + name: arm-probe-install + description: "Install arm-probe tool on devices that have ARM + energy probes connected to them. + It also installs configuration files for the probe" + maintainer: + - lisa.nguyen@linaro.org + - milosz.wasilewski@linaro.org + os: + - ubuntu + devices: + - hi6220-hikey + - hi960-hikey + - juno + +params: + AEP_REPOSITORY: https://git.linaro.org/tools/arm-probe.git + AEP_REF: master + AEP_CONFIG_REPOSITORY: https://git.linaro.org/power/energy-probe-ext.git + AEP_CONFIG_REF: master + # path should be absolute + AEP_CONFIG_TARGET_PATH: /root/energy-probe-ext + +run: + steps: + - cd ./automated/android/workload-automation + - ./aep-install.sh -r "${AEP_REPOSITORY}" -t "${AEP_REF}" + - ./aep-energy-config.sh -r "${AEP_CONFIG_REPOSITORY}" -t "${AEP_CONFIG_REF}" -p "${AEP_CONFIG_TARGET_PATH}" + - ../../utils/send-to-lava.sh ./output/result.txt |