Skip to content

Prevent PHPUnit result cache writes from readonly plugin mounts #1803

Description

@chubes4

WP Codebox #1799 snapshots readonly mounts correctly, but wordpress.phpunit uses an in-process PHPUnit runner whose argument adapter ignores --cache-result-file. The default PHPUnit result cache is written into the mounted plugin path, mutating the host source during a readonly Homeboy test run.

Reproduction: run Homeboy Extensions wordpress/scripts/test/playground-db-activation-smoke.sh against merged WP Codebox #1799, then observe wordpress/tests/fixtures/test-db-activation-host/.phpunit.result.cache.

Expected: the runtime disables PHPUnit result caching or places it in a sandbox-private /tmp path. This must preserve the readonly mount snapshot contract and allow downstream runners to prove source-tree immutability.

Activity

  1. chubes4 commented on Jul 15, 2026

    @chubes4
    CollaboratorAuthor

    Follow-up evidence: setting the generated in-process PHPUnit arguments to cacheResult: false and rebuilding WP Codebox did not eliminate the host .phpunit.result.cache write in the real Homeboy Extensions DB activation canary. The generated handler contains the false setting, but the readonly component fixture still changes. This indicates the write is outside that TestRunner cache option or the readonly mount materialization path. Downstream P2 remains blocked pending root-cause repair; the canary is available in Extra-Chill/homeboy-extensions#2257.

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

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions