[Buildroot] [PATCH 2/2] support/testing: add test for syslog-ng

Thomas Petazzoni thomas.petazzoni at bootlin.com
Thu Apr 19 21:19:03 UTC 2018


Hello,

On Thu, 19 Apr 2018 16:14:18 -0300, Ricardo Martincoski wrote:
> From: Ricardo Martincoski <ricardo.martincoski at datacom.ind.br>
> 
> Check:
>  - the daemon is started;
>  - a message is collected;
>  - the daemon does not issue a warning message on startup.
> 
> When the .conf file version does not match the package version a warning
> message shows up on serial on every boot. This message is generated by
> syslog-ng before it is running, so it is not logged to
> /var/log/messages. So in order to test the message is generated, restart
> the server. It makes the message appears on /var/log/messages (since the
> server is already running) where its existence can be easily tested
> using grep.
> 
> Signed-off-by: Ricardo Martincoski <ricardo.martincoski at datacom.ind.br>

Thanks, I've applied. Some comments/suggestions below, though.

> +    def test_run(self):
> +        cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio")
> +        self.emulator.boot(arch="armv5", kernel="builtin", options=["-initrd", cpio_file])
> +        self.emulator.login()
> +
> +        cmd = "grep syslog-ng /var/log/messages | grep starting"

Why a double grep, and not a single grep like:

	grep "syslog-ng.*starting"

or some better regexp ?

> +        _, exit_code = self.emulator.run(cmd)
> +        self.assertEqual(exit_code, 0)
> +
> +        cmd = "logger my-message;"
> +        cmd += "sleep 1;"
> +        cmd += "grep my-message /var/log/messages"

Maybe && between each command would be better ?

> +        _, exit_code = self.emulator.run(cmd)
> +        self.assertEqual(exit_code, 0)
> +
> +        cmd = "syslog-ng-ctl reload;"
> +        cmd += "sleep 1;"
> +        cmd += "grep syslog-ng /var/log/messages | grep -i warning"

Ditto single grep command ?

Thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com


More information about the buildroot mailing list