]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
tests: Wait for hostapd/wpa_supplicant to reply at start (concurrent)
authorJouni Malinen <j@w1.fi>
Tue, 27 Aug 2013 13:01:04 +0000 (16:01 +0300)
committerJouni Malinen <j@w1.fi>
Tue, 27 Aug 2013 13:01:04 +0000 (16:01 +0300)
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. This is like commit
b76579e0c09a1a763b70d63613377b407cbc405f but for the concurrent P2P test
cases that were forgotten from that commit.

Signed-hostap: Jouni Malinen <j@w1.fi>

tests/hwsim/start-p2p-concurrent.sh

index 5f0608e361dc52a8f68b866fe0891cea26e5a2ad..c038f339f1c780f98029c9c9a6d9041c05f5b135 100755 (executable)
@@ -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
 
@@ -36,5 +37,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