MDL-37768 behat: Checking test site version before running tests

This commit is contained in:
David Monllao
2013-02-08 17:14:26 +08:00
parent 6319737865
commit b831d47925
2 changed files with 7 additions and 1 deletions
+1 -1
View File
@@ -123,7 +123,7 @@ abstract class testing_util {
*
* @return bool
*/
protected static function is_test_data_updated() {
public static function is_test_data_updated() {
global $CFG;
$framework = self::get_framework();
+6
View File
@@ -74,6 +74,7 @@ class behat_hooks extends behat_base {
define('BEHAT_RUNNING', 1);
define('CLI_SCRIPT', 1);
// With BEHAT_RUNNING we will be using $CFG->behat_* instead of $CFG->dataroot, $CFG->prefix and $CFG->wwwroot.
require_once(__DIR__ . '/../../../config.php');
// Now that we are MOODLE_INTERNAL.
@@ -93,6 +94,11 @@ class behat_hooks extends behat_base {
throw new Exception($CFG->behat_wwwroot . ' is not available, ensure you started your PHP built-in server. More info in ' . behat_command::DOCS_URL . '#Running_tests');
}
// Prevents using outdated data, upgrade script would start and tests would fail.
if (!behat_util::is_test_data_updated()) {
$commandpath = 'php admin/tool/behat/cli/util.php';
throw new Exception('Your behat test site is outdated, please run ' . $commandpath . ' from your moodle dirroot to drop and install the behat test site again.');
}
// Avoid parallel tests execution, it continues when the previous lock is released.
test_lock::acquire('behat');
}