#!/bin/sh set -e make -f debian/tests/Makefile fake-rfkill # poor man's dependency resolver DEPS=$(modinfo debian/tests/fake-rfkill.ko | sed -n '/depends:/ {s/^.*://; s/[[:space:]]*$//; p}') [ -z "$DEPS" ] || modprobe "$DEPS" insmod debian/tests/fake-rfkill.ko fake_id=$(rfkill list | grep fake | awk -F: '{ print $1; }') service network-manager start sleep 30 # test blocking the device rfkill block $fake_id if ! rfkill list $fake_id | grep 'Soft' | awk '{ print $3; }' | grep -qc yes; then echo "ERROR: could not block fake device" rmmod fake-rfkill || true exit 1 fi if ! LC_MESSAGES=C nmcli radio wifi | grep -qc disabled; then echo "ERROR: NM could not track device state." rmmod fake-rfkill || true exit 1 fi # test unblocking the device rfkill unblock $fake_id if ! rfkill list $fake_id | grep 'Soft' | awk '{ print $3; }' | grep -qc no; then echo "ERROR: could not unblock fake device" rmmod fake-rfkill || true exit 1 fi if ! LC_MESSAGES=C nmcli radio wifi | grep -qc enabled; then echo "ERROR: NM could not track device state to enabled." rmmod fake-rfkill || true exit 1 fi rmmod fake-rfkill make -f debian/tests/Makefile clean-rfkill echo OK