Seb35 has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/373105 )

Change subject: Move classes for scripts from ./src to ./src/bin
......................................................................

Move classes for scripts from ./src to ./src/bin

- …and the same for the associated test classes;
- Make systematic use of constants for directories in the tests instead
  of recomputing the directories (less error-prone and clearer);
- Use absolute path in the header require_once in the tests.

Change-Id: Id7064473d42b516b40198510946e95bcd76c613e
---
M bin/mwcomposer.php
M bin/mwscript.php
M src/Hooks.php
R src/bin/AbstractMediaWikiFarmScript.php
R src/bin/MediaWikiFarmScript.php
R src/bin/MediaWikiFarmScriptComposer.php
M tests/phpunit/ConfigurationTest.php
M tests/phpunit/ConstructionTest.php
M tests/phpunit/FunctionsTest.php
M tests/phpunit/HooksTest.php
M tests/phpunit/InstallationIndependantTest.php
M tests/phpunit/LoadingTest.php
M tests/phpunit/LoggingTest.php
M tests/phpunit/MediaWikiFarmTestCase.php
M tests/phpunit/MonoversionInstallationTest.php
M tests/phpunit/MultiversionInstallationTest.php
R tests/phpunit/bin/MediaWikiFarmScriptComposerTest.php
R tests/phpunit/bin/MediaWikiFarmScriptTest.php
18 files changed, 134 insertions(+), 124 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/MediaWikiFarm 
refs/changes/05/373105/1

diff --git a/bin/mwcomposer.php b/bin/mwcomposer.php
index c1372fc..6e00a31 100644
--- a/bin/mwcomposer.php
+++ b/bin/mwcomposer.php
@@ -15,16 +15,16 @@
 }
 
 # Load classes
-require_once dirname( dirname( __FILE__ ) ) . 
'/src/MediaWikiFarmComposerScript.php';
+require_once dirname( dirname( __FILE__ ) ) . 
'/src/bin/MediaWikiFarmScriptComposer.php';
 
 # Prepare environment
-$wgMediaWikiFarmComposerScript = new MediaWikiFarmComposerScript( $argc, $argv 
);
+$wgMediaWikiFarmScriptComposer = new MediaWikiFarmScriptComposer( $argc, $argv 
);
 
-$wgMediaWikiFarmComposerScript->load();
+$wgMediaWikiFarmScriptComposer->load();
 
-$wgMediaWikiFarmComposerScript->main();
+$wgMediaWikiFarmScriptComposer->main();
 
-if( $wgMediaWikiFarmComposerScript->status != 200 ) {
-       exit( $wgMediaWikiFarmComposerScript->status );
+if( $wgMediaWikiFarmScriptComposer->status != 200 ) {
+       exit( $wgMediaWikiFarmScriptComposer->status );
 }
 // @codeCoverageIgnoreEnd
diff --git a/bin/mwscript.php b/bin/mwscript.php
index 1767d71..80549a3 100644
--- a/bin/mwscript.php
+++ b/bin/mwscript.php
@@ -15,7 +15,7 @@
 }
 
 # Load classes
-require_once dirname( dirname( __FILE__ ) ) . '/src/MediaWikiFarmScript.php';
+require_once dirname( dirname( __FILE__ ) ) . 
'/src/bin/MediaWikiFarmScript.php';
 
 # Prepare environment
 $wgMediaWikiFarmScript = new MediaWikiFarmScript( $argc, $argv );
diff --git a/src/Hooks.php b/src/Hooks.php
index f14bf21..946c6ca 100644
--- a/src/Hooks.php
+++ b/src/Hooks.php
@@ -36,10 +36,10 @@
                $files[] = $dir . 'InstallationIndependantTest.php';
                $files[] = $dir . 'LoadingTest.php';
                $files[] = $dir . 'LoggingTest.php';
-               $files[] = $dir . 'MediaWikiFarmComposerScriptTest.php';
-               $files[] = $dir . 'MediaWikiFarmScriptTest.php';
                $files[] = $dir . 'MonoversionInstallationTest.php';
                $files[] = $dir . 'MultiversionInstallationTest.php';
+               $files[] = $dir . 'bin/MediaWikiFarmScriptComposerTest.php';
+               $files[] = $dir . 'bin/MediaWikiFarmScriptTest.php';
 
                return true;
        }
diff --git a/src/AbstractMediaWikiFarmScript.php 
b/src/bin/AbstractMediaWikiFarmScript.php
similarity index 94%
rename from src/AbstractMediaWikiFarmScript.php
rename to src/bin/AbstractMediaWikiFarmScript.php
index bf0e0d6..d53929a 100644
--- a/src/AbstractMediaWikiFarmScript.php
+++ b/src/bin/AbstractMediaWikiFarmScript.php
@@ -9,7 +9,7 @@
  */
 
 // @codeCoverageIgnoreStart
-require_once dirname( __FILE__ ) . '/MediaWikiFarm.php';
+require_once dirname( dirname( __FILE__ ) ) . '/MediaWikiFarm.php';
 // @codeCoverageIgnoreEnd
 
 /**
@@ -155,22 +155,23 @@
                global $wgMediaWikiFarmConfigDir, $wgMediaWikiFarmCodeDir, 
$wgMediaWikiFarmCacheDir, $wgMediaWikiFarmSyslog, $IP;
 
                # Default values
-               $wgMediaWikiFarmCodeDir = dirname( dirname( dirname( __FILE__ ) 
) );
+               $farmDir = dirname( dirname( dirname( __FILE__ ) ) );
+               $wgMediaWikiFarmCodeDir = dirname( $farmDir );
                $wgMediaWikiFarmConfigDir = '/etc/mediawiki';
                $wgMediaWikiFarmCacheDir = '/tmp/mw-cache';
                $wgMediaWikiFarmSyslog = 'mediawikifarm';
 
-               if( is_file( dirname( dirname( dirname( dirname( __FILE__ ) ) ) 
) . '/includes/DefaultSettings.php' ) ) {
+               if( is_file( dirname( dirname( $farmDir ) ) . 
'/includes/DefaultSettings.php' ) ) {
 
-                       $IP = dirname( dirname( dirname( dirname( __FILE__ ) ) 
) );
+                       $IP = dirname( dirname( $farmDir ) );
                        require "$IP/LocalSettings.php";
                }
 
                # Specific values
-               @include_once dirname( dirname( __FILE__ ) ) . 
'/config/MediaWikiFarmDirectories.php';
+               @include_once $farmDir . '/config/MediaWikiFarmDirectories.php';
 
                # Load MediaWikiFarm class symbol
-               require_once dirname( dirname( __FILE__ ) ) . 
'/src/MediaWikiFarm.php';
+               require_once $farmDir . '/src/MediaWikiFarm.php';
        }
 
        /**
diff --git a/src/MediaWikiFarmScript.php b/src/bin/MediaWikiFarmScript.php
similarity index 100%
rename from src/MediaWikiFarmScript.php
rename to src/bin/MediaWikiFarmScript.php
diff --git a/src/MediaWikiFarmComposerScript.php 
b/src/bin/MediaWikiFarmScriptComposer.php
similarity index 97%
rename from src/MediaWikiFarmComposerScript.php
rename to src/bin/MediaWikiFarmScriptComposer.php
index 2779811..e9b05c2 100644
--- a/src/MediaWikiFarmComposerScript.php
+++ b/src/bin/MediaWikiFarmScriptComposer.php
@@ -1,6 +1,6 @@
 <?php
 /**
- * Class MediaWikiFarmComposerScript.
+ * Class MediaWikiFarmScriptComposer.
  *
  * @package MediaWikiFarm
  * @author Sébastien Beyou ~ Seb35 <se...@seb35.fr>
@@ -20,7 +20,7 @@
  * less global variables (in fact none; the only global variable written are 
for
  * compatibility purposes, e.g. PHPUnit expects $_SERVER['argv']).
  */
-class MediaWikiFarmComposerScript extends AbstractMediaWikiFarmScript {
+class MediaWikiFarmScriptComposer extends AbstractMediaWikiFarmScript {
 
        /**
         * Create the object with a copy of $argc and $argv.
@@ -241,7 +241,7 @@
                self::rmdirr( 'vendor-composer/composer-init', true );
 
                # Put autoloader indirection
-               copy( dirname( __FILE__ ) . 
'/MediaWikiFarmComposerAutoloader.php', 'vendor-composer/autoload.php' );
+               copy( dirname( dirname( __FILE__ ) ) . 
'/MediaWikiFarmComposerAutoloader.php', 'vendor-composer/autoload.php' );
 
                # Copy the directories back to the original MediaWiki: vendor, 
extensions, and skins
                self::copyr( 'vendor-composer', $cwd . '/vendor', true );
diff --git a/tests/phpunit/ConfigurationTest.php 
b/tests/phpunit/ConfigurationTest.php
index 82b263a..47f73fd 100644
--- a/tests/phpunit/ConfigurationTest.php
+++ b/tests/phpunit/ConfigurationTest.php
@@ -8,7 +8,7 @@
  * @license AGPL-3.0+ GNU Affero General Public License v3.0, or (at your 
option) any later version.
  */
 
-require_once 'MediaWikiFarmTestCase.php';
+require_once dirname( __FILE__ ) . '/MediaWikiFarmTestCase.php';
 require_once dirname( dirname( dirname( __FILE__ ) ) ) . 
'/src/MediaWikiFarm.php';
 
 /**
@@ -107,7 +107,7 @@
                        ),
                        'composer' => array(),
                        'execFiles' => array(
-                               0 => dirname( __FILE__ ) . 
'/data/config/LocalSettings.php',
+                               0 => self::$wgMediaWikiFarmConfigDir . 
'/LocalSettings.php',
                        ),
                );
 
@@ -171,7 +171,7 @@
 
                # First, without ExtensionRegistry
                $farm = new MediaWikiFarm( 
'a.testfarm-multiversion-test-extensions.example.org', null,
-                       self::$wgMediaWikiFarmConfigDir, dirname( __FILE__ ) . 
'/data/mediawiki', false,
+                       self::$wgMediaWikiFarmConfigDir, 
self::$wgMediaWikiFarmCodeDir, false,
                        array( 'EntryPoint' => 'index.php' ), array( 
'ExtensionRegistry' => false )
                );
 
@@ -184,7 +184,7 @@
 
                # Now with ExtensionRegistry
                $farm = new MediaWikiFarm( 
'a.testfarm-multiversion-test-extensions.example.org', null,
-                       self::$wgMediaWikiFarmConfigDir, dirname( __FILE__ ) . 
'/data/mediawiki', false,
+                       self::$wgMediaWikiFarmConfigDir, 
self::$wgMediaWikiFarmCodeDir, false,
                        array( 'EntryPoint' => 'index.php' ), array( 
'ExtensionRegistry' => true )
                );
 
@@ -197,7 +197,7 @@
 
                # Now with imposed loading mechanism (1)
                $farm = new MediaWikiFarm( 
'c.testfarm-multiversion-test-extensions.example.org', null,
-                       self::$wgMediaWikiFarmConfigDir, dirname( __FILE__ ) . 
'/data/mediawiki', false,
+                       self::$wgMediaWikiFarmConfigDir, 
self::$wgMediaWikiFarmCodeDir, false,
                        array( 'EntryPoint' => 'index.php' ), array( 
'ExtensionRegistry' => true )
                );
 
@@ -211,7 +211,7 @@
 
                # Now with imposed loading mechanism (2)
                $farm = new MediaWikiFarm( 
'd.testfarm-multiversion-test-extensions.example.org', null,
-                       self::$wgMediaWikiFarmConfigDir, dirname( __FILE__ ) . 
'/data/mediawiki', false,
+                       self::$wgMediaWikiFarmConfigDir, 
self::$wgMediaWikiFarmCodeDir, false,
                        array( 'EntryPoint' => 'index.php' ), array( 
'ExtensionRegistry' => true )
                );
 
@@ -226,7 +226,7 @@
 
                # Now with imposed loading mechanism (2)
                $farm = new MediaWikiFarm( 
'e.testfarm-multiversion-test-extensions.example.org', null,
-                       self::$wgMediaWikiFarmConfigDir, dirname( __FILE__ ) . 
'/data/mediawiki', false,
+                       self::$wgMediaWikiFarmConfigDir, 
self::$wgMediaWikiFarmCodeDir, false,
                        array( 'EntryPoint' => 'index.php' ), array( 
'ExtensionRegistry' => true )
                );
 
@@ -282,12 +282,12 @@
        function testLoadMediaWikiConfigMultiversion() {
 
                $farm = new MediaWikiFarm( 
'b.testfarm-multiversion-test-extensions.example.org', null,
-                       self::$wgMediaWikiFarmConfigDir, dirname( __FILE__ ) . 
'/data/mediawiki', self::$wgMediaWikiFarmCacheDir,
+                       self::$wgMediaWikiFarmConfigDir, 
self::$wgMediaWikiFarmCodeDir, self::$wgMediaWikiFarmCacheDir,
                        array( 'EntryPoint' => 'index.php', 'InnerMediaWiki' => 
true )
                );
 
                $this->assertTrue( $farm->checkExistence() );
-               $this->assertEquals( dirname( dirname( dirname( __FILE__ ) ) ) 
. '/src/main.php', $farm->getConfigFile() );
+               $this->assertEquals( self::$wgMediaWikiFarmFarmDir . 
'/src/main.php', $farm->getConfigFile() );
 
                # First load
                $farm->compileConfiguration();
@@ -300,7 +300,7 @@
                # Re-load to use config cache
                AbstractMediaWikiFarmScript::rmdirr( 
self::$wgMediaWikiFarmCacheDir . '/versions.php' );
                $farm = new MediaWikiFarm( 
'b.testfarm-multiversion-test-extensions.example.org', null,
-                       self::$wgMediaWikiFarmConfigDir, dirname( __FILE__ ) . 
'/data/mediawiki', self::$wgMediaWikiFarmCacheDir,
+                       self::$wgMediaWikiFarmConfigDir, 
self::$wgMediaWikiFarmCodeDir, self::$wgMediaWikiFarmCacheDir,
                        array( 'EntryPoint' => 'index.php', 'InnerMediaWiki' => 
true )
                );
                $this->assertTrue( $farm->checkExistence() );
@@ -357,7 +357,7 @@
                );
 
                $this->assertTrue( $farm->checkExistence() );
-               $this->assertEquals( dirname( dirname( dirname( __FILE__ ) ) ) 
. '/src/main.php', $farm->getConfigFile() );
+               $this->assertEquals( self::$wgMediaWikiFarmFarmDir . 
'/src/main.php', $farm->getConfigFile() );
 
                # First load
                $farm->compileConfiguration();
@@ -402,7 +402,7 @@
        function testSort() {
 
                $farm = new MediaWikiFarm( 
'a.testfarm-multiversion-test-extensions.example.org', null,
-                       self::$wgMediaWikiFarmConfigDir, dirname( __FILE__ ) . 
'/data/mediawiki', self::$wgMediaWikiFarmCacheDir,
+                       self::$wgMediaWikiFarmConfigDir, 
self::$wgMediaWikiFarmCodeDir, self::$wgMediaWikiFarmCacheDir,
                        array( 'EntryPoint' => 'index.php', 'InnerMediaWiki' => 
false )
                );
                $farm->checkExistence();
diff --git a/tests/phpunit/ConstructionTest.php 
b/tests/phpunit/ConstructionTest.php
index c57af34..005022a 100644
--- a/tests/phpunit/ConstructionTest.php
+++ b/tests/phpunit/ConstructionTest.php
@@ -8,7 +8,7 @@
  * @license AGPL-3.0+ GNU Affero General Public License v3.0, or (at your 
option) any later version.
  */
 
-require_once 'MediaWikiFarmTestCase.php';
+require_once dirname( __FILE__ ) . '/MediaWikiFarmTestCase.php';
 require_once dirname( dirname( dirname( __FILE__ ) ) ) . 
'/src/MediaWikiFarm.php';
 
 /**
@@ -698,7 +698,7 @@
                                array( 'EntryPoint' => 'index.php' ) );
 
                # Check farm directory
-               $this->assertEquals( dirname( dirname( dirname( __FILE__ ) ) ), 
$farm->getFarmDir() );
+               $this->assertEquals( self::$wgMediaWikiFarmFarmDir, 
$farm->getFarmDir() );
 
                # Check code directory
                $this->assertEquals( self::$wgMediaWikiFarmCodeDir, 
$farm->getCodeDir() );
@@ -707,7 +707,7 @@
                $this->assertFalse( $farm->getCacheDir() );
 
                # Check executable file [farm]/src/main.php
-               $this->assertEquals( dirname( dirname( dirname( __FILE__ ) ) ) 
. '/src/main.php', $farm->getConfigFile() );
+               $this->assertEquals( self::$wgMediaWikiFarmFarmDir . 
'/src/main.php', $farm->getConfigFile() );
 
                $this->assertEquals(
                        array(
@@ -749,7 +749,7 @@
                $this->assertFalse( $farm->getCacheDir() );
 
                # Check executable file [farm]/src/main.php
-               $this->assertEquals( dirname( dirname( dirname( __FILE__ ) ) ) 
. '/src/main.php', $farm->getConfigFile() );
+               $this->assertEquals( self::$wgMediaWikiFarmFarmDir . 
'/src/main.php', $farm->getConfigFile() );
        }
 
        /**
diff --git a/tests/phpunit/FunctionsTest.php b/tests/phpunit/FunctionsTest.php
index 2f0e0d7..7a117c7 100644
--- a/tests/phpunit/FunctionsTest.php
+++ b/tests/phpunit/FunctionsTest.php
@@ -8,7 +8,7 @@
  * @license AGPL-3.0+ GNU Affero General Public License v3.0, or (at your 
option) any later version.
  */
 
-require_once 'MediaWikiFarmTestCase.php';
+require_once dirname( __FILE__ ) . '/MediaWikiFarmTestCase.php';
 require_once dirname( dirname( dirname( __FILE__ ) ) ) . 
'/src/MediaWikiFarm.php';
 
 /**
@@ -29,7 +29,7 @@
                parent::setUpBeforeClass();
 
                if( version_compare( PHP_VERSION, '5.3.0' ) >= 0 ) {
-                       require_once dirname( dirname( dirname( __FILE__ ) ) ) 
. '/src/Yaml.php';
+                       require_once self::$wgMediaWikiFarmFarmDir . 
'/src/Yaml.php';
                }
        }
 
@@ -52,7 +52,7 @@
                        );
                }
 
-               wfMediaWikiFarm_readYAML( dirname( __FILE__ ) . 
'/data/config/testreading.yml' );
+               wfMediaWikiFarm_readYAML( self::$wgMediaWikiFarmConfigDir . 
'/testreading.yml' );
        }*/
 
 
@@ -72,7 +72,7 @@
                        );
                }
 
-               wfMediaWikiFarm_readYAML( dirname( __FILE__ ) . 
'/data/config/missingfile.yml' );
+               wfMediaWikiFarm_readYAML( self::$wgMediaWikiFarmConfigDir . 
'/missingfile.yml' );
        }
 
        /**
@@ -91,7 +91,7 @@
                        );
                }
 
-               wfMediaWikiFarm_readYAML( dirname( __FILE__ ) . 
'/data/config/badsyntax.yaml' );
+               wfMediaWikiFarm_readYAML( self::$wgMediaWikiFarmConfigDir . 
'/badsyntax.yaml' );
        }
 
        /**
diff --git a/tests/phpunit/HooksTest.php b/tests/phpunit/HooksTest.php
index e4864f8..10da76f 100644
--- a/tests/phpunit/HooksTest.php
+++ b/tests/phpunit/HooksTest.php
@@ -8,7 +8,7 @@
  * @license AGPL-3.0+ GNU Affero General Public License v3.0, or (at your 
option) any later version.
  */
 
-require_once 'MediaWikiFarmTestCase.php';
+require_once dirname( __FILE__ ) . '/MediaWikiFarmTestCase.php';
 require_once dirname( dirname( dirname( __FILE__ ) ) ) . '/src/Hooks.php';
 
 /**
@@ -25,7 +25,10 @@
         */
        function testOnUnitTestsList() {
 
-               $testFiles = glob( dirname( __FILE__ ) . '/*Test.php' );
+               $testFiles = array_merge(
+                       glob( dirname( __FILE__ ) . '/*Test.php' ),
+                       glob( dirname( __FILE__ ) . '/*/*Test.php' )
+               );
 
                $array = array();
                MediaWikiFarmHooks::onUnitTestsList( $array );
diff --git a/tests/phpunit/InstallationIndependantTest.php 
b/tests/phpunit/InstallationIndependantTest.php
index 3dfac69..e5f3ee6 100644
--- a/tests/phpunit/InstallationIndependantTest.php
+++ b/tests/phpunit/InstallationIndependantTest.php
@@ -8,7 +8,7 @@
  * @license AGPL-3.0+ GNU Affero General Public License v3.0, or (at your 
option) any later version.
  */
 
-require_once 'MediaWikiFarmTestCase.php';
+require_once dirname( __FILE__ ) . '/MediaWikiFarmTestCase.php';
 require_once dirname( dirname( dirname( __FILE__ ) ) ) . 
'/src/MediaWikiFarm.php';
 
 /**
@@ -74,7 +74,7 @@
                        );
                }
 
-               $result = $this->farm->readFile( 'testreading.yml', dirname( 
__FILE__ ) . '/data/config' );
+               $result = $this->farm->readFile( 'testreading.yml', 
self::$wgMediaWikiFarmConfigDir );
                $this->assertEquals(
                        array(
                                'element1',
@@ -92,7 +92,7 @@
         */
        function testSuccessfulReadingPHP() {
 
-               $result = $this->farm->readFile( 'testreading.php', dirname( 
__FILE__ ) . '/data/config' );
+               $result = $this->farm->readFile( 'testreading.php', 
self::$wgMediaWikiFarmConfigDir );
                $this->assertEquals(
                        array(
                                'element1',
@@ -110,7 +110,7 @@
         */
        function testSuccessfulReadingJSON() {
 
-               $result = $this->farm->readFile( 'testreading.json', dirname( 
__FILE__ ) . '/data/config' );
+               $result = $this->farm->readFile( 'testreading.json', 
self::$wgMediaWikiFarmConfigDir );
                $this->assertEquals(
                        array(
                                'element1',
@@ -128,7 +128,7 @@
         */
        function testSuccessfulReadingSER() {
 
-               $result = $this->farm->readFile( 'testreading.ser', dirname( 
__FILE__ ) . '/data/config' );
+               $result = $this->farm->readFile( 'testreading.ser', 
self::$wgMediaWikiFarmConfigDir );
                $this->assertEquals(
                        array(
                                'element1',
@@ -146,7 +146,7 @@
         */
        function testSuccessfulReadingDblist() {
 
-               $result = $this->farm->readFile( 'testreading.dblist', dirname( 
__FILE__ ) . '/data/config' );
+               $result = $this->farm->readFile( 'testreading.dblist', 
self::$wgMediaWikiFarmConfigDir );
                $this->assertEquals(
                        array(
                                'element1',
@@ -164,7 +164,7 @@
         */
        function testReadMissingFile() {
 
-               $result = $this->farm->readFile( 'missingfile.yml', dirname( 
__FILE__ ) . '/data/config' );
+               $result = $this->farm->readFile( 'missingfile.yml', 
self::$wgMediaWikiFarmConfigDir );
                $this->assertFalse( $result );
        }
 
@@ -177,10 +177,10 @@
         */
        function testUnrecognisedFormatReadFile() {
 
-               $result = $this->farm->readFile( 'wrongformat.txt', dirname( 
__FILE__ ) . '/data/config' );
+               $result = $this->farm->readFile( 'wrongformat.txt', 
self::$wgMediaWikiFarmConfigDir );
                $this->assertFalse( $result );
 
-               $result = $this->farm->readFile( 'wrongformat', dirname( 
__FILE__ ) . '/data/config' );
+               $result = $this->farm->readFile( 'wrongformat', 
self::$wgMediaWikiFarmConfigDir );
                $this->assertFalse( $result );
        }
 
@@ -214,7 +214,7 @@
                        );
                }
 
-               $result = $this->farm->readFile( 'badsyntax.yaml', dirname( 
__FILE__ ) . '/data/config' );
+               $result = $this->farm->readFile( 'badsyntax.yaml', 
self::$wgMediaWikiFarmConfigDir );
                $this->assertFalse( $result );
                $this->shouldBeConstant = false;
        }
@@ -228,7 +228,7 @@
         */
        function testBadSyntaxFileReadingJSON() {
 
-               $result = $this->farm->readFile( 'badsyntax.json', dirname( 
__FILE__ ) . '/data/config' );
+               $result = $this->farm->readFile( 'badsyntax.json', 
self::$wgMediaWikiFarmConfigDir );
                $this->assertFalse( $result );
        }
 
@@ -248,7 +248,7 @@
                        );
                }
 
-               $result = $this->farm->readFile( 'empty.yml', dirname( __FILE__ 
) . '/data/config' );
+               $result = $this->farm->readFile( 'empty.yml', 
self::$wgMediaWikiFarmConfigDir );
                $this->assertEquals( false, $result );
        }
 
@@ -261,7 +261,7 @@
         */
        function testEmptyFileReadingJSON() {
 
-               $result = $this->farm->readFile( 'empty.json', dirname( 
__FILE__ ) . '/data/config' );
+               $result = $this->farm->readFile( 'empty.json', 
self::$wgMediaWikiFarmConfigDir );
                $this->assertEquals( array(), $result );
        }
 
@@ -274,7 +274,7 @@
         */
        function testEmptyFileReadingSER() {
 
-               $result = $this->farm->readFile( 'empty.ser', dirname( __FILE__ 
) . '/data/config' );
+               $result = $this->farm->readFile( 'empty.ser', 
self::$wgMediaWikiFarmConfigDir );
                $this->assertEquals( array(), $result );
        }
 
@@ -287,7 +287,7 @@
         */
        function testBadContentReadFile() {
 
-               $result = $this->farm->readFile( dirname( __FILE__ ) . 
'/data/config/string.json' );
+               $result = $this->farm->readFile( 
self::$wgMediaWikiFarmConfigDir . '/string.json' );
                $this->assertFalse( $result );
        }
 
@@ -502,7 +502,7 @@
                );
 
                $farm = new MediaWikiFarm( 
'a.testfarm-multiversion.example.org', null, self::$wgMediaWikiFarmConfigDir, 
self::$wgMediaWikiFarmCodeDir, false );
-               $extensionJson = var_export( dirname( dirname( dirname( 
__FILE__ ) ) ) . '/extension.json', true );
+               $extensionJson = var_export( self::$wgMediaWikiFarmFarmDir . 
'/extension.json', true );
                $localSettings2 = str_replace( 'wfLoadExtension( 
\'MediaWikiFarm\' );', "wfLoadExtension( 'MediaWikiFarm', $extensionJson );", 
$localSettings );
                $this->assertEquals( $localSettings2,
                        MediaWikiFarmConfiguration::createLocalSettings( 
$configuration, (bool) $farm->getCodeDir(), "# Pre-config\n", "# Post-config\n" 
)
diff --git a/tests/phpunit/LoadingTest.php b/tests/phpunit/LoadingTest.php
index 46687dc..9e6f62c 100644
--- a/tests/phpunit/LoadingTest.php
+++ b/tests/phpunit/LoadingTest.php
@@ -8,7 +8,7 @@
  * @license AGPL-3.0+ GNU Affero General Public License v3.0, or (at your 
option) any later version.
  */
 
-require_once 'MediaWikiFarmTestCase.php';
+require_once dirname( __FILE__ ) . '/MediaWikiFarmTestCase.php';
 require_once dirname( dirname( dirname( __FILE__ ) ) ) . 
'/src/MediaWikiFarm.php';
 
 if( !function_exists( 'wfLoadExtension' ) ) {
@@ -108,10 +108,10 @@
 
                $this->backupAndSetGlobalVariable( 'wgMediaWikiFarm', null );
                $this->backupAndSetGlobalVariable( 'wgMediaWikiFarmConfigDir', 
self::$wgMediaWikiFarmConfigDir );
-               $this->backupAndSetGlobalVariable( 'wgMediaWikiFarmCodeDir', 
dirname( __FILE__ ) . '/data/mediawiki' );
+               $this->backupAndSetGlobalVariable( 'wgMediaWikiFarmCodeDir', 
self::$wgMediaWikiFarmCodeDir );
                $this->backupAndSetGlobalVariable( 'wgMediaWikiFarmCacheDir', 
false );
-               $this->backupAndSetGlobalVariable( 'wgExtensionDirectory', 
dirname( __FILE__ ) . '/data/mediawiki/vstub/extensions' );
-               $this->backupAndSetGlobalVariable( 'wgStyleDirectory', dirname( 
__FILE__ ) . '/data/mediawiki/vstub/skins' );
+               $this->backupAndSetGlobalVariable( 'wgExtensionDirectory', 
self::$wgMediaWikiFarmCodeDir . '/vstub/extensions' );
+               $this->backupAndSetGlobalVariable( 'wgStyleDirectory', 
self::$wgMediaWikiFarmCodeDir . '/vstub/skins' );
                $wgMediaWikiFarm = &$GLOBALS['wgMediaWikiFarm'];
                $wgExtensionDirectory = $GLOBALS['wgExtensionDirectory'];
                $wgStyleDirectory = $GLOBALS['wgStyleDirectory'];
@@ -183,7 +183,7 @@
 
                # Check that extensions+skins are in ExtensionRegistry queue
                if( class_exists( 'ExtensionRegistry' ) ) {
-                       $this->assertContains( dirname( dirname( dirname( 
__FILE__ ) ) ) . '/extension.json', array_keys( 
ExtensionRegistry::getInstance()->getQueue() ) );
+                       $this->assertContains( self::$wgMediaWikiFarmFarmDir . 
'/extension.json', array_keys( ExtensionRegistry::getInstance()->getQueue() ) );
                        $this->assertContains( $wgExtensionDirectory . 
'/TestExtensionWfLoadExtension/extension.json', array_keys( 
ExtensionRegistry::getInstance()->getQueue() ) );
                        $this->assertContains( $wgExtensionDirectory . 
'/TestExtensionBiLoading/extension.json', array_keys( 
ExtensionRegistry::getInstance()->getQueue() ) );
                        $this->assertContains( $wgStyleDirectory . 
'/TestSkinWfLoadSkin/skin.json', array_keys( 
ExtensionRegistry::getInstance()->getQueue() ) );
@@ -277,7 +277,7 @@
 
                $this->backupAndSetGlobalVariable( 'wgMediaWikiFarm', null );
                $this->backupAndSetGlobalVariable( 'wgMediaWikiFarmConfigDir', 
self::$wgMediaWikiFarmConfigDir );
-               $this->backupAndSetGlobalVariable( 'wgMediaWikiFarmCodeDir', 
dirname( __FILE__ ) . '/data/mediawiki' );
+               $this->backupAndSetGlobalVariable( 'wgMediaWikiFarmCodeDir', 
self::$wgMediaWikiFarmCodeDir );
                $this->backupAndSetGlobalVariable( 'wgMediaWikiFarmCacheDir', 
false );
                $wgMediaWikiFarm = &$GLOBALS['wgMediaWikiFarm'];
 
diff --git a/tests/phpunit/LoggingTest.php b/tests/phpunit/LoggingTest.php
index 001230d..06a7cf1 100644
--- a/tests/phpunit/LoggingTest.php
+++ b/tests/phpunit/LoggingTest.php
@@ -8,7 +8,7 @@
  * @license AGPL-3.0+ GNU Affero General Public License v3.0, or (at your 
option) any later version.
  */
 
-require_once 'MediaWikiFarmTestCase.php';
+require_once dirname( __FILE__ ) . '/MediaWikiFarmTestCase.php';
 require_once dirname( dirname( dirname( __FILE__ ) ) ) . 
'/src/MediaWikiFarm.php';
 
 /**
diff --git a/tests/phpunit/MediaWikiFarmTestCase.php 
b/tests/phpunit/MediaWikiFarmTestCase.php
index e5e6cab..5795822 100644
--- a/tests/phpunit/MediaWikiFarmTestCase.php
+++ b/tests/phpunit/MediaWikiFarmTestCase.php
@@ -8,7 +8,7 @@
  * @license AGPL-3.0+ GNU Affero General Public License v3.0, or (at your 
option) any later version.
  */
 
-require_once dirname( dirname( dirname( __FILE__ ) ) ) . 
'/src/AbstractMediaWikiFarmScript.php';
+require_once dirname( dirname( dirname( __FILE__ ) ) ) . 
'/src/bin/AbstractMediaWikiFarmScript.php';
 
 # These tests can be called either directly with PHPUnit or through the 
PHPUnit infrastructure
 # inside MediaWiki (the wrapper tests/phpunit/phpunit.php).
@@ -44,6 +44,9 @@
  * @group MediaWikiFarm
  */
 abstract class MediaWikiFarmTestCase extends MediaWikiTestCase {
+
+       /** @var string Farm code directory. */
+       public static $wgMediaWikiFarmFarmDir = '';
 
        /** @var string Configuration directory for tests. */
        public static $wgMediaWikiFarmConfigDir = '';
@@ -108,6 +111,7 @@
        static function setUpBeforeClass() {
 
                # Set test configuration parameters
+               self::$wgMediaWikiFarmFarmDir = dirname( dirname( dirname( 
__FILE__ ) ) );
                self::$wgMediaWikiFarmConfigDir = dirname( __FILE__ ) . 
'/data/config';
                self::$wgMediaWikiFarmCodeDir = dirname( __FILE__ ) . 
'/data/mediawiki';
                self::$wgMediaWikiFarmCacheDir = dirname( __FILE__ ) . 
'/data/cache';
diff --git a/tests/phpunit/MonoversionInstallationTest.php 
b/tests/phpunit/MonoversionInstallationTest.php
index 6f0a6f4..08ce7ed 100644
--- a/tests/phpunit/MonoversionInstallationTest.php
+++ b/tests/phpunit/MonoversionInstallationTest.php
@@ -9,7 +9,7 @@
  */
 
 
-require_once 'MediaWikiFarmTestCase.php';
+require_once dirname( __FILE__ ) . '/MediaWikiFarmTestCase.php';
 require_once dirname( dirname( dirname( __FILE__ ) ) ) . 
'/src/MediaWikiFarm.php';
 
 /**
diff --git a/tests/phpunit/MultiversionInstallationTest.php 
b/tests/phpunit/MultiversionInstallationTest.php
index 5a1d510..52b3c95 100644
--- a/tests/phpunit/MultiversionInstallationTest.php
+++ b/tests/phpunit/MultiversionInstallationTest.php
@@ -8,7 +8,7 @@
  * @license AGPL-3.0+ GNU Affero General Public License v3.0, or (at your 
option) any later version.
  */
 
-require_once 'MediaWikiFarmTestCase.php';
+require_once dirname( __FILE__ ) . '/MediaWikiFarmTestCase.php';
 require_once dirname( dirname( dirname( __FILE__ ) ) ) . 
'/src/MediaWikiFarm.php';
 
 /**
@@ -266,7 +266,7 @@
        function testFamilyFarm() {
 
                $farm = new MediaWikiFarm( 
'a.a.testfarm-multiversion-with-file-versions-other-keys.example.org', null,
-                                          self::$wgMediaWikiFarmConfigDir, 
dirname( __FILE__ ) . '/data/mediawiki', false, array( 'EntryPoint' => 
'index.php' )
+                                          self::$wgMediaWikiFarmConfigDir, 
self::$wgMediaWikiFarmCodeDir, false, array( 'EntryPoint' => 'index.php' )
                        );
                $this->assertTrue( $farm->checkExistence() );
                $this->assertEquals( 'afamilytestfarm', $farm->getVariable( 
'$SUFFIX' ) );
@@ -274,7 +274,7 @@
                $this->assertEquals( 'vstub', $farm->getVariable( '$VERSION' ) 
);
 
                $farm = new MediaWikiFarm( 
'b.a.testfarm-multiversion-with-file-versions-other-keys.example.org', null,
-                                          self::$wgMediaWikiFarmConfigDir, 
dirname( __FILE__ ) . '/data/mediawiki', false, array( 'EntryPoint' => 
'index.php' )
+                                          self::$wgMediaWikiFarmConfigDir, 
self::$wgMediaWikiFarmCodeDir, false, array( 'EntryPoint' => 'index.php' )
                        );
                $this->assertTrue( $farm->checkExistence() );
                $this->assertEquals( 'afamilytestfarm', $farm->getVariable( 
'$SUFFIX' ) );
@@ -282,7 +282,7 @@
                $this->assertEquals( 'vstub', $farm->getVariable( '$VERSION' ) 
);
 
                $farm = new MediaWikiFarm( 
'a.b.testfarm-multiversion-with-file-versions-other-keys.example.org', null,
-                                          self::$wgMediaWikiFarmConfigDir, 
dirname( __FILE__ ) . '/data/mediawiki', false, array( 'EntryPoint' => 
'index.php' )
+                                          self::$wgMediaWikiFarmConfigDir, 
self::$wgMediaWikiFarmCodeDir, false, array( 'EntryPoint' => 'index.php' )
                        );
                $this->assertTrue( $farm->checkExistence() );
                $this->assertEquals( 'bfamilytestfarm', $farm->getVariable( 
'$SUFFIX' ) );
@@ -319,7 +319,7 @@
        function testDeploymedVersions() {
 
                $farm = new MediaWikiFarm( 
'a.testfarm-multiversion-with-file-versions-with-deployments.example.org', null,
-                                          self::$wgMediaWikiFarmConfigDir, 
dirname( __FILE__ ) . '/data/mediawiki', false, array( 'EntryPoint' => 
'index.php' )
+                                          self::$wgMediaWikiFarmConfigDir, 
self::$wgMediaWikiFarmCodeDir, false, array( 'EntryPoint' => 'index.php' )
                        );
 
                $this->assertTrue( $farm->checkExistence() );
@@ -327,7 +327,7 @@
                $this->assertTrue( is_file( self::$wgMediaWikiFarmConfigDir . 
'/deployments.php' ) );
 
                $farm = new MediaWikiFarm( 
'a.testfarm-multiversion-with-file-versions-with-deployments.example.org', null,
-                                          self::$wgMediaWikiFarmConfigDir, 
dirname( __FILE__ ) . '/data/mediawiki', false, array( 'EntryPoint' => 
'index.php' )
+                                          self::$wgMediaWikiFarmConfigDir, 
self::$wgMediaWikiFarmCodeDir, false, array( 'EntryPoint' => 'index.php' )
                        );
                $this->assertTrue( $farm->checkExistence() );
                $this->assertEquals( 'vstub', $farm->getVariable( '$VERSION' ) 
);
@@ -363,7 +363,7 @@
                file_put_contents( self::$wgMediaWikiFarmConfigDir . 
'/deployments.php', $deploymentsFile );
 
                $farm = new MediaWikiFarm( 
'a.testfarm-multiversion-with-file-versions-with-deployments.example.org', null,
-                                          self::$wgMediaWikiFarmConfigDir, 
dirname( __FILE__ ) . '/data/mediawiki', false, array( 'EntryPoint' => 
'index.php' )
+                                          self::$wgMediaWikiFarmConfigDir, 
self::$wgMediaWikiFarmCodeDir, false, array( 'EntryPoint' => 'index.php' )
                        );
 
                $this->assertTrue( is_file( self::$wgMediaWikiFarmConfigDir . 
'/deployments.php' ) );
@@ -401,7 +401,7 @@
                file_put_contents( self::$wgMediaWikiFarmConfigDir . 
'/deployments.php', $deploymentsFile );
 
                $farm = new MediaWikiFarm( 
'a.testfarm-multiversion-with-file-versions-with-deployments.example.org', null,
-                                          self::$wgMediaWikiFarmConfigDir, 
dirname( __FILE__ ) . '/data/mediawiki', false, array( 'EntryPoint' => 
'maintenance/update.php' )
+                                          self::$wgMediaWikiFarmConfigDir, 
self::$wgMediaWikiFarmCodeDir, false, array( 'EntryPoint' => 
'maintenance/update.php' )
                        );
                $farm->updateVersionAfterMaintenance();
 
@@ -452,7 +452,7 @@
                file_put_contents( self::$wgMediaWikiFarmConfigDir . 
'/deployments.php', $deploymentsFile );
 
                $farm = new MediaWikiFarm( 
'a.testfarm-multiversion-with-file-versions-with-deployments.example.org', null,
-                                          self::$wgMediaWikiFarmConfigDir, 
dirname( __FILE__ ) . '/data/mediawiki', false, array( 'EntryPoint' => 
'index.php' )
+                                          self::$wgMediaWikiFarmConfigDir, 
self::$wgMediaWikiFarmCodeDir, false, array( 'EntryPoint' => 'index.php' )
                        );
 
                $this->assertTrue( is_file( self::$wgMediaWikiFarmConfigDir . 
'/deployments.php' ) );
@@ -543,11 +543,11 @@
         */
        static function tearDownAfterClass() {
 
-               if( is_file( dirname( __FILE__ ) . 
'/data/config/deployments.php' ) ) {
-                       unlink( dirname( __FILE__ ) . 
'/data/config/deployments.php' );
+               if( is_file( self::$wgMediaWikiFarmConfigDir . 
'/deployments.php' ) ) {
+                       unlink( self::$wgMediaWikiFarmConfigDir . 
'/deployments.php' );
                }
-               if( is_file( dirname( __FILE__ ) . 
'/data/config/testdeploymentsfarmversions.php' ) ) {
-                       unlink( dirname( __FILE__ ) . 
'/data/config/testdeploymentsfarmversions.php' );
+               if( is_file( self::$wgMediaWikiFarmConfigDir . 
'/testdeploymentsfarmversions.php' ) ) {
+                       unlink( self::$wgMediaWikiFarmConfigDir . 
'/testdeploymentsfarmversions.php' );
                }
 
                parent::tearDownAfterClass();
diff --git a/tests/phpunit/MediaWikiFarmComposerScriptTest.php 
b/tests/phpunit/bin/MediaWikiFarmScriptComposerTest.php
similarity index 75%
rename from tests/phpunit/MediaWikiFarmComposerScriptTest.php
rename to tests/phpunit/bin/MediaWikiFarmScriptComposerTest.php
index a39a072..bdc525e 100644
--- a/tests/phpunit/MediaWikiFarmComposerScriptTest.php
+++ b/tests/phpunit/bin/MediaWikiFarmScriptComposerTest.php
@@ -1,6 +1,6 @@
 <?php
 /**
- * Class MediaWikiFarmComposerScriptTest.
+ * Class MediaWikiFarmScriptComposerTest.
  *
  * @package MediaWikiFarm\Tests
  * @author Sébastien Beyou ~ Seb35 <se...@seb35.fr>
@@ -8,16 +8,16 @@
  * @license AGPL-3.0+ GNU Affero General Public License v3.0, or (at your 
option) any later version.
  */
 
-require_once 'MediaWikiFarmTestCase.php';
-require_once dirname( dirname( dirname( __FILE__ ) ) ) . 
'/src/MediaWikiFarm.php';
-require_once dirname( dirname( dirname( __FILE__ ) ) ) . 
'/src/MediaWikiFarmComposerScript.php';
+require_once dirname( dirname( __FILE__ ) ) . '/MediaWikiFarmTestCase.php';
+require_once dirname( dirname( dirname( dirname( __FILE__ ) ) ) ) . 
'/src/MediaWikiFarm.php';
+require_once dirname( dirname( dirname( dirname( __FILE__ ) ) ) ) . 
'/src/bin/MediaWikiFarmScriptComposer.php';
 
 /**
  * Tests about class Composer Script.
  *
  * @group MediaWikiFarm
  */
-class MediaWikiFarmComposerScriptTest extends MediaWikiFarmTestCase {
+class MediaWikiFarmScriptComposerTest extends MediaWikiFarmTestCase {
 
        /** @var string Path to [farm]/bin/mwscript.php. */
        public static $mwcomposerPath = '';
@@ -36,7 +36,7 @@
                parent::setUpBeforeClass();
 
                # Set test configuration parameters
-               self::$mwcomposerPath = $mwcomposerPath = dirname( dirname( 
dirname( __FILE__ ) ) ) . '/bin/mwcomposer.php';
+               self::$mwcomposerPath = $mwcomposerPath = 
self::$wgMediaWikiFarmFarmDir . '/bin/mwcomposer.php';
 
                self::$shortHelp = <<<HELP
 
@@ -73,22 +73,22 @@
        /**
         * Test construction.
         *
-        * @covers MediaWikiFarmComposerScript::__construct
+        * @covers MediaWikiFarmScriptComposer::__construct
         * @uses AbstractMediaWikiFarmScript::__construct
         */
        function testConstruction() {
 
-               $wgMediaWikiFarmComposerScript = new 
MediaWikiFarmComposerScript( 1, array( self::$mwcomposerPath ) );
+               $wgMediaWikiFarmScriptComposer = new 
MediaWikiFarmScriptComposer( 1, array( self::$mwcomposerPath ) );
 
-               $this->assertEquals( 1, $wgMediaWikiFarmComposerScript->argc );
-               $this->assertEquals( array( self::$mwcomposerPath ), 
$wgMediaWikiFarmComposerScript->argv );
+               $this->assertEquals( 1, $wgMediaWikiFarmScriptComposer->argc );
+               $this->assertEquals( array( self::$mwcomposerPath ), 
$wgMediaWikiFarmScriptComposer->argv );
        }
 
        /**
         * Test usage method.
         *
-        * @covers MediaWikiFarmComposerScript::main
-        * @uses MediaWikiFarmComposerScript::__construct
+        * @covers MediaWikiFarmScriptComposer::main
+        * @uses MediaWikiFarmScriptComposer::__construct
         * @uses AbstractMediaWikiFarmScript::__construct
         * @uses AbstractMediaWikiFarmScript::usage
         * @uses AbstractMediaWikiFarmScript::premain
@@ -97,18 +97,18 @@
 
                $this->expectOutputString( self::$longHelp );
 
-               $wgMediaWikiFarmComposerScript = new 
MediaWikiFarmComposerScript( 2, array( self::$mwcomposerPath, '-h' ) );
+               $wgMediaWikiFarmScriptComposer = new 
MediaWikiFarmScriptComposer( 2, array( self::$mwcomposerPath, '-h' ) );
 
-               $this->assertFalse( $wgMediaWikiFarmComposerScript->main() );
+               $this->assertFalse( $wgMediaWikiFarmScriptComposer->main() );
 
-               $this->assertEquals( 0, $wgMediaWikiFarmComposerScript->status 
);
+               $this->assertEquals( 0, $wgMediaWikiFarmScriptComposer->status 
);
        }
 
        /**
         * Test when we are not in a Composer-managed MediaWiki directory.
         *
-        * @covers MediaWikiFarmComposerScript::main
-        * @uses MediaWikiFarmComposerScript::__construct
+        * @covers MediaWikiFarmScriptComposer::main
+        * @uses MediaWikiFarmScriptComposer::__construct
         * @uses AbstractMediaWikiFarmScript::__construct
         * @uses AbstractMediaWikiFarmScript::usage
         * @uses AbstractMediaWikiFarmScript::premain
@@ -121,11 +121,11 @@
                $cwd = getcwd();
                chdir( self::$wgMediaWikiFarmCodeDir . '/vstub2' );
 
-               $wgMediaWikiFarmComposerScript = new 
MediaWikiFarmComposerScript( 1, array( self::$mwcomposerPath ) );
+               $wgMediaWikiFarmScriptComposer = new 
MediaWikiFarmScriptComposer( 1, array( self::$mwcomposerPath ) );
 
-               $wgMediaWikiFarmComposerScript->main();
+               $wgMediaWikiFarmScriptComposer->main();
 
-               $this->assertEquals( 4, $wgMediaWikiFarmComposerScript->status 
);
+               $this->assertEquals( 4, $wgMediaWikiFarmScriptComposer->status 
);
 
                chdir( $cwd );
        }
@@ -135,11 +135,11 @@
         *
         * @large
         * @backupGlobals enabled
-        * @covers MediaWikiFarmComposerScript::main
-        * @covers MediaWikiFarmComposerScript::composer2mediawiki
-        * @uses MediaWikiFarmComposerScript::__construct
-        * @uses MediaWikiFarmComposerScript::getParam
-        * @uses MediaWikiFarmComposerScript::exportArguments
+        * @covers MediaWikiFarmScriptComposer::main
+        * @covers MediaWikiFarmScriptComposer::composer2mediawiki
+        * @uses MediaWikiFarmScriptComposer::__construct
+        * @uses MediaWikiFarmScriptComposer::getParam
+        * @uses MediaWikiFarmScriptComposer::exportArguments
         * @uses AbstractMediaWikiFarmScript::__construct
         * @uses AbstractMediaWikiFarmScript::premain
         * @uses AbstractMediaWikiFarmScript::copyr
@@ -174,7 +174,7 @@
 
                $this->backupAndSetGlobalVariable( 'wgMediaWikiFarm', null );
                $this->backupAndSetGlobalVariable( 'wgMediaWikiFarmConfigDir', 
self::$wgMediaWikiFarmConfigDir );
-               $this->backupAndSetGlobalVariable( 'wgMediaWikiFarmCodeDir', 
dirname( __FILE__ ) . '/data/mediawiki' );
+               $this->backupAndSetGlobalVariable( 'wgMediaWikiFarmCodeDir', 
self::$wgMediaWikiFarmCodeDir );
                $this->backupAndSetGlobalVariable( 'wgMediaWikiFarmCacheDir', 
false );
                $this->backupAndSetGlobalVariable( 'wgMediaWikiFarmSyslog', 
false );
 
@@ -190,10 +190,10 @@
                $cwd = getcwd();
                chdir( self::$wgMediaWikiFarmCodeDir . '/vstub3' );
 
-               $wgMediaWikiFarmComposerScript = new 
MediaWikiFarmComposerScript( 2, array( self::$mwcomposerPath, '-q' ) );
+               $wgMediaWikiFarmScriptComposer = new 
MediaWikiFarmScriptComposer( 2, array( self::$mwcomposerPath, '-q' ) );
 
                # This function is the main procedure, it runs Composer in 
background 7 times so it can take 20-25 seconds
-               $wgMediaWikiFarmComposerScript->main();
+               $wgMediaWikiFarmScriptComposer->main();
 
                $this->assertTrue( is_dir( self::$wgMediaWikiFarmCodeDir . 
'/vstub3/vendor' ) );
                $this->assertTrue( is_dir( self::$wgMediaWikiFarmCodeDir . 
'/vstub3/vendor/composer' ) );
diff --git a/tests/phpunit/MediaWikiFarmScriptTest.php 
b/tests/phpunit/bin/MediaWikiFarmScriptTest.php
similarity index 93%
rename from tests/phpunit/MediaWikiFarmScriptTest.php
rename to tests/phpunit/bin/MediaWikiFarmScriptTest.php
index 377328f..a35d965 100644
--- a/tests/phpunit/MediaWikiFarmScriptTest.php
+++ b/tests/phpunit/bin/MediaWikiFarmScriptTest.php
@@ -8,9 +8,9 @@
  * @license AGPL-3.0+ GNU Affero General Public License v3.0, or (at your 
option) any later version.
  */
 
-require_once 'MediaWikiFarmTestCase.php';
-require_once dirname( dirname( dirname( __FILE__ ) ) ) . 
'/src/MediaWikiFarm.php';
-require_once dirname( dirname( dirname( __FILE__ ) ) ) . 
'/src/MediaWikiFarmScript.php';
+require_once dirname( dirname( __FILE__ ) ) . '/MediaWikiFarmTestCase.php';
+require_once dirname( dirname( dirname( dirname( __FILE__ ) ) ) ) . 
'/src/MediaWikiFarm.php';
+require_once dirname( dirname( dirname( dirname( __FILE__ ) ) ) ) . 
'/src/bin/MediaWikiFarmScript.php';
 
 /**
  * Tests about class Script.
@@ -36,7 +36,7 @@
                parent::setUpBeforeClass();
 
                # Set test configuration parameters
-               self::$mwscriptPath = $mwscriptPath = dirname( dirname( 
dirname( __FILE__ ) ) ) . '/bin/mwscript.php';
+               self::$mwscriptPath = $mwscriptPath = 
self::$wgMediaWikiFarmFarmDir . '/bin/mwscript.php';
 
                self::$shortHelp = <<<HELP
 
@@ -240,7 +240,7 @@
 
                global $wgMediaWikiFarmConfigDir, $wgMediaWikiFarmCodeDir, 
$wgMediaWikiFarmCacheDir;
 
-               self::$mwscriptPath = dirname( dirname( dirname( __FILE__ ) ) ) 
. '/bin/mwscript.php';
+               self::$mwscriptPath = self::$wgMediaWikiFarmFarmDir . 
'/bin/mwscript.php';
                $wgMediaWikiFarmScript = new MediaWikiFarmScript( 3, array( 
self::$mwscriptPath, '--wiki=a.testfarm-multiversion.example.org', 'showJobs' ) 
);
 
                $wgMediaWikiFarmScript->load();
@@ -613,26 +613,28 @@
         */
        function testRecursiveCopyAndDelete() {
 
+               $destDir = dirname( dirname( __FILE__ ) ) . '/data/copie';
+
                $wgMediaWikiFarmScript = new MediaWikiFarmScript( 3, array( 
self::$mwscriptPath, '--wiki=a.testfarm-monoversion.example.org', 'showJobs' ) 
);
 
                MediaWikiFarmScript::copyr(
-                       self::$wgMediaWikiFarmCodeDir . '/vstub', dirname( 
__FILE__ ) . '/data/copie',
+                       self::$wgMediaWikiFarmCodeDir . '/vstub', $destDir,
                        true, array( '/skins/TestSkinEmpty', 
'TestSkinRequireOnce' ) );
-               MediaWikiFarmScript::copyr( self::$wgMediaWikiFarmCodeDir . 
'/vstub/includes/DefaultSettings.php', dirname( __FILE__ ) . 
'/data/copie/newdir', true );
-               $this->assertTrue( is_file( dirname( __FILE__ ) . 
'/data/copie/includes/DefaultSettings.php' ) );
-               $this->assertTrue( is_file( dirname( __FILE__ ) . 
'/data/copie/newdir/DefaultSettings.php' ) );
-               $this->assertFalse( file_exists( dirname( __FILE__ ) . 
'/data/copie/skins/TestSkinEmpty' ) );
-               $this->assertFalse( file_exists( dirname( __FILE__ ) . 
'/data/copie/skins/TestSkinRequireOnce' ) );
+               MediaWikiFarmScript::copyr( self::$wgMediaWikiFarmCodeDir . 
'/vstub/includes/DefaultSettings.php', $destDir . '/newdir', true );
+               $this->assertTrue( is_file( $destDir . 
'/includes/DefaultSettings.php' ) );
+               $this->assertTrue( is_file( $destDir . 
'/newdir/DefaultSettings.php' ) );
+               $this->assertFalse( file_exists( $destDir . 
'/skins/TestSkinEmpty' ) );
+               $this->assertFalse( file_exists( $destDir . 
'/skins/TestSkinRequireOnce' ) );
 
-               MediaWikiFarmScript::rmdirr( dirname( __FILE__ ) . 
'/data/copie/includes/DefaultSettings.php', true );
-               $this->assertFalse( file_exists( dirname( __FILE__ ) . 
'/data/copie/includes/DefaultSettings.php' ) );
+               MediaWikiFarmScript::rmdirr( $destDir . 
'/includes/DefaultSettings.php', true );
+               $this->assertFalse( file_exists( $destDir . 
'/includes/DefaultSettings.php' ) );
 
                MediaWikiFarmScript::copyr(
-                       self::$wgMediaWikiFarmCodeDir . '/vstub', dirname( 
__FILE__ ) . '/data/copie',
+                       self::$wgMediaWikiFarmCodeDir . '/vstub', $destDir,
                        true, array(), array( '/', '/includes', '/includes/.*' 
) );
-               $this->assertTrue( is_file( dirname( __FILE__ ) . 
'/data/copie/includes/DefaultSettings.php' ) );
+               $this->assertTrue( is_file( $destDir . 
'/includes/DefaultSettings.php' ) );
 
-               MediaWikiFarmScript::rmdirr( dirname( __FILE__ ) . 
'/data/copie', true );
-               $this->assertFalse( file_exists( dirname( __FILE__ ) . 
'/data/copie' ) );
+               MediaWikiFarmScript::rmdirr( $destDir, true );
+               $this->assertFalse( file_exists( $destDir ) );
        }
 }

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Id7064473d42b516b40198510946e95bcd76c613e
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/MediaWikiFarm
Gerrit-Branch: master
Gerrit-Owner: Seb35 <se...@seb35.fr>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to