From 26eb5adc4d5bad0f3f468cb48540406aee4da224 Mon Sep 17 00:00:00 2001 From: Naresh Kamboju Date: Mon, 19 Nov 2018 16:43:40 +0530 Subject: linux: Adding spectre meltdown checker test suite Signed-off-by: Naresh Kamboju --- .../spectre-meltdown-checker.sh | 58 ++++++++++++++++++++++ .../spectre-meltdown-checker.yaml | 31 ++++++++++++ 2 files changed, 89 insertions(+) create mode 100755 automated/linux/spectre-meltdown-checker/spectre-meltdown-checker.sh create mode 100644 automated/linux/spectre-meltdown-checker/spectre-meltdown-checker.yaml 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 ] [-v ]" 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 -- cgit v1.2.3