Lines Matching defs:server

35 static struct test_server server;
61 i_debug("server listening on %u", *bind_port);
71 test_server_wait_connection(struct test_server *server, bool send_banner)
73 server->fd = net_accept(server->fd_listen, NULL, NULL);
74 i_assert(server->fd >= 0);
76 fd_set_nonblock(server->fd, FALSE);
77 server->input = i_stream_create_fd(server->fd, (size_t)-1);
78 server->output = o_stream_create_fd(server->fd, (size_t)-1);
79 o_stream_set_no_error_handling(server->output, TRUE);
82 o_stream_nsend_str(server->output,
87 static void test_server_disconnect(struct test_server *server)
89 i_stream_unref(&server->input);
90 o_stream_unref(&server->output);
91 i_close_fd(&server->fd);
96 test_server_disconnect(&server);
97 test_server_wait_connection(&server, send_banner);
102 if (server.pid != (pid_t)-1) {
103 if (kill(server.pid, SIGKILL) < 0)
104 i_fatal("kill(%ld) failed: %m", (long)server.pid);
105 if (waitpid(server.pid, NULL, 0) < 0)
106 i_fatal("waitpid(%ld) failed: %m", (long)server.pid);
107 server.pid = -1;
124 i_zero(&server);
125 server.pid = (pid_t)-1;
126 server.fd = -1;
127 server.fd_listen = test_open_server_fd(&server.port);
128 client_set_copy.port = server.port;
130 i_close_fd(&server.fd_listen);
135 if ((server.pid = fork()) == (pid_t)-1)
137 if (server.pid == 0) {
138 server.pid = (pid_t)-1;
141 i_debug("server: PID=%s", my_pid);
142 /* child: server */
146 test_server_disconnect(&server);
155 usleep(100000); /* wait a little for server setup */
165 i_close_fd(&server.fd_listen);
195 const char *line = i_stream_read_next_line(server.input);
199 i_stream_get_error(server.input));
279 struct test_server server2 = { .fd_listen = server.fd_listen };
281 test_server_wait_connection(&server, FALSE);
310 struct test_server server2 = { .fd_listen = server.fd_listen };
312 test_server_wait_connection(&server, TRUE);
336 /* login to server */
362 test_server_wait_connection(&server, TRUE);
364 o_stream_nsend_str(server.output, "1 OK \r\n");
370 o_stream_nsend_str(server.output, "4 OK \r\n");
372 o_stream_nsend_str(server.output, "3 OK \r\n");
374 test_assert(i_stream_read_next_line(server.input) == NULL);
391 /* login to server */
422 test_server_wait_connection(&server, TRUE);
424 o_stream_nsend_str(server.output, "1 OK \r\n");
432 o_stream_nsend_str(server.output, "5 OK \r\n");
434 o_stream_nsend_str(server.output, "2 OK \r\n");
436 o_stream_nsend_str(server.output, "3 OK \r\n");
438 test_assert(i_stream_read_next_line(server.input) == NULL);
455 /* login to server */
486 test_server_wait_connection(&server, TRUE);
488 o_stream_nsend_str(server.output, "1 OK \r\n");
493 test_server_disconnect(&server);
511 /* login to server */
551 test_server_wait_connection(&server, TRUE);
553 o_stream_nsend_str(server.output, "1 OK \r\n");
556 o_stream_nsend_str(server.output, "2 OK \r\n");
563 o_stream_nsend_str(server.output, "5 OK \r\n");
565 o_stream_nsend_str(server.output, "6 OK \r\n");
567 o_stream_nsend_str(server.output, "3 OK \r\n");
569 test_assert(i_stream_read_next_line(server.input) == NULL);
594 test_server_wait_connection(&server, TRUE);
596 o_stream_nsend_str(server.output, "1 OK \r\n");
599 o_stream_nsend_str(server.output, "2 OK \r\n");
601 test_assert(i_stream_read_next_line(server.input) == NULL);
628 test_server_wait_connection(&server, TRUE);
632 o_stream_nsend_str(server.output, "2 OK \r\n");
635 o_stream_nsend_str(server.output, "3 OK \r\n");
637 test_assert(i_stream_read_next_line(server.input) == NULL);
662 test_server_wait_connection(&server, TRUE);