Behat parallel run if executed together
then selenium might fail to launch browser
and timeout. It would be nice to have a
custom delay between the start of each process
Before this patch behat_dataroot for parallel runs
were created at same level as ->behat_dataroot
After this patch, it will be created 1 level under
->behat_dataroot with BEHAT_PARALLEL_SITE_NAME
prefix and run number as suffix. This will allow
common files as test enabled and parallel run info
to be saved in parent directory and access it easily.
run.php should only be used for running behat
before this patch if tags were passed, then behat.yml
was being re-written with features havings tags.
As this is not ideal, this option is now removed and
features with tags will be optimally split
by init.php when --optimize-run option is passed
Exit status should contain pass/fail information
of each run it is executing. Every bit of status
will have information of pass/fail status of parallel
process
This config will be supported to avoid broken configuration
in future. As this is limited, we need will still use
->behat_config to set config values which can't be set by
behat_profiles
1. Parallel run without feature should exit with success
2. Updated exit codes to be more clear for each process
3. Fixed wwwroot and dataroot while executing with tags
4. Added support for running scenario/feature
5. Added support for or'ing tags
6. Added support for running single behat site
7. Fixed wrong example in help
8. Use parallel run only when parallel > 1
9. Exit showing behat site is not installed
10. Exit with error, if not a valid option
11. Added usage in help to explain how to use command
12. run.php should be able to run from any path
13. Pass all arguments to single run
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 solves some minor annoyances in the run.php script:
A) profile is checked properly, independently of everything else.
B) cli tags get precedence over profile tags.
Indicentally, this also causes run.php to support both profile and
tag in command line together. Previously the use of profile did
invalidate the use of tags.
1. Create behat datadir within behat_dataroot not at same level
2. Define suffix for link and not use hard-coded values
3. Renamed ns_parallel to run.php
4. Rename variables to best understand them
5. Added support for each run to specify db, prefix, rerun and profile.
6. Showing number of steps in each line of parallel run.
1/ always require 3 behat settings - $CFG->behat_wwwroot, $CFG->behat_dataroot and $CFG->behat_prefix
2/ cleanup init code
3/ do not require $CFG->wwwroot and $CFG->dataroot on test sites
4/ remove switch completely - the most confusing part for me
5/ print out behat_wwwwroot in init script so that you can test the test site manually
Includes:
* update checker refactored to \core\update\ namespace
* plugininfo classes refactored to \core\plugininfo\ namespace
* plugin_manager renamed to core_plugin_manager
* redirect back to original page after plugin uninstall
* fixed assign subplugin uninstall
* move assign subplugins under the assignment in admin tree
* fixed plugininfo for all question related plugin types
* auth uninstall support
* added missing block dependencies
* added theme uninstall
* subplugin types are following the plugin on plugin overview page
* several performance improvements in plugin manager
* new warnigns when plugininfo are outdated or missing
* multiple fixes and other improvements
Improvements include:
* Alternative location might be useful when server administrator wants to maintain
a local copy of component cache instead of using shared $CFG->cachedir.
* Component caching is now enabled in behat tests which should improve performance.
* Standardised ignoring of component caching.
* Fixed debug mode in ABORT_AFTER_CONFIG scripts.
* General documentation improvements.