MDL-50611 testing: Extra http status code checking

This commit is contained in:
David Monllao
2015-06-23 10:38:00 +08:00
parent 0c2db45a76
commit ba0e10425f
2 changed files with 13 additions and 3 deletions
+1
View File
@@ -38,6 +38,7 @@ define('BEHAT_EXITCODE_REQUIREMENT', 251);
define('BEHAT_EXITCODE_PERMISSIONS', 252);
define('BEHAT_EXITCODE_REINSTALL', 253);
define('BEHAT_EXITCODE_INSTALL', 254);
define('BEHAT_EXITCODE_COMPOSER', 255);
define('BEHAT_EXITCODE_INSTALLED', 256);
/**
+12 -3
View File
@@ -28,7 +28,7 @@
/**
* Composer error exit status.
*
* @var integer
* @var int
*/
define('TESTING_EXITCODE_COMPOSER', 255);
@@ -191,10 +191,10 @@ function testing_update_composer_dependencies() {
// Download or update composer.phar. Unfortunately we can't use the curl
// class in filelib.php as we're running within one of the test platforms.
if (!file_exists($composerpath)) {
$file = @fopen($composerpath, 'w+');
$file = @fopen($composerpath, 'w');
if ($file === false) {
$errordetails = error_get_last();
$error = sprintf("Unable to open composer.phar\nPHP error: %s",
$error = sprintf("Unable to create composer.phar\nPHP error: %s",
$errordetails['message']);
testing_error(TESTING_EXITCODE_COMPOSER, $error);
}
@@ -206,6 +206,7 @@ function testing_update_composer_dependencies() {
$curlerrno = curl_errno($curl);
$curlerror = curl_error($curl);
$curlinfo = curl_getinfo($curl);
curl_close($curl);
fclose($file);
@@ -214,6 +215,14 @@ function testing_update_composer_dependencies() {
$error = sprintf("Unable to download composer.phar\ncURL error (%d): %s",
$curlerrno, $curlerror);
testing_error(TESTING_EXITCODE_COMPOSER, $error);
} else if ($curlinfo['http_code'] === 404) {
if (file_exists($composerpath)) {
// Deleting the resource as it would contain HTML.
unlink($composerpath);
}
$error = sprintf("Unable to download composer.phar\n" .
"404 http status code fetching $composerurl");
testing_error(TESTING_EXITCODE_COMPOSER, $error);
}
} else {
passthru("php composer.phar self-update", $code);