Moodle
  1. Moodle
  2. MDL-32426

Add phpunit generators for groups and groupings

    Details

    • Type: New Feature New Feature
    • Status: Closed
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: 2.3
    • Fix Version/s: 2.3
    • Component/s: Unit tests
    • Labels:
    • Testing Instructions:
      Hide

      The new group and grouping generation methods arn't used in core presently, they have been added so that it is easier in the future to create groups and groupings.
      Because of this it is hard to test.
      In order to test it you must write a PHPunit test that makes use of phpunit_data_generator::create_group and phpunit_data_generator::create_grouping.
      This is a developer task.

      Show
      The new group and grouping generation methods arn't used in core presently, they have been added so that it is easier in the future to create groups and groupings. Because of this it is hard to test. In order to test it you must write a PHPunit test that makes use of phpunit_data_generator::create_group and phpunit_data_generator::create_grouping. This is a developer task.
    • Affected Branches:
      MOODLE_23_STABLE
    • Fixed Branches:
      MOODLE_23_STABLE
    • Pull from Repository:
    • Pull Master Branch:
      MDL-32426-master-1
    • Rank:
      39289

      Description

      TODO:

      • create_group
      • create_groupings

        Issue Links

          Activity

          Hide
          Andrew Nicols added a comment -

          I've written these functions to allow easier unit testing for the new group(ing) idnumber features

          Show
          Andrew Nicols added a comment - I've written these functions to allow easier unit testing for the new group(ing) idnumber features
          Hide
          Dan Poltawski added a comment -

          Petr - one for you

          Show
          Dan Poltawski added a comment - Petr - one for you
          Hide
          Petr Škoda added a comment -

          +1

          Show
          Petr Škoda added a comment - +1
          Hide
          Sam Hemelryk added a comment -

          Thanks Andrew, this has been integrated now.
          Just noting I did add an additional commit during integration to fix a typo in the phpdocs (@param array|stdClass $recrd).

          Cheers
          Sam

          Show
          Sam Hemelryk added a comment - Thanks Andrew, this has been integrated now. Just noting I did add an additional commit during integration to fix a typo in the phpdocs (@param array|stdClass $recrd). Cheers Sam
          Hide
          Jason Fowler added a comment -

          If a PHPUnit test is required to test this, shouldn't a phpunit test be written by the developer and included with the patch?

          Show
          Jason Fowler added a comment - If a PHPUnit test is required to test this, shouldn't a phpunit test be written by the developer and included with the patch?
          Hide
          Dan Poltawski added a comment -

          Jason: since you can't test the new functionality you can test for regressions by running the phpunit tests

          Show
          Dan Poltawski added a comment - Jason: since you can't test the new functionality you can test for regressions by running the phpunit tests
          Hide
          Andrew Davis added a comment -

          This needs clarification from the developer. I'm running all existing phpunit tests now but its really not up to me as the tester to guess decide whether that's adequate. I also don't have adequate knowledge of the code in question to be writing unit tests for it. Andrew Nicols, can you let me know whether running the existing tests is adequate? Did you want to take it back and add some unit tests yourself?

          Show
          Andrew Davis added a comment - This needs clarification from the developer. I'm running all existing phpunit tests now but its really not up to me as the tester to guess decide whether that's adequate. I also don't have adequate knowledge of the code in question to be writing unit tests for it. Andrew Nicols, can you let me know whether running the existing tests is adequate? Did you want to take it back and add some unit tests yourself?
          Hide
          Andrew Davis added a comment -

          Heres the output of the unit tests. I got failures but nothing mentioning groups.

          PHPUnit 3.6.10 by Sebastian Bergmann.

          Configuration read from /home/andrew/Desktop/code/moodle/int/master/phpunit.xml

          ............................................................. 61 / 1070 ( 5%)
          ................................FF........................... 122 / 1070 ( 11%)
          ............................................................. 183 / 1070 ( 17%)
          ............................................................. 244 / 1070 ( 22%)
          ...........................E................................. 305 / 1070 ( 28%)
          ............................................................. 366 / 1070 ( 34%)
          ............................................................. 427 / 1070 ( 39%)
          ............................................................. 488 / 1070 ( 45%)
          ............................................................. 549 / 1070 ( 51%)
          ............................................................. 610 / 1070 ( 57%)
          ............................................................. 671 / 1070 ( 62%)
          ............................................................. 732 / 1070 ( 68%)
          ............................................................. 793 / 1070 ( 74%)
          ............................................................. 854 / 1070 ( 79%)
          ............................................................. 915 / 1070 ( 85%)
          ............................................................. 976 / 1070 ( 91%)
          ............................................................. 1037 / 1070 ( 96%)
          .................................

          Time: 27:49, Memory: 257.75Mb

          There was 1 error:

          1) moodlelib_testcase::test_fix_utf8
          iconv(): Detected an illegal character in input string

          /home/andrew/Desktop/code/moodle/int/master/lib/moodlelib.php:1130
          /home/andrew/Desktop/code/moodle/int/master/lib/tests/moodlelib_test.php:315
          /home/andrew/Desktop/code/moodle/int/master/lib/phpunit/lib.php:1124

          There were 2 failures:

          1) dml_testcase::test_unique_index_collation_trouble
          Unique index is accent insensitive, this may cause problems for non-ascii languages. This is usually caused by accent insensitive default collation.

          /home/andrew/Desktop/code/moodle/int/master/lib/dml/tests/dml_test.php:3428

          2) dml_testcase::test_sql_binary_equal
          SQL operator "=" is expected to be case sensitive
          Failed asserting that 1 matches expected 2.

          /home/andrew/Desktop/code/moodle/int/master/lib/dml/tests/dml_test.php:3456

          FAILURES!
          Tests: 1070, Assertions: 20551, Failures: 2, Errors: 1.

          Show
          Andrew Davis added a comment - Heres the output of the unit tests. I got failures but nothing mentioning groups. PHPUnit 3.6.10 by Sebastian Bergmann. Configuration read from /home/andrew/Desktop/code/moodle/int/master/phpunit.xml ............................................................. 61 / 1070 ( 5%) ................................FF........................... 122 / 1070 ( 11%) ............................................................. 183 / 1070 ( 17%) ............................................................. 244 / 1070 ( 22%) ...........................E................................. 305 / 1070 ( 28%) ............................................................. 366 / 1070 ( 34%) ............................................................. 427 / 1070 ( 39%) ............................................................. 488 / 1070 ( 45%) ............................................................. 549 / 1070 ( 51%) ............................................................. 610 / 1070 ( 57%) ............................................................. 671 / 1070 ( 62%) ............................................................. 732 / 1070 ( 68%) ............................................................. 793 / 1070 ( 74%) ............................................................. 854 / 1070 ( 79%) ............................................................. 915 / 1070 ( 85%) ............................................................. 976 / 1070 ( 91%) ............................................................. 1037 / 1070 ( 96%) ................................. Time: 27:49, Memory: 257.75Mb There was 1 error: 1) moodlelib_testcase::test_fix_utf8 iconv(): Detected an illegal character in input string /home/andrew/Desktop/code/moodle/int/master/lib/moodlelib.php:1130 /home/andrew/Desktop/code/moodle/int/master/lib/tests/moodlelib_test.php:315 /home/andrew/Desktop/code/moodle/int/master/lib/phpunit/lib.php:1124 – There were 2 failures: 1) dml_testcase::test_unique_index_collation_trouble Unique index is accent insensitive, this may cause problems for non-ascii languages. This is usually caused by accent insensitive default collation. /home/andrew/Desktop/code/moodle/int/master/lib/dml/tests/dml_test.php:3428 2) dml_testcase::test_sql_binary_equal SQL operator "=" is expected to be case sensitive Failed asserting that 1 matches expected 2. /home/andrew/Desktop/code/moodle/int/master/lib/dml/tests/dml_test.php:3456 FAILURES! Tests: 1070, Assertions: 20551, Failures: 2, Errors: 1.
          Hide
          Andrew Davis added a comment -

          Stopping testing pending input from Andrew Nicols

          Show
          Andrew Davis added a comment - Stopping testing pending input from Andrew Nicols
          Hide
          Andrew Davis added a comment -

          After a discussion in chat with Andrew Nicols we've decided to pass this. It doesn't appear to have caused any regressions. It will be tested more thoroughly once MDL-32005 has been integrated as that issue contains a set of unit tests for this code.

          Show
          Andrew Davis added a comment - After a discussion in chat with Andrew Nicols we've decided to pass this. It doesn't appear to have caused any regressions. It will be tested more thoroughly once MDL-32005 has been integrated as that issue contains a set of unit tests for this code.
          Hide
          Dan Poltawski added a comment -

          Bonza mate!

          Your changes have made it into the Moodle release! Its time to celebrate! Put a shrimp on the barbie and grab a stubby.

          Hooroo

          Show
          Dan Poltawski added a comment - Bonza mate! Your changes have made it into the Moodle release! Its time to celebrate! Put a shrimp on the barbie and grab a stubby. Hooroo

            People

            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: