Aaron Schulz has uploaded a new change for review. https://gerrit.wikimedia.org/r/252160
Change subject: Various JobQueue test tweaks ...................................................................... Various JobQueue test tweaks * Remove some getAcquiredCount() assertions when claimTTL=0 as this is not well defined enough (queues may take a few minutes to garbage collect the failed jobs). * Added some tests to make sure push() only de-duplicates among unclaimed jobs. Change-Id: Ie0a5e539095c245dfcc8c160417e12824eb7ab83 --- M tests/phpunit/includes/jobqueue/JobQueueTest.php 1 file changed, 23 insertions(+), 8 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core refs/changes/60/252160/1 diff --git a/tests/phpunit/includes/jobqueue/JobQueueTest.php b/tests/phpunit/includes/jobqueue/JobQueueTest.php index ea1a4f6..9808a55 100644 --- a/tests/phpunit/includes/jobqueue/JobQueueTest.php +++ b/tests/phpunit/includes/jobqueue/JobQueueTest.php @@ -128,8 +128,6 @@ $queue->flushCaches(); if ( $recycles ) { $this->assertEquals( 1, $queue->getAcquiredCount(), "Active job count ($desc)" ); - } else { - $this->assertEquals( 0, $queue->getAcquiredCount(), "Active job count ($desc)" ); } $job2 = $queue->pop(); @@ -139,8 +137,6 @@ $queue->flushCaches(); if ( $recycles ) { $this->assertEquals( 2, $queue->getAcquiredCount(), "Active job count ($desc)" ); - } else { - $this->assertEquals( 0, $queue->getAcquiredCount(), "Active job count ($desc)" ); } $queue->ack( $job1 ); @@ -148,8 +144,6 @@ $queue->flushCaches(); if ( $recycles ) { $this->assertEquals( 1, $queue->getAcquiredCount(), "Active job count ($desc)" ); - } else { - $this->assertEquals( 0, $queue->getAcquiredCount(), "Active job count ($desc)" ); } $queue->ack( $job2 ); @@ -215,8 +209,6 @@ $this->assertEquals( 0, $queue->getSize(), "Queue is empty ($desc)" ); if ( $recycles ) { $this->assertEquals( 1, $queue->getAcquiredCount(), "Active job count ($desc)" ); - } else { - $this->assertEquals( 0, $queue->getAcquiredCount(), "Active job count ($desc)" ); } $queue->ack( $job1 ); @@ -229,6 +221,29 @@ * @dataProvider provider_queueLists * @covers JobQueue */ + public function testDeduplicationWhileClaimed( $queue, $recycles, $desc ) { + $queue = $this->$queue; + if ( !$queue ) { + $this->markTestSkipped( $desc ); + } + + $job = $this->newDedupedJob(); + $queue->push( $job ); + + // De-duplication does not apply to already-claimed jobs + $j = $queue->pop(); + $queue->push( $job ); + $queue->ack( $j ); + + $j = $queue->pop(); + // Make sure ack() of the twin did not delete the sibling data + $this->assertType( 'NullJob', $j ); + } + + /** + * @dataProvider provider_queueLists + * @covers JobQueue + */ public function testRootDeduplication( $queue, $recycles, $desc ) { $queue = $this->$queue; if ( !$queue ) { -- To view, visit https://gerrit.wikimedia.org/r/252160 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ie0a5e539095c245dfcc8c160417e12824eb7ab83 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/core Gerrit-Branch: master Gerrit-Owner: Aaron Schulz <asch...@wikimedia.org> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits