From 985dca606fce2b552c5562060f1e88f97e565403 Mon Sep 17 00:00:00 2001 From: Andrew Nicols Date: Wed, 10 Feb 2016 11:09:28 +0800 Subject: [PATCH] MDL-52930 forum: Fix random test failure caused by passing of time --- mod/forum/tests/lib_test.php | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/mod/forum/tests/lib_test.php b/mod/forum/tests/lib_test.php index f5205a660a4..19339001f6b 100644 --- a/mod/forum/tests/lib_test.php +++ b/mod/forum/tests/lib_test.php @@ -2849,18 +2849,21 @@ class mod_forum_lib_testcase extends advanced_testcase { $user = $this->getDataGenerator()->create_user(); $forumgen = $this->getDataGenerator()->get_plugin_generator('mod_forum'); + // Keep track of the start time of the test. Do not use time() after this point to prevent random failures. + $time = time(); + $record = new stdClass(); $record->course = $course->id; $record->userid = $user->id; $record->forum = $forum->id; if (isset($discussiondata['timecreated'])) { - $record->timemodified = time() + $discussiondata['timecreated']; + $record->timemodified = $time + $discussiondata['timecreated']; } if (isset($discussiondata['timestart'])) { - $record->timestart = time() + $discussiondata['timestart']; + $record->timestart = $time + $discussiondata['timestart']; } if (isset($discussiondata['timeend'])) { - $record->timeend = time() + $discussiondata['timeend']; + $record->timeend = $time + $discussiondata['timeend']; } if (isset($discussiondata['mailed'])) { $record->mailed = $discussiondata['mailed']; @@ -2869,7 +2872,7 @@ class mod_forum_lib_testcase extends advanced_testcase { $discussion = $forumgen->create_discussion($record); // Fetch the unmailed posts. - $timenow = time(); + $timenow = $time; $endtime = $timenow - $CFG->maxeditingtime; $starttime = $endtime - 2 * DAYSECS; @@ -2883,7 +2886,7 @@ class mod_forum_lib_testcase extends advanced_testcase { $reply->discussion = $discussion->id; $reply->parent = $replyto->id; $reply->created = max($replyto->created, $endtime - 1); - $r = $forumgen->create_post($reply); + $forumgen->create_post($reply); $unmailed = forum_get_unmailed_posts($starttime, $endtime, $timenow); $this->assertCount($expectedreplycount, $unmailed); -- 2.43.0