diff options
author | Naresh Kamboju <naresh.kamboju@linaro.org> | 2017-01-11 16:26:30 +0530 |
---|---|---|
committer | Naresh Kamboju <naresh.kamboju@linaro.org> | 2017-02-06 23:51:24 +0530 |
commit | 9500bca141aedffb1bf6caa13ec096cca1377e04 (patch) | |
tree | 7a82bf91de449e8a03148cc1b8fdf0817862e0c0 | |
parent | 050e4e2c929b136a68b8455496eb67f2f1172adb (diff) |
automated: linux: add kselftest test
Change-Id: Ie88860d79aef7cf7aa526f95f1f4803e30a4b899
Signed-off-by: Naresh Kamboju <naresh.kamboju@linaro.org>
-rwxr-xr-x | automated/linux/kselftest/kselftest.sh | 56 | ||||
-rw-r--r-- | automated/linux/kselftest/kselftest.yaml | 28 |
2 files changed, 84 insertions, 0 deletions
diff --git a/automated/linux/kselftest/kselftest.sh b/automated/linux/kselftest/kselftest.sh new file mode 100755 index 0000000..4096c1c --- /dev/null +++ b/automated/linux/kselftest/kselftest.sh @@ -0,0 +1,56 @@ +#!/bin/sh -e + +# shellcheck disable=SC1091 +. ../../lib/sh-test-lib +OUTPUT="$(pwd)/output" +RESULT_FILE="${OUTPUT}/result.txt" +export RESULT_FILE +LOGFILE="${OUTPUT}/kselftest.txt" +TESTPROG="kselftest_armhf.tar.gz" +KSELFTEST_PATH=/usr/lib/kselftests + +usage() { + echo "Usage: $0 [-t kselftest_aarch64.tar.gz | kselftest_armhf.tar.gz] [-s true|false]" 1>&2 + exit 1 +} + +while getopts "t:s:h" opt; do + case "${opt}" in + t) TESTPROG="${OPTARG}" ;; + s) SKIP_INSTALL="${OPTARG}" ;; + h|*) usage ;; + esac +done + +parse_output() { + grep "selftests:" "${LOGFILE}" 2>&1 | tee -a "${RESULT_FILE}" + sed -i -e 's/: /-/g' "${RESULT_FILE}" + sed -i -e 's/\[//g' "${RESULT_FILE}" + sed -i -e 's/]//g' "${RESULT_FILE}" +} + +dist_name +# shellcheck disable=SC2154 +case "${dist}" in + Debian|Ubuntu) pkgs="sed wget xz-utils" ;; + CentOS|Fedora) pkgs="sed wget xz" ;; +esac +! check_root && error_msg "You need to be root to run testing!" +install_deps "${pkgs}" "${SKIP_INSTALL}" + +[ -d "${OUTPUT}" ] && mv "${OUTPUT}" "${OUTPUT}_$(date +%Y%m%d%H%M%S)" +mkdir -p "${OUTPUT}" +cd "${OUTPUT}" + +if [ -d "${KSELFTEST_PATH}" ]; then + echo "kselftests found on rootfs" + cd "${KSELFTEST_PATH}" +else + # Download and extract kselftest tarball. + wget http://testdata.validation.linaro.org/tests/kselftest/"${TESTPROG}" -O kselftest.tar.gz + tar xf "kselftest.tar.gz" + cd "kselftest" +fi + +./run_kselftest.sh 2>&1 | tee "${LOGFILE}" +parse_output diff --git a/automated/linux/kselftest/kselftest.yaml b/automated/linux/kselftest/kselftest.yaml new file mode 100644 index 0000000..89c49f4 --- /dev/null +++ b/automated/linux/kselftest/kselftest.yaml @@ -0,0 +1,28 @@ +metadata: + name: kselftest + format: "Lava-Test-Shell Test Definition 1.0" + description: "Kernel Self Test" + maintainer: + - naresh.kamboju@linaro.org + os: + - debian + - ubuntu + - fedora + - centos + scope: + - functional + devices: + - all + +params: + # Specify Kernel self test pre-build tarball name from below location + # http://testdata.validation.linaro.org/tests/kselftest/ + # TESTPROG: kselftest_aarch64.tar.gz + TESTPROG: kselftest_armhf.tar.gz + SKIP_INSTALL: "false" + +run: + steps: + - cd ./automated/linux/kselftest/ + - ./kselftest.sh -t "${TESTPROG}" -s "${SKIP_INSTALL}" + - ../../utils/send-to-lava.sh ./output/result.txt |