• Icon: Sub-task Sub-task
    • Resolution: Fixed
    • Icon: Minor Minor
    • 3.11.8, 4.0.2
    • 3.11.5, 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 143 (for master) and 143 (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 | \
            grep -v 'format_test_cs_options' | \
            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 only one file is returned:

        backup/moodle2/tests/fixtures/format_test_cs_options.php
        

      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 = 1c33085edec504ac804016e511ce6145cf45f87a
      • 400_STABLE
        • HEAD = 8bdba9bdca6c583864fb65d9a400b3f07ef9cd82
      • master:
        • HEAD = 9f53b0e965edb59ef41bd4765e40a87a38f231ca
      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 143 (for master) and 143 (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 | \ grep -v 'format_test_cs_options' | \ 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 only one file is returned: backup/moodle2/tests/fixtures/format_test_cs_options.php 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 = 1c33085edec504ac804016e511ce6145cf45f87a 400_STABLE HEAD = 8bdba9bdca6c583864fb65d9a400b3f07ef9cd82 master: HEAD = 9f53b0e965edb59ef41bd4765e40a87a38f231ca

      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.

            stronk7 Eloy Lafuente (stronk7)
            stronk7 Eloy Lafuente (stronk7)
            Nobody Nobody
            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 - 7 hours
                7h

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