Make WordPress Core


Ignore:
Timestamp:
09/26/2021 03:11:18 AM (3 years ago)
Author:
SergeyBiryukov
Message:

Build/Test Tools: Update PHPUnit configuration for PHPUnit 9.5.10/8.5.21+.

Since PHPUnit 9.5.10 and 8.5.21, PHP deprecations are no longer converted to exceptions by default (convertDeprecationsToExceptions="true" can be configured to enable this).

Reference: Do not convert PHP deprecations to exceptions by default; PHPUnit 9.5.10 changelog.

Let's unpack this:

Previously (PHPUnit < 9.5.10/8.5.21), if PHPUnit would encounter a PHP native deprecation notice, it would:

  1. Show a test which causes a deprecation notice to be thrown as "errored",
  2. Show the first deprecation notice it encountered and
  3. PHPUnit would exit with a non-0 exit code (2), which will fail a CI build.

As of PHPUnit 9.5.10/8.5.21, if PHPUnit encounters a PHP native deprecation notice, it will no longer do so. Instead PHPUnit will:

  1. Show a test which causes a PHP deprecation notice to be thrown as "risky",
  2. Show the all deprecation notices it encountered and
  3. PHPUnit will exit with a 0 exit code, which will show a CI build as passing.

This commit reverts PHPUnit to the previous behaviour by adding convertDeprecationsToExceptions="true" to the PHPUnit configuration. It also adds the other related directives for consistency.

Props jrf, netweb, costdev, SergeyBiryukov.
See #54183.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tests/phpunit/multisite.xml

    r51586 r51871  
    77        beStrictAboutTestsThatDoNotTestAnything="true"
    88        beStrictAboutOutputDuringTests="true"
     9        convertErrorsToExceptions="true"
     10        convertWarningsToExceptions="true"
     11        convertNoticesToExceptions="true"
     12        convertDeprecationsToExceptions="true"
    913        >
    1014    <php>
Note: See TracChangeset for help on using the changeset viewer.