Skip to content

Testing: Expand web PHPT suite (redirects, empty input, POST merge) #68

Description

@PurHur

Problem

test/real/cases/web_*.phpt covers single-file web scripts but needs explicit edge-case PHPTs as #539 / PATH_INFO mature. Several rows from the original checklist are done on master; two remain (#645).

Checklist status (2026-05-22)

Case PHPT Status Notes
302 redirect web_redirect_302.phpt #634
$_REQUEST POST-over-GET web_request_merge.phpt
HTTP_ACCEPT passthrough web_server_http_accept.phpt or web_http_headers.phpt verify header
Malformed query string web_query_edge.phpt #645
Multi-read superglobals web_superglobal_reread.phpt #645
Runtime AOT GET web_aot_runtime_get.phpt #201, @group llvm
MiniWebApp routes mini_web_app*.phpt #490

Goal

Close #68 when #645 lands; keep RealWorldTest as the VM web regression net without duplicating #490 MiniWebApp fixtures.

Implementation hints

PHPT structure

  • Copy --ENV-- / --FILE-- from test/real/cases/web_get.phpt
  • Runner: bin/vm.php (Docker CI consistency)
  • Header comment cites issue id for PR descriptions

Runner

File Role
test/real/RealWorldTest.php Glob web_*.phpt + mini_web_app*.phpt
script/ci-fast.sh Always runs RealWorldTest

JIT mirror

  • Add @group llvm duplicates only when JIT supports the opcode
  • Skip with linked issue — do not fail entire suite

Tasks

Acceptance criteria

./script/ci-fast.sh --filter RealWorldTest
docker run --rm -v "$(pwd):/compiler" -w /compiler php-compiler:22.04-dev \
  ./script/ci-fast.sh --filter RealWorldTest

Verification

Local/Docker only — no GitHub Actions.

Dependencies

Related

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions