]> code.ossystems Code Review - openembedded-core.git/commitdiff
oqea/runtime/oe_syslog: Improve test
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Fri, 4 Feb 2022 17:52:00 +0000 (17:52 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Sat, 5 Feb 2022 12:25:55 +0000 (12:25 +0000)
We're seeing failures on the autobuilder where the log message isn't present in the
log. This could just be a race in the compound command but it is hard to say due
to the poor log output from the test.

Splitting the command into two sections should add more of a delay whilst ssh
reconnects and may well fix the issues but this change should also improve
the log output in the failure case too so if the failure isn't solved, we should
be better able to debug it.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/lib/oeqa/runtime/cases/oe_syslog.py

index f3c2bedbaf99dfd07f938351a75c655dd774da36..150b70d9f0336b62dff678a45ac2c59bf5251d93 100644 (file)
@@ -121,11 +121,16 @@ class SyslogTestConfig(OERuntimeTestCase):
 
         self.test_syslog_restart()
 
-        cmd = 'logger foobar && grep foobar /var/log/test'
-        status,output = self.target.run(cmd)
-        msg = 'Test log string not found. Output: %s ' % output
+        cmd = 'logger foobar'
+        status, output = self.target.run(cmd)
+        msg = 'Logger command failed, %s. Output: %s ' % (status, output)
         self.assertEqual(status, 0, msg=msg)
 
+        cmd = 'cat /var/log/test'
+        status, output = self.target.run(cmd)
+        if "foobar" not in output or status:
+            self.fail("'foobar' not found in logfile, status %s, contents %s" % (status, output))
+
         cmd = "sed -i 's#LOGFILE=/var/log/test##' /etc/syslog-startup.conf"
         self.target.run(cmd)
         self.test_syslog_restart()