oqea/runtime/oe_syslog: Improve test

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.

(From OE-Core rev: 749264d5f6f86affbee3cfc096084e073c21c394)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Richard Purdie
2022-02-04 17:52:00 +00:00
parent b0922ed9b3
commit 734ae5f647

View 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()