From: Stephan Bosch Date: Fri, 24 Apr 2020 22:25:07 +0000 (+0200) Subject: lib-http: test-http-client-errors - Add support for server connection init/deinit... X-Git-Tag: 2.3.11.2~143 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=09e37e6f2b58d8b1179be54611ffc13e8162a03c;p=thirdparty%2Fdovecot%2Fcore.git lib-http: test-http-client-errors - Add support for server connection init/deinit functions. --- diff --git a/src/lib-http/test-http-client-errors.c b/src/lib-http/test-http-client-errors.c index 9defaf8b80..cd451c7a55 100644 --- a/src/lib-http/test-http-client-errors.c +++ b/src/lib-http/test-http-client-errors.c @@ -28,6 +28,7 @@ struct server_connection { struct connection conn; + void *context; pool_t pool; bool version_sent:1; @@ -59,6 +60,8 @@ static unsigned int server_pids_count = 0; static struct connection_list *server_conn_list; static size_t server_read_max = 0; static unsigned int server_index; +static int (*test_server_init)(struct server_connection *conn); +static void (*test_server_deinit)(struct server_connection *conn); static void (*test_server_input)(struct server_connection *conn); /* client */ @@ -3195,6 +3198,11 @@ static void server_connection_init(int fd) connection_init_server(server_conn_list, &conn->conn, "server connection", fd, fd); + + if (test_server_init != NULL) { + if (test_server_init(conn) != 0) + return; + } } static void server_connection_deinit(struct server_connection **_conn) @@ -3203,6 +3211,9 @@ static void server_connection_deinit(struct server_connection **_conn) *_conn = NULL; + if (test_server_deinit != NULL) + test_server_deinit(conn); + connection_deinit(&conn->conn); pool_unref(&conn->pool); } @@ -3310,6 +3321,10 @@ test_run_client_server(const struct http_client_settings *client_set, server_pids = NULL; server_pids_count = 0; + test_server_init = NULL; + test_server_deinit = NULL; + test_server_input = NULL; + if (server_tests_count > 0) { int fds[server_tests_count];