MDL-49840 testing: Ensure that composer dependencies are updated

We should ensure that composer dependencies are present before running
phpunit and behat. We should also ensure that they match the versions in
the composer.lock file.

Doing so ensures that we have a consistency across the board amongst
testers. All testers are a specific commit will be using the same version
of composer.lock and the same version of the relevant tools.
This commit is contained in:
Andrew Nicols 2015-04-14 11:31:50 +08:00
parent 69c150cbda
commit a910e3885a
2 changed files with 5 additions and 14 deletions

View File

@ -96,25 +96,13 @@ if ($options['parallel']) {
$cwd = getcwd();
$output = null;
$installcomposer = true;
// If behat dependencies not downloaded then do it first, else symfony/process can't be used.
if ($options['parallel'] && !file_exists(__DIR__ . "/../../../../vendor/autoload.php")) {
$installcomposer = false;
testing_update_composer_dependencies();
}
testing_update_composer_dependencies();
// Check whether the behat test environment needs to be updated.
chdir(__DIR__);
exec("php $utilfile --diag $paralleloption", $output, $code);
// Check if composer needs to be updated.
if ($installcomposer &&
($code == BEHAT_EXITCODE_INSTALL || $code == BEHAT_EXITCODE_REINSTALL || $code == BEHAT_EXITCODE_COMPOSER)) {
testing_update_composer_dependencies();
// Check again for behat test site and see if it's install or re-install.
chdir(__DIR__);
exec("php $utilfile --diag $paralleloption", $output, $code);
}
if ($code == 0) {
echo "Behat test environment already installed\n";

View File

@ -39,6 +39,7 @@ require_once(__DIR__.'/../../../../lib/phpunit/bootstraplib.php');
require_once(__DIR__.'/../../../../lib/testing/lib.php');
echo "Initialising Moodle PHPUnit test environment...\n";
testing_update_composer_dependencies();
$output = null;
exec('php --version', $output, $code);
@ -72,4 +73,6 @@ if ($code == 0) {
passthru("php util.php --buildconfig", $code);
echo "\n";
echo "PHPUnit test environment setup complete.\n";
exit(0);