On 1/19/20 7:15 AM, Richard Purdie wrote:
On Sat, 2020-01-18 at 23:16 +0000, Richard Purdie wrote:
On Thu, 2020-01-16 at 15:19 -0500, Trevor Gamblin wrote:
From: Trevor Gamblin <trevor.gamb...@windriver.com>
See bug https://bugzilla.yoctoproject.org/show_bug.cgi?id=13632
Autobuilder tests occasionally fail, reporting that a new logfile
could not be created. While this failure did occur multiple times,
it
could not be manually reproduced. However, there are issues with
the
implementation of the logrotate.py script that can be fixed. These
changes will help make the failures clearer, should they continue
to
occur.
Previously, the test_2_logrotate test would, after running the
logrotate tool, use "ls -al $HOME/logrotate_dir | wc -l" to count
the number of files in the rotation directory and determine if the
rotation was successful. The test to see if there are at least
three
files is problematic, because depending on the version of ls used,
it
may report the target value of 3 even when there are only hidden
files
in the directory, potentially reporting a pass for the test when it
should actually fail. An example with coreutils:
root@qemux86-64:~# ls -al emptydir/
total 2
drwxr-xr-x 2 root root 1024 Jan 14 19:50 .
drwx------ 3 root root 1024 Jan 14 19:50 ..
root@qemux86-64:~#
Where "total" is the number of blocks used. Compare with busybox
ls:
root@qemux86-64:~# ls -al emptydir/
drwxr-xr-x 2 root root 1024 Jan 14 19:54 .
drwx------ 3 root root 1024 Jan 14 19:54 ..
root@qemux86-64:~#
Instead of using ls to verify that a certain number of files exists
in $HOME/logrotate_dir, the tests have been changed to rotate two
specific logs: the log for wtmp and a new logrotate_testfile
created
during the second test. Both tests check that the logs are
correctly
rotated into $HOME/logrotate_dir by using find and grep on the
expected filename (e.g. "wtmp" when rotated becomes "wtmp.1", so we
check to see that wtmp.1 is present in $HOME/logrotate_dir). In
addition, should the test fail, the directory listing is included
in
the log to aid debugging.
Finally, note that while the autobuilder failures that this patch
addresses were only seen during core-image-full-cmdline tests,
these
changes were successfully tested on core-image-minimal and
core-image-sato with the manual addition of logrotate and openssh-
sshd
to the images.
Signed-off-by: Trevor Gamblin <trevor.gamb...@windriver.com>
Thanks for this, I haven't looked in detail but test builds came back
with:
https://autobuilder.yoctoproject.org/typhoon/#/builders/64/builds/1464
Also:
https://autobuilder.yoctoproject.org/typhoon/#/builders/64/builds/1467
https://autobuilder.yoctoproject.org/typhoon/#/builders/45/builds/1471
(but there was a pass for the above target too:
https://autobuilder.yoctoproject.org/typhoon/#/builders/45/builds/1468)
https://autobuilder.yoctoproject.org/typhoon/#/builders/76/builds/1464
(interesting 1c and 2c failed)
https://autobuilder.yoctoproject.org/typhoon/#/builders/102/builds/216
(may be related, systemd logrotate failure)
This is promising. I'll dig into it tonight/tomorrow.
Cheers,
Richard
--
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core