• Icon: Sub-task Sub-task
    • Resolution: Fixed
    • Icon: Minor Minor
    • 3.11.8, 4.0.2
    • 3.11.6, 4.0, 4.1
    • General, Unit tests
    • MOODLE_311_STABLE, MOODLE_400_STABLE, MOODLE_401_STABLE
    • MOODLE_311_STABLE, MOODLE_400_STABLE
    • Hide

      A) General

      1. Verify that complete PHPUnit runs are passing (GHA, ToBiC...) for all branches.

      B) Testing instructions for 311, 400 and master

      1. Install local_codechecker in the site.
      2. Run this (see the important note below about the HEAD alternatives and commits):

        git show --pretty="" --name-only HEAD  | \
            xargs local/codechecker/phpcs/bin/phpcs --standard=moodle  --extensions=php  \
            --sniffs=--sniffs=moodle.PHPUnit.TestCaseNames,moodle.Files.MoodleInternal -p \
            && echo "Yay"
        

      3. Verify that you get 106 (for master) and 103 (for 311_STABLE) dots in the output, without any error and with "Yay" printed at the end.
      4. Init phpunit: php admin/tool/phpunit/cli/init.php
      5. Run this (see the important note below about the HEAD alternatives and commits):

        git show --pretty="" --name-only HEAD | \
            xargs -n 1 -I {} bash -c "echo {}; vendor/bin/phpunit {} > /dev/null || echo ERROR"
        

      6. Verify that you don't get any "ERROR" output, that means that all the tests modified can be run individually.
      7. Run this (see the important note below about the HEAD alternatives and commits):

        git show --pretty="" --name-only HEAD | \
            grep -v '/tests/.*_test.php'
        

      8. Verify that no files are returned.

      Important Note: the HEAD in the above commands assumes that the branches have been integrated without any merge commit. You may need to replace them by the real commits if the issue has been integrated with merge commit. Here there are the commit details:

      • 311_STABLE:
        • HEAD = 875591f589ce4470bdcc88f558ed117b7153e9c9
      • 400_STABLE
        • HEAD = d8ea630f24b6e5affccd0ee8e8cfd5235f08fae9
      • master:
        • HEAD = caf55abf1724aecdec2ddb0f115a4d216ff4ddc1
      Show
      A) General Verify that complete PHPUnit runs are passing (GHA, ToBiC...) for all branches. B) Testing instructions for 311, 400 and master Install local_codechecker in the site. Run this (see the important note below about the HEAD alternatives and commits): git show --pretty="" --name-only HEAD | \ xargs local/codechecker/phpcs/bin/phpcs --standard=moodle --extensions=php \ --sniffs=--sniffs=moodle.PHPUnit.TestCaseNames,moodle.Files.MoodleInternal -p \ && echo "Yay" Verify that you get 106 (for master) and 103 (for 311_STABLE) dots in the output, without any error and with "Yay" printed at the end. Init phpunit: php admin/tool/phpunit/cli/init.php Run this (see the important note below about the HEAD alternatives and commits): git show --pretty="" --name-only HEAD | \ xargs -n 1 -I {} bash -c "echo {}; vendor/bin/phpunit {} > /dev/null || echo ERROR" Verify that you don't get any "ERROR" output, that means that all the tests modified can be run individually. Run this (see the important note below about the HEAD alternatives and commits): git show --pretty="" --name-only HEAD | \ grep -v '/tests/.*_test.php' Verify that no files are returned. Important Note : the HEAD in the above commands assumes that the branches have been integrated without any merge commit. You may need to replace them by the real commits if the issue has been integrated with merge commit. Here there are the commit details: 311_STABLE: HEAD = 875591f589ce4470bdcc88f558ed117b7153e9c9 400_STABLE HEAD = d8ea630f24b6e5affccd0ee8e8cfd5235f08fae9 master: HEAD = caf55abf1724aecdec2ddb0f115a4d216ff4ddc1

      This corresponds to the progress of point B of MDL-71049.

      In this case applied to more testcases, they are a bunch, so no worth listing them like in previous issues that were for testcases with many repetitions.

      I'll be creating a few (4-5) issues like this to advance with the remaining cases (80-100 files on each) to keep it more or less manageable (review, rebase...).

      Changes include:

      • Add or fix namespaces to be correct component ones. With sub-namespaces when the tests belong to a known API.
      • Fixing incorrect use \xxx statements with leading backslash.
      • Remove file phpdoc blocks.
      • Remove MOODLE_INTERNAL if not needed.
      • Changing code to point to global scope when needed (when referencing to classes belonging to other components) or adding new use xxx statements (for classes corresponding to the same component/area).
      • Change testcase class names to match file name (_test.

      Goals:

      • Verify that there aren't remaining files and classes to be processed.
      • Verify that all the files can be run individually.
      • Verify that complete runs continue passing ok.
      • Apply the changes to both 311 (where PHPUnit was introduced) and master.

      Notes:

      • The changes should be 99.99% contained within phpunit /tests/ files. If something out from there is detected, it will be handled in separate commit, with justifications.

        1. MDL-74413_master.webm
          1.21 MB
          Angelia Dela Cruz
        2. MDL-74413_v311.webm
          1.22 MB
          Angelia Dela Cruz
        3. MDL-74413_v400.webm
          989 kB
          Angelia Dela Cruz

            stronk7 Eloy Lafuente (stronk7)
            stronk7 Eloy Lafuente (stronk7)
            Nobody Nobody (Inactive)
            Jun Pataleta Jun Pataleta
            Angelia Dela Cruz Angelia Dela Cruz
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved:

                Estimated:
                Original Estimate - 0 minutes
                0m
                Remaining:
                Remaining Estimate - 0 minutes
                0m
                Logged:
                Time Spent - 5 hours
                5h

                  Error rendering 'clockify-timesheets-time-tracking-reports:timer-sidebar'. Please contact your Jira administrators.