Problem
#248 adds VM phpc serve POST coverage, and #257 exercises dual REQUEST_BODY on a standalone AOT binary. There is still no integration test that:
- Builds a tiny script with
phpc build
- Serves it with
phpc serve --aot
- Sends
POST /form.php with application/x-www-form-urlencoded body
- Asserts
$_POST is populated per request
Without this, AOT-specific regressions in bin/serve-aot.php, ProjectManifest, or superglobals_refresh.c POST parsing will not fail local/Docker CI.
Goal
Mirror #248 in test/real/ServeAotTest.php once AOT runtime refresh for $_POST is reliable.
Scope
Acceptance criteria
./script/ci-local.sh --filter ServeAotTest::testPost
# harness:
./script/docker-ci-local.sh --filter ServeAotTest::testPost
Test runs (not skipped) when LLVM + loopback bind available; skipped only when PHP_COMPILER_SKIP_SERVE_TESTS=1.
Verification (local only)
Do not require GitHub Actions. GHA may skip serve tests; Docker/local must not.
Dependencies
Links
Problem
#248 adds VM
phpc servePOST coverage, and #257 exercises dualREQUEST_BODYon a standalone AOT binary. There is still no integration test that:phpc buildphpc serve --aotPOST /form.phpwithapplication/x-www-form-urlencodedbody$_POSTis populated per requestWithout this, AOT-specific regressions in
bin/serve-aot.php,ProjectManifest, orsuperglobals_refresh.cPOST parsing will not fail local/Docker CI.Goal
Mirror #248 in
test/real/ServeAotTest.phponce AOT runtime refresh for$_POSTis reliable.Scope
form.phpreading$_POST['name'](same as Testing: ServeTest POST form submission via phpc serve #248)phpc build -otemp binary;phpc serve --aotagainst docroothttpPost()helper (share with Testing: ServeTest POST form submission via phpc serve #248 if landed first)PHP_COMPILER_SKIP_SERVE_TESTSlike other serve testsAcceptance criteria
./script/ci-local.sh --filter ServeAotTest::testPost # harness: ./script/docker-ci-local.sh --filter ServeAotTest::testPostTest runs (not skipped) when LLVM + loopback bind available; skipped only when
PHP_COMPILER_SKIP_SERVE_TESTS=1.Verification (local only)
Do not require GitHub Actions. GHA may skip serve tests; Docker/local must not.
Dependencies
phpc serve --aot(closed)Links
test/real/ServeAotTest.php,bin/serve-aot.php,lib/AOT/runtime/superglobals_refresh.c