XMLWordPrintable

    • Icon: Sub-task Sub-task
    • Resolution: Fixed
    • Icon: Major Major
    • 3.11.6
    • 3.11.5, 4.0
    • Questions, Quiz, Unit tests
    • MOODLE_311_STABLE, MOODLE_400_STABLE
    • MOODLE_311_STABLE
    • Hide

      A) General

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

      B) Testing instructions for MOODLE_311_STABLE and master

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

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

      3. Verify that you get 84 (for master) and 84 (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 diff --pretty="" --name-only HEAD~2..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 diff --pretty="" --name-only HEAD~2..HEAD | \
            grep -v '/tests/.*_test.php'
        

      8. Verify that no files are returned. That means that we only have modified _test.php files within tests/ directories.
      9. Run this:

        find . -name "questiontype_test.php" -o \
            -name "upgradelibnewqe_test.php" -o \
            -name "behaviourtype_test.php"
        

      10. Verify that no files are returned. That means that all files have been renamed ok.

      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 = 950c3a59ccf854eb3f925e34b521bb01eae51107
      • master:
        • HEAD = b3c4bd62507ce8c1dfe79998f6bf714793cb6c4d
      Show
      A) General Verify that complete PHPUnit runs are passing (GHA, ToBiC...) for all branches. B) Testing instructions for MOODLE_311_STABLE and master Install local_codechecker in the site. Run this (see the important note below about the HEAD alternatives and commits): git diff --pretty="" --name-only HEAD~2..HEAD | \ xargs local/codechecker/phpcs/bin/phpcs --standard=moodle --extensions=php \ --sniffs=moodle.PHPUnit.TestCaseNames -p && echo "Yay" Verify that you get 84 (for master) and 84 (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 diff --pretty="" --name-only HEAD~2..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 diff --pretty="" --name-only HEAD~2..HEAD | \ grep -v '/tests/.*_test.php' Verify that no files are returned. That means that we only have modified _test.php files within tests/ directories. Run this: find . -name "questiontype_test.php" -o \ -name "upgradelibnewqe_test.php" -o \ -name "behaviourtype_test.php" Verify that no files are returned. That means that all files have been renamed ok. 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 = 950c3a59ccf854eb3f925e34b521bb01eae51107 master: HEAD = b3c4bd62507ce8c1dfe79998f6bf714793cb6c4d

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

      In this case, applied to all the occurrences of:

      • walkthrough_test (26)
      • questiontype_test (16)
      • question_test (14)
      • upgradelibnewqe_test (13)
      • behaviourtype_test (10)
      • edit_form_test (5)

      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).
      • 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)
            Tim Hunt Tim Hunt
            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 - 3 hours
                3h

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