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

Marc-André Lureau posted 6 patches 7 years, 8 months ago
[Qemu-devel] [PATCH 4/6] vhost-user-test: do not hang if chardev creation failed
Posted by Marc-André Lureau 7 years, 8 months ago
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(+)

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);
-- 
2.16.1.73.g5832b7e9f2


Re: [Qemu-devel] [PATCH 4/6] vhost-user-test: do not hang if chardev creation failed
Posted by Maxime Coquelin 7 years, 8 months ago

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