[OE-core] [PATCH 2/5] oeqa/runtime/syslog: Improve test debug messages
Richard Purdie
richard.purdie at linuxfoundation.org
Wed Jun 26 16:30:41 UTC 2019
Its useful to test whether the restart command returned an error code and
exit early from the test if so.
Also add different messages to tell if the syslog processes didn't
die or didn't restart.
Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
---
meta/lib/oeqa/runtime/cases/oe_syslog.py | 32 +++++++++++++++---------
1 file changed, 20 insertions(+), 12 deletions(-)
diff --git a/meta/lib/oeqa/runtime/cases/oe_syslog.py b/meta/lib/oeqa/runtime/cases/oe_syslog.py
index 0f79e5a0f38..f987dccfb1b 100644
--- a/meta/lib/oeqa/runtime/cases/oe_syslog.py
+++ b/meta/lib/oeqa/runtime/cases/oe_syslog.py
@@ -43,31 +43,38 @@ class SyslogTestConfig(OERuntimeTestCase):
def restart_sanity(self, names, restart_cmd):
status, original_pids = self.verify_running(names)
if status:
- return 1
+ return False
status, output = self.target.run(restart_cmd)
+ msg = ('Could not restart %s service. Status and output: %s and %s' % (names, status, output))
+ self.assertEqual(status, 0, msg)
+
# Always check for an error, most likely a race between shutting down and starting up
timeout = time.time() + 30
+ restarted = False
+ status = ""
while time.time() < timeout:
# Verify the previous ones are no longer running
status = self.verif_not_running(original_pids)
if status:
+ status = "Original syslog processes still running"
continue
status, pids = self.verify_running(names)
if status:
+ status = "New syslog processes not running"
continue
# Everything is fine now, so exit to continue the test
- status = 0
+ restarted = True
break
- msg = ('Could not restart %s service. Status and output: %s and %s'
- %(names, status, output))
- self.assertEqual(status, 0, msg)
+ msg = ('%s didn\'t appear to restart: %s' % (names, status))
+ self.assertTrue(restarted, msg)
+ return True
@OETestDepends(['oe_syslog.SyslogTest.test_syslog_running'])
def test_syslog_logger(self):
@@ -88,13 +95,14 @@ class SyslogTestConfig(OERuntimeTestCase):
@OETestDepends(['oe_syslog.SyslogTest.test_syslog_running'])
def test_syslog_restart(self):
- status = self.restart_sanity(['systemd-journald'], 'systemctl restart syslog.service')
- if status:
- status = self.restart_sanity(['rsyslogd'], '/etc/init.d/rsyslog restart')
- if status:
- status = self.restart_sanity(['syslogd', 'klogd'], '/etc/init.d/syslog restart')
- else:
- self.logger.info("No syslog found to restart, ignoring")
+ if self.restart_sanity(['systemd-journald'], 'systemctl restart syslog.service'):
+ pass
+ elif self.restart_sanity(['rsyslogd'], '/etc/init.d/rsyslog restart'):
+ pass
+ elif self.restart_sanity(['syslogd', 'klogd'], '/etc/init.d/syslog restart'):
+ pass
+ else:
+ self.logger.info("No syslog found to restart, ignoring")
@OETestDepends(['oe_syslog.SyslogTestConfig.test_syslog_logger'])
--
2.20.1
More information about the Openembedded-core
mailing list