kselftest: Make each test individually selectable
Test to run test collections (or tests) individually selectable
testcase these new parameters added.
TST_CMDFILES="bpf cpufreq net timers"
TST_CASENAME="cpu-hotplug:cpu-on-off-test.sh"
Signed-off-by: Naresh Kamboju <naresh.kamboju@linaro.org>
diff --git a/automated/linux/kselftest/kselftest.sh b/automated/linux/kselftest/kselftest.sh
index 4683bd7..9d64c5e 100755
--- a/automated/linux/kselftest/kselftest.sh
+++ b/automated/linux/kselftest/kselftest.sh
@@ -19,6 +19,8 @@
ENVIRONMENT=""
SKIPLIST=""
TESTPROG_URL=""
+TST_CMDFILES=""
+TST_CASENAME=""
# Architecture-specific tarball name defaults.
if [ "$(uname -m)" = "aarch64" ]; then
@@ -28,7 +30,9 @@
fi
usage() {
- echo "Usage: $0 [-t kselftest_aarch64.tar.gz | kselftest_armhf.tar.gz]
+ echo "Usage: $0 [-c bpf cpufreq net timers]
+ [-T cpu-hotplug:cpu-on-off-test.sh]
+ [-t kselftest_aarch64.tar.gz | kselftest_armhf.tar.gz]
[-s True|False]
[-u url]
[-p path]
@@ -40,8 +44,10 @@
exit 1
}
-while getopts "t:s:u:p:L:S:b:g:e:h" opt; do
+while getopts "c:T:t:s:u:p:L:S:b:g:e:h" opt; do
case "${opt}" in
+ c) TST_CMDFILES="${OPTARG}" ;;
+ T) TST_CASENAME="${OPTARG}" ;;
t) TESTPROG="${OPTARG}" ;;
s) SKIP_INSTALL="${OPTARG}" ;;
# Download kselftest tarball from given URL
@@ -204,6 +210,14 @@
echo "========================================"
rm -f "${skips}"
-# run_kselftest.sh file generated by kselftest Makefile and included in tarball
-./run_kselftest.sh 2>&1 | tee "${LOGFILE}"
+if [ -n "${TST_CASENAME}" ]; then
+ ./run_kselftest.sh -t "${TST_CASENAME}" 2>&1 | tee -a "${LOGFILE}"
+elif [ -n "${TST_CMDFILES}" ]; then
+ # shellcheck disable=SC2086
+ for test in ${TST_CMDFILES}; do
+ ./run_kselftest.sh -c ${test} 2>&1 | tee -a "${LOGFILE}"
+ done
+else
+ ./run_kselftest.sh 2>&1 | tee "${LOGFILE}"
+fi
parse_output
diff --git a/automated/linux/kselftest/kselftest.yaml b/automated/linux/kselftest/kselftest.yaml
index f77f01b..6bfbeaf 100644
--- a/automated/linux/kselftest/kselftest.yaml
+++ b/automated/linux/kselftest/kselftest.yaml
@@ -15,6 +15,14 @@
- all
params:
+ # List of tests to run
+ # TST_CMDFILES: bpf ipc net timers vm
+ TST_CMDFILES: ""
+
+ # single test case to run
+ # TST_CASENAME: cpu-hotplug:cpu-on-off-test.sh
+ TST_CASENAME: ""
+
# Specify Linux kernel self test pre-build tarball name from below location
# http://testdata.validation.linaro.org/tests/kselftest/
# TESTPROG: kselftest_aarch64.tar.gz
@@ -47,5 +55,5 @@
run:
steps:
- cd ./automated/linux/kselftest/
- - ./kselftest.sh -t "${TESTPROG}" -s "${SKIP_INSTALL}" -u "${TESTPROG_URL}" -L "${SKIPLIST}" -S "${SKIPFILE}" -b "${BOARD}" -g "${BRANCH}" -e "${ENVIRONMENT}" -p "${KSELFTEST_PATH}"
+ - ./kselftest.sh -c "${TST_CMDFILES}" -T "${TST_CASENAME}" -t "${TESTPROG}" -s "${SKIP_INSTALL}" -u "${TESTPROG_URL}" -L "${SKIPLIST}" -S "${SKIPFILE}" -b "${BOARD}" -g "${BRANCH}" -e "${ENVIRONMENT}" -p "${KSELFTEST_PATH}"
- ../../utils/send-to-lava.sh ./output/result.txt