Affects Version/s: 3.9, 3.10, 4.0
Fix Version/s: 3.10
Component/s: Unit tests
Ensure that all CI test pass ok (behat included, because this issue comes with a noticeable composer.lock changeset).
Also check that there aren't "W" (warnings about deprecated stuff) in the phpunit output.
Affected Branches:MOODLE_310_STABLE, MOODLE_39_STABLE, MOODLE_400_STABLE
Pull from Repository:
Pull 3.10 Branch:
Pull 3.10 Diff URL:
Pull Master Branch:
Pull Master Diff URL:
Right now we are running phpunit 7.5.x (
MDL-65204). It's time to bump to newer version.
Candidates are, right now: (source link):
- 8.x: supports php 7.2, 7.3 and 7.4 (that aligns 100% with our supported PHP versions). Huge changes required. Fully supported till Feb 2021.
- 9.x: still not released. Not enough info right now. Maybe to be considered next year.
Because of a better alignment with Moodle 3.9 PHP supported versions (see ongoing work @
MDL-66260) this issue is about to upgrade to phpunit 8.5. Knowing that changes aren't trivial.
- Upgrade composer to the target phpunit version (link to procedure).
- Fullfill phpunit API required changes.
- Fix other incompatibilities detected.
- Add a note @ upgrade.txt, pointing to the docs (and maybe main points).
- Verify that the new code is passing against ALL php supported versions.
- Verify that behat continues passing without problem
- Verify that incomplete and skipped tests are shown using the -v[erbose] switch.
- Send the issue to peer-review, yay!
Some notes to reviewer(s).
- It's recommended to review the patch commit by commit. I've tried to introduce all the important information within each commit message.
- Don't become crazy about checking the hundreds of changes to assertions 1 by 1. PHPUnit execution will tell you if there is any change missing (will emit warning or failure). Better focus on commits with logic.
- Verify that there are commits corresponding to all the "DONE" points in the comment used to trace the progress.
TODO (after rolled upstream):
- Create a new section like this @ the development Moodle Docs, explaining the main differences and linking to complete information.