Problem
MiniWebApp AOT work is split across skipped tests and shell smokes. #568 / #752 ✅ closed link; the active blocker is #764 (native binary exit 0, empty stdout). Implementers need a single ordered checklist so we do not flip HTTP ServeAotTest before CLI execute or examples-aot-smoke 003.
Unskip order (do not reorder)
| Step |
Issue / test |
Gate |
| 0 |
#806 require_return_config.phpt |
Focused require-as-expression AOT execute |
| 0b |
#807 layout_partial_chain.phpt |
Layout conditional partial includes |
| 1 |
#624 ExamplesCompileTest::test003MiniWebAppProjectAotLint |
phpc build --project --dry-run exit 0 |
| 2 |
#454 / #747 test003MiniWebAppExecutesWithCgiEnv |
link + CLI execute (PATH_INFO=/home) |
| 2b |
#809 examples-aot-smoke.sh 003 |
Accurate #764 probe (not #568 skip) |
| 3 |
#738 full examples-aot-smoke 003 green |
EXAMPLES_AOT_SMOKE_ONLY=003 ok |
| 4 |
#478 ServeAotTest MiniWebApp phpc serve --aot |
HTTP PATH_INFO routes |
| 5 |
#610 + /assets/style.css |
Static assets from deploy docroot |
| 6 |
#612 PHPC_DEPLOY_ROOT dist E2E |
phpc deploy + PHPUnit or #718 shell |
| 7 |
#682 CgiDriverTest AOT cgi-wrapper 003 |
bin/cgi-aot.php + deploy root |
| 8 |
#587 JIT project smoke |
Optional; JIT may lag AOT |
PHPUnit methods to unskip (grep #568 → retarget #764)
| File |
Method |
@group |
test/unit/ExamplesCompileTest.php |
test003MiniWebAppExecutesWithCgiEnv |
miniwebapp |
test/unit/ExamplesCompileTest.php |
testAotLintMiniWebAppPublicIndex |
aot-lint |
test/real/ServeAotTest.php |
testServes003MiniWebApp* |
serve, llvm |
test/real/CgiDriverTest.php |
AOT MiniWebApp PATH_INFO |
llvm |
Remove markTestSkipped(... #568 ...) only after step 2 passes:
./script/docker-ci-local.sh --filter test003MiniWebAppExecutesWithCgiEnv
Scope
Acceptance criteria
./script/docker-ci-local.sh --filter 'ExamplesCompileTest::test003MiniWebApp|ServeAotTest'
No @group miniwebapp AOT tests skipped for “#568” when LLVM ready.
Dependencies
Verification
Local/Docker only — not GitHub Actions.
Links
Problem
MiniWebApp AOT work is split across skipped tests and shell smokes. #568 / #752 ✅ closed link; the active blocker is #764 (native binary exit 0, empty stdout). Implementers need a single ordered checklist so we do not flip HTTP
ServeAotTestbefore CLI execute orexamples-aot-smoke003.Unskip order (do not reorder)
require_return_config.phptlayout_partial_chain.phptExamplesCompileTest::test003MiniWebAppProjectAotLintphpc build --project --dry-runexit 0test003MiniWebAppExecutesWithCgiEnvPATH_INFO=/home)examples-aot-smoke.sh003examples-aot-smoke003 greenEXAMPLES_AOT_SMOKE_ONLY=003okServeAotTestMiniWebAppphpc serve --aot/assets/style.cssPHPC_DEPLOY_ROOTdist E2Ephpc deploy+ PHPUnit or #718 shellCgiDriverTestAOT cgi-wrapper 003bin/cgi-aot.php+ deploy rootPHPUnit methods to unskip (grep
#568→ retarget#764)@grouptest/unit/ExamplesCompileTest.phptest003MiniWebAppExecutesWithCgiEnvminiwebapptest/unit/ExamplesCompileTest.phptestAotLintMiniWebAppPublicIndexaot-linttest/real/ServeAotTest.phptestServes003MiniWebApp*serve,llvmtest/real/CgiDriverTest.phpllvmRemove
markTestSkipped(... #568 ...)only after step 2 passes:Scope
script/miniwebapp-gates.shstages 4b–4d (CI: examples-aot-smoke 003 — probe link then execute bytes (#764, not #568 skip) #809, Testing: make deploy-smoke — phpc deploy + PHPC_DEPLOY_ROOT shell gate #718)ci-local.shAcceptance criteria
./script/docker-ci-local.sh --filter 'ExamplesCompileTest::test003MiniWebApp|ServeAotTest'No
@group miniwebappAOT tests skipped for “#568” when LLVM ready.Dependencies
phpc deployVerification
Local/Docker only — not GitHub Actions.
Links