]> code.ossystems Code Review - openembedded-core.git/commitdiff
lib/oeqa/runtime: ping: wait for 5 echo replies
authorStefan Stanacar <stefanx.stanacar@intel.com>
Wed, 25 Sep 2013 12:30:49 +0000 (12:30 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 26 Sep 2013 15:37:13 +0000 (16:37 +0100)
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>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/lib/oeqa/runtime/ping.py

index e163b969f0ac510fd7e36a1ece7bf3249a0f5048..0d028f9b221473e41f78d31e6365156e77f2e028 100644 (file)
@@ -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))