diff options
Diffstat (limited to 'debian/tests')
| -rwxr-xr-x | debian/tests/killswitches-no-urfkill | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/debian/tests/killswitches-no-urfkill b/debian/tests/killswitches-no-urfkill index d6ef3a38..f7adc67c 100755 --- a/debian/tests/killswitches-no-urfkill +++ b/debian/tests/killswitches-no-urfkill @@ -31,13 +31,18 @@ if ! rfkill list $fake_id | grep 'Soft' | awk '{ print $3; }' | grep -qc yes; th exit 1 fi +# The systemd-rfkill service starts up whenever rfkill changes state, so on a +# 1-cpu system that might delay the event change from reaching nm before the +# check below, causing this test to fail. The settle added here delays the +# nmcli check until after the rfkill uevent has definitely been processed. +udevadm settle + 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 @@ -46,6 +51,10 @@ if ! rfkill list $fake_id | grep 'Soft' | awk '{ print $3; }' | grep -qc no; the exit 1 fi +# same reason as above, however since systemd-rfkill stays running for 30 secs or so +# it's unlikely that it would start up again here, but it's still safer to call settle +udevadm settle + 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 |