Running the tool_fix_delete_modules_testsuite under Moodle 5.1+ with PHP 8.4 results in one test error and multiple PHP 8.4 deprecation warnings.
The main failure occurs in reporter_test::test_reporter_class, where a dml_missing_record_exception is thrown due to an invalid course module ID.
vendor/bin/phpunit --testsuite tool_fix_delete_modules_testsuite
Runtime: PHP 8.4.16
Configuration: /var/www/moodle-upgrade/phpunit.xml
D.............E......... 24 / 24 (100%)
Time: 00:24.683, Memory: 121.00 MB
There was 1 error:
1) tool_fix_delete_modules\reporter_test::test_reporter_class
dml_missing_record_exception: Invalid course module ID (SELECT id,course FROM {course_modules} WHERE id = ?
[array (
0 => 348000,
)])
/var/www/moodle-upgrade/public/lib/dml/moodle_database.php:1653
/var/www/moodle-upgrade/public/lib/dml/moodle_database.php:1629
/var/www/moodle-upgrade/public/lib/classes/context/module.php:262
/var/www/moodle-upgrade/public/competency/classes/api.php:4784
/var/www/moodle-upgrade/public/admin/tool/fix_delete_modules/classes/surgeon.php:313
/var/www/moodle-upgrade/public/admin/tool/fix_delete_modules/classes/surgeon.php:118
/var/www/moodle-upgrade/public/admin/tool/fix_delete_modules/classes/surgeon.php:67
/var/www/moodle-upgrade/public/admin/tool/fix_delete_modules/classes/reporter.php:189
/var/www/moodle-upgrade/public/admin/tool/fix_delete_modules/classes/reporter.php:162
/var/www/moodle-upgrade/public/admin/tool/fix_delete_modules/tests/reporter_test.php:135
--
2 tests triggered 4 PHP deprecations:
1) /var/www/moodle-upgrade/public/mod/mediagallery/classes/item.php:265
mod_mediagallery\item::generate_thumbnail(): Implicitly marking parameter $storedfile as nullable is deprecated, the explicit nullable type must be used instead
Triggered by:
* tool_fix_delete_modules\delete_module_test::test_delete_task_setup
/var/www/moodle-upgrade/public/admin/tool/fix_delete_modules/tests/fix_course_delete_module_test.php:212
2) /var/www/moodle-upgrade/public/mod/mediagallery/classes/item.php:269
mod_mediagallery\item::generate_image_by_type(): Implicitly marking parameter $file as nullable is deprecated, the explicit nullable type must be used instead
Triggered by:
* tool_fix_delete_modules\delete_module_test::test_delete_task_setup
/var/www/moodle-upgrade/public/admin/tool/fix_delete_modules/tests/fix_course_delete_module_test.php:212
3) /var/www/moodle-upgrade/public/mod/mediagallery/classes/item.php:314
mod_mediagallery\item::get_image_resized(): Implicitly marking parameter $file as nullable is deprecated, the explicit nullable type must be used instead
Triggered by:
* tool_fix_delete_modules\delete_module_test::test_delete_task_setup
/var/www/moodle-upgrade/public/admin/tool/fix_delete_modules/tests/fix_course_delete_module_test.php:212
4) /var/www/moodle-upgrade/public/admin/tool/fix_delete_modules/classes/reporter.php:139
tool_fix_delete_modules\reporter::get_diagnosis_data(): Implicitly marking parameter $taskids as nullable is deprecated, the explicit nullable type must be used instead
Triggered by:
* tool_fix_delete_modules\reporter_test::test_reporter_class
/var/www/moodle-upgrade/public/admin/tool/fix_delete_modules/tests/reporter_test.php:46
ERRORS!
Tests: 24, Assertions: 392, Errors: 1, Deprecations: 4, PHPUnit Deprecations: 24.
Description
Running the tool_fix_delete_modules_testsuite under Moodle 5.1+ with PHP 8.4 results in one test error and multiple PHP 8.4 deprecation warnings.
The main failure occurs in reporter_test::test_reporter_class, where a dml_missing_record_exception is thrown due to an invalid course module ID.
Stack Trace