The travis CI build for php 7.4 breaks due to phpunit failures.
Apparently, all of the failing checks have to do with serialization / de-serialization:
- Wikibase\DataModel\Tests\ReferenceListTest::testGetValueHashIsTheSameForClone
- Wikibase\DataModel\Tests\ReferenceListTest::testSerializationStability
- Wikibase\DataModel\Tests\ReferenceListTest::testSerializeUnserializeRoundtrip
- Wikibase\DataModel\Tests\ReferenceListTest::testUnserializeCreatesNonIdenticalClones
- Wikibase\DataModel\Tests\Statement\StatementTest::testSerialize
In particular, assumptions such as:
$clone = unserialize( serialize( $original ) ); $this->assertTrue( $original->equals( $clone ) ); $this->assertSame( $original->getValueHash(), $clone->getValueHash() );
do not seem to be valid any longer, in PHP 7.4
Possible cause: https://github.com/php/php-src/blob/ea1b8788773fe9d5fd517704da332f0725714b8b/UPGRADING#L148 (?)
Possible solution: https://github.com/php/php-src/blob/ea1b8788773fe9d5fd517704da332f0725714b8b/UPGRADING#L332 (?)
Example failures: https://travis-ci.org/wmde/WikibaseDataModel/jobs/641447598