Skip to content

Clean PHPUnit bootstrap and PHP 8.4 deprecations #1810

Description

@superdav42

What

Make the PHPUnit bootstrap clean on PHP 8.4 by removing duplicate custom-table installation notices and addressing actionable dependency deprecations observed during #1805.

Why

Tests pass, but noisy bootstrap output can hide real database failures and future PHP compatibility regressions. Interrupted runs can also leave the disposable test schema incomplete.

Tier

tier:standard — the investigation spans the WordPress test bootstrap, Ultimate Multisite installers, BerlinDB table creation, and pinned validation dependencies.

Files

  • tests/bootstrap.php
  • inc/class-requirements.php or the verified requirements implementation
  • inc/installers/ database setup paths
  • composer.json and composer.lock if dependency updates are required
  • Focused installer/bootstrap tests

Reference pattern

Reproduce with an empty disposable wptests_ schema and XDEBUG_MODE=off vendor/bin/phpunit --filter WP_Ultimo_Main_Test. Verify installed dependency versions and local exports before changing third-party compatibility code.

Implementation steps

  1. Trace why custom wptests_wu_* tables are created more than once during bootstrap.
  2. Make installation idempotent without suppressing genuine database errors.
  3. Separate WordPress-core deprecations from plugin/dependency deprecations.
  4. Update or patch pinned dependencies only when verified against local package source.
  5. Add a regression test for clean repeated bootstrap or installer execution.

Acceptance criteria

  • Focused tests produce no duplicate-table database notices.
  • Plugin-owned PHP 8.4 deprecations are removed.
  • External WordPress-core-only notices are documented separately if unavoidable.
  • Repeated installer execution remains idempotent.
  • Focused and full PHPUnit runs pass.

Verification

  • XDEBUG_MODE=off vendor/bin/phpunit --filter WP_Ultimo_Main_Test
  • XDEBUG_MODE=off vendor/bin/phpunit
  • pnpm run quality

Dependency

Blocked by #1805; begin after PR #1806 merges.


aidevops.sh v3.32.317 plugin for OpenCode v1.18.29 with gpt-5.6-sol spent 4h 26m and 539,830 tokens on this with the user in an interactive session.

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

    auto-dispatchblocked-by:GH#1805Blocked until GH#1805 is completedorigin:interactiveCreated by interactive user sessionpriority:highHigh severity — significant quality issuequality-debtUnactioned review feedback from merged PRsstatus:blockedWaiting on blocker tasktier:standardAuto-created by pulse labelless backfill (t2112)

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions