Bawolff created this task.
Bawolff added projects: MediaWiki-extensions-WikibaseClient, 
MediaWiki-extensions-WikibaseRepository, PHP 8.1 support.
Restricted Application added subscribers: Base, Aklapper.

TASK DESCRIPTION
  Wikibase gives deprecated warnings on php 8.1.
  
  In addition to the general problem that this causes for users who have 
E_DEPRECATED on, it also makes phpunit tests fail on php 8.1, including 
extensions that have tests that depend on it, such as Math which is bundled 
with mediawiki. Having all extensions bundled with MediaWiki pass unit tests on 
php8.1 would help reassure users that we support php 8.1, which this is 
blocking.
  
  PHPUnit output:
  
    INFO:quibble.commands:>>> Start: PHPUnit unit tests
    PHPUnit unit tests
    composer phpunit:unit -- --exclude-group Broken,ParserFuzz,Stub
    > phpunit --colors=always --testsuite=core:unit,extensions:unit,skins:unit 
'--exclude-group' 'Broken,ParserFuzz,Stub'
    
    Deprecated: Return type of Wikibase\Lexeme\Domain\Model\FormSet::count() 
should either be compatible with Countable::count(): int, or the 
#[\ReturnTypeWillChange] attribute should be used to temporarily suppress the 
notice in /workspace/src/extensions/WikibaseLexeme/src/Domain/Model/FormSet.php 
on line 74
    PHP Deprecated:  Return type of 
Wikibase\Lexeme\Domain\Model\FormSet::count() should either be compatible with 
Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be 
used to temporarily suppress the notice in 
/workspace/src/extensions/WikibaseLexeme/src/Domain/Model/FormSet.php on line 74
    
    Deprecated: Wikibase\Lexeme\Domain\Model\FormId implements the Serializable 
interface, which is deprecated. Implement __serialize() and __unserialize() 
instead (or in addition, if support for old PHP versions is necessary) in 
/workspace/src/extensions/WikibaseLexeme/src/Domain/Model/FormId.php on line 15
    PHP Deprecated:  Wikibase\Lexeme\Domain\Model\FormId implements the 
Serializable interface, which is deprecated. Implement __serialize() and 
__unserialize() instead (or in addition, if support for old PHP versions is 
necessary) in 
/workspace/src/extensions/WikibaseLexeme/src/Domain/Model/FormId.php on line 15
    
    Deprecated: Return type of Wikibase\DataModel\Term\TermList::count() should 
either be compatible with Countable::count(): int, or the 
#[\ReturnTypeWillChange] attribute should be used to temporarily suppress the 
notice in 
/workspace/src/extensions/Wikibase/lib/packages/wikibase/data-model/src/Term/TermList.php
 on line 41
    
    Deprecated: Return type of Wikibase\DataModel\Term\TermList::getIterator() 
should either be compatible with IteratorAggregate::getIterator(): Traversable, 
or the #[\ReturnTypeWillChange] attribute should be used to temporarily 
suppress the notice in 
/workspace/src/extensions/Wikibase/lib/packages/wikibase/data-model/src/Term/TermList.php
 on line 64
    PHP Deprecated:  Return type of Wikibase\DataModel\Term\TermList::count() 
should either be compatible with Countable::count(): int, or the 
#[\ReturnTypeWillChange] attribute should be used to temporarily suppress the 
notice in 
/workspace/src/extensions/Wikibase/lib/packages/wikibase/data-model/src/Term/TermList.php
 on line 41
    PHP Deprecated:  Return type of 
Wikibase\DataModel\Term\TermList::getIterator() should either be compatible 
with IteratorAggregate::getIterator(): Traversable, or the 
#[\ReturnTypeWillChange] attribute should be used to temporarily suppress the 
notice in 
/workspace/src/extensions/Wikibase/lib/packages/wikibase/data-model/src/Term/TermList.php
 on line 64
    
    Deprecated: Wikibase\Lexeme\Domain\DummyObjects\NullFormId implements the 
Serializable interface, which is deprecated. Implement __serialize() and 
__unserialize() instead (or in addition, if support for old PHP versions is 
necessary) in 
/workspace/src/extensions/WikibaseLexeme/src/Domain/DummyObjects/NullFormId.php 
on line 12
    PHP Deprecated:  Wikibase\Lexeme\Domain\DummyObjects\NullFormId implements 
the Serializable interface, which is deprecated. Implement __serialize() and 
__unserialize() instead (or in addition, if support for old PHP versions is 
necessary) in 
/workspace/src/extensions/WikibaseLexeme/src/Domain/DummyObjects/NullFormId.php 
on line 12
    PHP Deprecated:  Wikibase\Lexeme\Domain\DummyObjects\DummyFormId implements 
the Serializable interface, which is deprecated. Implement __serialize() and 
__unserialize() instead (or in addition, if support for old PHP versions is 
necessary) in 
/workspace/src/extensions/WikibaseLexeme/src/Domain/DummyObjects/DummyFormId.php
 on line 10
    
    Deprecated: Wikibase\Lexeme\Domain\DummyObjects\DummyFormId implements the 
Serializable interface, which is deprecated. Implement __serialize() and 
__unserialize() instead (or in addition, if support for old PHP versions is 
necessary) in 
/workspace/src/extensions/WikibaseLexeme/src/Domain/DummyObjects/DummyFormId.php
 on line 10
    
    Deprecated: Wikibase\DataModel\Entity\ItemId implements the Serializable 
interface, which is deprecated. Implement __serialize() and __unserialize() 
instead (or in addition, if support for old PHP versions is necessary) in 
/workspace/src/extensions/Wikibase/lib/packages/wikibase/data-model/src/Entity/ItemId.php
 on line 12
    PHP Deprecated:  Wikibase\DataModel\Entity\ItemId implements the 
Serializable interface, which is deprecated. Implement __serialize() and 
__unserialize() instead (or in addition, if support for old PHP versions is 
necessary) in 
/workspace/src/extensions/Wikibase/lib/packages/wikibase/data-model/src/Entity/ItemId.php
 on line 12
    
    Deprecated: Wikibase\DataModel\Snak\PropertyNoValueSnak implements the 
Serializable interface, which is deprecated. Implement __serialize() and 
__unserialize() instead (or in addition, if support for old PHP versions is 
necessary) in 
/workspace/src/extensions/Wikibase/lib/packages/wikibase/data-model/src/Snak/PropertyNoValueSnak.php
 on line 14
    PHP Deprecated:  Wikibase\DataModel\Snak\PropertyNoValueSnak implements the 
Serializable interface, which is deprecated. Implement __serialize() and 
__unserialize() instead (or in addition, if support for old PHP versions is 
necessary) in 
/workspace/src/extensions/Wikibase/lib/packages/wikibase/data-model/src/Snak/PropertyNoValueSnak.php
 on line 14
    
    Deprecated: Wikibase\DataModel\Entity\NumericPropertyId implements the 
Serializable interface, which is deprecated. Implement __serialize() and 
__unserialize() instead (or in addition, if support for old PHP versions is 
necessary) in 
/workspace/src/extensions/Wikibase/lib/packages/wikibase/data-model/src/Entity/NumericPropertyId.php
 on line 11
    PHP Deprecated:  Wikibase\DataModel\Entity\NumericPropertyId implements the 
Serializable interface, which is deprecated. Implement __serialize() and 
__unserialize() instead (or in addition, if support for old PHP versions is 
necessary) in 
/workspace/src/extensions/Wikibase/lib/packages/wikibase/data-model/src/Entity/NumericPropertyId.php
 on line 11
    
    Deprecated: Return type of 
Wikibase\DataModel\Snak\SnakList::offsetSet($index, $value) should either be 
compatible with ArrayObject::offsetSet(mixed $key, mixed $value): void, or the 
#[\ReturnTypeWillChange] attribute should be used to temporarily suppress the 
notice in 
/workspace/src/extensions/Wikibase/lib/packages/wikibase/data-model/src/Snak/SnakList.php
 on line 235
    
    Deprecated: Return type of 
Wikibase\DataModel\Snak\SnakList::offsetUnset($index) should either be 
compatible with ArrayObject::offsetUnset(mixed $key): void, or the 
#[\ReturnTypeWillChange] attribute should be used to temporarily suppress the 
notice in 
/workspace/src/extensions/Wikibase/lib/packages/wikibase/data-model/src/Snak/SnakList.php
 on line 207
    
    Deprecated: Return type of Wikibase\DataModel\Snak\SnakList::append($value) 
should either be compatible with ArrayObject::append(mixed $value): void, or 
the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress 
the notice in 
/workspace/src/extensions/Wikibase/lib/packages/wikibase/data-model/src/Snak/SnakList.php
 on line 225
    
    Deprecated: Return type of 
Wikibase\DataModel\Snak\SnakList::unserialize($serialized) should either be 
compatible with ArrayObject::unserialize(string $data): void, or the 
#[\ReturnTypeWillChange] attribute should be used to temporarily suppress the 
notice in 
/workspace/src/extensions/Wikibase/lib/packages/wikibase/data-model/src/Snak/SnakList.php
 on line 281
    
    Deprecated: Return type of Wikibase\DataModel\Snak\SnakList::serialize() 
should either be compatible with ArrayObject::serialize(): string, or the 
#[\ReturnTypeWillChange] attribute should be used to temporarily suppress the 
notice in 
/workspace/src/extensions/Wikibase/lib/packages/wikibase/data-model/src/Snak/SnakList.php
 on line 272
    PHP Deprecated:  Return type of 
Wikibase\DataModel\Snak\SnakList::offsetSet($index, $value) should either be 
compatible with ArrayObject::offsetSet(mixed $key, mixed $value): void, or the 
#[\ReturnTypeWillChange] attribute should be used to temporarily suppress the 
notice in 
/workspace/src/extensions/Wikibase/lib/packages/wikibase/data-model/src/Snak/SnakList.php
 on line 235
    PHP Deprecated:  Return type of 
Wikibase\DataModel\Snak\SnakList::offsetUnset($index) should either be 
compatible with ArrayObject::offsetUnset(mixed $key): void, or the 
#[\ReturnTypeWillChange] attribute should be used to temporarily suppress the 
notice in 
/workspace/src/extensions/Wikibase/lib/packages/wikibase/data-model/src/Snak/SnakList.php
 on line 207
    PHP Deprecated:  Return type of 
Wikibase\DataModel\Snak\SnakList::append($value) should either be compatible 
with ArrayObject::append(mixed $value): void, or the #[\ReturnTypeWillChange] 
attribute should be used to temporarily suppress the notice in 
/workspace/src/extensions/Wikibase/lib/packages/wikibase/data-model/src/Snak/SnakList.php
 on line 225
    PHP Deprecated:  Return type of 
Wikibase\DataModel\Snak\SnakList::unserialize($serialized) should either be 
compatible with ArrayObject::unserialize(string $data): void, or the 
#[\ReturnTypeWillChange] attribute should be used to temporarily suppress the 
notice in 
/workspace/src/extensions/Wikibase/lib/packages/wikibase/data-model/src/Snak/SnakList.php
 on line 281
    PHP Deprecated:  Return type of 
Wikibase\DataModel\Snak\SnakList::serialize() should either be compatible with 
ArrayObject::serialize(): string, or the #[\ReturnTypeWillChange] attribute 
should be used to temporarily suppress the notice in 
/workspace/src/extensions/Wikibase/lib/packages/wikibase/data-model/src/Snak/SnakList.php
 on line 272
    
    Deprecated: Return type of Wikibase\DataModel\ReferenceList::count() should 
either be compatible with Countable::count(): int, or the 
#[\ReturnTypeWillChange] attribute should be used to temporarily suppress the 
notice in 
/workspace/src/extensions/Wikibase/lib/packages/wikibase/data-model/src/ReferenceList.php
 on line 310
    
    Deprecated: Return type of Wikibase\DataModel\ReferenceList::getIterator() 
should either be compatible with IteratorAggregate::getIterator(): Traversable, 
or the #[\ReturnTypeWillChange] attribute should be used to temporarily 
suppress the notice in 
/workspace/src/extensions/Wikibase/lib/packages/wikibase/data-model/src/ReferenceList.php
 on line 321
    PHP Deprecated:  Return type of Wikibase\DataModel\ReferenceList::count() 
should either be compatible with Countable::count(): int, or the 
#[\ReturnTypeWillChange] attribute should be used to temporarily suppress the 
notice in 
/workspace/src/extensions/Wikibase/lib/packages/wikibase/data-model/src/ReferenceList.php
 on line 310
    PHP Deprecated:  Return type of 
Wikibase\DataModel\ReferenceList::getIterator() should either be compatible 
with IteratorAggregate::getIterator(): Traversable, or the 
#[\ReturnTypeWillChange] attribute should be used to temporarily suppress the 
notice in 
/workspace/src/extensions/Wikibase/lib/packages/wikibase/data-model/src/ReferenceList.php
 on line 321
    
    Deprecated: Wikibase\Lexeme\Domain\Model\LexemeId implements the 
Serializable interface, which is deprecated. Implement __serialize() and 
__unserialize() instead (or in addition, if support for old PHP versions is 
necessary) in 
/workspace/src/extensions/WikibaseLexeme/src/Domain/Model/LexemeId.php on line 
18
    PHP Deprecated:  Wikibase\Lexeme\Domain\Model\LexemeId implements the 
Serializable interface, which is deprecated. Implement __serialize() and 
__unserialize() instead (or in addition, if support for old PHP versions is 
necessary) in 
/workspace/src/extensions/WikibaseLexeme/src/Domain/Model/LexemeId.php on line 
18
    
    Deprecated: Return type of Wikibase\Lexeme\Domain\Model\SenseSet::count() 
should either be compatible with Countable::count(): int, or the 
#[\ReturnTypeWillChange] attribute should be used to temporarily suppress the 
notice in 
/workspace/src/extensions/WikibaseLexeme/src/Domain/Model/SenseSet.php on line 
75
    PHP Deprecated:  Return type of 
Wikibase\Lexeme\Domain\Model\SenseSet::count() should either be compatible with 
Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be 
used to temporarily suppress the notice in 
/workspace/src/extensions/WikibaseLexeme/src/Domain/Model/SenseSet.php on line 
75
    
    Deprecated: Wikibase\Lexeme\Domain\Model\SenseId implements the 
Serializable interface, which is deprecated. Implement __serialize() and 
__unserialize() instead (or in addition, if support for old PHP versions is 
necessary) in 
/workspace/src/extensions/WikibaseLexeme/src/Domain/Model/SenseId.php on line 14
    PHP Deprecated:  Wikibase\Lexeme\Domain\Model\SenseId implements the 
Serializable interface, which is deprecated. Implement __serialize() and 
__unserialize() instead (or in addition, if support for old PHP versions is 
necessary) in 
/workspace/src/extensions/WikibaseLexeme/src/Domain/Model/SenseId.php on line 14
    
    Deprecated: Return type of Wikibase\DataModel\Term\AliasGroupList::count() 
should either be compatible with Countable::count(): int, or the 
#[\ReturnTypeWillChange] attribute should be used to temporarily suppress the 
notice in 
/workspace/src/extensions/Wikibase/lib/packages/wikibase/data-model/src/Term/AliasGroupList.php
 on line 48
    
    Deprecated: Return type of 
Wikibase\DataModel\Term\AliasGroupList::getIterator() should either be 
compatible with IteratorAggregate::getIterator(): Traversable, or the 
#[\ReturnTypeWillChange] attribute should be used to temporarily suppress the 
notice in 
/workspace/src/extensions/Wikibase/lib/packages/wikibase/data-model/src/Term/AliasGroupList.php
 on line 56
    PHP Deprecated:  Return type of 
Wikibase\DataModel\Term\AliasGroupList::count() should either be compatible 
with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should 
be used to temporarily suppress the notice in 
/workspace/src/extensions/Wikibase/lib/packages/wikibase/data-model/src/Term/AliasGroupList.php
 on line 48
    PHP Deprecated:  Return type of 
Wikibase\DataModel\Term\AliasGroupList::getIterator() should either be 
compatible with IteratorAggregate::getIterator(): Traversable, or the 
#[\ReturnTypeWillChange] attribute should be used to temporarily suppress the 
notice in 
/workspace/src/extensions/Wikibase/lib/packages/wikibase/data-model/src/Term/AliasGroupList.php
 on line 56
    
    Deprecated: Return type of Wikibase\DataModel\SiteLinkList::getIterator() 
should either be compatible with IteratorAggregate::getIterator(): Traversable, 
or the #[\ReturnTypeWillChange] attribute should be used to temporarily 
suppress the notice in 
/workspace/src/extensions/Wikibase/lib/packages/wikibase/data-model/src/SiteLinkList.php
 on line 108
    
    Deprecated: Return type of Wikibase\DataModel\SiteLinkList::count() should 
either be compatible with Countable::count(): int, or the 
#[\ReturnTypeWillChange] attribute should be used to temporarily suppress the 
notice in 
/workspace/src/extensions/Wikibase/lib/packages/wikibase/data-model/src/SiteLinkList.php
 on line 117
    PHP Deprecated:  Return type of 
Wikibase\DataModel\SiteLinkList::getIterator() should either be compatible with 
IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] 
attribute should be used to temporarily suppress the notice in 
/workspace/src/extensions/Wikibase/lib/packages/wikibase/data-model/src/SiteLinkList.php
 on line 108
    PHP Deprecated:  Return type of Wikibase\DataModel\SiteLinkList::count() 
should either be compatible with Countable::count(): int, or the 
#[\ReturnTypeWillChange] attribute should be used to temporarily suppress the 
notice in 
/workspace/src/extensions/Wikibase/lib/packages/wikibase/data-model/src/SiteLinkList.php
 on line 117
    
    Deprecated: Wikibase\Lexeme\Domain\DummyObjects\NullSenseId implements the 
Serializable interface, which is deprecated. Implement __serialize() and 
__unserialize() instead (or in addition, if support for old PHP versions is 
necessary) in 
/workspace/src/extensions/WikibaseLexeme/src/Domain/DummyObjects/NullSenseId.php
 on line 14
    PHP Deprecated:  Wikibase\Lexeme\Domain\DummyObjects\NullSenseId implements 
the Serializable interface, which is deprecated. Implement __serialize() and 
__unserialize() instead (or in addition, if support for old PHP versions is 
necessary) in 
/workspace/src/extensions/WikibaseLexeme/src/Domain/DummyObjects/NullSenseId.php
 on line 14
    
    Deprecated: Wikibase\Lexeme\Domain\DummyObjects\DummySenseId implements the 
Serializable interface, which is deprecated. Implement __serialize() and 
__unserialize() instead (or in addition, if support for old PHP versions is 
necessary) in 
/workspace/src/extensions/WikibaseLexeme/src/Domain/DummyObjects/DummySenseId.php
 on line 12
    PHP Deprecated:  Wikibase\Lexeme\Domain\DummyObjects\DummySenseId 
implements the Serializable interface, which is deprecated. Implement 
__serialize() and __unserialize() instead (or in addition, if support for old 
PHP versions is necessary) in 
/workspace/src/extensions/WikibaseLexeme/src/Domain/DummyObjects/DummySenseId.php
 on line 12
    PHPUnit 8.5.30 #StandWithUkraine
    
    ...........................................................    59 / 16068 ( 
 0%)
    ...........................................................   118 / 16068 ( 
 0%)
    ...........................................................   177 / 16068 ( 
 1%)
    ...........................................................   236 / 16068 ( 
 1%)
    ...........................................................   295 / 16068 ( 
 1%)
    ...........................................................   354 / 16068 ( 
 2%)
    ...........................................................   413 / 16068 ( 
 2%)
    [...]
    ........................................................... 15517 / 16068 ( 
96%)
    
........................................E.......E..........
 15576 / 16068 ( 96%)
    ........................................................... 15635 / 16068 ( 
97%)
    ........................................................... 15694 / 16068 ( 
97%)
    ...............E........................................... 
15753 / 16068 ( 98%)
    ........................................................... 15812 / 16068 ( 
98%)
    ........................................................... 15871 / 16068 ( 
98%)
    ..........................PHP Fatal error:  During inheritance of 
ArrayObject: Uncaught Return type of Diff\DiffOp\Diff\Diff::offsetSet($index, 
$value) should either be compatible with ArrayObject::offsetSet(mixed $key, 
mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used 
to temporarily suppress the notice
    
    /workspace/src/vendor/diff/diff/src/DiffOp/Diff/Diff.php:398
    /workspace/src/vendor/diff/diff/src/DiffOp/Diff/Diff.php:25
    
/workspace/src/extensions/Wikibase/lib/packages/wikibase/data-model-services/src/Diff/StatementListDiffer.php:30
    /workspace/src/extensions/WikibaseLexeme/src/Domain/Diff/FormDiffer.php:98
    /workspace/src/extensions/WikibaseLexeme/src/Domain/Diff/FormDiffer.php:58
    
/workspace/src/extensions/WikibaseLexeme/tests/phpunit/unit/DataModel/Services/Diff/FormDifferTest.php:25
    /workspace/src/tests/phpunit/MediaWikiUnitTestCase.php:116
     in /workspace/src/vendor/diff/diff/src/DiffOp/Diff/Diff.php on line 25
    
    Fatal error: During inheritance of ArrayObject: Uncaught Return type of 
Diff\DiffOp\Diff\Diff::offsetSet($index, $value) should either be compatible 
with ArrayObject::offsetSet(mixed $key, mixed $value): void, or the 
#[\ReturnTypeWillChange] attribute should be used to temporarily suppress the 
notice
    
    /workspace/src/vendor/diff/diff/src/DiffOp/Diff/Diff.php:398
    /workspace/src/vendor/diff/diff/src/DiffOp/Diff/Diff.php:25
    
/workspace/src/extensions/Wikibase/lib/packages/wikibase/data-model-services/src/Diff/StatementListDiffer.php:30
    /workspace/src/extensions/WikibaseLexeme/src/Domain/Diff/FormDiffer.php:98
    /workspace/src/extensions/WikibaseLexeme/src/Domain/Diff/FormDiffer.php:58
    
/workspace/src/extensions/WikibaseLexeme/tests/phpunit/unit/DataModel/Services/Diff/FormDifferTest.php:25
    /workspace/src/tests/phpunit/MediaWikiUnitTestCase.php:116
     in /workspace/src/vendor/diff/diff/src/DiffOp/Diff/Diff.php on line 25
    Script phpunit --colors=always 
--testsuite=core:unit,extensions:unit,skins:unit handling the phpunit:unit 
event returned with error code 255
    <<< Finish: PHPUnit unit tests, in 9.143 s

TASK DETAIL
  https://phabricator.wikimedia.org/T319219

EMAIL PREFERENCES
  https://phabricator.wikimedia.org/settings/panel/emailpreferences/

To: Bawolff
Cc: Aklapper, Base, Bawolff, ItamarWMDE, Akuckartz, lucamauri, Gq86, 
Wikidata-bugs, Nikerabbit
_______________________________________________
Wikidata-bugs mailing list -- wikidata-bugs@lists.wikimedia.org
To unsubscribe send an email to wikidata-bugs-le...@lists.wikimedia.org

Reply via email to