mirror of
git://git.yoctoproject.org/poky.git
synced 2025-07-19 12:59:02 +02:00
oeqa/runtime: Add debugging if networking fails
If networking fails, we can get useful informaiton over the serial connection. Add this fallback code so that any issues can be more easily debugged by showing the host and target networking states. (From OE-Core rev: 3291f9d07ecfe7d3301dc914f5e6a80577cf1d5d) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
a24b178666
commit
261a1409b1
|
@ -4,6 +4,9 @@
|
|||
# SPDX-License-Identifier: MIT
|
||||
#
|
||||
|
||||
import os
|
||||
import subprocess
|
||||
import time
|
||||
from oeqa.core.case import OETestCase
|
||||
from oeqa.utils.package_manager import install_package, uninstall_package
|
||||
|
||||
|
@ -18,3 +21,16 @@ class OERuntimeTestCase(OETestCase):
|
|||
def tearDown(self):
|
||||
super(OERuntimeTestCase, self).tearDown()
|
||||
uninstall_package(self)
|
||||
|
||||
def run_network_serialdebug(runner):
|
||||
status, output = runner.run_serial("ip addr")
|
||||
print("ip addr on target: %s %s" % (output, status))
|
||||
status, output = runner.run_serial("ping -c 1 %s" % self.target.server_ip)
|
||||
print("ping on target for %s: %s %s" % (self.target.server_ip, output, status))
|
||||
status, output = runner.run_serial("ping -c 1 %s" % self.target.ip)
|
||||
print("ping on target for %s: %s %s" % (self.target.ip, output, status))
|
||||
# Have to use a full path for netstat which isn't in HOSTTOOLS
|
||||
subprocess.call(["/usr/bin/netstat", "-tunape"])
|
||||
subprocess.call(["/usr/bin/netstat", "-ei"])
|
||||
subprocess.call(["ps", "-awx"], shell=True)
|
||||
print("PID: %s %s" % (str(os.getpid()), time.time()))
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
from subprocess import Popen, PIPE
|
||||
from time import sleep
|
||||
|
||||
from oeqa.runtime.case import OERuntimeTestCase
|
||||
from oeqa.runtime.case import OERuntimeTestCase, run_network_serialdebug
|
||||
from oeqa.core.decorator.oetimeout import OETimeout
|
||||
from oeqa.core.exception import OEQATimeoutError
|
||||
|
||||
|
@ -36,6 +36,7 @@ class PingTest(OERuntimeTestCase):
|
|||
count = 0
|
||||
sleep(1)
|
||||
except OEQATimeoutError:
|
||||
run_network_serialdebug(self.target.runner)
|
||||
self.fail("Ping timeout error for address %s, count %s, output: %s" % (self.target.ip, count, output))
|
||||
msg = ('Expected 5 consecutive, got %d.\n'
|
||||
'ping output is:\n%s' % (count,output))
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
import time
|
||||
import signal
|
||||
|
||||
from oeqa.runtime.case import OERuntimeTestCase
|
||||
from oeqa.runtime.case import OERuntimeTestCase, run_network_serialdebug
|
||||
from oeqa.core.decorator.depends import OETestDepends
|
||||
from oeqa.runtime.decorator.package import OEHasPackage
|
||||
|
||||
|
@ -32,6 +32,7 @@ class SSHTest(OERuntimeTestCase):
|
|||
time.sleep(5)
|
||||
continue
|
||||
else:
|
||||
run_network_serialdebug(self.target.runner)
|
||||
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))
|
||||
|
|
Loading…
Reference in New Issue
Block a user