mirror of
https://git.yoctoproject.org/poky
synced 2026-02-10 10:43:02 +01:00
Under high load, the ssh test is hitting the amount of retries. Increase it to 20 to avoid this issue. This would increase the maximum failure time from 50 seconds (5 * 10) to 100 seconds. (From OE-Core rev: c796438eec5dd6b4671b798f85506bc89ff402ab) Signed-off-by: Jon Mason <jdmason@kudzu.us> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
38 lines
1.4 KiB
Python
38 lines
1.4 KiB
Python
#
|
|
# Copyright OpenEmbedded Contributors
|
|
#
|
|
# SPDX-License-Identifier: MIT
|
|
#
|
|
|
|
import time
|
|
import signal
|
|
|
|
from oeqa.runtime.case import OERuntimeTestCase
|
|
from oeqa.core.decorator.depends import OETestDepends
|
|
from oeqa.runtime.decorator.package import OEHasPackage
|
|
|
|
class SSHTest(OERuntimeTestCase):
|
|
|
|
@OETestDepends(['ping.PingTest.test_ping'])
|
|
@OEHasPackage(['dropbear', 'openssh-sshd'])
|
|
def test_ssh(self):
|
|
for i in range(20):
|
|
status, output = self.target.run("uname -a", timeout=5)
|
|
if status == 0:
|
|
break
|
|
elif status == 255 or status == -signal.SIGTERM:
|
|
# ssh returns 255 only if a ssh error occurs. This could
|
|
# be an issue with "Connection refused" because the port
|
|
# isn't open yet, and this could check explicitly for that
|
|
# here. However, let's keep it simple and just retry for
|
|
# all errors a limited amount of times with a sleep to
|
|
# give it time for the port to open.
|
|
# We sometimes see -15 (SIGTERM) on slow emulation machines too, likely
|
|
# from boot/init not being 100% complete, retry for these too.
|
|
time.sleep(5)
|
|
continue
|
|
else:
|
|
self.fail("uname failed with \"%s\" (exit code %s)" % (output, status))
|
|
if status != 0:
|
|
self.fail("ssh failed with \"%s\" (exit code %s)" % (output, status))
|