From 403a81453501acfa4e4dfc6cccfb4aad5d63d23c Mon Sep 17 00:00:00 2001 From: Andrew Nicols Date: Wed, 23 Dec 2015 14:24:35 +0800 Subject: [PATCH] MDL-52597 mod_forum: Remove sleep from tests --- mod/forum/tests/generator/lib.php | 15 ++++++++++ mod/forum/tests/lib_test.php | 47 ++++++++++++++++--------------- 2 files changed, 40 insertions(+), 22 deletions(-) diff --git a/mod/forum/tests/generator/lib.php b/mod/forum/tests/generator/lib.php index 77198d712de..532a98f1742 100644 --- a/mod/forum/tests/generator/lib.php +++ b/mod/forum/tests/generator/lib.php @@ -185,11 +185,26 @@ class mod_forum_generator extends testing_module_generator { $record['mailnow'] = "0"; } + if (isset($record['timemodified'])) { + $timemodified = $record['timemodified']; + } + $record = (object) $record; // Add the discussion. $record->id = forum_add_discussion($record, null, null, $record->userid); + if (isset($timemodified)) { + // Enforce the time modified. + $post = $DB->get_record('forum_posts', array('discussion' => $record->id)); + $post = $DB->get_record('forum_posts', array('discussion' => $record->id)); + $record->timemodified = $timemodified; + $post->modified = $post->created = $timemodified; + + $DB->update_record('forum_discussions', $record); + $DB->update_record('forum_posts', $post); + } + return $record; } diff --git a/mod/forum/tests/lib_test.php b/mod/forum/tests/lib_test.php index bc38397c8e7..e0e9f746228 100644 --- a/mod/forum/tests/lib_test.php +++ b/mod/forum/tests/lib_test.php @@ -811,14 +811,15 @@ class mod_forum_lib_testcase extends advanced_testcase { $record->course = $course->id; $record->userid = $user->id; $record->forum = $forum->id; + $record->timemodified = time(); $disc1 = $forumgen->create_discussion($record); - sleep(1); + $record->timemodified++; $disc2 = $forumgen->create_discussion($record); - sleep(1); + $record->timemodified++; $disc3 = $forumgen->create_discussion($record); - sleep(1); + $record->timemodified++; $disc4 = $forumgen->create_discussion($record); - sleep(1); + $record->timemodified++; $disc5 = $forumgen->create_discussion($record); // Getting the neighbours. @@ -844,8 +845,8 @@ class mod_forum_lib_testcase extends advanced_testcase { // Post in some discussions. We manually update the discussion record because // the data generator plays with timemodified in a way that would break this test. - sleep(1); - $disc1->timemodified = time(); + $record->timemodified++; + $disc1->timemodified = $record->timemodified; $DB->update_record('forum_discussions', $disc1); $neighbours = forum_get_discussion_neighbours($cm, $disc5); @@ -861,13 +862,13 @@ class mod_forum_lib_testcase extends advanced_testcase { $this->assertEmpty($neighbours['next']); // After some discussions were created. - sleep(1); + $record->timemodified++; $disc6 = $forumgen->create_discussion($record); $neighbours = forum_get_discussion_neighbours($cm, $disc6); $this->assertEquals($disc1->id, $neighbours['prev']->id); $this->assertEmpty($neighbours['next']); - sleep(1); + $record->timemodified++; $disc7 = $forumgen->create_discussion($record); $neighbours = forum_get_discussion_neighbours($cm, $disc7); $this->assertEquals($disc6->id, $neighbours['prev']->id); @@ -875,7 +876,7 @@ class mod_forum_lib_testcase extends advanced_testcase { // Adding timed discussions. $CFG->forum_enabletimedposts = true; - $now = time(); + $now = $record->timemodified; $past = $now - 60; $future = $now + 60; @@ -885,21 +886,22 @@ class mod_forum_lib_testcase extends advanced_testcase { $record->forum = $forum->id; $record->timestart = $past; $record->timeend = $future; - sleep(1); + $record->timemodified = $now; + $record->timemodified++; $disc8 = $forumgen->create_discussion($record); - sleep(1); + $record->timemodified++; $record->timestart = $future; $record->timeend = 0; $disc9 = $forumgen->create_discussion($record); - sleep(1); + $record->timemodified++; $record->timestart = 0; $record->timeend = 0; $disc10 = $forumgen->create_discussion($record); - sleep(1); + $record->timemodified++; $record->timestart = 0; $record->timeend = $past; $disc11 = $forumgen->create_discussion($record); - sleep(1); + $record->timemodified++; $record->timestart = $past; $record->timeend = $future; $disc12 = $forumgen->create_discussion($record); @@ -967,10 +969,9 @@ class mod_forum_lib_testcase extends advanced_testcase { $this->setAdminUser(); // Two discussions with identical timemodified ignore each other. - sleep(1); - $now = time(); - $DB->update_record('forum_discussions', (object) array('id' => $disc3->id, 'timemodified' => $now)); - $DB->update_record('forum_discussions', (object) array('id' => $disc2->id, 'timemodified' => $now)); + $record->timemodified++; + $DB->update_record('forum_discussions', (object) array('id' => $disc3->id, 'timemodified' => $record->timemodified)); + $DB->update_record('forum_discussions', (object) array('id' => $disc2->id, 'timemodified' => $record->timemodified)); $disc2 = $DB->get_record('forum_discussions', array('id' => $disc2->id)); $disc3 = $DB->get_record('forum_discussions', array('id' => $disc3->id)); @@ -1013,11 +1014,13 @@ class mod_forum_lib_testcase extends advanced_testcase { $record->userid = $user1->id; $record->forum = $forum1->id; $record->groupid = $group1->id; + $record->timemodified = time(); $disc11 = $forumgen->create_discussion($record); $record->forum = $forum2->id; + $record->timemodified++; $disc21 = $forumgen->create_discussion($record); - sleep(1); + $record->timemodified++; $record->userid = $user2->id; $record->forum = $forum1->id; $record->groupid = $group2->id; @@ -1025,7 +1028,7 @@ class mod_forum_lib_testcase extends advanced_testcase { $record->forum = $forum2->id; $disc22 = $forumgen->create_discussion($record); - sleep(1); + $record->timemodified++; $record->userid = $user1->id; $record->forum = $forum1->id; $record->groupid = null; @@ -1033,7 +1036,7 @@ class mod_forum_lib_testcase extends advanced_testcase { $record->forum = $forum2->id; $disc23 = $forumgen->create_discussion($record); - sleep(1); + $record->timemodified++; $record->userid = $user2->id; $record->forum = $forum1->id; $record->groupid = $group2->id; @@ -1041,7 +1044,7 @@ class mod_forum_lib_testcase extends advanced_testcase { $record->forum = $forum2->id; $disc24 = $forumgen->create_discussion($record); - sleep(1); + $record->timemodified++; $record->userid = $user1->id; $record->forum = $forum1->id; $record->groupid = $group1->id;