libmicrohttpd

HTTP/1.x server C library (MHD 1.x, stable)
Log | Files | Refs | Submodules | README | LICENSE

commit 391ee4df3cd67ed52bd6df3431e9164cf05d8a1e
parent d6444b0ad99797c7fe80ede9ebe7f55682b880ba
Author: Evgeny Grin (Karlson2k) <k2k@narod.ru>
Date:   Sun, 21 Sep 2025 16:16:19 +0200

test_get_close_keep_alive: improved reports readability

Diffstat:
Msrc/testcurl/test_get_close_keep_alive.c | 55+++++++++++++++++++++++++++++++++++++++----------------
1 file changed, 39 insertions(+), 16 deletions(-)

diff --git a/src/testcurl/test_get_close_keep_alive.c b/src/testcurl/test_get_close_keep_alive.c @@ -459,7 +459,7 @@ curlEasyInitForTest (const char *queryPath, uint16_t port, struct CBC *pcbc, } -static void +static int print_test_params (int add_hdr_close, int add_hdr_k_alive) { @@ -478,7 +478,9 @@ print_test_params (int add_hdr_close, mhd_set_10_server ? "yes" : " NO"); fprintf (stderr, "MHD response send \"Keep-Alive\": %s|", mhd_set_k_a_send ? "yes" : " NO"); - fprintf (stderr, "\n*** "); + fprintf (stderr, "\n"); + + return ! 0; } @@ -639,7 +641,9 @@ doCurlQueryInThread (struct MHD_Daemon *d, struct headers_check_result hdr_res; CURLcode errornum; int use_external_poll; + int params_printed; + params_printed = 0; dinfo = MHD_get_daemon_info (d, MHD_DAEMON_INFO_FLAGS); if (NULL == dinfo) { @@ -705,14 +709,16 @@ doCurlQueryInThread (struct MHD_Daemon *d, if (! hdr_res.found_http11 && ! hdr_res.found_http10) { - print_test_params (add_hdr_close, add_hdr_k_alive); + if (! params_printed) + params_printed = print_test_params (add_hdr_close, add_hdr_k_alive); fprintf (stderr, "No know HTTP versions were found in the " "reply header. Line: %d\n", __LINE__); exit (24); } else if (hdr_res.found_http11 && hdr_res.found_http10) { - print_test_params (add_hdr_close, add_hdr_k_alive); + if (! params_printed) + params_printed = print_test_params (add_hdr_close, add_hdr_k_alive); fprintf (stderr, "Both HTTP/1.1 and HTTP/1.0 were found in the " "reply header. Line: %d\n", __LINE__); exit (24); @@ -722,14 +728,16 @@ doCurlQueryInThread (struct MHD_Daemon *d, { if (! hdr_res.found_conn_close) { - print_test_params (add_hdr_close, add_hdr_k_alive); + if (! params_printed) + params_printed = print_test_params (add_hdr_close, add_hdr_k_alive); fprintf (stderr, "\"Connection: close\" was not found in" " MHD reply headers.\n"); p->queryError |= 2; } if (hdr_res.found_conn_keep_alive) { - print_test_params (add_hdr_close, add_hdr_k_alive); + if (! params_printed) + params_printed = print_test_params (add_hdr_close, add_hdr_k_alive); fprintf (stderr, "\"Connection: keep-alive\" was found in" " MHD reply headers.\n"); p->queryError |= 2; @@ -739,7 +747,8 @@ doCurlQueryInThread (struct MHD_Daemon *d, * otherwise it creates a race condition. */ if (0 != getMhdActiveConnections (d)) { - print_test_params (add_hdr_close, add_hdr_k_alive); + if (! params_printed) + params_printed = print_test_params (add_hdr_close, add_hdr_k_alive); fprintf (stderr, "MHD still has active connection " "after response has been sent.\n"); p->queryError |= 2; @@ -752,7 +761,8 @@ doCurlQueryInThread (struct MHD_Daemon *d, { /* Should have "Connection: Keep-Alive" */ if (! hdr_res.found_conn_keep_alive) { - print_test_params (add_hdr_close, add_hdr_k_alive); + if (! params_printed) + params_printed = print_test_params (add_hdr_close, add_hdr_k_alive); fprintf (stderr, "\"Connection: keep-alive\" was not found in" " MHD reply headers.\n"); p->queryError |= 2; @@ -762,7 +772,8 @@ doCurlQueryInThread (struct MHD_Daemon *d, { /* Should NOT have "Connection: Keep-Alive" */ if (hdr_res.found_conn_keep_alive) { - print_test_params (add_hdr_close, add_hdr_k_alive); + if (! params_printed) + params_printed = print_test_params (add_hdr_close, add_hdr_k_alive); fprintf (stderr, "\"Connection: keep-alive\" was found in" " MHD reply headers.\n"); p->queryError |= 2; @@ -770,7 +781,8 @@ doCurlQueryInThread (struct MHD_Daemon *d, } if (hdr_res.found_conn_close) { - print_test_params (add_hdr_close, add_hdr_k_alive); + if (! params_printed) + params_printed = print_test_params (add_hdr_close, add_hdr_k_alive); fprintf (stderr, "\"Connection: close\" was found in" " MHD reply headers.\n"); p->queryError |= 2; @@ -781,14 +793,16 @@ doCurlQueryInThread (struct MHD_Daemon *d, unsigned int num_conn = getMhdActiveConnections (d); if (0 == num_conn) { - print_test_params (add_hdr_close, add_hdr_k_alive); + if (! params_printed) + params_printed = print_test_params (add_hdr_close, add_hdr_k_alive); fprintf (stderr, "MHD has no active connection " "after response has been sent.\n"); p->queryError |= 2; } else if (1 != num_conn) { - print_test_params (add_hdr_close, add_hdr_k_alive); + if (! params_printed) + params_printed = print_test_params (add_hdr_close, add_hdr_k_alive); fprintf (stderr, "MHD has wrong number of active connection (%u) " "after response has been sent. Line: %d\n", num_conn, __LINE__); @@ -812,14 +826,16 @@ doCurlQueryInThread (struct MHD_Daemon *d, if (conn_close && (CURL_SOCKET_BAD != curl_sckt)) { - print_test_params (add_hdr_close, add_hdr_k_alive); + if (! params_printed) + params_printed = print_test_params (add_hdr_close, add_hdr_k_alive); fprintf (stderr, "libcurl still has active connection " "after performing the test query.\n"); p->queryError |= 2; } else if (! conn_close && (CURL_SOCKET_BAD == curl_sckt)) { - print_test_params (add_hdr_close, add_hdr_k_alive); + if (! params_printed) + params_printed = print_test_params (add_hdr_close, add_hdr_k_alive); fprintf (stderr, "libcurl has no active connection " "after performing the test query.\n"); p->queryError |= 2; @@ -831,7 +847,8 @@ doCurlQueryInThread (struct MHD_Daemon *d, { /* Response must be HTTP/1.1 */ if (hdr_res.found_http10) { - print_test_params (add_hdr_close, add_hdr_k_alive); + if (! params_printed) + params_printed = print_test_params (add_hdr_close, add_hdr_k_alive); fprintf (stderr, "Reply has HTTP/1.0 version, while it " "must be HTTP/1.1.\n"); p->queryError |= 4; @@ -841,13 +858,19 @@ doCurlQueryInThread (struct MHD_Daemon *d, { /* Response must be HTTP/1.0 */ if (hdr_res.found_http11) { - print_test_params (add_hdr_close, add_hdr_k_alive); + if (! params_printed) + params_printed = print_test_params (add_hdr_close, add_hdr_k_alive); fprintf (stderr, "Reply has HTTP/1.1 version, while it " "must be HTTP/1.0.\n"); p->queryError |= 4; } } curl_easy_cleanup (c); + if (0 != p->queryError) + { + fprintf (stderr, "======\n"); + fflush (stderr); + } return p->queryError; }