PHPUnit removed the ability to mock a destructor, but our lock system throws an exception if a lock has not been explicitly released in its destructor. Normally thhis is fine because the lock is released, and if not then we want to know about it. However, where we are mocking the lock, we do not actually obtain the lock, and we may expect the test to fail. This change moves the release and notification to a separate, reusable public method, which is called from the destructor. This allows it to be mocked at the appropriate time.
Moodle
Moodle is the World's Open Source Learning Platform, widely used around the world by countless universities, schools, companies, and all manner of organisations and individuals.
Moodle is designed to allow educators, administrators and learners to create personalised learning environments with a single robust, secure and integrated system.
Documentation
- Read our User documentation
- Discover our developer documentation
- Take a look at our demo site
Community
moodle.org is the central hub for the Moodle Community, with spaces for educators, administrators and developers to meet and work together.
You may also be interested in:
- attending a Moodle Moot
- our regular series of developer meetings
- the Moodle User Association
Installation and hosting
Moodle is Free, and Open Source software. You can easily download Moodle and run it on your own web server, however you may prefer to work with one of our experienced Moodle Partners.
Moodle also offers hosting through both MoodleCloud, and our partner network.
License
Moodle is provided freely as open source software, under version 3 of the GNU General Public License. For more information on our license see