Problem
#587 landed MiniWebAppJitProjectTest with a single assertion: home via ?route=home query string. AOT execute coverage is full-matrix (#764 ✅, #1529 ✅: hello PATH_INFO, contact POST, api/status). JIT project smoke still has no signal that PATH_INFO routing or POST bodies work under bin/jit.php for the full MiniWebApp graph.
Regressions in JIT lowering for $_SERVER['PATH_INFO'], $_POST, or template includes on non-home routes would only surface when someone manually curls PATH_INFO URLs through JIT.
Goal
Extend test/unit/MiniWebAppJitProjectTest.php (same @group llvm, MINIWEBAPP_JIT_PROJECT_GATE opt-in):
| Test |
CGI env helper |
Assert |
testPathInfoHelloShowsName |
MiniWebAppCgiEnv::pathInfoHello('Dev') |
body contains greeting + Dev |
testContactPostThankYou |
MiniWebAppCgiEnv::contactPost(...) |
body contains thank-you / form ack |
Reuse helpers from MiniWebAppAotExecuteTest / MiniWebAppCgiEnv — do not duplicate env strings.
Implementation hints
| Piece |
File |
Notes |
| Env fixtures |
test/MiniWebAppCgiEnv.php |
Add JIT-specific helpers if missing (mirror AOT) |
| Test class |
test/unit/MiniWebAppJitProjectTest.php |
@group miniwebapp-jit-project |
| CI |
script/ci-common.sh |
Runs when MINIWEBAPP_JIT_PROJECT_GATE=1 (unchanged until #730) |
| Blockers |
#475, #58 |
Skip individual tests with message if JIT throws not jittable |
Acceptance criteria
MINIWEBAPP_JIT_PROJECT_GATE=1 ./script/ci-local.sh --filter MiniWebAppJitProjectTest
# or Docker:
docker run --rm -v "$(pwd):/compiler" -w /compiler php-compiler:22.04-dev bash -lc \
'MINIWEBAPP_JIT_PROJECT_GATE=1 vendor/bin/phpunit --filter MiniWebAppJitProjectTest'
All three routes (home query, hello PATH_INFO, contact POST) pass or skip with explicit blocker issue — not silent empty stdout.
Dependencies
Links
Problem
#587 landed
MiniWebAppJitProjectTestwith a single assertion: home via?route=homequery string. AOT execute coverage is full-matrix (#764 ✅, #1529 ✅: hello PATH_INFO, contact POST, api/status). JIT project smoke still has no signal that PATH_INFO routing or POST bodies work underbin/jit.phpfor the full MiniWebApp graph.Regressions in JIT lowering for
$_SERVER['PATH_INFO'],$_POST, or template includes on non-home routes would only surface when someone manually curls PATH_INFO URLs through JIT.Goal
Extend
test/unit/MiniWebAppJitProjectTest.php(same@group llvm,MINIWEBAPP_JIT_PROJECT_GATEopt-in):testPathInfoHelloShowsNameMiniWebAppCgiEnv::pathInfoHello('Dev')DevtestContactPostThankYouMiniWebAppCgiEnv::contactPost(...)Reuse helpers from
MiniWebAppAotExecuteTest/MiniWebAppCgiEnv— do not duplicate env strings.Implementation hints
test/MiniWebAppCgiEnv.phptest/unit/MiniWebAppJitProjectTest.php@group miniwebapp-jit-projectscript/ci-common.shMINIWEBAPP_JIT_PROJECT_GATE=1(unchanged until #730)not jittableAcceptance criteria
All three routes (home query, hello PATH_INFO, contact POST) pass or skip with explicit blocker issue — not silent empty stdout.
Dependencies
ci-fast.shafter greenLinks
examples/003-MiniWebApp/README.mdgate ladder stage 4a-bis