From 7fff25afc15c39d8d9ed1a704fdf0e01002c7fe7 Mon Sep 17 00:00:00 2001 From: Antoine Musso Date: Wed, 22 Oct 2014 23:22:10 +0200 Subject: [PATCH] Remove useless sleep() in JobQueueTest I noticed JobQueueTest::testRootDeduplication takes ~ 6.5 seconds, which is due to the test method using sleep(1) and being passed the provider provider_queueLists which yields six items. The reason is to have the array returned by Job::newRootJobParams() to have an incread value for 'rootJobTimestamp'. Instead, just copy the previous array of parameters and increment the UNIX timestamp and converting back to TS_MW format. Change-Id: I75066df73f9f92e56b89eb6d928c41e949a2d6a9 --- tests/phpunit/includes/jobqueue/JobQueueTest.php | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/tests/phpunit/includes/jobqueue/JobQueueTest.php b/tests/phpunit/includes/jobqueue/JobQueueTest.php index 69e4006822..ea1a4f6314 100644 --- a/tests/phpunit/includes/jobqueue/JobQueueTest.php +++ b/tests/phpunit/includes/jobqueue/JobQueueTest.php @@ -247,8 +247,13 @@ class JobQueueTest extends MediaWikiTestCase { $this->assertNull( $queue->push( $this->newJob( 0, $root1 ) ), "Push worked ($desc)" ); } $queue->deduplicateRootJob( $this->newJob( 0, $root1 ) ); - sleep( 1 ); // roo job timestamp will increase - $root2 = Job::newRootJobParams( "nulljobspam:$id" ); // task ID/timestamp + + $root2 = $root1; + # Add a second to UNIX epoch and format back to TS_MW + $root2_ts = strtotime( $root2['rootJobTimestamp'] ); + $root2_ts++; + $root2['rootJobTimestamp'] = wfTimestamp( TS_MW, $root2_ts ); + $this->assertNotEquals( $root1['rootJobTimestamp'], $root2['rootJobTimestamp'], "Root job signatures have different timestamps." ); for ( $i = 0; $i < 5; ++$i ) { -- 2.20.1