blob: 96f122e99cb727a0dc4eb936d033d385a56362ca (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
|
#!/bin/sh
# Linux kernel self test
# shellcheck disable=SC1091
. ../../lib/sh-test-lib
OUTPUT="$(pwd)/output"
RESULT_FILE="${OUTPUT}/result.txt"
LOGFILE="${OUTPUT}/kselftest.txt"
TESTPROG="kselftest_armhf.tar.gz"
KSELFTEST_PATH="/usr/bin/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}"
sed -i -e 's/selftests//g' "${RESULT_FILE}"
}
install() {
dist_name
# shellcheck disable=SC2154
case "${dist}" in
debian|ubuntu) install_deps "sed wget xz-utils" "${SKIP_INSTALL}" ;;
centos|fedora) install_deps "sed wget xz" "${SKIP_INSTALL}" ;;
unknown) warn_msg "Unsupported distro: package install skipped" ;;
esac
}
! check_root && error_msg "You need to be root to run this script."
create_out_dir "${OUTPUT}"
# shellcheck disable=SC2164
cd "${OUTPUT}"
install
if [ -d "${KSELFTEST_PATH}" ]; then
echo "kselftests found on rootfs"
# shellcheck disable=SC2164
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"
# shellcheck disable=SC2164
cd "kselftest"
fi
# run_kselftest.sh file generated by kselftest Makefile and included in tarball
./run_kselftest.sh 2>&1 | tee "${LOGFILE}"
parse_output
|