From 42a69e3e0b290f25f86466b4b81bb3fc21ebfb7d Mon Sep 17 00:00:00 2001 From: Adrian Greeve Date: Mon, 20 Oct 2014 14:21:53 +0800 Subject: [PATCH] MDL-47675 phpunit: Update unit tests to pass on MSSQL Unit tests were failing on MSSQL. gc_collect_cycles() was removed from the phpunit utils.php file to save time in running the tests, but MSSQL doesn't clean up open files as well as other databases. This patch includes the garbage collection for the unit tests that require it. --- admin/tool/uploadcourse/tests/course_test.php | 7 +++++++ admin/tool/uploadcourse/tests/processor_test.php | 7 +++++++ course/tests/courselib_test.php | 7 +++++++ course/tests/externallib_test.php | 7 +++++++ lib/tests/questionlib_test.php | 7 +++++++ mod/assign/feedback/editpdf/tests/editpdf_test.php | 7 +++++++ 6 files changed, 42 insertions(+) diff --git a/admin/tool/uploadcourse/tests/course_test.php b/admin/tool/uploadcourse/tests/course_test.php index 8f862125e1b..a4845db0f74 100644 --- a/admin/tool/uploadcourse/tests/course_test.php +++ b/admin/tool/uploadcourse/tests/course_test.php @@ -35,6 +35,13 @@ global $CFG; */ class tool_uploadcourse_course_testcase extends advanced_testcase { + /** + * Tidy up open files that may be left open. + */ + protected function tearDown() { + gc_collect_cycles(); + } + public function test_proceed_without_prepare() { $this->resetAfterTest(true); $mode = tool_uploadcourse_processor::MODE_CREATE_NEW; diff --git a/admin/tool/uploadcourse/tests/processor_test.php b/admin/tool/uploadcourse/tests/processor_test.php index 648fcc6d936..ef2d150f8b0 100644 --- a/admin/tool/uploadcourse/tests/processor_test.php +++ b/admin/tool/uploadcourse/tests/processor_test.php @@ -36,6 +36,13 @@ require_once($CFG->libdir . '/csvlib.class.php'); */ class tool_uploadcourse_processor_testcase extends advanced_testcase { + /** + * Tidy up open files that may be left open. + */ + protected function tearDown() { + gc_collect_cycles(); + } + public function test_basic() { global $DB; $this->resetAfterTest(true); diff --git a/course/tests/courselib_test.php b/course/tests/courselib_test.php index 0f026746ff2..f1f4f611ebf 100644 --- a/course/tests/courselib_test.php +++ b/course/tests/courselib_test.php @@ -31,6 +31,13 @@ require_once($CFG->dirroot.'/course/tests/fixtures/course_capability_assignment. class core_course_courselib_testcase extends advanced_testcase { + /** + * Tidy up open files that may be left open. + */ + protected function tearDown() { + gc_collect_cycles(); + } + /** * Set forum specific test values for calling create_module(). * diff --git a/course/tests/externallib_test.php b/course/tests/externallib_test.php index 4c1c85a97ab..4c59025dda6 100644 --- a/course/tests/externallib_test.php +++ b/course/tests/externallib_test.php @@ -47,6 +47,13 @@ class core_course_externallib_testcase extends externallib_advanced_testcase { require_once($CFG->dirroot . '/course/externallib.php'); } + /** + * Tidy up open files that may be left open. + */ + protected function tearDown() { + gc_collect_cycles(); + } + /** * Test create_categories */ diff --git a/lib/tests/questionlib_test.php b/lib/tests/questionlib_test.php index 5fcfe3158a9..5f0bce6f08e 100644 --- a/lib/tests/questionlib_test.php +++ b/lib/tests/questionlib_test.php @@ -37,6 +37,13 @@ require_once($CFG->libdir . '/questionlib.php'); */ class core_questionlib_testcase extends basic_testcase { + /** + * Tidy up open files that may be left open. + */ + protected function tearDown() { + gc_collect_cycles(); + } + public function test_question_reorder_qtypes() { $this->assertEquals( array(0 => 't2', 1 => 't1', 2 => 't3'), diff --git a/mod/assign/feedback/editpdf/tests/editpdf_test.php b/mod/assign/feedback/editpdf/tests/editpdf_test.php index 6afe93ffa8b..207a64bd299 100644 --- a/mod/assign/feedback/editpdf/tests/editpdf_test.php +++ b/mod/assign/feedback/editpdf/tests/editpdf_test.php @@ -52,6 +52,13 @@ class assignfeedback_editpdf_testcase extends mod_assign_base_testcase { parent::setUp(); } + /** + * Tidy up open files that may be left open. + */ + protected function tearDown() { + gc_collect_cycles(); + } + protected function create_assign_and_submit_pdf() { global $CFG; $assign = $this->create_instance(array('assignsubmission_onlinetext_enabled' => 1,