aboutsummaryrefslogtreecommitdiff
path: root/automated/linux/kselftest/kselftest.sh
diff options
context:
space:
mode:
authorNaresh Kamboju <naresh.kamboju@linaro.org>2017-05-30 15:02:23 +0530
committerMilosz Wasilewski <milosz.wasilewski@linaro.org>2017-05-31 06:24:59 +0000
commit687ede45a260573b92e16ecfb11df276893f1351 (patch)
tree4d0660839d337c28c91fe18e4cd4b05904d8d2b5 /automated/linux/kselftest/kselftest.sh
parentd9d7b6588b7e74078581c173432de0dbc3333d0a (diff)
automated: linux: kselftest: Adding SKIPLIST and SKIPFILE parameters
Known unsupported test cases list can be provided by using, SKIPLIST or SKIPFILE parameters which will be skipped from the run. Change-Id: I844dd6a9cded5a18bd1a21bc63320f4a3a3e7d83 Signed-off-by: Naresh Kamboju <naresh.kamboju@linaro.org>
Diffstat (limited to 'automated/linux/kselftest/kselftest.sh')
-rwxr-xr-xautomated/linux/kselftest/kselftest.sh44
1 files changed, 42 insertions, 2 deletions
diff --git a/automated/linux/kselftest/kselftest.sh b/automated/linux/kselftest/kselftest.sh
index 3369c46..d0c2596 100755
--- a/automated/linux/kselftest/kselftest.sh
+++ b/automated/linux/kselftest/kselftest.sh
@@ -8,20 +8,44 @@ RESULT_FILE="${OUTPUT}/result.txt"
LOGFILE="${OUTPUT}/kselftest.txt"
TESTPROG="kselftest_armhf.tar.gz"
KSELFTEST_PATH="/usr/bin/kselftests"
+
+SCRIPT="$(readlink -f "${0}")"
+SCRIPTPATH="$(dirname "${SCRIPT}")"
+# List of known unsupported test cases to be skipped
+SKIPFILE=""
+SKIPLIST=""
+
if [ "$(uname -m)" = "aarch64" ]
then
TESTPROG="kselftest_aarch64.tar.gz"
fi
usage() {
- echo "Usage: $0 [-t kselftest_aarch64.tar.gz | kselftest_armhf.tar.gz] [-s true|false]" 1>&2
+ echo "Usage: $0 [-t kselftest_aarch64.tar.gz | kselftest_armhf.tar.gz]
+ [-s True|False]
+ [-L List of skip test cases]
+ [-S kselftest-skipfile]" 1>&2
exit 1
}
-while getopts "t:s:h" opt; do
+while getopts "t:s:L:S:h" opt; do
case "${opt}" in
t) TESTPROG="${OPTARG}" ;;
s) SKIP_INSTALL="${OPTARG}" ;;
+ # List of known unsupported test cases to be skipped
+ L) SKIPLIST="${OPTARG}" ;;
+ S)
+ OPT=$(echo "${OPTARG}" | grep "http")
+ if [ -z "${OPT}" ] ; then
+ # kselftest skipfile
+ SKIPFILE="${SCRIPTPATH}/${OPTARG}"
+ else
+ # Download kselftest skipfile from speficied URL
+ wget "${OPTARG}" -O "skipfile"
+ SKIPFILE="skipfile"
+ SKIPFILE="${SCRIPTPATH}/${SKIPFILE}"
+ fi
+ ;;
h|*) usage ;;
esac
done
@@ -63,6 +87,22 @@ else
cd "kselftest"
fi
+if [ -n "${SKIPLIST}" ]; then
+ # shellcheck disable=SC2086
+ for test_name in ${SKIPLIST}; do
+ # shellcheck disable=SC2086
+ sed -i "/.\/${test_name}/c\echo \"selftests: ${test_name} [SKIP]\"" run_kselftest.sh
+ done
+fi
+
+# Ignore SKIPFILE when SKIPLIST provided
+if [ -f "${SKIPFILE}" ] && [ -z "${SKIPLIST}" ]; then
+ while read -r test_name; do
+ # shellcheck disable=SC2086
+ sed -i "/.\/${test_name}/c\echo \"selftests: ${test_name} [SKIP]\"" run_kselftest.sh
+ done < "${SKIPFILE}"
+fi
+
# run_kselftest.sh file generated by kselftest Makefile and included in tarball
./run_kselftest.sh 2>&1 | tee "${LOGFILE}"
parse_output