[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