You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
TASK-078: resolve commented-out CONNECT bodies and dead validator integ test
Two HIGH audit findings in test/integ/basic.cpp:
(a) Two `/* ... */`-commented CONNECT-method test bodies in
basic_suite::complete and basic_suite::only_render, dating to
commit bd39cb4 (Nov 2017, "Avoid tests getting stack on CONNECT
requests"). The hang was a libcurl client-side artifact -
curl_easy_perform with CURLOPT_CUSTOMREQUEST "CONNECT" waits for
a tunnel that never comes from a plain HTTP server. Server-side
CONNECT dispatch IS exercised: webserver_request.cpp's methods[]
table maps the CONNECT wire token to render_connect, and the
render_connect signature is pinned by
test/unit/http_resource_test.cpp. Delete the dead bodies and
record the rationale as REGRESSION.md divergence #6.
(b) basic_suite::validator_builder only asserted "server boots with a
validator callback set" - the validator hook has been unwired
from the dispatch path since commit 9163a4f (Jan 2013,
"Eliminated unescaper and validator delegates"). The equivalent
compile-time pin already lives in
test/unit/create_webserver_test.cpp::builder_validator
(LT_CHECK_NOTHROW on the builder call). Delete the integ test
and note in RELEASE_NOTES.md that v2's request_received /
accept_decision hooks are the documented replacement for the
URL-veto use case the original validator was intended for.
No public surface change. The validator() builder method,
validator_ptr typedef, and get_request_validator() accessor remain
as inert v1 surface (separate task if anyone wants to actually
remove them). The basic test count drops by 1 (validator_builder
removed, 97 -> 96); the complete and only_render tests pass
unchanged. Full make check: 103/103 PASS.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: specs/tasks/M7-v2-cleanup/TASK-078.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,9 +8,9 @@
8
8
`test/integ/basic.cpp:821-830, 885-896` carry `/* … */`-commented-out CONNECT-method test bodies with no tracking issue. `basic.cpp:2895` (`validator_builder` test) only asserts the server boots; the validator hook is "stored but not currently called in webserver". Either restore the bodies or remove them with a tracking link.
9
9
10
10
**Action Items:**
11
-
-[] Investigate why the CONNECT-method blocks at `basic.cpp:821-830` and `885-896` were commented out (git log of the lines). If the commented behaviour is no longer achievable under v2 dispatch, delete the blocks and add a one-line note to `test/REGRESSION.md` recording the v1-only feature.
12
-
-[] If the blocks should still pass under v2, uncomment them and fix any breakage.
13
-
-[] For the `validator_builder` test at `basic.cpp:2895`: either wire the validator hook into the dispatch path so the test exercises real behaviour, or delete the test and note in `RELEASE_NOTES.md` that `validator_builder` is a v1 surface with no v2 semantics.
11
+
-[x] Investigate why the CONNECT-method blocks at `basic.cpp:821-830` and `885-896` were commented out (git log of the lines). If the commented behaviour is no longer achievable under v2 dispatch, delete the blocks and add a one-line note to `test/REGRESSION.md` recording the v1-only feature.
12
+
-[x] If the blocks should still pass under v2, uncomment them and fix any breakage.
13
+
-[x] For the `validator_builder` test at `basic.cpp:2895`: either wire the validator hook into the dispatch path so the test exercises real behaviour, or delete the test and note in `RELEASE_NOTES.md` that `validator_builder` is a v1 surface with no v2 semantics.
14
14
15
15
**Dependencies:**
16
16
- Blocked by: None
@@ -25,4 +25,4 @@
25
25
**Related Requirements:** PRD §2 test reliability NFR
0 commit comments