Skip to content

feat: migrate tests to Testo, require PHP 8.2 - #17

Merged
roxblnfk merged 2 commits into
1.xfrom
testo
Oct 9, 2026
Merged

roxblnfk merged 2 commits into
1.xfrom
testo

Conversation

@roxblnfk

@roxblnfk roxblnfk commented Oct 9, 2026

Copy link
Copy Markdown
Member
Q A
Bugfix? ❌
Breaks BC? ❌
New feature? ✔️
Issues —
Docs PR —
  • Minimum PHP is now 8.2 (Testo requires it); vimeo/psalm is bumped to ^6 || ^7, so dependencies install on PHP 8.5 again and the security audit job goes green.
  • Tests run on Testo instead of PHPUnit: 43 tests before and after, mocks stay on Mockery via testo/bridge-mockery (Double needs PHP 8.3). PHPUnit is removed.
  • CI uses the shared spiral/gh-actions testo workflow (PHP 8.2–8.6, lowest and highest deps, see feat(testo): test PHP 8.2-8.6 by default, add test-server input spiral/gh-actions#10); push triggers target 1.x.
  • Psalm 6 reports MissingOverrideAttribute and one InvalidOperand in Lock::convertTimeToMicroseconds(); both are suppressed in psalm.xml until a separate static analysis PR.

Review notes

  • The five negative-TTL tests expect LogicException, but Lock validates with assert(). With zend.assertions off (as in CI) they pass only because the unexpected RPC call raises Mockery's BadMethodCallException; with assertions on they fail with AssertionError. This was already the case under PHPUnit, where they were reported as risky and failed the 1.x run. The tests are ported as they were.

  • How was this tested:

    • Testo suite run locally on PHP 8.4 with lowest and highest dependencies (zend.assertions=-1)
    • Psalm 6 run locally

build: bump vimeo/psalm to ^6 || ^7

Testo needs PHP 8.2. Psalm 5 does not install on PHP above 8.3, which kept the security audit on PHP 8.5 red. The new Psalm reports for #[\Override] (a PHP 8.3 attribute) and an int|float operand in the TTL conversion are suppressed in psalm.xml until the static analysis pass.

Assisted-By: Claude Opus 5.5
ci: run tests via the shared testo workflow

Mockery stays as the mocking library: Double requires PHP 8.3. Push triggers now target 1.x, since the old *.* pattern never matched the default branch.

Assisted-By: Claude Opus 5.5
@roxblnfk
roxblnfk requested a review from a team October 9, 2026 19:14
@coderabbitai

coderabbitai Bot commented Oct 9, 2026

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration
  • Configuration used: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: e632112d-584a-4d42-b59f-78877db054f3

  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@roxblnfk
roxblnfk merged commit bbfa821 into 1.x Oct 9, 2026
13 checks passed
@roxblnfk
roxblnfk deleted the testo branch October 9, 2026 19:17
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.

1 participant