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

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.)

(From OE-Core rev: 6fd19a9df0ad25b2822f12e2c3a97f1b71068d4e)

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>
This commit is contained in:
Stefan Stanacar 2013-09-25 12:30:49 +00:00 committed by Richard Purdie
parent 141d4f3179
commit 41f88ee1db
1 changed files with 7 additions and 4 deletions

View 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))