[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] libqtest: refuse QTEST_QEMU_BINARY=qemu-kvm
From: |
Laurent Vivier |
Subject: |
Re: [PATCH] libqtest: refuse QTEST_QEMU_BINARY=qemu-kvm |
Date: |
Thu, 8 Apr 2021 12:37:36 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.8.1 |
On 07/04/2021 12:45, Stefan Hajnoczi wrote:
> Some downstreams rename the QEMU binary to "qemu-kvm". This breaks
> qtest_get_arch(), which attempts to parse the target architecture from
> the QTEST_QEMU_BINARY environment variable.
>
> Print an error instead of returning the architecture "kvm". Things fail
> in weird ways when the architecture string is bogus.
>
> Arguably qtests should always be run in a build directory instead of
> against an installed QEMU. In any case, printing a clear error when this
> happens is helpful.
>
> Reported-by: Qin Wang <qinwang@rehdat.com>
> Cc: Emanuele Giuseppe Esposito <eesposit@redhat.com>
> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
> ---
> tests/qtest/libqtest.c | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/tests/qtest/libqtest.c b/tests/qtest/libqtest.c
> index 71e359efcd..2fc249c0b5 100644
> --- a/tests/qtest/libqtest.c
> +++ b/tests/qtest/libqtest.c
> @@ -910,6 +910,14 @@ const char *qtest_get_arch(void)
> abort();
> }
>
> + if (strcmp(end + 1, "kvm") == 0) {
> + fprintf(stderr, "QTEST_QEMU_BINARY must end with *-<arch>. If you
> are "
> + "using qemu-kvm, please create a symlink like ln -s "
> + "path/to/qemu-kvm qemu-system-x86_64 and use that "
> + "instead.\n");
> + abort();
> + }
> +
> return end + 1;
> }
>
I think it would be more generic to check we have the "-system-" string in the
name.
Thanks,
Laurent