]> xenbits.xensource.com Git - qemu-xen.git/commitdiff
chardev: ensure qemu_chr_parse_compat reports missing driver error
authorDaniel P. Berrangé <berrange@redhat.com>
Mon, 11 Feb 2019 18:24:33 +0000 (18:24 +0000)
committerMarc-André Lureau <marcandre.lureau@redhat.com>
Tue, 12 Feb 2019 16:35:56 +0000 (17:35 +0100)
If no valid char driver was identified the qemu_chr_parse_compat method
was silent, leaving callers no clue what failed.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Message-Id: <20190211182442.8542-8-berrange@redhat.com>
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
chardev/char.c
tests/test-char.c

index ccba36bafb5f0d6fe8306886ad4af30523118e37..b99f3692f7639d8b1b7c968a33db4bf8816b6301 100644 (file)
@@ -490,6 +490,8 @@ QemuOpts *qemu_chr_parse_compat(const char *label, const char *filename,
         return opts;
     }
 
+    error_report("'%s' is not a valid char driver", filename);
+
 fail:
     qemu_opts_del(opts);
     return NULL;
index 018e2eed93fd4a8dc2367833a8c9dc74d87c7b3c..45203f5d7a43f74b47ade47aea66651c2adc7691 100644 (file)
@@ -932,9 +932,10 @@ static void char_null_test(void)
 static void char_invalid_test(void)
 {
     Chardev *chr;
-
+    g_setenv("QTEST_SILENT_ERRORS", "1", 1);
     chr = qemu_chr_new("label-invalid", "invalid");
     g_assert_null(chr);
+    g_unsetenv("QTEST_SILENT_ERRORS");
 }
 
 static int chardev_change(void *opaque)