From: Armin Kuster Date: Sun, 17 Nov 2019 03:35:16 +0000 (-0800) Subject: oeqa/runtime/boot: add reboot test X-Git-Tag: uninative-2.8~1080 X-Git-Url: https://code.ossystems.io/gitweb?a=commitdiff_plain;h=c8ddebee04a7c752986b407b98f4d0175f447d01;p=openembedded-core.git oeqa/runtime/boot: add reboot test Signed-off-by: Armin Kuster Signed-off-by: Richard Purdie --- diff --git a/meta/lib/oeqa/runtime/cases/boot.py b/meta/lib/oeqa/runtime/cases/boot.py new file mode 100644 index 0000000000..2142f400a0 --- /dev/null +++ b/meta/lib/oeqa/runtime/cases/boot.py @@ -0,0 +1,33 @@ +# +# SPDX-License-Identifier: MIT +# + +from subprocess import Popen, PIPE +import time + +from oeqa.runtime.case import OERuntimeTestCase +from oeqa.core.decorator.depends import OETestDepends +from oeqa.core.decorator.oetimeout import OETimeout +from oeqa.core.decorator.data import skipIfQemu + +class BootTest(OERuntimeTestCase): + + @OETimeout(120) + @skipIfQemu('qemuall', 'Test only runs on real hardware') + @OETestDepends(['ssh.SSHTest.test_ssh']) + def test_reboot(self): + output = '' + count = 0 + (status, output) = self.target.run('reboot -h') + while count < 5: + time.sleep(5) + cmd = 'ping -c 1 %s' % self.target.ip + proc = Popen(cmd, shell=True, stdout=PIPE) + output += proc.communicate()[0].decode('utf-8') + if proc.poll() == 0: + count += 1 + else: + count = 0 + msg = ('Expected 5 consecutive, got %d.\n' + 'ping output is:\n%s' % (count,output)) + self.assertEqual(count, 5, msg = msg)