While the init.php was cleaned up not long ago, let's
re-review it (small detail only) and proceed to, also,
clean up the util.php one.
Note that both will raise an error about missing MOODLE_INTERNAL
check, but that's expected, they are CLI scripts, independent
from Moodle's bootstrap, so they don't have config.php required
either.
Instead of manually including composer's auto-loading
stuff and then run PHPUnit\TextUI\Command::main(), now
we are using the PHPUnit "binary".
That way behaviour should be 100% the same than
running vendor/bin/phpunit (recommended instead of util.php --run).
Also, note that, for other util.php commands, we still need
composer's auto-loading to happen, so we have moved it immediately
after the --run command.
Finally, a few more file_exists() conditions have been added
to ensure that PHPUnit is properly installed. Redundant but...
This commit introduces the following new flags:
--no-composer-self-update Disable composer self-update of the
composer.phar utility
--no-composer-upgrade Disable upgrade of development
dependencies using Composer.
--disable-composer Disable both composer self-update and
composer upgrade
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.
The old style PEAR installation is incompatible with PHPUnit 4,
nobody was supposed to use PEAR any more - composer
is the only supported library installation method now.
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.
Includes:
* constants refactoring
* reworked db table init
* support for $CFG->debug = -1
* functional DB tests
* fixed $DB->get_indexes() to not throw exceptions when table does not exist
* fix handling of user passwords in test db
* add debug info to exception messages
* removed unnecessary PHP debug errors from mathslib
* fixed @error suppression in get_string
* fixed PHPUnit error handler setup
* added timezone info to default install