[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 3/9] tests/libqtest: Use a proper error message if QT
From: |
Thomas Huth |
Subject: |
[Qemu-devel] [PULL 3/9] tests/libqtest: Use a proper error message if QTEST_QEMU_BINARY is missing |
Date: |
Fri, 15 Sep 2017 10:02:23 +0200 |
The user can currently still cause an abort() if running certain tests
(like the prom-env-test) without setting the QTEST_QEMU_BINARY first.
A similar problem has been fixed with commit 7c933ad61b8f3f51337
already, but forgot to also take care of the qtest_get_arch() function,
so let's introduce a proper wrapper around getenv("QTEST_QEMU_BINARY")
that can be used in both locations now.
Buglink: https://bugs.launchpad.net/qemu/+bug/1713434
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Reviewed-by: John Snow <address@hidden>
Signed-off-by: Thomas Huth <address@hidden>
---
tests/libqtest.c | 24 +++++++++++++++---------
1 file changed, 15 insertions(+), 9 deletions(-)
diff --git a/tests/libqtest.c b/tests/libqtest.c
index 0c12b38..3daa0e3 100644
--- a/tests/libqtest.c
+++ b/tests/libqtest.c
@@ -150,6 +150,19 @@ void qtest_add_abrt_handler(GHookFunc fn, const void *data)
g_hook_prepend(&abrt_hooks, hook);
}
+static const char *qtest_qemu_binary(void)
+{
+ const char *qemu_bin;
+
+ qemu_bin = getenv("QTEST_QEMU_BINARY");
+ if (!qemu_bin) {
+ fprintf(stderr, "Environment variable QTEST_QEMU_BINARY required\n");
+ exit(1);
+ }
+
+ return qemu_bin;
+}
+
QTestState *qtest_init_without_qmp_handshake(const char *extra_args)
{
QTestState *s;
@@ -157,13 +170,7 @@ QTestState *qtest_init_without_qmp_handshake(const char
*extra_args)
gchar *socket_path;
gchar *qmp_socket_path;
gchar *command;
- const char *qemu_binary;
-
- qemu_binary = getenv("QTEST_QEMU_BINARY");
- if (!qemu_binary) {
- fprintf(stderr, "Environment variable QTEST_QEMU_BINARY required\n");
- exit(1);
- }
+ const char *qemu_binary = qtest_qemu_binary();
s = g_malloc(sizeof(*s));
@@ -624,8 +631,7 @@ char *qtest_hmp(QTestState *s, const char *fmt, ...)
const char *qtest_get_arch(void)
{
- const char *qemu = getenv("QTEST_QEMU_BINARY");
- g_assert(qemu != NULL);
+ const char *qemu = qtest_qemu_binary();
const char *end = strrchr(qemu, '/');
return end + strlen("/qemu-system-");
--
1.8.3.1
- [Qemu-devel] [PULL 0/9] Fixes and improvements for various qtests, Thomas Huth, 2017/09/15
- [Qemu-devel] [PULL 1/9] tests: Introduce generic device hot-plug/hot-unplug functions, Thomas Huth, 2017/09/15
- [Qemu-devel] [PULL 2/9] tests/test-hmp: Remove puv3 and tricore_testboard from the blacklist, Thomas Huth, 2017/09/15
- [Qemu-devel] [PULL 3/9] tests/libqtest: Use a proper error message if QTEST_QEMU_BINARY is missing,
Thomas Huth <=
- [Qemu-devel] [PULL 4/9] tests: Fix broken ivshmem-server-msi/-irq tests, Thomas Huth, 2017/09/15
- [Qemu-devel] [PULL 7/9] numa-test: Use hmp(), Thomas Huth, 2017/09/15
- [Qemu-devel] [PULL 6/9] qtest: Don't perform side effects inside assertion, Thomas Huth, 2017/09/15
- [Qemu-devel] [PULL 5/9] test-qga: Kill broken and dead QGA_TEST_SIDE_EFFECTING code, Thomas Huth, 2017/09/15
- [Qemu-devel] [PULL 9/9] qtest: Avoid passing raw strings through hmp(), Thomas Huth, 2017/09/15
- [Qemu-devel] [PULL 8/9] libqtest: Remove dead qtest_instances variable, Thomas Huth, 2017/09/15
- Re: [Qemu-devel] [PULL 0/9] Fixes and improvements for various qtests, Peter Maydell, 2017/09/15