Skip to content

Commit 82acd6c

Browse files
committed
Close open servers and connections at end of tests
1 parent d846ea9 commit 82acd6c

14 files changed

+479
-292
lines changed

tests/FdServerTest.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
use Clue\React\Block;
66
use React\EventLoop\Loop;
77
use React\Promise\Promise;
8+
use React\Socket\ConnectionInterface;
89
use React\Socket\FdServer;
910

1011
class FdServerTest extends TestCase
@@ -309,9 +310,14 @@ public function testServerEmitsConnectionEventForNewConnection()
309310

310311
$connection = Block\await($promise, Loop::get(), 1.0);
311312

313+
/**
314+
* @var ConnectionInterface $connection
315+
*/
312316
$this->assertInstanceOf('React\Socket\ConnectionInterface', $connection);
313317

314318
fclose($client);
319+
$connection->close();
320+
$server->close();
315321
}
316322

317323
public function testEmitsErrorWhenAcceptListenerFails()

tests/FunctionalConnectorTest.php

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,9 @@ public function connectionToTcpServerShouldSucceedWithLocalhost()
2222
{
2323
$loop = Loop::get();
2424

25-
$server = new TcpServer(9998, $loop);
25+
$server = new TcpServer(9998);
2626

27-
$connector = new Connector(array(), $loop);
27+
$connector = new Connector(array());
2828

2929
$connection = Block\await($connector->connect('localhost:9998'), $loop, self::TIMEOUT);
3030

@@ -44,18 +44,16 @@ public function testConnectTwiceWithoutHappyEyeBallsOnlySendsSingleDnsQueryDueTo
4444
$this->markTestSkipped('Not supported on Windows for PHP versions < 7.0 and legacy HHVM');
4545
}
4646

47-
$loop = Loop::get();
48-
4947
$socket = stream_socket_server('udp://127.0.0.1:0', $errno, $errstr, STREAM_SERVER_BIND);
5048

5149
$connector = new Connector(array(
5250
'dns' => 'udp://' . stream_socket_get_name($socket, false),
5351
'happy_eyeballs' => false
54-
), $loop);
52+
));
5553

5654
// minimal DNS proxy stub which forwards DNS messages to actual DNS server
5755
$received = 0;
58-
$loop->addReadStream($socket, function ($socket) use (&$received) {
56+
Loop::addReadStream($socket, function ($socket) use (&$received) {
5957
$request = stream_socket_recvfrom($socket, 65536, 0, $peer);
6058

6159
$client = stream_socket_client('udp://8.8.8.8:53');
@@ -64,15 +62,18 @@ public function testConnectTwiceWithoutHappyEyeBallsOnlySendsSingleDnsQueryDueTo
6462

6563
stream_socket_sendto($socket, $response, 0, $peer);
6664
++$received;
65+
fclose($client);
6766
});
6867

69-
$connection = Block\await($connector->connect('example.com:80'), $loop);
68+
$connection = Block\await($connector->connect('example.com:80'), Loop::get());
7069
$connection->close();
7170
$this->assertEquals(1, $received);
7271

73-
$connection = Block\await($connector->connect('example.com:80'), $loop);
72+
$connection = Block\await($connector->connect('example.com:80'), Loop::get());
7473
$connection->close();
7574
$this->assertEquals(1, $received);
75+
76+
Loop::removeReadStream($socket);
7677
}
7778

7879
/**
@@ -86,7 +87,7 @@ public function connectionToRemoteTCP4n6ServerShouldResultInOurIP()
8687

8788
$loop = Loop::get();
8889

89-
$connector = new Connector(array('happy_eyeballs' => true), $loop);
90+
$connector = new Connector(array('happy_eyeballs' => true));
9091

9192
$ip = Block\await($this->request('dual.tlund.se', $connector), $loop, self::TIMEOUT);
9293

@@ -101,7 +102,7 @@ public function connectionToRemoteTCP4ServerShouldResultInOurIP()
101102
{
102103
$loop = Loop::get();
103104

104-
$connector = new Connector(array('happy_eyeballs' => true), $loop);
105+
$connector = new Connector(array('happy_eyeballs' => true));
105106

106107
try {
107108
$ip = Block\await($this->request('ipv4.tlund.se', $connector), $loop, self::TIMEOUT);
@@ -122,7 +123,7 @@ public function connectionToRemoteTCP6ServerShouldResultInOurIP()
122123
{
123124
$loop = Loop::get();
124125

125-
$connector = new Connector(array('happy_eyeballs' => true), $loop);
126+
$connector = new Connector(array('happy_eyeballs' => true));
126127

127128
try {
128129
$ip = Block\await($this->request('ipv6.tlund.se', $connector), $loop, self::TIMEOUT);
@@ -143,10 +144,10 @@ public function testCancelPendingTlsConnectionDuringTlsHandshakeShouldCloseTcpCo
143144

144145
$loop = Loop::get();
145146

146-
$server = new TcpServer(0, $loop);
147+
$server = new TcpServer(0);
147148
$uri = str_replace('tcp://', 'tls://', $server->getAddress());
148149

149-
$connector = new Connector(array(), $loop);
150+
$connector = new Connector(array());
150151
$promise = $connector->connect($uri);
151152

152153
$deferred = new Deferred();

0 commit comments

Comments
 (0)