Uploaded image for project: 'Moodle'
  1. Moodle
  2. MDL-71049 Make test files and test classes to match to get phpunit able to run individual files
  3. MDL-73659

Fix namespace and class names for restore_date, api, rule, plugin, manager, helper cases

XMLWordPrintable

    • 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 show --pretty="" --name-only HEAD  | \
            xargs local/codechecker/phpcs/bin/phpcs --standard=moodle  --extensions=php  \
            --sniffs=moodle.PHPUnit.TestCaseNames -p && echo "Yay"
        

      3. Verify that you get 58 (for master) and 58 (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. That means that we only have modified _test.php files within tests/ directories.

      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 = f92877a5a3d039dac230687d3b8a4823215dbec4
      • master:
        • HEAD = 7a0d024e60e6746d4b22e0e456d673052d1f2965
      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 show --pretty="" --name-only HEAD | \ xargs local/codechecker/phpcs/bin/phpcs --standard=moodle --extensions=php \ --sniffs=moodle.PHPUnit.TestCaseNames -p && echo "Yay" Verify that you get 58 (for master) and 58 (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. That means that we only have modified _test.php files within tests/ directories. 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 = f92877a5a3d039dac230687d3b8a4823215dbec4 master: HEAD = 7a0d024e60e6746d4b22e0e456d673052d1f2965

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

      In this case, applied to all the occurrences of:

      • restore_date_test (16)
      • api_test (11)
      • rule_test (9)
      • plugin_test (9)
      • manager_test (7)
      • helper_test (6)

      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)
            Nobody Nobody (Inactive)
            Andrew Lyons Andrew Lyons
            Gladys Basiana Gladys Basiana
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved:

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0 minutes
                0m
                Logged:
                Time Spent - 7 hours, 15 minutes
                7h 15m

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