mirror of https://gitee.com/openkylin/qemu.git
libqtest: refuse QTEST_QEMU_BINARY=qemu-kvm
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. Since this is an error that is triggered by the user and not a test failure, use exit(1) instead of abort(). Change the existing abort() call in qtest_get_arch() to exit(1) too for the same reason and to be consistent. Reported-by: Qin Wang <qinwang@rehdat.com> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> Reviewed-by: Emanuele Giuseppe Esposito <eesposit@redhat.com> Reviewed-by: Thomas Huth <thuth@redhat.com> Cc: Emanuele Giuseppe Esposito <eesposit@redhat.com> Message-Id: <20210412143050.725918-1-stefanha@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
This commit is contained in:
parent
ce508a3c29
commit
20868330a9
|
@ -907,7 +907,14 @@ const char *qtest_get_arch(void)
|
|||
|
||||
if (!end) {
|
||||
fprintf(stderr, "Can't determine architecture from binary name.\n");
|
||||
abort();
|
||||
exit(1);
|
||||
}
|
||||
|
||||
if (!strstr(qemu, "-system-")) {
|
||||
fprintf(stderr, "QTEST_QEMU_BINARY must end with *-system-<arch> "
|
||||
"where 'arch' is the target\narchitecture (x86_64, aarch64, "
|
||||
"etc).\n");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
return end + 1;
|
||||
|
|
Loading…
Reference in New Issue