Skip to content

Commit 2a6a4a5

Browse files
pprkutdanhunsaker
authored andcommitted
Clean up unit test output (#55)
* Clean up unit test output - Use a mocked logger to remove output spam - Fix phpunit deprecation warnings * Migrate phpunit config file to newer format * Use phpunit 5.x for github actions The default is phpunit 9.x and that doesn't find any tests.
1 parent 34269b9 commit 2a6a4a5

File tree

8 files changed

+65
-43
lines changed

8 files changed

+65
-43
lines changed

.github/workflows/php-test.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ jobs:
2121
uses: shivammathur/setup-php@v2
2222
with:
2323
php-version: ${{ matrix.php-versions }}
24-
tools: phpunit
24+
tools: phpunit:5
2525
extensions: redis
2626

2727
- name: Setup problem matchers for PHP

phpunit.xml.dist

+6-6
Original file line numberDiff line numberDiff line change
@@ -8,17 +8,17 @@
88
convertWarningsToExceptions="true"
99
processIsolation="false"
1010
stopOnFailure="false"
11-
syntaxCheck="false"
1211
>
12+
1313
<testsuites>
1414
<testsuite name="Resque Test Suite">
1515
<directory>./test/Resque/</directory>
1616
</testsuite>
1717
</testsuites>
1818

19-
<filter>
20-
<whitelist>
19+
<coverage>
20+
<include>
2121
<directory suffix=".php">./lib/Resque/</directory>
22-
</whitelist>
23-
</filter>
24-
</phpunit>
22+
</include>
23+
</coverage>
24+
</phpunit>

test/Resque/Tests/EventTest.php

+14-1
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,12 @@ public function setUp()
1414
{
1515
Test_Job::$called = false;
1616

17+
$this->logger = $this->getMockBuilder('Psr\Log\LoggerInterface')
18+
->getMock();
19+
1720
// Register a worker to test with
1821
$this->worker = new Resque_Worker('jobs');
19-
$this->worker->setLogger(new Resque_Log());
22+
$this->worker->setLogger($this->logger);
2023
$this->worker->registerWorker();
2124
}
2225

@@ -56,6 +59,15 @@ public function testEventCallbacksFire($event, $callback)
5659
Resque_Event::listen($event, array($this, $callback));
5760

5861
$job = $this->getEventTestJob();
62+
63+
$this->logger->expects($this->exactly(3))
64+
->method('log')
65+
->withConsecutive(
66+
[ 'notice', '{job} has finished', [ 'job' => $job ] ],
67+
[ 'debug', 'Registered signals', [] ],
68+
[ 'info', 'Checking {queue} for jobs', [ 'queue' => 'jobs' ] ]
69+
);
70+
5971
$this->worker->perform($job);
6072
$this->worker->work(0);
6173

@@ -72,6 +84,7 @@ public function testBeforeForkEventCallbackFires()
7284
'somevar'
7385
));
7486
$job = $this->getEventTestJob();
87+
7588
$this->worker->work(0);
7689
$this->assertContains($callback, $this->callbacksHit, $event . ' callback (' . $callback .') was not called');
7790
}

test/Resque/Tests/JobPIDTest.php

+4-1
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,14 @@ public function setUp()
1919

2020
// Register a worker to test with
2121
$this->worker = new Resque_Worker('jobs');
22-
$this->worker->setLogger(new Resque_Log());
22+
$this->worker->setLogger($this->logger);
2323
}
2424

2525
public function testQueuedJobDoesNotReturnPID()
2626
{
27+
$this->logger->expects($this->never())
28+
->method('log');
29+
2730
$token = Resque::enqueue('jobs', 'Test_Job', null, true);
2831
$this->assertEquals(0, Resque_Job_PID::get($token));
2932
}

test/Resque/Tests/JobStatusTest.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ public function setUp()
1919

2020
// Register a worker to test with
2121
$this->worker = new Resque_Worker('jobs');
22-
$this->worker->setLogger(new Resque_Log());
22+
$this->worker->setLogger($this->logger);
2323
}
2424

2525
public function testJobStatusCanBeTracked()
@@ -103,4 +103,4 @@ public function testRecreatedJobWithTrackingStillTracksStatus()
103103
$newJob = Resque_Job::reserve('jobs');
104104
$this->assertEquals(Resque_Job_Status::STATUS_WAITING, $newJob->getStatus());
105105
}
106-
}
106+
}

test/Resque/Tests/JobTest.php

+12-10
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ public function setUp()
1717

1818
// Register a worker to test with
1919
$this->worker = new Resque_Worker('jobs');
20-
$this->worker->setLogger(new Resque_Log());
20+
$this->worker->setLogger($this->logger);
2121
$this->worker->registerWorker();
2222
}
2323

@@ -153,7 +153,7 @@ public function testInvalidJobThrowsException()
153153
$job->worker = $this->worker;
154154
$job->perform();
155155
}
156-
156+
157157
public function testJobWithSetUpCallbackFiresSetUp()
158158
{
159159
$payload = array(
@@ -165,10 +165,10 @@ public function testJobWithSetUpCallbackFiresSetUp()
165165
);
166166
$job = new Resque_Job('jobs', $payload);
167167
$job->perform();
168-
168+
169169
$this->assertTrue(Test_Job_With_SetUp::$called);
170170
}
171-
171+
172172
public function testJobWithTearDownCallbackFiresTearDown()
173173
{
174174
$payload = array(
@@ -180,7 +180,7 @@ public function testJobWithTearDownCallbackFiresTearDown()
180180
);
181181
$job = new Resque_Job('jobs', $payload);
182182
$job->perform();
183-
183+
184184
$this->assertTrue(Test_Job_With_TearDown::$called);
185185
}
186186

@@ -329,7 +329,7 @@ public function testDequeueItemWithArg()
329329
$this->assertEquals(Resque::dequeue($queue, $test), 1);
330330
#$this->assertEquals(Resque::size($queue), 1);
331331
}
332-
332+
333333
public function testDequeueSeveralItemsWithArgs()
334334
{
335335
// GIVEN
@@ -340,11 +340,11 @@ public function testDequeueSeveralItemsWithArgs()
340340
Resque::enqueue($queue, 'Test_Job_Dequeue9', $removeArgs);
341341
Resque::enqueue($queue, 'Test_Job_Dequeue9', $removeArgs);
342342
$this->assertEquals(Resque::size($queue), 3);
343-
343+
344344
// WHEN
345345
$test = array('Test_Job_Dequeue9' => $removeArgs);
346346
$removedItems = Resque::dequeue($queue, $test);
347-
347+
348348
// THEN
349349
$this->assertEquals($removedItems, 2);
350350
$this->assertEquals(Resque::size($queue), 1);
@@ -410,8 +410,10 @@ public function testDoNotUseFactoryToGetInstance()
410410
'args' => array(array())
411411
);
412412
$job = new Resque_Job('jobs', $payload);
413-
$factory = $this->getMock('Resque_Job_FactoryInterface');
414-
$testJob = $this->getMock('Resque_JobInterface');
413+
$factory = $this->getMockBuilder('Resque_Job_FactoryInterface')
414+
->getMock();
415+
$testJob = $this->getMockBuilder('Resque_JobInterface')
416+
->getMock();
415417
$factory->expects(self::never())->method('create')->will(self::returnValue($testJob));
416418
$instance = $job->getInstance();
417419
$this->assertInstanceOf('Resque_JobInterface', $instance);

test/Resque/Tests/TestCase.php

+4
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ class Resque_Tests_TestCase extends PHPUnit_Framework_TestCase
1010
{
1111
protected $resque;
1212
protected $redis;
13+
protected $logger;
1314

1415
public static function setUpBeforeClass()
1516
{
@@ -22,6 +23,9 @@ public function setUp()
2223
preg_match('#^\s*port\s+([0-9]+)#m', $config, $matches);
2324
$this->redis = new Credis_Client('localhost', $matches[1]);
2425

26+
$this->logger = $this->getMockBuilder('Psr\Log\LoggerInterface')
27+
->getMock();
28+
2529
Resque::setBackend('redis://localhost:' . $matches[1]);
2630

2731
// Flush redis

test/Resque/Tests/WorkerTest.php

+22-22
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ class Resque_Tests_WorkerTest extends Resque_Tests_TestCase
1111
public function testWorkerRegistersInList()
1212
{
1313
$worker = new Resque_Worker('*');
14-
$worker->setLogger(new Resque_Log());
14+
$worker->setLogger($this->logger);
1515
$worker->registerWorker();
1616

1717
// Make sure the worker is in the list
@@ -24,7 +24,7 @@ public function testGetAllWorkers()
2424
// Register a few workers
2525
for($i = 0; $i < $num; ++$i) {
2626
$worker = new Resque_Worker('queue_' . $i);
27-
$worker->setLogger(new Resque_Log());
27+
$worker->setLogger($this->logger);
2828
$worker->registerWorker();
2929
}
3030

@@ -35,7 +35,7 @@ public function testGetAllWorkers()
3535
public function testGetWorkerById()
3636
{
3737
$worker = new Resque_Worker('*');
38-
$worker->setLogger(new Resque_Log());
38+
$worker->setLogger($this->logger);
3939
$worker->registerWorker();
4040

4141
$newWorker = Resque_Worker::find((string)$worker);
@@ -50,7 +50,7 @@ public function testInvalidWorkerDoesNotExist()
5050
public function testWorkerCanUnregister()
5151
{
5252
$worker = new Resque_Worker('*');
53-
$worker->setLogger(new Resque_Log());
53+
$worker->setLogger($this->logger);
5454
$worker->registerWorker();
5555
$worker->unregisterWorker();
5656

@@ -62,7 +62,7 @@ public function testWorkerCanUnregister()
6262
public function testPausedWorkerDoesNotPickUpJobs()
6363
{
6464
$worker = new Resque_Worker('*');
65-
$worker->setLogger(new Resque_Log());
65+
$worker->setLogger($this->logger);
6666
$worker->pauseProcessing();
6767
Resque::enqueue('jobs', 'Test_Job');
6868
$worker->work(0);
@@ -73,7 +73,7 @@ public function testPausedWorkerDoesNotPickUpJobs()
7373
public function testResumedWorkerPicksUpJobs()
7474
{
7575
$worker = new Resque_Worker('*');
76-
$worker->setLogger(new Resque_Log());
76+
$worker->setLogger($this->logger);
7777
$worker->pauseProcessing();
7878
Resque::enqueue('jobs', 'Test_Job');
7979
$worker->work(0);
@@ -89,7 +89,7 @@ public function testWorkerCanWorkOverMultipleQueues()
8989
'queue1',
9090
'queue2'
9191
));
92-
$worker->setLogger(new Resque_Log());
92+
$worker->setLogger($this->logger);
9393
$worker->registerWorker();
9494
Resque::enqueue('queue1', 'Test_Job_1');
9595
Resque::enqueue('queue2', 'Test_Job_2');
@@ -108,7 +108,7 @@ public function testWorkerWorksQueuesInSpecifiedOrder()
108108
'medium',
109109
'low'
110110
));
111-
$worker->setLogger(new Resque_Log());
111+
$worker->setLogger($this->logger);
112112
$worker->registerWorker();
113113

114114
// Queue the jobs in a different order
@@ -130,7 +130,7 @@ public function testWorkerWorksQueuesInSpecifiedOrder()
130130
public function testWildcardQueueWorkerWorksAllQueues()
131131
{
132132
$worker = new Resque_Worker('*');
133-
$worker->setLogger(new Resque_Log());
133+
$worker->setLogger($this->logger);
134134
$worker->registerWorker();
135135

136136
Resque::enqueue('queue1', 'Test_Job_1');
@@ -146,7 +146,7 @@ public function testWildcardQueueWorkerWorksAllQueues()
146146
public function testWorkerDoesNotWorkOnUnknownQueues()
147147
{
148148
$worker = new Resque_Worker('queue1');
149-
$worker->setLogger(new Resque_Log());
149+
$worker->setLogger($this->logger);
150150
$worker->registerWorker();
151151
Resque::enqueue('queue2', 'Test_Job');
152152

@@ -157,7 +157,7 @@ public function testWorkerClearsItsStatusWhenNotWorking()
157157
{
158158
Resque::enqueue('jobs', 'Test_Job');
159159
$worker = new Resque_Worker('jobs');
160-
$worker->setLogger(new Resque_Log());
160+
$worker->setLogger($this->logger);
161161
$job = $worker->reserve();
162162
$worker->workingOn($job);
163163
$worker->doneWorking();
@@ -167,7 +167,7 @@ public function testWorkerClearsItsStatusWhenNotWorking()
167167
public function testWorkerRecordsWhatItIsWorkingOn()
168168
{
169169
$worker = new Resque_Worker('jobs');
170-
$worker->setLogger(new Resque_Log());
170+
$worker->setLogger($this->logger);
171171
$worker->registerWorker();
172172

173173
$payload = array(
@@ -190,7 +190,7 @@ public function testWorkerErasesItsStatsWhenShutdown()
190190
Resque::enqueue('jobs', 'Invalid_Job');
191191

192192
$worker = new Resque_Worker('jobs');
193-
$worker->setLogger(new Resque_Log());
193+
$worker->setLogger($this->logger);
194194
$worker->work(0);
195195
$worker->work(0);
196196

@@ -202,18 +202,18 @@ public function testWorkerCleansUpDeadWorkersOnStartup()
202202
{
203203
// Register a good worker
204204
$goodWorker = new Resque_Worker('jobs');
205-
$goodWorker->setLogger(new Resque_Log());
205+
$goodWorker->setLogger($this->logger);
206206
$goodWorker->registerWorker();
207207
$workerId = explode(':', $goodWorker);
208208

209209
// Register some bad workers
210210
$worker = new Resque_Worker('jobs');
211-
$worker->setLogger(new Resque_Log());
211+
$worker->setLogger($this->logger);
212212
$worker->setId($workerId[0].':1:jobs');
213213
$worker->registerWorker();
214214

215215
$worker = new Resque_Worker(array('high', 'low'));
216-
$worker->setLogger(new Resque_Log());
216+
$worker->setLogger($this->logger);
217217
$worker->setId($workerId[0].':2:high,low');
218218
$worker->registerWorker();
219219

@@ -229,14 +229,14 @@ public function testDeadWorkerCleanUpDoesNotCleanUnknownWorkers()
229229
{
230230
// Register a bad worker on this machine
231231
$worker = new Resque_Worker('jobs');
232-
$worker->setLogger(new Resque_Log());
232+
$worker->setLogger($this->logger);
233233
$workerId = explode(':', $worker);
234234
$worker->setId($workerId[0].':1:jobs');
235235
$worker->registerWorker();
236236

237237
// Register some other false workers
238238
$worker = new Resque_Worker('jobs');
239-
$worker->setLogger(new Resque_Log());
239+
$worker->setLogger($this->logger);
240240
$worker->setId('my.other.host:1:jobs');
241241
$worker->registerWorker();
242242

@@ -253,7 +253,7 @@ public function testDeadWorkerCleanUpDoesNotCleanUnknownWorkers()
253253
public function testWorkerFailsUncompletedJobsOnExit()
254254
{
255255
$worker = new Resque_Worker('jobs');
256-
$worker->setLogger(new Resque_Log());
256+
$worker->setLogger($this->logger);
257257
$worker->registerWorker();
258258

259259
$payload = array(
@@ -270,7 +270,7 @@ public function testWorkerFailsUncompletedJobsOnExit()
270270
public function testBlockingListPop()
271271
{
272272
$worker = new Resque_Worker('jobs');
273-
$worker->setLogger(new Resque_Log());
273+
$worker->setLogger($this->logger);
274274
$worker->registerWorker();
275275

276276
Resque::enqueue('jobs', 'Test_Job_1');
@@ -296,9 +296,9 @@ public function testWorkerFailsSegmentationFaultJob()
296296
Resque::enqueue('jobs', 'Test_Infinite_Recursion_Job');
297297

298298
$worker = new Resque_Worker('jobs');
299-
$worker->setLogger(new Resque_Log());
299+
$worker->setLogger($this->logger);
300300
$worker->work(0);
301301

302302
$this->assertEquals(1, Resque_Stat::get('failed'));
303303
}
304-
}
304+
}

0 commit comments

Comments
 (0)