Lines Matching +full:data +full:- +full:channel

2  * QEMU I/O channel sockets test
4 * Copyright (c) 2015-2016 Red Hat, Inc.
22 #include "io/channel-socket.h"
23 #include "io/channel-util.h"
24 #include "io-channel-helpers.h"
25 #include "socket-helpers.h"
28 #include "qemu/main-loop.h"
40 setsockopt(((QIOChannelSocket *)src)->fd, in test_io_channel_set_socket_bufs()
45 setsockopt(((QIOChannelSocket *)dst)->fd, in test_io_channel_set_socket_bufs()
63 if (listen_addr->type == SOCKET_ADDRESS_TYPE_INET) { in test_io_channel_setup_sync()
67 g_free(connect_addr->u.inet.port); in test_io_channel_setup_sync()
68 connect_addr->u.inet.port = g_strdup(laddr->u.inet.port); in test_io_channel_setup_sync()
97 struct TestIOChannelData *data = opaque; in test_io_channel_complete() local
98 data->err = qio_task_propagate_error(task, NULL); in test_io_channel_complete()
99 g_main_loop_quit(data->loop); in test_io_channel_complete()
110 struct TestIOChannelData data; in test_io_channel_setup_async() local
112 data.loop = g_main_loop_new(g_main_context_default(), in test_io_channel_setup_async()
118 test_io_channel_complete, &data, NULL, NULL); in test_io_channel_setup_async()
120 g_main_loop_run(data.loop); in test_io_channel_setup_async()
123 g_assert(!data.err); in test_io_channel_setup_async()
125 if (listen_addr->type == SOCKET_ADDRESS_TYPE_INET) { in test_io_channel_setup_async()
129 g_free(connect_addr->u.inet.port); in test_io_channel_setup_async()
130 connect_addr->u.inet.port = g_strdup(laddr->u.inet.port); in test_io_channel_setup_async()
139 test_io_channel_complete, &data, NULL, NULL); in test_io_channel_setup_async()
141 g_main_loop_run(data.loop); in test_io_channel_setup_async()
144 g_assert(!data.err); in test_io_channel_setup_async()
155 g_main_loop_unref(data.loop); in test_io_channel_setup_async()
162 if (addr->type != SOCKET_ADDRESS_TYPE_UNIX) { in test_io_channel_socket_path_exists()
166 g_assert(g_file_test(addr->u.q_unix.path, in test_io_channel_socket_path_exists()
311 listen_addr->type = SOCKET_ADDRESS_TYPE_INET; in test_io_channel_ipv4()
312 listen_addr->u.inet = (InetSocketAddress) { in test_io_channel_ipv4()
314 .port = NULL, /* Auto-select */ in test_io_channel_ipv4()
317 connect_addr->type = SOCKET_ADDRESS_TYPE_INET; in test_io_channel_ipv4()
318 connect_addr->u.inet = (InetSocketAddress) { in test_io_channel_ipv4()
347 listen_addr->type = SOCKET_ADDRESS_TYPE_INET; in test_io_channel_ipv6()
348 listen_addr->u.inet = (InetSocketAddress) { in test_io_channel_ipv6()
350 .port = NULL, /* Auto-select */ in test_io_channel_ipv6()
353 connect_addr->type = SOCKET_ADDRESS_TYPE_INET; in test_io_channel_ipv6()
354 connect_addr->u.inet = (InetSocketAddress) { in test_io_channel_ipv6()
383 #define TEST_SOCKET "test-io-channel-socket.sock" in test_io_channel_unix()
384 listen_addr->type = SOCKET_ADDRESS_TYPE_UNIX; in test_io_channel_unix()
385 listen_addr->u.q_unix.path = g_strdup(TEST_SOCKET); in test_io_channel_unix()
387 connect_addr->type = SOCKET_ADDRESS_TYPE_UNIX; in test_io_channel_unix()
388 connect_addr->u.q_unix.path = g_strdup(TEST_SOCKET); in test_io_channel_unix()
422 #define TEST_SOCKET "test-io-channel-socket.sock" in test_io_channel_unix_fd_pass()
423 #define TEST_FILE "test-io-channel-socket.txt" in test_io_channel_unix_fd_pass()
426 g_assert(testfd != -1); in test_io_channel_unix_fd_pass()
431 listen_addr->type = SOCKET_ADDRESS_TYPE_UNIX; in test_io_channel_unix_fd_pass()
432 listen_addr->u.q_unix.path = g_strdup(TEST_SOCKET); in test_io_channel_unix_fd_pass()
434 connect_addr->type = SOCKET_ADDRESS_TYPE_UNIX; in test_io_channel_unix_fd_pass()
435 connect_addr->u.q_unix.path = g_strdup(TEST_SOCKET); in test_io_channel_unix_fd_pass()
479 /* Write some data into the FD we received */ in test_io_channel_unix_fd_pass()
483 /* Read data from the original FD and make sure it matches */ in test_io_channel_unix_fd_pass()
511 #define TEST_SOCKET "test-io-channel-socket.sock" in test_io_channel_unix_listen_cleanup()
525 ioc->fd = sock; in test_io_channel_unix_listen_cleanup()
526 ioc->localAddrLen = sizeof(ioc->localAddr); in test_io_channel_unix_listen_cleanup()
527 getsockname(sock, (struct sockaddr *)&ioc->localAddr, in test_io_channel_unix_listen_cleanup()
528 &ioc->localAddrLen); in test_io_channel_unix_listen_cleanup()
540 int fd = -1; in test_io_channel_ipv4_fd()
546 /* Leave port unset for auto-assign */ in test_io_channel_ipv4_fd()
551 g_assert_cmpint(fd, >, -1); in test_io_channel_ipv4_fd()
586 g_test_add_func("/io/channel/socket/ipv4-sync", in main()
588 g_test_add_func("/io/channel/socket/ipv4-async", in main()
590 g_test_add_func("/io/channel/socket/ipv4-fd", in main()
594 g_test_add_func("/io/channel/socket/ipv6-sync", in main()
596 g_test_add_func("/io/channel/socket/ipv6-async", in main()
602 g_test_add_func("/io/channel/socket/unix-sync", in main()
604 g_test_add_func("/io/channel/socket/unix-async", in main()
607 g_test_add_func("/io/channel/socket/unix-fd-pass", in main()
610 g_test_add_func("/io/channel/socket/unix-listen-cleanup", in main()