diff --git a/.gitignore b/.gitignore index df225e2..2b29471 100644 --- a/.gitignore +++ b/.gitignore @@ -3,19 +3,7 @@ cocoon # 忽略测试二进制文件和上传目录 -tests/unit/test_config -tests/unit/test_http -tests/unit/test_log -tests/unit/test_multipart -tests/unit/test_static -tests/unit/test_server -tests/unit/test_websocket -tests/unit/test_healthcheck -tests/unit/test_proxy -tests/unit/test_grpc -tests/unit/test_http3 -tests/unit/test_load_balance -tests/unit/test_middleware_ext +tests/unit/test_* tests/fixtures/uploads/ plugins/*.so www/uploads/ diff --git a/Makefile b/Makefile index 178a17f..eae27f9 100644 --- a/Makefile +++ b/Makefile @@ -131,6 +131,10 @@ $(UNIT_TEST_DIR)/test_load_balance: $(UNIT_TEST_DIR)/test_load_balance.c load_ba $(CC) $(CFLAGS) -I. -I$(UNIT_TEST_DIR)/../unity -o $@ $(UNIT_TEST_DIR)/test_load_balance.c load_balance.c proxy.c proxy_tls.c http.c log.c platform.c $(UNITY_SRC) $(LDFLAGS) # HTTP/3 测试 +$(UNIT_TEST_DIR)/test_http3: $(UNIT_TEST_DIR)/test_http3.c http3.c http.c log.c platform.c $(UNITY_SRC) + $(CC) $(CFLAGS) -I. -I$(UNIT_TEST_DIR)/../unity -o $@ $(UNIT_TEST_DIR)/test_http3.c http3.c http.c log.c platform.c $(UNITY_SRC) $(LDFLAGS) + +# SSE 测试 $(UNIT_TEST_DIR)/test_sse: $(UNIT_TEST_DIR)/test_sse.c sse.c log.c $(UNITY_SRC) $(CC) $(CFLAGS) -I. -I$(UNIT_TEST_DIR)/../unity -o $@ $(UNIT_TEST_DIR)/test_sse.c sse.c log.c $(UNITY_SRC) $(LDFLAGS) diff --git a/tests/integration_test.sh b/tests/integration_test.sh index 38a2246..047df5c 100755 --- a/tests/integration_test.sh +++ b/tests/integration_test.sh @@ -1358,7 +1358,7 @@ echo "" echo "=== SSE 测试 ===" # 测试 SSE 端点基本响应 -sse_status=$(curl -s -o /dev/null -w "%{http_code}" --max-time 2 "$BASE/_sse") +sse_status=$(curl -s -o /dev/null -w "%{http_code}" --max-time 2 "$BASE/_sse" || true) if [[ "$sse_status" == "200" ]]; then echo " ✓ /_sse 状态码 — HTTP 200" pass @@ -1368,7 +1368,7 @@ else fi # 测试 SSE 内容类型 -sse_ct=$(curl -s -o /dev/null -w "%{content_type}" --max-time 2 "$BASE/_sse") +sse_ct=$(curl -s -o /dev/null -w "%{content_type}" --max-time 2 "$BASE/_sse" || true) if echo "$sse_ct" | grep -q "text/event-stream"; then echo " ✓ /_sse Content-Type — text/event-stream" pass @@ -1378,7 +1378,7 @@ else fi # 测试 SSE 事件流格式(读取前几行验证) -sse_body=$(curl -s --max-time 3 "$BASE/_sse" | head -20) +sse_body=$(curl -s --max-time 3 "$BASE/_sse" | head -20 || true) if echo "$sse_body" | grep -q "event: connected"; then echo " ✓ /_sse 事件流 — 包含 connected 事件" pass @@ -1404,7 +1404,7 @@ else fi # 测试 SSE 不接受 POST(应该返回 405 或不被 SSE 处理) -sse_post_status=$(curl -s -o /dev/null -w "%{http_code}" --max-time 1 -X POST "$BASE/_sse") +sse_post_status=$(curl -s -o /dev/null -w "%{http_code}" --max-time 1 -X POST "$BASE/_sse" || true) if [[ "$sse_post_status" == "405" ]]; then echo " ✓ /_sse POST 请求 — HTTP 405 Method Not Allowed" pass diff --git a/tests/unit/test_sse b/tests/unit/test_sse deleted file mode 100755 index 2ab60be..0000000 Binary files a/tests/unit/test_sse and /dev/null differ