MDL-49772 behat: Added support to updatestep file by parallel run

This commit is contained in:
Rajesh Taneja
2015-05-21 14:46:13 +08:00
parent 198c3fb3f0
commit 73cc1d04c9
3 changed files with 34 additions and 4 deletions
+21 -1
View File
@@ -97,7 +97,7 @@ if (!empty($options['help'])) {
$cwd = getcwd();
// For drop option check if parallel site.
if ((empty($options['parallel'])) && $options['drop']) {
if ((empty($options['parallel'])) && ($options['drop']) || $options['updatesteps']) {
// Get parallel run info from first run.
$options['parallel'] = behat_config_manager::get_parallel_test_runs($options['fromrun']);
}
@@ -172,6 +172,26 @@ if ($options['diag'] || $options['enable'] || $options['disable']) {
}
}
} else if ($options['updatesteps']) {
// Rewrite config file to ensure we have all the features covered.
if (empty($options['parallel'])) {
behat_config_manager::update_config_file();
} else {
// Update config file, ensuring we have up-to-date behat.yml.
for ($i = $options['fromrun']; $i <= $options['torun']; $i++) {
$CFG->behatrunprocess = $i;
behat_config_manager::update_config_file();
}
unset($CFG->behatrunprocess);
}
// Do it sequentially as it's fast and need to be displayed nicely.
foreach (array_chunk($cmds, 1, true) as $cmd) {
$processes = cli_execute_parallel($cmd, __DIR__);
print_sequential_output($processes);
}
exit(0);
} else {
// We should never reach here.
echo $help;