Uploaded image for project: 'Moodle'
  1. Moodle
  2. MDL-67673

Upgrade phpunit to 8.5.x

    XMLWordPrintable

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 3.9, 3.10, 4.0
    • Fix Version/s: 3.10
    • Component/s: Unit tests
    • Labels:

      Description

      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.

      SUMMARY:

      1. Upgrade composer to the target phpunit version (link to procedure).
      2. Fullfill phpunit API required changes.
      3. Fix other incompatibilities detected.
      4. Add a note @ upgrade.txt, pointing to the docs (and maybe main points).
      5. Verify that the new code is passing against ALL php supported versions.
      6. Verify that behat continues passing without problem
      7. Verify that incomplete and skipped tests are shown using the -v[erbose] switch.
      8. 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):

      1. Create a new section like this @ the development Moodle Docs, explaining the main differences and linking to complete information.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              stronk7 Eloy Lafuente (stronk7)
              Reporter:
              stronk7 Eloy Lafuente (stronk7)
              Peer reviewer:
              Simey Lameze
              Integrator:
              Sara Arjona (@sarjona)
              Tester:
              CiBoT
              Participants:
              Component watchers:
              Andrew Nicols, Jun Pataleta, Michael Hawkins, Shamim Rezaie, Simey Lameze
              Votes:
              3 Vote for this issue
              Watchers:
              9 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:
                Fix Release Date:
                9/Nov/20

                  Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0 minutes
                  0m
                  Logged:
                  Time Spent - 2 weeks, 4 hours, 54 minutes
                  2w 4h 54m