tests: Kill hostapd/wpa_supplicant more forcefully if needed

Try to make sure new testing can be started by forcing
hostapd/wpa_supplicant to be killed with SIGKILL if needed. In addition,
wait a bit longer when killing the processes to avoid issues with the
next test run starting before the old one has been fully terminated.

Signed-hostap: Jouni Malinen <j@w1.fi>
This commit is contained in:
Jouni Malinen 2013-08-26 16:38:13 +03:00
parent 28de68ae56
commit 9e88556a1c

View file

@ -1,5 +1,11 @@
#!/bin/sh #!/bin/sh
if pidof wpa_supplicant hostapd > /dev/null; then
RUNNING=yes
else
RUNNING=no
fi
sudo killall -q hostapd sudo killall -q hostapd
sudo killall -q wpa_supplicant sudo killall -q wpa_supplicant
for i in `pidof valgrind.bin`; do for i in `pidof valgrind.bin`; do
@ -12,6 +18,29 @@ sudo killall -q tcpdump
if grep -q hwsim0 /proc/net/dev; then if grep -q hwsim0 /proc/net/dev; then
sudo ifconfig hwsim0 down sudo ifconfig hwsim0 down
fi fi
if [ "$RUNNING" = "yes" ]; then
# give some time for hostapd and wpa_supplicant to complete deinit
sleep 2
fi
if pidof wpa_supplicant hostapd > /dev/null; then
echo "wpa_supplicant/hostapd did not exit - try to force them to die"
sudo killall -9 -q hostapd
sudo killall -9 -q wpa_supplicant
sleep 5
fi
for i in `pidof valgrind.bin`; do
if ps $i | grep -q -E "wpa_supplicant|hostapd"; then
echo "wpa_supplicant/hostapd(valgrind) did not exit - try to force it to die"
sudo kill -9 $i
fi
done
if grep -q mac80211_hwsim /proc/modules ; then if grep -q mac80211_hwsim /proc/modules ; then
sudo rmmod mac80211_hwsim sudo rmmod mac80211_hwsim
# wait at the end to avoid issues starting something new immediately after
# this script returns
sleep 1
fi fi