Re: [kvm-unit-tests PATCH] runtime: better handling of QEMU aborts

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Nov 15, 2016 at 03:28:43PM +0100, Andrew Jones wrote:
> Add two changes to run_qemu. The first saves/restores terminal settings.
> This solves an annoying loss of terminal echo when QEMU aborts during
> a test run. The second ensures we see a message about the abort, because
> the "Aborted (core dumped)" message we should see gets eaten.
> 
> Note, the first change is necessary because QEMU modifies the terminal
> settings when using '-serial stdio', but calling abort() invokes exit
> without first calling qemu_chr_free(serial_hds[0]) to restore them.
> 
> Reported-by: Peter Maydell <peter.maydell@xxxxxxxxxx>
> Signed-off-by: Andrew Jones <drjones@xxxxxxxxxx>
> ---
>  scripts/arch-run.bash | 8 +++++++-
>  1 file changed, 7 insertions(+), 1 deletion(-)
> 
> diff --git a/scripts/arch-run.bash b/scripts/arch-run.bash
> index 8e75c6ed6e17..2b288205ab55 100644
> --- a/scripts/arch-run.bash
> +++ b/scripts/arch-run.bash
> @@ -26,13 +26,19 @@
>  ##############################################################################
>  run_qemu ()
>  {
> -	local stdout errors ret sig
> +	local stdout errors ret sig tty
>  
>  	# stdout to {stdout}, stderr to $errors
> +	tty=$(stty -g)
>  	exec {stdout}>&1
>  	errors=$("${@}" 2>&1 1>&${stdout})
>  	ret=$?
>  	exec {stdout}>&-
> +	stty "$tty"
> +
> +	if [ $ret -eq 134 ]; then
> +		errors=$(printf "%s\n" "$errors"; echo "QEMU Aborted")

Doh, this prints an empty line when errors is empty. Anyway, Radim
just reminded me that code here has changed with some in-flight patch.
I'll rebase on that when it lands.

> +	fi
>  
>  	if [ "$errors" ]; then
>  		printf "%s\n" "$errors" >&2
> -- 
> 2.7.4
> 
> --
> To unsubscribe from this list: send the line "unsubscribe kvm" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux