diff mbox series

[4/6] vhost-user-test: do not hang if chardev creation failed

Message ID 20180215212552.26997-5-marcandre.lureau@redhat.com
State New
Headers show
Series vhost-user-test and leak fixes | expand

Commit Message

Marc-André Lureau Feb. 15, 2018, 9:25 p.m. UTC
Before the chardev name fix, the following error may happen: "attempt
to add duplicate property 'chr-test' to object (type 'container')",
due to races.

Sadly, error_vprintf() uses g_test_message(), so you have to use
read the cryptic --debug-log to see it. Later, it would make sense to
use g_critical() instead, and catch errors with
g_test_expect_message() (in glib 2.34).

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
 tests/vhost-user-test.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Maxime Coquelin Feb. 23, 2018, 2:16 p.m. UTC | #1
On 02/15/2018 10:25 PM, Marc-André Lureau wrote:
> Before the chardev name fix, the following error may happen: "attempt
> to add duplicate property 'chr-test' to object (type 'container')",
> due to races.
> 
> Sadly, error_vprintf() uses g_test_message(), so you have to use
> read the cryptic --debug-log to see it. Later, it would make sense to
> use g_critical() instead, and catch errors with
> g_test_expect_message() (in glib 2.34).
> 
> Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
> ---
>   tests/vhost-user-test.c | 1 +
>   1 file changed, 1 insertion(+)
Acked-by: Maxime Coquelin <maxime.coquelin@redhat.com>

Thanks,
Maxime
diff mbox series

Patch

diff --git a/tests/vhost-user-test.c b/tests/vhost-user-test.c
index 67e5f7f858..efd28411d3 100644
--- a/tests/vhost-user-test.c
+++ b/tests/vhost-user-test.c
@@ -513,6 +513,7 @@  static void test_server_create_chr(TestServer *server, const gchar *opt)
     chr = qemu_chr_new(server->chr_name, chr_path);
     g_free(chr_path);
 
+    g_assert_nonnull(chr);
     qemu_chr_fe_init(&server->chr, chr, &error_abort);
     qemu_chr_fe_set_handlers(&server->chr, chr_can_read, chr_read,
                              chr_event, NULL, server, NULL, true);