qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH] tests/libqtest: Print error instead of aborting when env variable is missing
@ 2017-05-19 23:54 Thomas Huth
  2017-05-22  7:24 ` Markus Armbruster
  0 siblings, 1 reply; 2+ messages in thread
From: Thomas Huth @ 2017-05-19 23:54 UTC (permalink / raw)
  To: qemu-devel; +Cc: Markus Armbruster, Eric Blake, qemu-trivial

When you currently try to run a test directly from the command line
without setting the QTEST_QEMU_BINARY environment variable first,
you are presented with an unhelpful assertion message like this:

 ERROR:tests/libqtest.c:163:qtest_init_without_qmp_handshake:
 assertion failed: (qemu_binary != NULL)
 Aborted (core dumped)

Let's replace the assert() with a more user friendly error message
instead.

Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 tests/libqtest.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/tests/libqtest.c b/tests/libqtest.c
index 84ecbd2..f0fd682 100644
--- a/tests/libqtest.c
+++ b/tests/libqtest.c
@@ -160,7 +160,11 @@ QTestState *qtest_init_without_qmp_handshake(const char *extra_args)
     const char *qemu_binary;
 
     qemu_binary = getenv("QTEST_QEMU_BINARY");
-    g_assert(qemu_binary != NULL);
+    if (!qemu_binary) {
+        fprintf(stderr, "The environment variable QTEST_QEMU_BINARY has to be "
+                        "set before running the test.\n");
+        exit(1);
+    }
 
     s = g_malloc(sizeof(*s));
 
-- 
1.8.3.1

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [Qemu-devel] [PATCH] tests/libqtest: Print error instead of aborting when env variable is missing
  2017-05-19 23:54 [Qemu-devel] [PATCH] tests/libqtest: Print error instead of aborting when env variable is missing Thomas Huth
@ 2017-05-22  7:24 ` Markus Armbruster
  0 siblings, 0 replies; 2+ messages in thread
From: Markus Armbruster @ 2017-05-22  7:24 UTC (permalink / raw)
  To: Thomas Huth; +Cc: qemu-devel, qemu-trivial

Thomas Huth <thuth@redhat.com> writes:

> When you currently try to run a test directly from the command line
> without setting the QTEST_QEMU_BINARY environment variable first,
> you are presented with an unhelpful assertion message like this:
>
>  ERROR:tests/libqtest.c:163:qtest_init_without_qmp_handshake:
>  assertion failed: (qemu_binary != NULL)
>  Aborted (core dumped)
>
> Let's replace the assert() with a more user friendly error message
> instead.
>
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>  tests/libqtest.c | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/tests/libqtest.c b/tests/libqtest.c
> index 84ecbd2..f0fd682 100644
> --- a/tests/libqtest.c
> +++ b/tests/libqtest.c
> @@ -160,7 +160,11 @@ QTestState *qtest_init_without_qmp_handshake(const char *extra_args)
>      const char *qemu_binary;
>  
>      qemu_binary = getenv("QTEST_QEMU_BINARY");
> -    g_assert(qemu_binary != NULL);
> +    if (!qemu_binary) {
> +        fprintf(stderr, "The environment variable QTEST_QEMU_BINARY has to be "
> +                        "set before running the test.\n");

Nitpick: error messages usually don't end with a period.

I'm fine with the message itself, although I'd have written somehing
more laconic like "Environment variable QTEST_QEMU_BINARY required".
Your choice.

> +        exit(1);
> +    }
>  
>      s = g_malloc(sizeof(*s));

Reviewed-by: Markus Armbruster <armbru@redhat.com>

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2017-05-22  7:24 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-05-19 23:54 [Qemu-devel] [PATCH] tests/libqtest: Print error instead of aborting when env variable is missing Thomas Huth
2017-05-22  7:24 ` Markus Armbruster

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).