Page MenuHomePhabricator

Use of AbstractSchemaTestBase causes "Empty data set provided by data provider" failures under PHPUnit 10
Open, Needs TriagePublic

Description

PHPUnit 10 marks empty data provider as invalid with the text "Empty data set provided by data provider" and count this as errors.

Some of the provider of the abstract AbstractSchemaTestBase are designed to return empty array in case there is no abstract schema change folder.
Throwing an exception (like markTestSkipped) does not work under PHPUnit 10.

Example from FlaggedRevs:

1) MediaWiki\Extension\FlaggedRevs\Tests\Structure\FlaggedRevsSchemaTest::testSchemaChangesAreValid
The data provider specified for MediaWiki\Extension\FlaggedRevs\Tests\Structure\FlaggedRevsSchemaTest::testSchemaChangesAreValid is invalid
Empty data set provided by data provider

FlaggedRevs\tests\phpunit\structure\FlaggedRevsSchemaTest.php:49

2) MediaWiki\Extension\FlaggedRevs\Tests\Structure\FlaggedRevsSchemaTest::testSchemaChangesHaveAutoGeneratedFiles
The data provider specified for MediaWiki\Extension\FlaggedRevs\Tests\Structure\FlaggedRevsSchemaTest::testSchemaChangesHaveAutoGeneratedFiles is invalid
Empty data set provided by data provider

FlaggedRevs\tests\phpunit\structure\FlaggedRevsSchemaTest.php:89