From b76579e0c09a1a763b70d63613377b407cbc405f Mon Sep 17 00:00:00 2001 From: Jouni Malinen Date: Mon, 26 Aug 2013 16:47:15 +0300 Subject: [PATCH] tests: Wait for hostapd/wpa_supplicant to reply at start Instead of waiting for a fixed duration, poll hostapd/wpa_supplicant through the control interface until they are ready to reply in order to avoid starting test case execution too early. Signed-hostap: Jouni Malinen --- tests/hwsim/start.sh | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/tests/hwsim/start.sh b/tests/hwsim/start.sh index ebf0ae1f2..c423681cc 100755 --- a/tests/hwsim/start.sh +++ b/tests/hwsim/start.sh @@ -2,6 +2,7 @@ DIR="$( cd "$( dirname "$0" )" && pwd )" WPAS=$DIR/../../wpa_supplicant/wpa_supplicant +WPACLI=$DIR/../../wpa_supplicant/wpa_cli HAPD=$DIR/../../hostapd/hostapd WLANTEST=$DIR/../../wlantest/wlantest @@ -35,5 +36,27 @@ sleep 1 sudo chown $USER $DIR/logs/$DATE-hwsim0.dump if [ "x$VALGRIND" = "xy" ]; then sudo chown $USER $DIR/logs/$DATE-*valgrind* - sleep 10 fi + +# wait for programs to be fully initialized +for i in 0 1 2; do + for j in `seq 1 10`; do + if $WPACLI -g /tmp/wpas-wlan$i ping | grep -q PONG; then + break + fi + if [ $j = "10" ]; then + echo "Could not connect to /tmp/wpas-wlan$i" + fi + sleep 1 + done +done + +for j in `seq 1 10`; do + if $WPACLI -g /var/run/hostapd-global ping | grep -q PONG; then + break + fi + if [ $j = "10" ]; then + echo "Could not connect to /var/run/hostapd-global" + fi + sleep 1 +done