diff options
-rwxr-xr-x | automated/linux/wlan-smoke/wlan-smoke-test.sh | 96 | ||||
-rw-r--r-- | automated/linux/wlan-smoke/wlan-smoke.yaml | 26 |
2 files changed, 122 insertions, 0 deletions
diff --git a/automated/linux/wlan-smoke/wlan-smoke-test.sh b/automated/linux/wlan-smoke/wlan-smoke-test.sh new file mode 100755 index 0000000..8bf028a --- /dev/null +++ b/automated/linux/wlan-smoke/wlan-smoke-test.sh @@ -0,0 +1,96 @@ +#!/bin/sh +# +# WLAN smoke tests +# +# Copyright (C) 2017, Linaro Limited. +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# Author: Nicolas Dechesne <nicolas.dechesne@linaro.org> +# + +# shellcheck disable=SC1091 +. ../../lib/sh-test-lib +OUTPUT="$(pwd)/output" +RESULT_FILE="${OUTPUT}/result.txt" +export RESULT_FILE +DEVICE="wlan0" +BOOT="enabled" + +usage() { + echo "Usage: $0 [-b <enabled|disabled>] [-d <device>]" 1>&2 + exit 1 +} + +while getopts "d:b:" o; do + case "$o" in + d) DEVICE="${OPTARG}" ;; + b) BOOT="${OPTARG}" ;; + *) usage ;; + esac +done + +# sanity test ip command +test_iplink() { + info_msg "Running ip link test..." + ip link show "${DEVICE}" + exit_on_fail "ip-link" +} + +# test WLAN device at boot is $BOOT +test_wlan_boot() { + info_msg "Running wlan boot test..." + if [ "${BOOT}" = "enabled" ]; then + ip link show "${DEVICE}" | grep "${DEVICE}" | grep "UP" + else + ip link show "${DEVICE}" | grep "${DEVICE}" | grep -v "UP" + fi + check_return "wlan-boot" +} + +# test WLAN device is up +test_wlan_up() { + info_msg "Running wlan-up test..." + ip link set "${DEVICE}" up + sleep 1 + ip link show "${DEVICE}" | grep "${DEVICE}" | grep "UP" + check_return "wlan-up" +} + +# test WLAN device is down +test_wlan_down() { + info_msg "Running wlan-down test..." + ip link set "${DEVICE}" down + sleep 1 + ip link show "${DEVICE}" | grep "${DEVICE}" | grep -v "UP" + check_return "wlan-down" +} + +# Test run. +! check_root && error_msg "This script must be run as root" +create_out_dir "${OUTPUT}" + +info_msg "About to run wlan smoke test..." +info_msg "Output directory: ${OUTPUT}" + +# ensure that device is available at boot +test_iplink +test_wlan_boot +test_wlan_down +test_wlan_up + + + + diff --git a/automated/linux/wlan-smoke/wlan-smoke.yaml b/automated/linux/wlan-smoke/wlan-smoke.yaml new file mode 100644 index 0000000..00ade67 --- /dev/null +++ b/automated/linux/wlan-smoke/wlan-smoke.yaml @@ -0,0 +1,26 @@ +metadata: + format: Lava-Test Test Definition 1.0 + name: wlan-smoke + description: "Basic WLAN smoke tests" + maintainer: + - nicolas.dechesne@linaro.org + os: + - debian + - ubuntu + - centos + - fedora + scope: + - functional + devices: + - dragonboard410c + +params: + DEVICE: wlan0 + # expected state on first boot: <enabled> or <disabled> + BOOT: enabled + +run: + steps: + - cd ./automated/linux/wlan-smoke + - ./wlan-smoke-test.sh -d "${DEVICE}" -b "${BOOT}" + - ../../utils/send-to-lava.sh ./output/result.txt |