jenkins-bot has submitted this change and it was merged.

Change subject: Remove support for non-Composer PHPUnit
......................................................................


Remove support for non-Composer PHPUnit

Composer is now a standard way to install MediaWiki's PHP dependencies,
no reason for it not to be the same for PHPUnit.

Change-Id: Ibd977eb3480dafaf270ff63abc43c413d7b72144
---
M RELEASE-NOTES-1.27
M tests/phpunit/phpunit.php
2 files changed, 5 insertions(+), 76 deletions(-)

Approvals:
  JanZerebecki: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/RELEASE-NOTES-1.27 b/RELEASE-NOTES-1.27
index 82d8103..d8866ad 100644
--- a/RELEASE-NOTES-1.27
+++ b/RELEASE-NOTES-1.27
@@ -359,6 +359,8 @@
 ** WatchedItem::duplicateEntries was deprecated.
 ** EmailNotification::updateWatchlistTimestamp was deprecated.
 ** User::getWatchedItem was removed.
+* Unit tests don't work with external PHPUnit anymore, Composer is now the 
only supported
+  way. Run `composer install` to install it and other dev dependencies to run 
unit tests.
 
 == Compatibility ==
 
diff --git a/tests/phpunit/phpunit.php b/tests/phpunit/phpunit.php
index 86fc295..02d1a1d 100755
--- a/tests/phpunit/phpunit.php
+++ b/tests/phpunit/phpunit.php
@@ -30,13 +30,6 @@
        public function __construct() {
                parent::__construct();
                $this->addOption(
-                       'with-phpunitdir',
-                       'Directory to include PHPUnit from, for example when 
using a git '
-                               . 'fetchout from upstream. Path will be 
prepended to PHP `include_path`.',
-                       false, # not required
-                       true # need arg
-               );
-               $this->addOption(
                        'debug-tests',
                        'Log testing activity to the PHPUnitCommand log 
channel.',
                        false, # not required
@@ -158,38 +151,6 @@
                                [ '--configuration', $IP . 
'/tests/phpunit/suite.xml' ] );
                }
 
-               # --with-phpunitdir let us override the default PHPUnit version
-               # Can use with either or phpunit.phar in the directory or the
-               # full PHPUnit code base.
-               if ( $this->hasOption( 'with-phpunitdir' ) ) {
-                       $phpunitDir = $this->getOption( 'with-phpunitdir' );
-
-                       # prepends provided PHPUnit directory or phar
-                       $this->output( "Will attempt loading PHPUnit from 
`$phpunitDir`\n" );
-                       set_include_path( $phpunitDir . PATH_SEPARATOR . 
get_include_path() );
-
-                       # Cleanup $args array so the option and its value do not
-                       # pollute PHPUnit
-                       $key = array_search( '--with-phpunitdir', 
$_SERVER['argv'] );
-                       unset( $_SERVER['argv'][$key] ); // the option
-                       unset( $_SERVER['argv'][$key + 1] ); // its value
-                       $_SERVER['argv'] = array_values( $_SERVER['argv'] );
-               }
-
-               # Makes MediaWiki PHPUnit directory includable so the PHPUnit 
will
-               # be able to resolve relative files inclusion such as suites/*
-               # PHPUnit uses stream_resolve_include_path() internally
-               # See bug 32022
-               $key = array_search( '--include-path', $_SERVER['argv'] );
-               if ( $key === false ) {
-                       array_splice( $_SERVER['argv'], 1, 0,
-                               __DIR__
-                               . PATH_SEPARATOR
-                               . get_include_path()
-                       );
-                       array_splice( $_SERVER['argv'], 1, 0, '--include-path' 
);
-               }
-
                $key = array_search( '--debug-tests', $_SERVER['argv'] );
                if ( $key !== false && array_search( '--printer', 
$_SERVER['argv'] ) === false ) {
                        unset( $_SERVER['argv'][$key] );
@@ -241,43 +202,9 @@
 $maintClass = 'PHPUnitMaintClass';
 require RUN_MAINTENANCE_IF_MAIN;
 
-$ok = false;
-
-if ( class_exists( 'PHPUnit_TextUI_Command' ) ) {
-       echo "PHPUnit already present\n";
-       $ok = true;
-} else {
-       foreach ( [
-                               stream_resolve_include_path( 'phpunit.phar' ),
-                               stream_resolve_include_path( 'phpunit-old.phar' 
),
-                               'PHPUnit/Runner/Version.php',
-                               'PHPUnit/Autoload.php'
-                       ] as $includePath ) {
-
-               if ( $includePath === false ) {
-                       // stream_resolve_include_path can return false
-                       continue;
-               }
-
-               \MediaWiki\suppressWarnings();
-               include_once $includePath;
-               \MediaWiki\restoreWarnings();
-               if ( class_exists( 'PHPUnit_TextUI_Command' ) ) {
-                       $ok = true;
-                       echo "Using PHPUnit from $includePath\n";
-                       break;
-               }
-       }
-}
-
-if ( !$ok ) {
-       echo "Couldn't find a usable PHPUnit.\n";
-       exit( 1 );
-}
-
-$puVersion = PHPUnit_Runner_Version::id();
-if ( $puVersion !== '@package_version@' && version_compare( $puVersion, 
'3.7.0', '<' ) ) {
-       echo "PHPUnit 3.7.0 or later required; you have {$puVersion}.\n";
+if ( !class_exists( 'PHPUnit_TextUI_Command' ) ) {
+       echo "PHPUnit not found. Please install it and other dev dependencies by
+running `composer install` in MediaWiki root directory.\n";
        exit( 1 );
 }
 

-- 
To view, visit https://gerrit.wikimedia.org/r/277046
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: Ibd977eb3480dafaf270ff63abc43c413d7b72144
Gerrit-PatchSet: 2
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: MaxSem <[email protected]>
Gerrit-Reviewer: JanZerebecki <[email protected]>
Gerrit-Reviewer: Legoktm <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to