Peter Maydell <peter.mayd...@linaro.org> writes:

> The avocado test
>  tests/avocado/boot_linux_console.py:BootLinuxConsole.test_arm_raspi2_initrd
> finishes wiith
>
>     exec_command(self, 'halt')
>     # Wait for VM to shut down gracefully
>     self.vm.wait()
>
> In theory this should be fine. In practice it runs into two bugs:
>
>  * when the test calls self.vm.wait() Avocado closes the socket
>    connection to the guest serial console immediately, so the
>    avocado logs don't have the last part of the guest output:
>    https://gitlab.com/qemu-project/qemu/-/issues/1265
>  * when the socket is closed, a bug in the QEMU socket chardev
>    means that it loses any data that the guest UART has not
>    yet consumed. This means that the guest doesn't always read
>    the full 'halt' command string, so the test intermittently
>    fails with a timeout:
>    https://gitlab.com/qemu-project/qemu/-/issues/1264
>
> Work around both of these by waiting for the guest to print the
> string that means it has completed the shutdown process.  This fixes
> a very long standing intermittent failure in this test.
>
> Resolves: https://gitlab.com/qemu-project/qemu/-/issues/636
> Signed-off-by: Peter Maydell <peter.mayd...@linaro.org>

Queued to testing/next, thanks.

-- 
Alex Bennée

Reply via email to