|
@@ -1203,6 +1203,30 @@ static void char_serial_test(void)
|
|
}
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
|
|
|
|
+#if defined(HAVE_CHARDEV_PARALLEL) && !defined(WIN32)
|
|
|
|
+static void char_parallel_test(void)
|
|
|
|
+{
|
|
|
|
+ QemuOpts *opts;
|
|
|
|
+ Chardev *chr;
|
|
|
|
+
|
|
|
|
+ opts = qemu_opts_create(qemu_find_opts("chardev"), "parallel-id",
|
|
|
|
+ 1, &error_abort);
|
|
|
|
+ qemu_opt_set(opts, "backend", "parallel", &error_abort);
|
|
|
|
+ qemu_opt_set(opts, "path", "/dev/null", &error_abort);
|
|
|
|
+
|
|
|
|
+ chr = qemu_chr_new_from_opts(opts, NULL, NULL);
|
|
|
|
+#ifdef __linux__
|
|
|
|
+ /* fails to PPCLAIM, see qemu_chr_open_pp_fd() */
|
|
|
|
+ g_assert_null(chr);
|
|
|
|
+#else
|
|
|
|
+ g_assert_nonnull(chr);
|
|
|
|
+ object_unparent(OBJECT(chr));
|
|
|
|
+#endif
|
|
|
|
+
|
|
|
|
+ qemu_opts_del(opts);
|
|
|
|
+}
|
|
|
|
+#endif
|
|
|
|
+
|
|
#ifndef _WIN32
|
|
#ifndef _WIN32
|
|
static void char_file_fifo_test(void)
|
|
static void char_file_fifo_test(void)
|
|
{
|
|
{
|
|
@@ -1544,6 +1568,9 @@ int main(int argc, char **argv)
|
|
g_test_add_func("/char/udp", char_udp_test);
|
|
g_test_add_func("/char/udp", char_udp_test);
|
|
#if defined(HAVE_CHARDEV_SERIAL) && !defined(WIN32)
|
|
#if defined(HAVE_CHARDEV_SERIAL) && !defined(WIN32)
|
|
g_test_add_func("/char/serial", char_serial_test);
|
|
g_test_add_func("/char/serial", char_serial_test);
|
|
|
|
+#endif
|
|
|
|
+#if defined(HAVE_CHARDEV_PARALLEL) && !defined(WIN32)
|
|
|
|
+ g_test_add_func("/char/parallel", char_parallel_test);
|
|
#endif
|
|
#endif
|
|
g_test_add_func("/char/hotswap", char_hotswap_test);
|
|
g_test_add_func("/char/hotswap", char_hotswap_test);
|
|
g_test_add_func("/char/websocket", char_websock_test);
|
|
g_test_add_func("/char/websocket", char_websock_test);
|