diff --git a/public/admin/environment.xml b/public/admin/environment.xml index f71376c6cd6..c94f1737038 100644 --- a/public/admin/environment.xml +++ b/public/admin/environment.xml @@ -5108,4 +5108,208 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/analytics/tests/model_test.php b/public/analytics/tests/model_test.php index 3912a8d11c5..02b841b3d86 100644 --- a/public/analytics/tests/model_test.php +++ b/public/analytics/tests/model_test.php @@ -54,7 +54,7 @@ final class model_test extends \advanced_testcase { public function setUp(): void { parent::setUp(); - + $this->resetAfterTest(); $this->setAdminUser(); $target = \core_analytics\manager::get_target('test_target_shortname'); @@ -68,8 +68,6 @@ final class model_test extends \advanced_testcase { } public function test_enable(): void { - $this->resetAfterTest(true); - $this->assertEquals(0, $this->model->get_model_obj()->enabled); $this->assertEquals(0, $this->model->get_model_obj()->trained); $this->assertEquals('', $this->model->get_model_obj()->timesplitting); @@ -81,8 +79,6 @@ final class model_test extends \advanced_testcase { } public function test_create(): void { - $this->resetAfterTest(true); - $target = \core_analytics\manager::get_target('\core_course\analytics\target\course_dropout'); $indicators = array( \core_analytics\manager::get_indicator('\core\analytics\indicator\any_write_action'), @@ -194,7 +190,6 @@ final class model_test extends \advanced_testcase { */ public function test_clear_static(): void { global $DB; - $this->resetAfterTest(); $statictarget = new \test_static_target_shortname(); $indicators['test_indicator_max'] = \core_analytics\manager::get_indicator('test_indicator_max'); @@ -211,8 +206,6 @@ final class model_test extends \advanced_testcase { } public function test_model_manager(): void { - $this->resetAfterTest(true); - $this->assertCount(3, $this->model->get_indicators()); $this->assertInstanceOf('\core_analytics\local\target\binary', $this->model->get_target()); @@ -225,8 +218,6 @@ final class model_test extends \advanced_testcase { } public function test_output_dir(): void { - $this->resetAfterTest(true); - $dir = make_request_directory(); set_config('modeloutputdir', $dir, 'analytics'); @@ -237,9 +228,6 @@ final class model_test extends \advanced_testcase { public function test_unique_id(): void { global $DB; - - $this->resetAfterTest(true); - $originaluniqueid = $this->model->get_unique_id(); // Same id across instances. @@ -283,8 +271,6 @@ final class model_test extends \advanced_testcase { * @return void */ public function test_exists(): void { - $this->resetAfterTest(true); - $target = \core_analytics\manager::get_target('\core_course\analytics\target\no_teaching'); $this->assertTrue(\core_analytics\model::exists($target)); @@ -302,9 +288,6 @@ final class model_test extends \advanced_testcase { */ public function test_model_timelimit(): void { global $DB; - - $this->resetAfterTest(true); - set_config('modeltimelimit', 2, 'analytics'); $courses = array(); @@ -365,8 +348,6 @@ final class model_test extends \advanced_testcase { * Test model_config::get_class_component. */ public function test_model_config_get_class_component(): void { - $this->resetAfterTest(true); - $this->assertEquals('core', \core_analytics\model_config::get_class_component('\\core\\analytics\\indicator\\read_actions')); $this->assertEquals('core', @@ -387,8 +368,6 @@ final class model_test extends \advanced_testcase { $this->markTestSkipped('mlbackend_python is not configured.'); } - $this->resetAfterTest(true); - $this->model->enable('\\core\\analytics\\time_splitting\\quarters'); $zipfilepath = $this->model->export_model('yeah-config.zip'); @@ -408,8 +387,6 @@ final class model_test extends \advanced_testcase { * Test can export configuration */ public function test_can_export_configuration(): void { - $this->resetAfterTest(true); - // No time splitting method. $this->assertFalse($this->model->can_export_configuration()); @@ -433,8 +410,6 @@ final class model_test extends \advanced_testcase { $this->markTestSkipped('mlbackend_python is not configured.'); } - $this->resetAfterTest(true); - $this->model->enable('\\core\\analytics\\time_splitting\\quarters'); $modelconfig = new \core_analytics\model_config($this->model); @@ -463,8 +438,6 @@ final class model_test extends \advanced_testcase { public function test_inplace_editable_name(): void { global $PAGE; - $this->resetAfterTest(); - $output = new \core_renderer($PAGE, RENDERER_TARGET_GENERAL); // Check as a user with permission to edit the name. @@ -489,8 +462,6 @@ final class model_test extends \advanced_testcase { public function test_get_name_and_rename(): void { global $PAGE; - $this->resetAfterTest(); - $output = new \core_renderer($PAGE, RENDERER_TARGET_GENERAL); // By default, the model exported for template uses its target's name in the name inplace editable element. @@ -518,8 +489,6 @@ final class model_test extends \advanced_testcase { * Tests model::get_potential_timesplittings() */ public function test_potential_timesplittings(): void { - $this->resetAfterTest(); - $this->assertArrayNotHasKey('\core\analytics\time_splitting\no_splitting', $this->model->get_potential_timesplittings()); $this->assertArrayHasKey('\core\analytics\time_splitting\single_range', $this->model->get_potential_timesplittings()); $this->assertArrayHasKey('\core\analytics\time_splitting\quarters', $this->model->get_potential_timesplittings()); @@ -531,8 +500,6 @@ final class model_test extends \advanced_testcase { * @return null */ public function test_get_samples(): void { - $this->resetAfterTest(); - if (!PHPUNIT_LONGTEST) { $this->markTestSkipped('PHPUNIT_LONGTEST is not defined'); } diff --git a/public/analytics/tests/stats_test.php b/public/analytics/tests/stats_test.php index a28ec7fe5f0..9fb99d7b444 100644 --- a/public/analytics/tests/stats_test.php +++ b/public/analytics/tests/stats_test.php @@ -39,7 +39,7 @@ final class stats_test extends \advanced_testcase { */ public function setUp(): void { parent::setUp(); - + $this->resetAfterTest(); $this->setAdminUser(); } @@ -47,9 +47,6 @@ final class stats_test extends \advanced_testcase { * Test the {@link \core_analytics\stats::enabled_models()} implementation. */ public function test_enabled_models(): void { - - $this->resetAfterTest(true); - // By default, sites have {@link \core_course\analytics\target\no_teaching} and // {@link \core_user\analytics\target\upcoming_activities_due} enabled. $this->assertEquals(4, \core_analytics\stats::enabled_models()); @@ -77,8 +74,6 @@ final class stats_test extends \advanced_testcase { $this->markTestSkipped('mlbackend_python is not configured.'); } - $this->resetAfterTest(true); - $model = \core_analytics\model::create( \core_analytics\manager::get_target('test_target_shortname'), [ @@ -127,8 +122,6 @@ final class stats_test extends \advanced_testcase { $this->markTestSkipped('mlbackend_python is not configured.'); } - $this->resetAfterTest(true); - $model = \core_analytics\model::create( \core_analytics\manager::get_target('test_target_shortname'), [ diff --git a/public/lib/tests/session/memcached_test.php b/public/lib/tests/session/memcached_test.php index 18f41411fae..b46f08404b5 100644 --- a/public/lib/tests/session/memcached_test.php +++ b/public/lib/tests/session/memcached_test.php @@ -41,8 +41,8 @@ final class memcached_test extends \advanced_testcase { /** @var memcached|null $memcachedession An instance of the memcached session or null if not initialized. */ private ?memcached $memcachedession = null; - /** @var \Memcached $memcached An instance of the Memcached class used for handling session storage. */ - private \Memcached $memcached; + /** @var ?\Memcached $memcached An instance of the Memcached class used for handling session storage. */ + private ?\Memcached $memcached = null; /** @var mock_handler $mockhandler Dedicated testing handler. */ private mock_handler $mockhandler; @@ -87,7 +87,10 @@ final class memcached_test extends \advanced_testcase { #[\Override] public function tearDown(): void { - $this->memcached->quit(); + if ($this->memcached !== null) { + $this->memcached->quit(); + $this->memcached = null; + } parent::tearDown(); }