Problem
#785 closed with POST contact in MiniWebAppAotExecuteTest, but the JSON api/status route is still only gated in VM:
MiniWebAppVmCliTest::testQueryRouteApiStatus() uses MiniWebAppCgiEnv::queryRouteApiStatus()
MiniWebAppAotExecuteTest covers home, hello, PATH_INFO hello, and POST contact — no native-binary JSON assertion
North Star 1 definition of done (#1044) requires /index.php/api/status (or ?route=api/status) on native AOT, not just VM/phpc serve.
Goal
Add @group miniwebapp-aot-execute test(s) that run .phpc/bin/app with QUERY_STRING=route=api/status (and optionally PATH_INFO=/api/status) and assert JSON body contains "ok":true and "service":"003-MiniWebApp".
Implementation hints
| Piece |
File |
Notes |
| Env helper |
test/support/MiniWebAppCgiEnv.php |
queryRouteApiStatus() already exists |
| Test |
test/unit/MiniWebAppAotExecuteTest.php |
Reuse runBinaryWithCgiEnv() from #747 |
| VM reference |
test/unit/MiniWebAppVmCliTest.php |
Parity contract |
| Compiler |
lib/JIT.php / Router |
renderApiStatus() + json_encode — #849 closed; test-only gap |
Acceptance criteria
./script/ci-local.sh --filter MiniWebAppAotExecuteTest::testQueryRouteApiStatus
Docker:
docker run --rm -v "$(pwd):/compiler" -w /compiler php-compiler:22.04-dev \
./script/ci-local.sh --filter MiniWebAppAotExecuteTest::testQueryRouteApiStatus
Runs under default MINIWEBAPP_AOT_EXECUTE_GATE=1 (script/ci-defaults.env).
Dependencies
Links
Problem
#785 closed with POST contact in
MiniWebAppAotExecuteTest, but the JSONapi/statusroute is still only gated in VM:MiniWebAppVmCliTest::testQueryRouteApiStatus()usesMiniWebAppCgiEnv::queryRouteApiStatus()MiniWebAppAotExecuteTestcovers home, hello, PATH_INFO hello, and POST contact — no native-binary JSON assertionNorth Star 1 definition of done (#1044) requires
/index.php/api/status(or?route=api/status) on native AOT, not just VM/phpc serve.Goal
Add
@group miniwebapp-aot-executetest(s) that run.phpc/bin/appwithQUERY_STRING=route=api/status(and optionallyPATH_INFO=/api/status) and assert JSON body contains"ok":trueand"service":"003-MiniWebApp".Implementation hints
test/support/MiniWebAppCgiEnv.phpqueryRouteApiStatus()already existstest/unit/MiniWebAppAotExecuteTest.phprunBinaryWithCgiEnv()from #747test/unit/MiniWebAppVmCliTest.phplib/JIT.php/ RouterrenderApiStatus()+json_encode— #849 closed; test-only gapAcceptance criteria
Docker:
docker run --rm -v "$(pwd):/compiler" -w /compiler php-compiler:22.04-dev \ ./script/ci-local.sh --filter MiniWebAppAotExecuteTest::testQueryRouteApiStatusRuns under default
MINIWEBAPP_AOT_EXECUTE_GATE=1(script/ci-defaults.env).Dependencies
Links
examples/003-MiniWebApp/README.md