Skip to content

Testing: CgiDriverTest MiniWebApp PATH_INFO via AOT cgi-wrapper (blocked #764) #682

@PurHur

Description

@PurHur

Problem

#665 ✅ added bin/cgi-aot.php, phpc cgi, deploy cgi-wrapper, and CgiDriverTest AOT smoke for 001-SimpleWeb only. #666 ✅ covers 003-MiniWebApp PATH_INFO routes via VM bin/cgi.php.

Production nginx deploys will run the native bin/app behind cgi-wrapper with PHPC_DEPLOY_ROOT — there is no gate that MiniWebApp PATH_INFO routes work under AOT CGI (distinct from #478 phpc serve --aot TCP path).

Goal

Extend test/real/CgiDriverTest.php (@group llvm, @group aot-link, @group miniwebapp):

  1. phpc build --project examples/003-MiniWebAppbin/app
  2. phpc deploy -o $dist (or copy cgi-wrapper + binary)
  3. PHPC_DEPLOY_ROOT=$dist + PATH_INFO env → home, /hello, /api/status needles

While blocked: markTestSkipped linking #568 / #676 step 6.

Implementation hints

Piece File Notes
Pattern testMiniWebAppHomeViaCgiDriver Reuse miniWebAppBaseEnv() PATH_INFO keys
Build compileAotBinary helper Same as testSimpleWebGetViaAotCgiWrapper
Wrapper bin/cgi-aot.sh copied to dist Mirror testDeployCgiWrapperRunsSimpleWebBinary
CI script/ci-local.sh Already runs CgiDriverTest in fast + full gates

Acceptance criteria

./script/ci-local.sh --filter 'CgiDriverTest::testMiniWebApp.*Aot'
docker run --rm -v "$(pwd):/compiler" -w /compiler php-compiler:22.04-dev \
  ./script/ci-local.sh --filter 'CgiDriverTest::testMiniWebApp.*Aot'

When #568 lands: tests execute (not skipped) and pass.

Dependencies

Verification

Local/Docker only — not GitHub Actions.

Links

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:webWeb / CGI / superglobalsenhancementNew feature or requestphase-3:aotPhase 3 – AOT deploymentphase-5:reference-appPhase 5 – reference web application

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions