Patchwork lib/oeqa/runtime: ping: wait for 5 echo replies

login
register
mail settings
Submitter Stanacar, StefanX
Date Sept. 25, 2013, 12:30 p.m.
Message ID <1380112249-10491-1-git-send-email-stefanx.stanacar@intel.com>
Download mbox | patch
Permalink /patch/58971/
State Accepted
Commit 41f88ee1dbda44605301dd7309926e04d146ef52
Headers show

Comments

Stanacar, StefanX - Sept. 25, 2013, 12:30 p.m.
Instead of considering that ping test passed after 1 reply,
wait for at least 5 consecutive replies in 60 seconds (which should
be enough time for connman to reconfigure the interface in systemd
images and help with the fake ssh/tests fails.)

Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
---
 meta/lib/oeqa/runtime/ping.py | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

Patch

diff --git a/meta/lib/oeqa/runtime/ping.py b/meta/lib/oeqa/runtime/ping.py
index e163b96..0d028f9 100644
--- a/meta/lib/oeqa/runtime/ping.py
+++ b/meta/lib/oeqa/runtime/ping.py
@@ -8,10 +8,13 @@  class PingTest(oeRuntimeTest):
 
     def test_ping(self):
         output = ''
-        status = None
+        count = 0
         endtime = time.time() + 60
-        while status != 0 and time.time() < endtime:
+        while count < 5 and time.time() < endtime:
             proc = subprocess.Popen("ping -c 1 %s" % oeRuntimeTest.tc.qemu.ip, shell=True, stdout=subprocess.PIPE)
             output += proc.communicate()[0]
-            status = proc.poll()
-        self.assertEqual(status, 0, msg = "No echo reply, ping output is:\n%s" % output)
+            if proc.poll() == 0:
+                count += 1
+            else:
+                count = 0
+        self.assertEqual(count, 5, msg = "Expected 5 consecutive replies, got %d.\nping output is:\n%s" % (count,output))