summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNaresh Kamboju <naresh.kamboju@linaro.org>2018-11-19 16:43:40 +0530
committerNaresh Kamboju <naresh.kamboju@linaro.org>2018-11-19 19:34:07 +0530
commit26eb5adc4d5bad0f3f468cb48540406aee4da224 (patch)
tree72fb0ac2d880e7a8e5a4160c4f94380b810e9683
parent6071dd4c6f7827c0e5de40fe5029ff2b28401882 (diff)
linux: Adding spectre meltdown checker test suiteHEADmaster
Signed-off-by: Naresh Kamboju <naresh.kamboju@linaro.org>
-rwxr-xr-xautomated/linux/spectre-meltdown-checker/spectre-meltdown-checker.sh58
-rw-r--r--automated/linux/spectre-meltdown-checker/spectre-meltdown-checker.yaml31
2 files changed, 89 insertions, 0 deletions
diff --git a/automated/linux/spectre-meltdown-checker/spectre-meltdown-checker.sh b/automated/linux/spectre-meltdown-checker/spectre-meltdown-checker.sh
new file mode 100755
index 0000000..b41f7f7
--- /dev/null
+++ b/automated/linux/spectre-meltdown-checker/spectre-meltdown-checker.sh
@@ -0,0 +1,58 @@
+#!/bin/sh
+
+# shellcheck disable=SC1091
+. ../../lib/sh-test-lib
+OUTPUT="$(pwd)/output"
+RESULT_FILE="${OUTPUT}/result.txt"
+LOG_FILE="smc_logfile"
+export RESULT_FILE
+SMC_VERSION=v0.40
+SMC_PATH=/opt/spectre-meltdown-checker
+
+usage() {
+ echo "Usage: $0 [-s <true|false>] [-v <smc_version>]" 1>&2
+ exit 1
+}
+
+while getopts "s:v:h" o; do
+ case "$o" in
+ s) SKIP_INSTALL="${OPTARG}" ;;
+ v) SMC_VERSION="${OPTARG}" ;;
+ h|*) usage ;;
+ esac
+done
+
+smc_install() {
+ mkdir -p "${SMC_PATH}"
+ info_msg "Download spectre meltdown checker source code"
+ # shellcheck disable=SC2140
+ wget https://github.com/speed47/spectre-meltdown-checker/archive/"${SMC_VERSION}".tar.gz
+ tar --strip-components=1 -xf "${SMC_VERSION}".tar.gz
+}
+
+# Parse SMC output
+parse_smc_output() {
+ grep "SUMMARY" "$1" \
+ | cut -d' ' -f3-12 \
+ | sed -e's/ /\n/g' \
+ | sed 's/OK/pass/; s/KO/fail/' >> "${RESULT_FILE}"
+}
+
+smc_run() {
+ ./spectre-meltdown-checker.sh | tee "${OUTPUT}/${LOG_FILE}.log"
+ parse_smc_output "${OUTPUT}/${LOG_FILE}.log"
+}
+
+# Create output directory
+create_out_dir "${OUTPUT}"
+if [ "${SKIP_INSTALL}" = "True" ] || [ "${SKIP_INSTALL}" = "true" ]; then
+ info_msg "install skipped"
+ # shellcheck disable=SC2164
+ cd "${SMC_PATH}"
+else
+ info_msg "install spectre meltdown checker"
+ smc_install
+fi
+
+# Test run
+smc_run
diff --git a/automated/linux/spectre-meltdown-checker/spectre-meltdown-checker.yaml b/automated/linux/spectre-meltdown-checker/spectre-meltdown-checker.yaml
new file mode 100644
index 0000000..58438af
--- /dev/null
+++ b/automated/linux/spectre-meltdown-checker/spectre-meltdown-checker.yaml
@@ -0,0 +1,31 @@
+metadata:
+ name: spectre-meltdown-checker
+ format: "Lava-Test-Shell Test Definition 1.0"
+ description: "Run spectre meltdown checker"
+ maintainer:
+ - naresh.kamboju@linaro.org
+ os:
+ - debian
+ - fedora
+ - openembedded
+ scope:
+ - functional
+ devices:
+ - dragonboard410c
+ - hi6220-hikey
+ - juno
+ - x15
+ - x86
+ - i386
+ environment:
+ - lava-test-shell
+params:
+ # Spectre meltdown checker version
+ SMC_VERSION: v0.40
+ SKIP_INSTALL: "False"
+
+run:
+ steps:
+ - cd ./automated/linux/spectre-meltdown-checker
+ - ./spectre-meltdown-checker.sh -s "${SKIP_INSTALL}" -v "${SMC_VERSION}"
+ - ../../utils/send-to-lava.sh ./output/result.txt