Skip to content

Commit 59a9867

Browse files
cluelucasnetau
authored andcommitted
Clean up all left-over references to stop default loop
1 parent 0503832 commit 59a9867

File tree

2 files changed

+47
-6
lines changed

2 files changed

+47
-6
lines changed

tests/Query/TcpTransportExecutorTest.php

Lines changed: 31 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -420,6 +420,9 @@ public function testQueryRejectsWhenServerClosesConnection()
420420
Loop::addReadStream($server, function ($server) {
421421
$client = stream_socket_accept($server);
422422
fclose($client);
423+
424+
Loop::removeReadStream($server);
425+
fclose($server);
423426
});
424427

425428
$address = stream_socket_get_name($server, false);
@@ -447,16 +450,17 @@ function ($e) use (&$exception) {
447450

448451
public function testQueryKeepsPendingIfServerSendsIncompleteMessageLength()
449452
{
453+
$client = null;
450454
$server = stream_socket_server('tcp://127.0.0.1:0');
451-
Loop::addReadStream($server, function ($server) {
455+
Loop::addReadStream($server, function ($server) use (&$client) {
452456
$client = stream_socket_accept($server);
453457
Loop::addReadStream($client, function ($client) {
454458
Loop::removeReadStream($client);
455459
fwrite($client, "\x00");
456460
});
457461

458-
// keep reference to client to avoid disconnecting
459-
Loop::addTimer(1, function () use ($client) { });
462+
Loop::removeReadStream($server);
463+
fclose($server);
460464
});
461465

462466
$address = stream_socket_get_name($server, false);
@@ -475,20 +479,25 @@ function ($e) use (&$wait) {
475479

476480
\Clue\React\Block\sleep(0.2);
477481
$this->assertTrue($wait);
482+
483+
$this->assertNotNull($client);
484+
fclose($client);
485+
Loop::removeReadStream($client);
478486
}
479487

480488
public function testQueryKeepsPendingIfServerSendsIncompleteMessageBody()
481489
{
490+
$client = null;
482491
$server = stream_socket_server('tcp://127.0.0.1:0');
483-
Loop::addReadStream($server, function ($server) {
492+
Loop::addReadStream($server, function ($server) use (&$client) {
484493
$client = stream_socket_accept($server);
485494
Loop::addReadStream($client, function ($client) {
486495
Loop::removeReadStream($client);
487496
fwrite($client, "\x00\xff" . "some incomplete message data");
488497
});
489498

490-
// keep reference to client to avoid disconnecting
491-
Loop::addTimer(1, function () use ($client) { });
499+
Loop::removeReadStream($server);
500+
fclose($server);
492501
});
493502

494503
$address = stream_socket_get_name($server, false);
@@ -507,6 +516,10 @@ function ($e) use (&$wait) {
507516

508517
\Clue\React\Block\sleep(0.2);
509518
$this->assertTrue($wait);
519+
520+
$this->assertNotNull($client);
521+
fclose($client);
522+
Loop::removeReadStream($client);
510523
}
511524

512525
public function testQueryRejectsWhenServerSendsInvalidMessage()
@@ -518,6 +531,9 @@ public function testQueryRejectsWhenServerSendsInvalidMessage()
518531
Loop::removeReadStream($client);
519532
fwrite($client, "\x00\x0f" . 'invalid message');
520533
});
534+
535+
Loop::removeReadStream($server);
536+
fclose($server);
521537
});
522538

523539
$address = stream_socket_get_name($server, false);
@@ -567,6 +583,9 @@ public function testQueryRejectsWhenServerSendsInvalidId()
567583

568584
fwrite($client, $data);
569585
});
586+
587+
Loop::removeReadStream($server);
588+
fclose($server);
570589
});
571590

572591
$address = stream_socket_get_name($server, false);
@@ -616,6 +635,9 @@ public function testQueryRejectsIfServerSendsTruncatedResponse()
616635

617636
fwrite($client, $data);
618637
});
638+
639+
Loop::removeReadStream($server);
640+
fclose($server);
619641
});
620642

621643
$address = stream_socket_get_name($server, false);
@@ -655,6 +677,9 @@ public function testQueryResolvesIfServerSendsValidResponse()
655677

656678
fwrite($client, $data);
657679
});
680+
681+
Loop::removeReadStream($server);
682+
fclose($server);
658683
});
659684

660685
$address = stream_socket_get_name($server, false);

tests/Query/UdpTransportExecutorTest.php

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -254,6 +254,9 @@ public function testQueryKeepsPendingIfServerSendsInvalidMessage()
254254
Loop::addReadStream($server, function ($server) {
255255
$data = stream_socket_recvfrom($server, 512, 0, $peer);
256256
stream_socket_sendto($server, 'invalid', 0, $peer);
257+
258+
Loop::removeReadStream($server);
259+
fclose($server);
257260
});
258261

259262
$address = stream_socket_get_name($server, false);
@@ -272,6 +275,8 @@ function ($e) use (&$wait) {
272275

273276
\Clue\React\Block\sleep(0.2);
274277
$this->assertTrue($wait);
278+
279+
$promise->cancel();
275280
}
276281

277282
public function testQueryKeepsPendingIfServerSendsInvalidId()
@@ -287,6 +292,9 @@ public function testQueryKeepsPendingIfServerSendsInvalidId()
287292
$message->id = 0;
288293

289294
stream_socket_sendto($server, $dumper->toBinary($message), 0, $peer);
295+
296+
Loop::removeReadStream($server);
297+
fclose($server);
290298
});
291299

292300
$address = stream_socket_get_name($server, false);
@@ -305,6 +313,8 @@ function ($e) use (&$wait) {
305313

306314
\Clue\React\Block\sleep(0.2);
307315
$this->assertTrue($wait);
316+
317+
$promise->cancel();
308318
}
309319

310320
public function testQueryRejectsIfServerSendsTruncatedResponse()
@@ -320,6 +330,9 @@ public function testQueryRejectsIfServerSendsTruncatedResponse()
320330
$message->tc = true;
321331

322332
stream_socket_sendto($server, $dumper->toBinary($message), 0, $peer);
333+
334+
Loop::removeReadStream($server);
335+
fclose($server);
323336
});
324337

325338
$address = stream_socket_get_name($server, false);
@@ -349,6 +362,9 @@ public function testQueryResolvesIfServerSendsValidResponse()
349362
$message = $parser->parseMessage($data);
350363

351364
stream_socket_sendto($server, $dumper->toBinary($message), 0, $peer);
365+
366+
Loop::removeReadStream($server);
367+
fclose($server);
352368
});
353369

354370
$address = stream_socket_get_name($server, false);

0 commit comments

Comments
 (0)