Skip to content

Fix PHPUnit dependency mount lifecycle#1883

Merged
chubes4 merged 1 commit into
mainfrom
fix/1881-phpunit-dependency-lifecycle
Jul 19, 2026
Merged

Fix PHPUnit dependency mount lifecycle#1883
chubes4 merged 1 commit into
mainfrom
fix/1881-phpunit-dependency-lifecycle

Conversation

@chubes4

@chubes4 chubes4 commented Jul 19, 2026

Copy link
Copy Markdown
Collaborator

Summary

Encode PHPUnit dependency mount paths with real newlines so managed post-install loading receives each plugin directory.

What changed

  • Replaces the literal backslash-n separator with a real newline in generated PHPUnit PHP.
  • Extends unit and real Playground integration coverage to multiple inactive dependency mounts, including the component under test.

How to test

  1. Run npm run build; expect Workspace build completes successfully..
  2. Run npx tsx tests/phpunit-project-autoload.test.ts; expect Generated PHP contains newline-delimited dependency mounts..
  3. Run npm run test:playground-phpunit-readonly-cache-integration; expect Real Playground managed PHPUnit lifecycle passes..

Compatibility

Restores the documented inactive extra_plugins plus dependencyMounts contract from #1868. Single-mount callers remain unchanged; multi-mount callers now load every declared plugin as intended.

Evidence

AI assistance

  • AI assistance: Yes
  • Tool(s): OpenCode via Homeboy
  • Model: openai/gpt-5.6-sol
  • Used for: Traced the generated PHPUnit lifecycle, fixed dependency mount encoding, added regression coverage, and verified the downstream real-runtime canary; Chris reviews and owns the change.

Source relationships

@chubes4
chubes4 merged commit 32e3118 into main Jul 19, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

PHPUnit dependency mounts do not activate after database install

1 participant