add httpclient broken response test default tip

Tue, 03 Mar 2026 22:01:27 +0100

author
Olaf Wintermann <olaf.wintermann@gmail.com>
date
Tue, 03 Mar 2026 22:01:27 +0100
changeset 713
929309bbf6ae
parent 712
42b52e579690

add httpclient broken response test

src/server/test/httpclient.c file | annotate | diff | comparison | revisions
src/server/test/httpclient.h file | annotate | diff | comparison | revisions
src/server/test/main.c file | annotate | diff | comparison | revisions
--- a/src/server/test/httpclient.c	Mon Mar 02 22:00:26 2026 +0100
+++ b/src/server/test/httpclient.c	Tue Mar 03 22:01:27 2026 +0100
@@ -318,3 +318,17 @@
     }
 }
 
+CX_TEST(test_http_client_broken_response) {
+    CX_TEST_DO {
+        cxstring response = cx_str(
+                "broken response\r\n"
+                "Content-length: 5\r\n"
+                "\r\n"
+                "Hello World!\n");
+        CxBuffer *out = cxBufferCreate(NULL, NULL, 256, CX_BUFFER_AUTO_EXTEND|CX_BUFFER_FREE_CONTENTS);
+        
+        CX_TEST_CALL_SUBROUTINE(test_httpclient, cx_str(NULL), FALSE, &response, 1, out);
+        CX_TEST_ASSERT(out->size == 0);
+        cxBufferFree(out);
+    }
+}
--- a/src/server/test/httpclient.h	Mon Mar 02 22:00:26 2026 +0100
+++ b/src/server/test/httpclient.h	Tue Mar 03 22:01:27 2026 +0100
@@ -46,6 +46,7 @@
 CX_TEST(test_http_client_post_ctlen_large);
 CX_TEST(test_http_client_post_chunked);
 CX_TEST(test_http_client_get_incorrect_ctlen);
+CX_TEST(test_http_client_broken_response);
 
 #ifdef __cplusplus
 }
--- a/src/server/test/main.c	Mon Mar 02 22:00:26 2026 +0100
+++ b/src/server/test/main.c	Tue Mar 03 22:01:27 2026 +0100
@@ -218,6 +218,7 @@
     cx_test_register(suite, test_http_client_post_chunked);
     cx_test_register(suite, test_http_client_post_ctlen_large);
     cx_test_register(suite, test_http_client_get_incorrect_ctlen);
+    cx_test_register(suite, test_http_client_broken_response);
     
     // plugin tests
 #ifdef ENABLE_POSTGRESQL

mercurial