"monolog/monolog": "~1.22.1",
"nikic/php-parser": "3.1.3",
"nmred/kafka-php": "0.1.5",
- "phpunit/phpunit": "4.8.36",
+ "phpunit/phpunit": "4.8.36 || ^6.5",
"psy/psysh": "0.8.11",
"wikimedia/avro": "1.8.0",
"wikimedia/testing-access-wrapper": "~1.0",
function_exists( 'tideways_enable' ) ? [] : [ 'tests/phan/stubs/tideways.php' ],
class_exists( PEAR::class ) ? [] : [ 'tests/phan/stubs/mail.php' ],
class_exists( Memcached::class ) ? [] : [ 'tests/phan/stubs/memcached.php' ],
+ // Per composer.json, PHPUnit 6 is used for PHP 7.0+, PHPUnit 4 otherwise.
+ // Load the interface for the version of PHPUnit that isn't installed.
+ // Phan only supports PHP 7.0+ (and not HHVM), so we only need to stub PHPUnit 4.
+ class_exists( PHPUnit_TextUI_Command::class ) ? [] : [ 'tests/phan/stubs/phpunit4.php' ],
[
'maintenance/7zip.inc',
'maintenance/backup.inc',
--- /dev/null
+<?php
+
+/**
+ * Some old classes from PHPUnit 4 that MediaWiki (conditionally) references.
+ *
+ * phpcs:ignoreFile
+ */
+
+class PHPUnit_TextUI_Command {
+
+}
[ '--configuration', $IP . '/tests/phpunit/suite.xml' ] );
}
- $phpUnitClass = 'PHPUnit_TextUI_Command';
+ $phpUnitClass = PHPUnit_TextUI_Command::class;
if ( $this->hasOption( 'with-phpunitclass' ) ) {
$phpUnitClass = $this->getOption( 'with-phpunitclass' );