[wp-trac] [WordPress Trac] #54183: Tests: decide on how to handle deprecations in PHPUnit

WordPress Trac noreply at wordpress.org
Sun Sep 26 03:11:32 UTC 2021


#54183: Tests: decide on how to handle deprecations in PHPUnit
-------------------------------------------------+-------------------------
 Reporter:  jrf                                  |       Owner:
                                                 |  SergeyBiryukov
     Type:  task (blessed)                       |      Status:  assigned
 Priority:  normal                               |   Milestone:  5.9
Component:  Build/Test Tools                     |     Version:
 Severity:  normal                               |  Resolution:
 Keywords:  needs-dev-note php81 has-patch has-  |     Focuses:
  unit-tests commit                              |
-------------------------------------------------+-------------------------

Comment (by SergeyBiryukov):

 In [changeset:"51871" 51871]:
 {{{
 #!CommitTicketReference repository="" revision="51871"
 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:
 [https://github.com/sebastianbergmann/phpunit/commit/fac02620f6b38ae54d47fe840e0095e68226a56c
 Do not convert PHP deprecations to exceptions by default];
 [https://github.com/sebastianbergmann/phpunit/blob/9.5.10/ChangeLog-9.5.md#9510
 ---2021-09-25 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.
 }}}

-- 
Ticket URL: <https://core.trac.wordpress.org/ticket/54183#comment:17>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform


More information about the wp-trac mailing list