Skip to content

avocado should log all the guest console output until QEMU exits, not disconnect early

The tests/avocado/boot_linux_console.py:BootLinuxConsole.test_arm_raspi2_initrd avocado test currently finishes with

        exec_command(self, 'halt')
        # Wait for VM to shut down gracefully
        self.vm.wait()

This is a reasonable thing to do, but the Avocado log ends up not containing all the output from the guest console -- it cuts off before even the guest has had a chance to echo the 'halt' command to the console. This seems to be because calling self.vm.wait() immediately makes Avocado close the socket connection that is wired up to the guest console UART.

I think Avocado should instead keep the console connection open and log all the output from the guest as it shuts down until the QEMU process finally exits.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information