tests/qtest/libqtest: Fix detection of architecture for binaries without path
The qtests can be run directly by specifying the QEMU binary with the QTEST_QEMU_BINARY environment variable, for example: $ QTEST_QEMU_BINARY=x86_64-softmmu/qemu-system-x86_64 tests/qtest/test-hmp However, if you specify a binary without a path, for example with QTEST_QEMU_BINARY=qemu-system-x86_64 if the QEMU binary is in your $PATH, then the test currently simply crashes. Let's try a little bit smarter here by looking for the final '-' instead of the slash. Message-Id: <20201012114816.43546-1-thuth@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
This commit is contained in:
parent
9ab4fb21f5
commit
b7f47e82e2
@ -870,9 +870,14 @@ char *qtest_hmp(QTestState *s, const char *fmt, ...)
|
||||
const char *qtest_get_arch(void)
|
||||
{
|
||||
const char *qemu = qtest_qemu_binary();
|
||||
const char *end = strrchr(qemu, '/');
|
||||
const char *end = strrchr(qemu, '-');
|
||||
|
||||
return end + strlen("/qemu-system-");
|
||||
if (!end) {
|
||||
fprintf(stderr, "Can't determine architecture from binary name.\n");
|
||||
abort();
|
||||
}
|
||||
|
||||
return end + 1;
|
||||
}
|
||||
|
||||
bool qtest_get_irq(QTestState *s, int num)
|
||||
|
Loading…
Reference in New Issue
Block a user