summaryrefslogtreecommitdiffstats
path: root/meta/lib/oeqa/runtime/ping.py
blob: 0f274479265d2984a527e7062777462bd64134d8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import subprocess
import unittest
import sys
import time
from oeqa.oetest import oeRuntimeTest
from oeqa.utils.decorators import *

class PingTest(oeRuntimeTest):

    @testcase(964)
    def test_ping(self):
        output = ''
        count = 0
        endtime = time.time() + 60
        while count < 5 and time.time() < endtime:
            proc = subprocess.Popen("ping -c 1 %s" % self.target.ip, shell=True, stdout=subprocess.PIPE)
            output += proc.communicate()[0].decode("utf-8")
            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))