Skip to content

Commit 25e9edf

Browse files
committed
Clean up all left-over references to stop default loop
1 parent 338062d commit 25e9edf

File tree

2 files changed

+47
-6
lines changed

2 files changed

+47
-6
lines changed

tests/Query/TcpTransportExecutorTest.php

+31-6
Original file line numberDiff line numberDiff line change
@@ -419,6 +419,9 @@ public function testQueryRejectsWhenServerClosesConnection()
419419
Loop::addReadStream($server, function ($server) {
420420
$client = stream_socket_accept($server);
421421
fclose($client);
422+
423+
Loop::removeReadStream($server);
424+
fclose($server);
422425
});
423426

424427
$address = stream_socket_get_name($server, false);
@@ -446,16 +449,17 @@ function ($e) use (&$exception) {
446449

447450
public function testQueryKeepsPendingIfServerSendsIncompleteMessageLength()
448451
{
452+
$client = null;
449453
$server = stream_socket_server('tcp://127.0.0.1:0');
450-
Loop::addReadStream($server, function ($server) {
454+
Loop::addReadStream($server, function ($server) use (&$client) {
451455
$client = stream_socket_accept($server);
452456
Loop::addReadStream($client, function ($client) {
453457
Loop::removeReadStream($client);
454458
fwrite($client, "\x00");
455459
});
456460

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

461465
$address = stream_socket_get_name($server, false);
@@ -474,20 +478,25 @@ function ($e) use (&$wait) {
474478

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

479487
public function testQueryKeepsPendingIfServerSendsIncompleteMessageBody()
480488
{
489+
$client = null;
481490
$server = stream_socket_server('tcp://127.0.0.1:0');
482-
Loop::addReadStream($server, function ($server) {
491+
Loop::addReadStream($server, function ($server) use (&$client) {
483492
$client = stream_socket_accept($server);
484493
Loop::addReadStream($client, function ($client) {
485494
Loop::removeReadStream($client);
486495
fwrite($client, "\x00\xff" . "some incomplete message data");
487496
});
488497

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

493502
$address = stream_socket_get_name($server, false);
@@ -506,6 +515,10 @@ function ($e) use (&$wait) {
506515

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

511524
public function testQueryRejectsWhenServerSendsInvalidMessage()
@@ -517,6 +530,9 @@ public function testQueryRejectsWhenServerSendsInvalidMessage()
517530
Loop::removeReadStream($client);
518531
fwrite($client, "\x00\x0f" . 'invalid message');
519532
});
533+
534+
Loop::removeReadStream($server);
535+
fclose($server);
520536
});
521537

522538
$address = stream_socket_get_name($server, false);
@@ -566,6 +582,9 @@ public function testQueryRejectsWhenServerSendsInvalidId()
566582

567583
fwrite($client, $data);
568584
});
585+
586+
Loop::removeReadStream($server);
587+
fclose($server);
569588
});
570589

571590
$address = stream_socket_get_name($server, false);
@@ -615,6 +634,9 @@ public function testQueryRejectsIfServerSendsTruncatedResponse()
615634

616635
fwrite($client, $data);
617636
});
637+
638+
Loop::removeReadStream($server);
639+
fclose($server);
618640
});
619641

620642
$address = stream_socket_get_name($server, false);
@@ -654,6 +676,9 @@ public function testQueryResolvesIfServerSendsValidResponse()
654676

655677
fwrite($client, $data);
656678
});
679+
680+
Loop::removeReadStream($server);
681+
fclose($server);
657682
});
658683

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

tests/Query/UdpTransportExecutorTest.php

+16
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)