Details

    • Testing Instructions:
      Hide

      Test 1

      1. Check that CI jobs are passing (ask integrators if you don't have access)

      Test 2

      1. Add $CFG->theme = 'clean'; to your config.php
      2. php admin/tool/behat/cli/util.php update
      3. Run the whole behat suite
      4. You SHOULD only see failures related with docking blocks (MDL-38923)
      Show
      Test 1 Check that CI jobs are passing (ask integrators if you don't have access) Test 2 Add $CFG->theme = 'clean'; to your config.php php admin/tool/behat/cli/util.php update Run the whole behat suite You SHOULD only see failures related with docking blocks ( MDL-38923 )
    • Affected Branches:
      MOODLE_25_STABLE, MOODLE_26_STABLE
    • Fixed Branches:
      MOODLE_25_STABLE, MOODLE_26_STABLE
    • Pull from Repository:
    • Pull Master Branch:
      MDL-40741_master

      Description

      Once clean theme becomes the default one, the test suite will begin using it; before integrating it (2.5 release) I ran the whole suite using it and there were a couple of errors regarding block docking and another one that I don't remember.

      Before clean becomes the default theme in master this issue should be done, and, depending on the changes it requires integrated before or at the same time than the issue that makes clean the default theme.

      There will be cases where we will have to choose to change a xpath to bootstrap CSS selectors or maintain compatibility with both; as long as the compatibility with both themes does not imply a significant performance loose I would keep compatibility with both themes inherited from standard and bootstrap for a couple of major releases, so we can run the suite in different themes if we are interested on it.

        Gliffy Diagrams

          Issue Links

            Activity

            Hide
            lazydaisy Mary Evans added a comment -

            What exactly is 'behat' and what significance has a 'behat test' in relation to a course, and how has it come to be so important recently?
            I have seen a lot of activity in Moodle tracker, in this area of development, but not followed it as fully as I perhaps should have, so now I feel I am completely in the dark with regards its presence in Moodle.

            Show
            lazydaisy Mary Evans added a comment - What exactly is 'behat' and what significance has a 'behat test' in relation to a course, and how has it come to be so important recently? I have seen a lot of activity in Moodle tracker, in this area of development, but not followed it as fully as I perhaps should have, so now I feel I am completely in the dark with regards its presence in Moodle.
            Hide
            dmonllao David Monllaó added a comment -

            Behat is a testing framework, we use it to test Moodle's funcionalities (more info in http://docs.moodle.org/dev/Acceptance_testing) Is not a component like badges or activity completion but a testing component like phpunit. It uses quite a few CSS selectors and xpaths and when clean theme becomes standard some of those selectors should be modified according to it.

            Show
            dmonllao David Monllaó added a comment - Behat is a testing framework, we use it to test Moodle's funcionalities (more info in http://docs.moodle.org/dev/Acceptance_testing ) Is not a component like badges or activity completion but a testing component like phpunit. It uses quite a few CSS selectors and xpaths and when clean theme becomes standard some of those selectors should be modified according to it.
            Hide
            dmonllao David Monllaó added a comment -

            Marked as blocked by blocks docking in clean theme, if MDL-38923 finally does not get into 2.6 I'll remove the blocks docking tests

            Show
            dmonllao David Monllaó added a comment - Marked as blocked by blocks docking in clean theme, if MDL-38923 finally does not get into 2.6 I'll remove the blocks docking tests
            Hide
            dmonllao David Monllaó added a comment -

            Adding pull branches and stopping development until MDL-38923 gets integrated, if it is not integrated before clean becomes master default theme I'll rework the patch removing blocks docking tests.

            Show
            dmonllao David Monllaó added a comment - Adding pull branches and stopping development until MDL-38923 gets integrated, if it is not integrated before clean becomes master default theme I'll rework the patch removing blocks docking tests.
            Hide
            rajeshtaneja Rajesh Taneja added a comment -

            Thanks for fixing this David,

            Patch looks good, not sure if you want to wait for MDL-38923 or create another issue and push this forward.

            +1 for the changes.

            Show
            rajeshtaneja Rajesh Taneja added a comment - Thanks for fixing this David, Patch looks good, not sure if you want to wait for MDL-38923 or create another issue and push this forward. +1 for the changes.
            Hide
            dmonllao David Monllaó added a comment -

            Many thanks for the review Rajesh

            I would say that:

            • If we release 2.6 without clean as a default theme and MDL-38923 not integrated: not push to integration
            • If we release 2.6 without clean as a default theme and MDL-38923 integrated: push to integration
            • If we release 2.6 with clean as a default theme and MDL-38923 not integrated: push to integration
            • If we release 2.6 with clean as a default theme and MDL-38923 integrated: push to integration

            So I would wait until clean becomes the default theme or MDL-38923 gets integrated, I'd like to avoid removing test to add them later

            Show
            dmonllao David Monllaó added a comment - Many thanks for the review Rajesh I would say that: If we release 2.6 without clean as a default theme and MDL-38923 not integrated: not push to integration If we release 2.6 without clean as a default theme and MDL-38923 integrated: push to integration If we release 2.6 with clean as a default theme and MDL-38923 not integrated: push to integration If we release 2.6 with clean as a default theme and MDL-38923 integrated: push to integration So I would wait until clean becomes the default theme or MDL-38923 gets integrated, I'd like to avoid removing test to add them later
            Hide
            dmonllao David Monllaó added a comment -

            I think that we could integrate this issue without waiting for clean to be the default theme as with this changes the tests will be compatible with both standard and clean; we would make life better for people running behat using their own themes

            Rebasing + running the whole suite before sending to integration.

            Show
            dmonllao David Monllaó added a comment - I think that we could integrate this issue without waiting for clean to be the default theme as with this changes the tests will be compatible with both standard and clean; we would make life better for people running behat using their own themes Rebasing + running the whole suite before sending to integration.
            Hide
            dmonllao David Monllaó added a comment -

            Sending to integration knowing that MDL-38923 is not yet integrated so using $CFG->theme = 'clean'; there will be 2 failures.

            Show
            dmonllao David Monllaó added a comment - Sending to integration knowing that MDL-38923 is not yet integrated so using $CFG->theme = 'clean'; there will be 2 failures.
            Hide
            poltawski Dan Poltawski added a comment -

            Integrated to master, 25 and 26 - I agree having these fixes in is worthwhile, even if we can't dock blocks..

            Show
            poltawski Dan Poltawski added a comment - Integrated to master, 25 and 26 - I agree having these fixes in is worthwhile, even if we can't dock blocks..
            Hide
            salvetore Michael de Raadt added a comment -

            I'm watching for the CI jobs to complete. I will check back later.

            Show
            salvetore Michael de Raadt added a comment - I'm watching for the CI jobs to complete. I will check back later.
            Hide
            salvetore Michael de Raadt added a comment -

            The CI job for 2.5 seems to be complete, so I'll start with that.

            Show
            salvetore Michael de Raadt added a comment - The CI job for 2.5 seems to be complete, so I'll start with that.
            Hide
            dmonllao David Monllaó added a comment -

            As commented personally in 2.5 we can not use $CFG->theme = 'clean' as we don't allow extra config.php setting there (the issue was not backported) Ref: MDL-39441

            Show
            dmonllao David Monllaó added a comment - As commented personally in 2.5 we can not use $CFG->theme = 'clean' as we don't allow extra config.php setting there (the issue was not backported) Ref: MDL-39441
            Hide
            salvetore Michael de Raadt added a comment -

            Thanks, David.

            I'm running this on Master now. So far it's up to 1200 odd assertions.

            There have been tree fails between 600 and 700. I hope these are related to block docking as assumed. We'll see when the run ends.

            This is going to take a few more hours yet. I'll leave this running overnight and report back tomorrow morning.

            Show
            salvetore Michael de Raadt added a comment - Thanks, David. I'm running this on Master now. So far it's up to 1200 odd assertions. There have been tree fails between 600 and 700. I hope these are related to block docking as assumed. We'll see when the run ends. This is going to take a few more hours yet. I'll leave this running overnight and report back tomorrow morning.
            Hide
            salvetore Michael de Raadt added a comment -

            It's now up to ~2200. A few more fails have cropped up.

            I'm off home now (test will continue on my desktop machine).

            Show
            salvetore Michael de Raadt added a comment - It's now up to ~2200. A few more fails have cropped up. I'm off home now (test will continue on my desktop machine).
            Hide
            salvetore Michael de Raadt added a comment -

            The results are in and they don't look too good (35 failed)...

            (::) failed steps (::)
             
            01. Link matching locator "'Site policies'" not found.
                In step `And I follow "Site policies"'.                                             # behat_general::click_link()
                From scenario background.                                                           # /home/michael/web/htdocs/master_integration_behat/mod/forum/tests/behat/edit_post_student.feature:7
                Of feature `Students can edit or delete their forum posts within a set time limit'. # /home/michael/web/htdocs/master_integration_behat/mod/forum/tests/behat/edit_post_student.feature
             
            02. The "Security" node can not be expanded
                In step `And I expand "Security" node'.                                             # behat_navigation::i_expand_node()
                From scenario background.                                                           # /home/michael/web/htdocs/master_integration_behat/mod/forum/tests/behat/edit_post_student.feature:7
                Of feature `Students can edit or delete their forum posts within a set time limit'. # /home/michael/web/htdocs/master_integration_behat/mod/forum/tests/behat/edit_post_student.feature
             
            03. The "Security" node can not be expanded
                In step `And I expand "Security" node'.                                             # behat_navigation::i_expand_node()
                From scenario background.                                                           # /home/michael/web/htdocs/master_integration_behat/mod/forum/tests/behat/edit_post_student.feature:7
                Of feature `Students can edit or delete their forum posts within a set time limit'. # /home/michael/web/htdocs/master_integration_behat/mod/forum/tests/behat/edit_post_student.feature
             
            04. Button matching locator "Move this to the dock" in the "Administration" "block"" not found.
                In step `When I click on "Move this to the dock" "button" in the "Administration" "block"'. # behat_general::i_click_on_in_the()
                From scenario `Locators inside specific DOM nodes using CSS selectors'.                     # /home/michael/web/htdocs/master_integration_behat/admin/tool/behat/tests/behat/basic_actions.feature:36
                Of feature `Page contents assertions'.                                                      # /home/michael/web/htdocs/master_integration_behat/admin/tool/behat/tests/behat/basic_actions.feature
             
            05. Button matching locator "Move this to the dock" in the "Administration" "block"" not found.
                In step `When I click on "Move this to the dock" "button" in the "Administration" "block"'. # behat_general::i_click_on_in_the()
                From scenario `Locators inside specific DOM nodes using XPath'.                             # /home/michael/web/htdocs/master_integration_behat/admin/tool/behat/tests/behat/basic_actions.feature:47
                Of feature `Page contents assertions'.                                                      # /home/michael/web/htdocs/master_integration_behat/admin/tool/behat/tests/behat/basic_actions.feature
             
            06. Xpath matching locator "//div[@id='settingsnav']/descendant::li[contains(concat(' ', normalize-space(@class), ' '), ' type_setting ')][contains(., 'Appearance')]" not found.
                In step `And I click on "Courses" "link" in the "//div[@id='settingsnav']/descendant::li[contains(concat(' ', normalize-space(@class), ' '), ' type_setting ')][contains(., 'Appearance')]" "xpath_element"'. # behat_general::i_click_on_in_the()
                From scenario `Courses list with extended course names'.                                                                                                                                                      # /home/michael/web/htdocs/master_integration_behat/admin/tests/behat/display_short_names.feature:17
                Of feature `Display extended course names'.                                                                                                                                                                   # /home/michael/web/htdocs/master_integration_behat/admin/tests/behat/display_short_names.feature
             
            07. Modal window present. Ensure there are no edited forms pending to submit/cancel.
                In step `And I log out'.                                                                                                                                                                                      # behat_auth::i_log_out()
                From scenario `Award badge on course completion'.                                                                                                                                                             # /home/michael/web/htdocs/master_integration_behat/badges/tests/behat/award_badge.feature:181
                Of feature `Award badges'.                                                                                                                                                                                    # /home/michael/web/htdocs/master_integration_behat/badges/tests/behat/award_badge.feature
             
            08. Link matching locator "'Manage courses and categories'" not found.
                In step `And I go to the courses management page'.                                                                                                                                                            # behat_course::i_go_to_the_courses_management_page()
                From scenario `Test making a category hidden and then visible again.'.                                                                                                                                        # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/category_change_visibility.feature:11
                Of feature `We can change the visibility of categories in the management interface.'.                                                                                                                         # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/category_change_visibility.feature
             
            09. Link matching locator "'Manage courses and categories'" not found.
                In step `And I go to the courses management page'.                                                                                                                                                            # behat_course::i_go_to_the_courses_management_page()
                From scenario `Test making a subcategory hidden and then visible again.'.                                                                                                                                     # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/category_change_visibility.feature:50
                Of feature `We can change the visibility of categories in the management interface.'.                                                                                                                         # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/category_change_visibility.feature
             
            10. Link matching locator "'Manage courses and categories'" not found.
                In step `And I go to the courses management page'.                                                                                                                                                            # behat_course::i_go_to_the_courses_management_page()
                From scenario `Test relation between category and course when changing visibility.'.                                                                                                                          # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/category_change_visibility.feature:112
                Of feature `We can change the visibility of categories in the management interface.'.                                                                                                                         # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/category_change_visibility.feature
             
            11. Link matching locator "'Manage courses and categories'" not found.
                In step `And I go to the courses management page'.                                                                                                                                                            # behat_course::i_go_to_the_courses_management_page()
                From scenario `Test editing a category through the management interface.'.                                                                                                                                    # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/category_management.feature:14
                Of feature `Test category management actions'.                                                                                                                                                                # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/category_management.feature
             
            12. Link matching locator "'Manage courses and categories'" not found.
                In step `And I go to the courses management page'.                                                                                                                                                            # behat_course::i_go_to_the_courses_management_page()
                From scenario `Test deleting a categories through the management interface.'.                                                                                                                                 # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/category_management.feature:45
                Of feature `Test category management actions'.                                                                                                                                                                # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/category_management.feature
             
            13. Link matching locator "'Manage courses and categories'" not found.
                In step `And I go to the courses management page'.                                                                                                                                                            # behat_course::i_go_to_the_courses_management_page()
                From scenario `Test I can assign roles for a category through the management interface.'.                                                                                                                     # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/category_management.feature:106
                Of feature `Test category management actions'.                                                                                                                                                                # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/category_management.feature
             
            14. Link matching locator "'Manage courses and categories'" not found.
                In step `And I go to the courses management page'.                                                                                                                                                            # behat_course::i_go_to_the_courses_management_page()
                From scenario `Test I can set access permissions for a category through the management interface.'.                                                                                                           # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/category_management.feature:126
                Of feature `Test category management actions'.                                                                                                                                                                # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/category_management.feature
             
            15. Link matching locator "'Manage courses and categories'" not found.
                In step `And I go to the courses management page'.                                                                                                                                                            # behat_course::i_go_to_the_courses_management_page()
                From scenario `Test clicking to manage cohorts for a category through the management interface.'.                                                                                                             # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/category_management.feature:145
                Of feature `Test category management actions'.                                                                                                                                                                # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/category_management.feature
             
            16. Link matching locator "'Manage courses and categories'" not found.
                In step `And I go to the courses management page'.                                                                                                                                                            # behat_course::i_go_to_the_courses_management_page()
                From scenario `Test configuring filters for a category'.                                                                                                                                                      # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/category_management.feature:160
                Of feature `Test category management actions'.                                                                                                                                                                # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/category_management.feature
             
            17. Link matching locator "'Manage courses and categories'" not found.
                In step `And I go to the courses management page'.                                                                                                                                                            # behat_course::i_go_to_the_courses_management_page()
                From scenario `Test bulk sorting all categories.'.                                                                                                                                                            # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/category_resort.feature:8
                Of feature `Test we can resort categories in the management interface.'.                                                                                                                                      # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/category_resort.feature
             
            18. Link matching locator "'Manage courses and categories'" not found.
                In step `And I go to the courses management page'.                                                                                                                                                            # behat_course::i_go_to_the_courses_management_page()
                From scenario `Test bulk sorting all categories.'.                                                                                                                                                            # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/category_resort.feature:8
                Of feature `Test we can resort categories in the management interface.'.                                                                                                                                      # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/category_resort.feature
             
            19. Link matching locator "'Manage courses and categories'" not found.
                In step `And I go to the courses management page'.                                                                                                                                                            # behat_course::i_go_to_the_courses_management_page()
                From scenario `Test bulk sorting current category.'.                                                                                                                                                          # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/category_resort.feature:31
                Of feature `Test we can resort categories in the management interface.'.                                                                                                                                      # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/category_resort.feature
             
            20. Link matching locator "'Manage courses and categories'" not found.
                In step `And I go to the courses management page'.                                                                                                                                                            # behat_course::i_go_to_the_courses_management_page()
                From scenario `Test bulk sorting current category.'.                                                                                                                                                          # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/category_resort.feature:31
                Of feature `Test we can resort categories in the management interface.'.                                                                                                                                      # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/category_resort.feature
             
            21. Link matching locator "'Manage courses and categories'" not found.
                In step `And I go to the courses management page'.                                                                                                                                                            # behat_course::i_go_to_the_courses_management_page()
                From scenario `Test resorting subcategories.'.                                                                                                                                                                # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/category_resort.feature:58
                Of feature `Test we can resort categories in the management interface.'.                                                                                                                                      # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/category_resort.feature
             
            22. Link matching locator "'Manage courses and categories'" not found.
                In step `And I go to the courses management page'.                                                                                                                                                            # behat_course::i_go_to_the_courses_management_page()
                From scenario `Test resorting subcategories.'.                                                                                                                                                                # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/category_resort.feature:58
                Of feature `Test we can resort categories in the management interface.'.                                                                                                                                      # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/category_resort.feature
             
            23. Link matching locator "'Manage courses and categories'" not found.
                In step `And I go to the courses management page'.                                                                                                                                                            # behat_course::i_go_to_the_courses_management_page()
                From scenario `Test moving categories up and down by one.'.                                                                                                                                                   # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/category_resort.feature:110
                Of feature `Test we can resort categories in the management interface.'.                                                                                                                                      # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/category_resort.feature
             
            24. Link matching locator "'Manage courses and categories'" not found.
                In step `And I go to the courses management page'.                                                                                                                                                            # behat_course::i_go_to_the_courses_management_page()
                From scenario `Test displaying of sub categories'.                                                                                                                                                            # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/course_category_management_listing.feature:73
                Of feature `Course category management interface performs as expected'.                                                                                                                                       # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/course_category_management_listing.feature
             
            25. Link matching locator "'Manage courses and categories'" not found.
                In step `And I go to the courses management page'.                                                                                                                                                            # behat_course::i_go_to_the_courses_management_page()
                From scenario `Test pagination is only shown when required'.                                                                                                                                                  # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/course_category_management_listing.feature:512
                Of feature `Course category management interface performs as expected'.                                                                                                                                       # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/course_category_management_listing.feature
             
            26. Link matching locator "'Manage courses and categories'" not found.
                In step `And I go to the courses management page'.                                                                                                                                                            # behat_course::i_go_to_the_courses_management_page()
                From scenario `Test clicking to edit a course.'.                                                                                                                                                              # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/course_category_management_listing.feature:674
                Of feature `Course category management interface performs as expected'.                                                                                                                                       # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/course_category_management_listing.feature
             
            27. Link matching locator "'Manage courses and categories'" not found.
                In step `And I go to the courses management page'.                                                                                                                                                            # behat_course::i_go_to_the_courses_management_page()
                From scenario `Test toggling course visibility through the management interfaces.'.                                                                                                                           # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/course_change_visibility.feature:8
                Of feature `We can change the visibility of courses in the management interface.'.                                                                                                                            # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/course_change_visibility.feature
             
            28. Exception thrown by (//html/.//a[./@href][(((./@id = 'Courses' or contains(normalize-space(string(.)), 'Courses')) or contains(./@title, 'Courses') or contains(./@rel, 'Courses')) or .//img[contains(./@alt, 'Courses')])] | .//*[./@role = 'link'][((./@id = 'Courses' or contains(./@value, 'Courses')) or contains(./@title, 'Courses') or contains(normalize-space(string(.)), 'Courses'))])[1]
                Element is not currently visible and so may not be interacted with
                Command duration or timeout: 7 milliseconds
                Build info: version: '2.37.0', revision: 'a7c61cb', time: '2013-10-18 17:14:00'
                System info: host: 'michael-desktop', ip: '192.168.100.16', os.name: 'Linux', os.arch: 'amd64', os.version: '3.2.0-53-generic', java.version: '1.7.0_45'
                Session ID: 77df42d3-53c3-4737-8ae6-de902882ab6a
                Driver info: org.openqa.selenium.firefox.FirefoxDriver
                Capabilities [{platform=LINUX, databaseEnabled=true, cssSelectorsEnabled=true, javascriptEnabled=true, acceptSslCerts=true, handlesAlerts=true, browserName=firefox, browserConnectionEnabled=true, nativeEvents=false, webStorageEnabled=true, rotatable=false, locationContextEnabled=true, applicationCacheEnabled=true, takesScreenshot=true, version=25.0.1}]
                In step `And I click on "Courses" "link"'.                                                                                                                                                                    # behat_general::i_click_on()
                From scenario `Test using AJAX to hide a course through the management interfaces.'.                                                                                                                          # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/course_change_visibility.feature:55
                Of feature `We can change the visibility of courses in the management interface.'.                                                                                                                            # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/course_change_visibility.feature
             
            29. Link matching locator "'Manage courses and categories'" not found.
                In step `And I go to the courses management page'.                                                                                                                                                            # behat_course::i_go_to_the_courses_management_page()
                From scenario `Resort courses.'.                                                                                                                                                                              # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/course_resort.feature:8
                Of feature `Test we can resort course in the management interface.'.                                                                                                                                          # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/course_resort.feature
             
            30. Link matching locator "'Manage courses and categories'" not found.
                In step `And I go to the courses management page'.                                                                                                                                                            # behat_course::i_go_to_the_courses_management_page()
                From scenario `Resort courses.'.                                                                                                                                                                              # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/course_resort.feature:8
                Of feature `Test we can resort course in the management interface.'.                                                                                                                                          # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/course_resort.feature
             
            31. Link matching locator "'Manage courses and categories'" not found.
                In step `And I go to the courses management page'.                                                                                                                                                            # behat_course::i_go_to_the_courses_management_page()
                From scenario `Resort courses.'.                                                                                                                                                                              # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/course_resort.feature:8
                Of feature `Test we can resort course in the management interface.'.                                                                                                                                          # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/course_resort.feature
             
            32. Link matching locator "'Manage courses and categories'" not found.
                In step `And I go to the courses management page'.                                                                                                                                                            # behat_course::i_go_to_the_courses_management_page()
                From scenario `Test moving courses up and down by one.'.                                                                                                                                                      # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/course_resort.feature:77
                Of feature `Test we can resort course in the management interface.'.                                                                                                                                          # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/course_resort.feature
             
            33. Link matching locator "'Manage courses and categories'" not found.
                In step `And I go to the courses management page'.                                                                                                                                                            # behat_course::i_go_to_the_courses_management_page()
                From scenario `Create a course'.                                                                                                                                                                              # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/create_delete_course.feature:7
                Of feature `Test we can both create and delete a course.'.                                                                                                                                                    # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/create_delete_course.feature
             
            34. Link matching locator "'Manage courses and categories'" not found.
                In step `And I go to the courses management page'.                                                                                                                                                            # behat_course::i_go_to_the_courses_management_page()
                From scenario `Delete a course via its management listing'.                                                                                                                                                   # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/create_delete_course.feature:36
                Of feature `Test we can both create and delete a course.'.                                                                                                                                                    # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/create_delete_course.feature
             
            35. Link matching locator "'Manage courses and categories'" not found.
                In step `And I go to the courses management page'.                                                                                                                                                            # behat_course::i_go_to_the_courses_management_page()
                From scenario `Delete a course via its management details page'.                                                                                                                                              # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/create_delete_course.feature:68
                Of feature `Test we can both create and delete a course.'.                                                                                                                                                    # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/create_delete_course.feature
             
            287 scenarios (252 passed, 35 failed)
            6347 steps (5810 passed, 502 skipped, 35 failed)
            411m59.19s

            Show
            salvetore Michael de Raadt added a comment - The results are in and they don't look too good (35 failed)... (::) failed steps (::)   01. Link matching locator "'Site policies'" not found. In step `And I follow "Site policies"'. # behat_general::click_link() From scenario background. # /home/michael/web/htdocs/master_integration_behat/mod/forum/tests/behat/edit_post_student.feature:7 Of feature `Students can edit or delete their forum posts within a set time limit'. # /home/michael/web/htdocs/master_integration_behat/mod/forum/tests/behat/edit_post_student.feature   02. The "Security" node can not be expanded In step `And I expand "Security" node'. # behat_navigation::i_expand_node() From scenario background. # /home/michael/web/htdocs/master_integration_behat/mod/forum/tests/behat/edit_post_student.feature:7 Of feature `Students can edit or delete their forum posts within a set time limit'. # /home/michael/web/htdocs/master_integration_behat/mod/forum/tests/behat/edit_post_student.feature   03. The "Security" node can not be expanded In step `And I expand "Security" node'. # behat_navigation::i_expand_node() From scenario background. # /home/michael/web/htdocs/master_integration_behat/mod/forum/tests/behat/edit_post_student.feature:7 Of feature `Students can edit or delete their forum posts within a set time limit'. # /home/michael/web/htdocs/master_integration_behat/mod/forum/tests/behat/edit_post_student.feature   04. Button matching locator "Move this to the dock" in the "Administration" "block"" not found. In step `When I click on "Move this to the dock" "button" in the "Administration" "block"'. # behat_general::i_click_on_in_the() From scenario `Locators inside specific DOM nodes using CSS selectors'. # /home/michael/web/htdocs/master_integration_behat/admin/tool/behat/tests/behat/basic_actions.feature:36 Of feature `Page contents assertions'. # /home/michael/web/htdocs/master_integration_behat/admin/tool/behat/tests/behat/basic_actions.feature   05. Button matching locator "Move this to the dock" in the "Administration" "block"" not found. In step `When I click on "Move this to the dock" "button" in the "Administration" "block"'. # behat_general::i_click_on_in_the() From scenario `Locators inside specific DOM nodes using XPath'. # /home/michael/web/htdocs/master_integration_behat/admin/tool/behat/tests/behat/basic_actions.feature:47 Of feature `Page contents assertions'. # /home/michael/web/htdocs/master_integration_behat/admin/tool/behat/tests/behat/basic_actions.feature   06. Xpath matching locator "//div[@id='settingsnav']/descendant::li[contains(concat(' ', normalize-space(@class), ' '), ' type_setting ')][contains(., 'Appearance')]" not found. In step `And I click on "Courses" "link" in the "//div[@id='settingsnav']/descendant::li[contains(concat(' ', normalize-space(@class), ' '), ' type_setting ')][contains(., 'Appearance')]" "xpath_element"'. # behat_general::i_click_on_in_the() From scenario `Courses list with extended course names'. # /home/michael/web/htdocs/master_integration_behat/admin/tests/behat/display_short_names.feature:17 Of feature `Display extended course names'. # /home/michael/web/htdocs/master_integration_behat/admin/tests/behat/display_short_names.feature   07. Modal window present. Ensure there are no edited forms pending to submit/cancel. In step `And I log out'. # behat_auth::i_log_out() From scenario `Award badge on course completion'. # /home/michael/web/htdocs/master_integration_behat/badges/tests/behat/award_badge.feature:181 Of feature `Award badges'. # /home/michael/web/htdocs/master_integration_behat/badges/tests/behat/award_badge.feature   08. Link matching locator "'Manage courses and categories'" not found. In step `And I go to the courses management page'. # behat_course::i_go_to_the_courses_management_page() From scenario `Test making a category hidden and then visible again.'. # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/category_change_visibility.feature:11 Of feature `We can change the visibility of categories in the management interface.'. # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/category_change_visibility.feature   09. Link matching locator "'Manage courses and categories'" not found. In step `And I go to the courses management page'. # behat_course::i_go_to_the_courses_management_page() From scenario `Test making a subcategory hidden and then visible again.'. # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/category_change_visibility.feature:50 Of feature `We can change the visibility of categories in the management interface.'. # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/category_change_visibility.feature   10. Link matching locator "'Manage courses and categories'" not found. In step `And I go to the courses management page'. # behat_course::i_go_to_the_courses_management_page() From scenario `Test relation between category and course when changing visibility.'. # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/category_change_visibility.feature:112 Of feature `We can change the visibility of categories in the management interface.'. # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/category_change_visibility.feature   11. Link matching locator "'Manage courses and categories'" not found. In step `And I go to the courses management page'. # behat_course::i_go_to_the_courses_management_page() From scenario `Test editing a category through the management interface.'. # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/category_management.feature:14 Of feature `Test category management actions'. # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/category_management.feature   12. Link matching locator "'Manage courses and categories'" not found. In step `And I go to the courses management page'. # behat_course::i_go_to_the_courses_management_page() From scenario `Test deleting a categories through the management interface.'. # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/category_management.feature:45 Of feature `Test category management actions'. # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/category_management.feature   13. Link matching locator "'Manage courses and categories'" not found. In step `And I go to the courses management page'. # behat_course::i_go_to_the_courses_management_page() From scenario `Test I can assign roles for a category through the management interface.'. # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/category_management.feature:106 Of feature `Test category management actions'. # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/category_management.feature   14. Link matching locator "'Manage courses and categories'" not found. In step `And I go to the courses management page'. # behat_course::i_go_to_the_courses_management_page() From scenario `Test I can set access permissions for a category through the management interface.'. # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/category_management.feature:126 Of feature `Test category management actions'. # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/category_management.feature   15. Link matching locator "'Manage courses and categories'" not found. In step `And I go to the courses management page'. # behat_course::i_go_to_the_courses_management_page() From scenario `Test clicking to manage cohorts for a category through the management interface.'. # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/category_management.feature:145 Of feature `Test category management actions'. # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/category_management.feature   16. Link matching locator "'Manage courses and categories'" not found. In step `And I go to the courses management page'. # behat_course::i_go_to_the_courses_management_page() From scenario `Test configuring filters for a category'. # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/category_management.feature:160 Of feature `Test category management actions'. # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/category_management.feature   17. Link matching locator "'Manage courses and categories'" not found. In step `And I go to the courses management page'. # behat_course::i_go_to_the_courses_management_page() From scenario `Test bulk sorting all categories.'. # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/category_resort.feature:8 Of feature `Test we can resort categories in the management interface.'. # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/category_resort.feature   18. Link matching locator "'Manage courses and categories'" not found. In step `And I go to the courses management page'. # behat_course::i_go_to_the_courses_management_page() From scenario `Test bulk sorting all categories.'. # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/category_resort.feature:8 Of feature `Test we can resort categories in the management interface.'. # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/category_resort.feature   19. Link matching locator "'Manage courses and categories'" not found. In step `And I go to the courses management page'. # behat_course::i_go_to_the_courses_management_page() From scenario `Test bulk sorting current category.'. # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/category_resort.feature:31 Of feature `Test we can resort categories in the management interface.'. # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/category_resort.feature   20. Link matching locator "'Manage courses and categories'" not found. In step `And I go to the courses management page'. # behat_course::i_go_to_the_courses_management_page() From scenario `Test bulk sorting current category.'. # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/category_resort.feature:31 Of feature `Test we can resort categories in the management interface.'. # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/category_resort.feature   21. Link matching locator "'Manage courses and categories'" not found. In step `And I go to the courses management page'. # behat_course::i_go_to_the_courses_management_page() From scenario `Test resorting subcategories.'. # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/category_resort.feature:58 Of feature `Test we can resort categories in the management interface.'. # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/category_resort.feature   22. Link matching locator "'Manage courses and categories'" not found. In step `And I go to the courses management page'. # behat_course::i_go_to_the_courses_management_page() From scenario `Test resorting subcategories.'. # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/category_resort.feature:58 Of feature `Test we can resort categories in the management interface.'. # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/category_resort.feature   23. Link matching locator "'Manage courses and categories'" not found. In step `And I go to the courses management page'. # behat_course::i_go_to_the_courses_management_page() From scenario `Test moving categories up and down by one.'. # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/category_resort.feature:110 Of feature `Test we can resort categories in the management interface.'. # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/category_resort.feature   24. Link matching locator "'Manage courses and categories'" not found. In step `And I go to the courses management page'. # behat_course::i_go_to_the_courses_management_page() From scenario `Test displaying of sub categories'. # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/course_category_management_listing.feature:73 Of feature `Course category management interface performs as expected'. # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/course_category_management_listing.feature   25. Link matching locator "'Manage courses and categories'" not found. In step `And I go to the courses management page'. # behat_course::i_go_to_the_courses_management_page() From scenario `Test pagination is only shown when required'. # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/course_category_management_listing.feature:512 Of feature `Course category management interface performs as expected'. # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/course_category_management_listing.feature   26. Link matching locator "'Manage courses and categories'" not found. In step `And I go to the courses management page'. # behat_course::i_go_to_the_courses_management_page() From scenario `Test clicking to edit a course.'. # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/course_category_management_listing.feature:674 Of feature `Course category management interface performs as expected'. # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/course_category_management_listing.feature   27. Link matching locator "'Manage courses and categories'" not found. In step `And I go to the courses management page'. # behat_course::i_go_to_the_courses_management_page() From scenario `Test toggling course visibility through the management interfaces.'. # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/course_change_visibility.feature:8 Of feature `We can change the visibility of courses in the management interface.'. # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/course_change_visibility.feature   28. Exception thrown by (//html/.//a[./@href][(((./@id = 'Courses' or contains(normalize-space(string(.)), 'Courses')) or contains(./@title, 'Courses') or contains(./@rel, 'Courses')) or .//img[contains(./@alt, 'Courses')])] | .//*[./@role = 'link'][((./@id = 'Courses' or contains(./@value, 'Courses')) or contains(./@title, 'Courses') or contains(normalize-space(string(.)), 'Courses'))])[1] Element is not currently visible and so may not be interacted with Command duration or timeout: 7 milliseconds Build info: version: '2.37.0', revision: 'a7c61cb', time: '2013-10-18 17:14:00' System info: host: 'michael-desktop', ip: '192.168.100.16', os.name: 'Linux', os.arch: 'amd64', os.version: '3.2.0-53-generic', java.version: '1.7.0_45' Session ID: 77df42d3-53c3-4737-8ae6-de902882ab6a Driver info: org.openqa.selenium.firefox.FirefoxDriver Capabilities [{platform=LINUX, databaseEnabled=true, cssSelectorsEnabled=true, javascriptEnabled=true, acceptSslCerts=true, handlesAlerts=true, browserName=firefox, browserConnectionEnabled=true, nativeEvents=false, webStorageEnabled=true, rotatable=false, locationContextEnabled=true, applicationCacheEnabled=true, takesScreenshot=true, version=25.0.1}] In step `And I click on "Courses" "link"'. # behat_general::i_click_on() From scenario `Test using AJAX to hide a course through the management interfaces.'. # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/course_change_visibility.feature:55 Of feature `We can change the visibility of courses in the management interface.'. # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/course_change_visibility.feature   29. Link matching locator "'Manage courses and categories'" not found. In step `And I go to the courses management page'. # behat_course::i_go_to_the_courses_management_page() From scenario `Resort courses.'. # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/course_resort.feature:8 Of feature `Test we can resort course in the management interface.'. # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/course_resort.feature   30. Link matching locator "'Manage courses and categories'" not found. In step `And I go to the courses management page'. # behat_course::i_go_to_the_courses_management_page() From scenario `Resort courses.'. # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/course_resort.feature:8 Of feature `Test we can resort course in the management interface.'. # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/course_resort.feature   31. Link matching locator "'Manage courses and categories'" not found. In step `And I go to the courses management page'. # behat_course::i_go_to_the_courses_management_page() From scenario `Resort courses.'. # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/course_resort.feature:8 Of feature `Test we can resort course in the management interface.'. # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/course_resort.feature   32. Link matching locator "'Manage courses and categories'" not found. In step `And I go to the courses management page'. # behat_course::i_go_to_the_courses_management_page() From scenario `Test moving courses up and down by one.'. # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/course_resort.feature:77 Of feature `Test we can resort course in the management interface.'. # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/course_resort.feature   33. Link matching locator "'Manage courses and categories'" not found. In step `And I go to the courses management page'. # behat_course::i_go_to_the_courses_management_page() From scenario `Create a course'. # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/create_delete_course.feature:7 Of feature `Test we can both create and delete a course.'. # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/create_delete_course.feature   34. Link matching locator "'Manage courses and categories'" not found. In step `And I go to the courses management page'. # behat_course::i_go_to_the_courses_management_page() From scenario `Delete a course via its management listing'. # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/create_delete_course.feature:36 Of feature `Test we can both create and delete a course.'. # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/create_delete_course.feature   35. Link matching locator "'Manage courses and categories'" not found. In step `And I go to the courses management page'. # behat_course::i_go_to_the_courses_management_page() From scenario `Delete a course via its management details page'. # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/create_delete_course.feature:68 Of feature `Test we can both create and delete a course.'. # /home/michael/web/htdocs/master_integration_behat/course/tests/behat/create_delete_course.feature   287 scenarios (252 passed, 35 failed) 6347 steps (5810 passed, 502 skipped, 35 failed) 411m59.19s
            Hide
            dmonllao David Monllaó added a comment -

            Hi Michael, I'm running the steps that failed to you and at the moment (half way more or less) I have no failures (note that I'm not running the dock blocks ones that we know that are failing and neither badges/tests/behat/award_badge.feature:181, where we have a reported random failure that we will solve as part of MDL-42625)

            When you have 1 sec can I come to your desk to see visually where is it failing? TIA

            Show
            dmonllao David Monllaó added a comment - Hi Michael, I'm running the steps that failed to you and at the moment (half way more or less) I have no failures (note that I'm not running the dock blocks ones that we know that are failing and neither badges/tests/behat/award_badge.feature:181, where we have a reported random failure that we will solve as part of MDL-42625 ) When you have 1 sec can I come to your desk to see visually where is it failing? TIA
            Hide
            salvetore Michael de Raadt added a comment -

            With David's help we were able to determine that there was a problem with the Profiling admin tool that was interfering with Behat tests.

            It seems that when you have the xhprof extension enabled, this functionality is enabled automatically. Unfortunately the default settings are not set for this tool when the site is installed from the command line, so when a later tests attempt uses the admin account, the instance attempts to get the user to set new settings for the Profiling tool. This, of course, disrupts the Behat test.

            I suspect there may be a problem with the site-wide settings for the Profiling tool that is causing this.

            Disabling the xhprof extension disables the tool and the tests seem to proceed as expected (at least so far, with a new Behat run).

            Show
            salvetore Michael de Raadt added a comment - With David's help we were able to determine that there was a problem with the Profiling admin tool that was interfering with Behat tests. It seems that when you have the xhprof extension enabled, this functionality is enabled automatically. Unfortunately the default settings are not set for this tool when the site is installed from the command line, so when a later tests attempt uses the admin account, the instance attempts to get the user to set new settings for the Profiling tool. This, of course, disrupts the Behat test. I suspect there may be a problem with the site-wide settings for the Profiling tool that is causing this. Disabling the xhprof extension disables the tool and the tests seem to proceed as expected (at least so far, with a new Behat run).
            Hide
            salvetore Michael de Raadt added a comment -

            An explanation for why the Profiling tool works through the web interface (used by the Behat tests with switch all enabled) and the cli interface (used by the script to install from the command line) is that the xhprof extension was enabled in /etc/php5/apache2/php.ini, but not in /etc/php5/cli/php.ini.

            You learn something new every day.

            Show
            salvetore Michael de Raadt added a comment - An explanation for why the Profiling tool works through the web interface (used by the Behat tests with switch all enabled) and the cli interface (used by the script to install from the command line) is that the xhprof extension was enabled in /etc/php5/apache2/php.ini, but not in /etc/php5/cli/php.ini. You learn something new every day.
            Hide
            salvetore Michael de Raadt added a comment -

            Test result: Success!

            With the limited set established by David, all tests passed.

            Moodle 2.7dev (Build: 20131122), pgsql, a70157c6db2bf83417af6b32978cc7c1fa263800
            Server OS "Linux", Browser: "firefox"
            Started at 28-11-2013, 14:57
            ...................................................................... 70
            ...................................................................... 140
            ...................................................................... 210
            ...................................................................... 280
            ...................................................................... 350
            ...................................................................... 420
            ...................................................................... 490
            ...................................................................... 560
            ...................................................................... 630
            ...................................................................... 700
            ...................................................................... 770
            ...................................................................... 840
            ...................................................................... 910
            ...................................................................... 980
            ...................................................................... 1050
            ...................................................................... 1120
            ...................................................................... 1190
            ...................................................................... 1260
            ...................................................................... 1330
            ...................................................................... 1400
            ...................................................................... 1470
            ...................
             
            58 scenarios (58 passed)
            1489 steps (1489 passed)
            58m36.746s
            

            Show
            salvetore Michael de Raadt added a comment - Test result: Success! With the limited set established by David, all tests passed. Moodle 2.7dev (Build: 20131122), pgsql, a70157c6db2bf83417af6b32978cc7c1fa263800 Server OS "Linux", Browser: "firefox" Started at 28-11-2013, 14:57 ...................................................................... 70 ...................................................................... 140 ...................................................................... 210 ...................................................................... 280 ...................................................................... 350 ...................................................................... 420 ...................................................................... 490 ...................................................................... 560 ...................................................................... 630 ...................................................................... 700 ...................................................................... 770 ...................................................................... 840 ...................................................................... 910 ...................................................................... 980 ...................................................................... 1050 ...................................................................... 1120 ...................................................................... 1190 ...................................................................... 1260 ...................................................................... 1330 ...................................................................... 1400 ...................................................................... 1470 ...................   58 scenarios (58 passed) 1489 steps (1489 passed) 58m36.746s
            Hide
            poltawski Dan Poltawski added a comment -

            Congratulations, this change has now made its way upstream. Thanks for your contribution!

            “ Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. ” - Rick Osborne

            Show
            poltawski Dan Poltawski added a comment - Congratulations, this change has now made its way upstream. Thanks for your contribution! “ Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. ” - Rick Osborne

              People

              • Votes:
                2 Vote for this issue
                Watchers:
                7 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:
                  Fix Release Date:
                  13/Jan/14