summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNaresh Kamboju <naresh.kamboju@linaro.org>2017-01-11 16:26:30 +0530
committerNaresh Kamboju <naresh.kamboju@linaro.org>2017-02-06 23:51:24 +0530
commit9500bca141aedffb1bf6caa13ec096cca1377e04 (patch)
tree7a82bf91de449e8a03148cc1b8fdf0817862e0c0
parent050e4e2c929b136a68b8455496eb67f2f1172adb (diff)
automated: linux: add kselftest test
Change-Id: Ie88860d79aef7cf7aa526f95f1f4803e30a4b899 Signed-off-by: Naresh Kamboju <naresh.kamboju@linaro.org>
-rwxr-xr-xautomated/linux/kselftest/kselftest.sh56
-rw-r--r--automated/linux/kselftest/kselftest.yaml28
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