From fca0e9a23933b4753fe6f24f84f949f1797ffa62 Mon Sep 17 00:00:00 2001
From: jrfnl <jrfnl@users.noreply.github.com>
Date: Sat, 25 Sep 2021 21:04:53 +0200
Subject: [PATCH] PHPUnit: update configuration
PHPUnit just released version 9.5.10 and 8.5.21.
This contains a particular (IMO breaking) change:
> * PHPUnit no longer converts PHP deprecations to exceptions by default (configure `convertDeprecationsToExceptions="true"` to enable this)
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.
Refs:
* https://github.com/sebastianbergmann/phpunit/blob/9.5/ChangeLog-8.5.md
* https://github.com/sebastianbergmann/phpunit/blob/9.5/ChangeLog-9.5.md
---
phpunit.xml.dist | 4 ++++
tests/phpunit/multisite.xml | 4 ++++
2 files changed, 8 insertions(+)
diff --git a/phpunit.xml.dist b/phpunit.xml.dist
index 5669bb3506..20267a5e91 100644
a
|
b
|
|
6 | 6 | colors="true" |
7 | 7 | beStrictAboutTestsThatDoNotTestAnything="true" |
8 | 8 | beStrictAboutOutputDuringTests="true" |
| 9 | convertErrorsToExceptions="true" |
| 10 | convertWarningsToExceptions="true" |
| 11 | convertNoticesToExceptions="true" |
| 12 | convertDeprecationsToExceptions="true" |
9 | 13 | > |
10 | 14 | <testsuites> |
11 | 15 | <!-- Default test suite to run all tests. --> |
diff --git a/tests/phpunit/multisite.xml b/tests/phpunit/multisite.xml
index ea9fa9d203..5bb20a759d 100644
a
|
b
|
|
6 | 6 | colors="true" |
7 | 7 | beStrictAboutTestsThatDoNotTestAnything="true" |
8 | 8 | beStrictAboutOutputDuringTests="true" |
| 9 | convertErrorsToExceptions="true" |
| 10 | convertWarningsToExceptions="true" |
| 11 | convertNoticesToExceptions="true" |
| 12 | convertDeprecationsToExceptions="true" |
9 | 13 | > |
10 | 14 | <php> |
11 | 15 | <const name="WP_TESTS_MULTISITE" value="1" /> |