Skip to content

Commit 8998939

Browse files
committed
setAccessible() has no effect as of PHP 8.1
1 parent eb8ae00 commit 8998939

File tree

5 files changed

+168
-56
lines changed

5 files changed

+168
-56
lines changed

src/Query/RetryExecutor.php

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,9 @@ public function tryQuery(Query $query, $retries)
5050
// avoid garbage references by replacing all closures in call stack.
5151
// what a lovely piece of code!
5252
$r = new \ReflectionProperty('Exception', 'trace');
53-
$r->setAccessible(true);
53+
if (\PHP_VERSION_ID < 80100) {
54+
$r->setAccessible(true);
55+
}
5456
$trace = $r->getValue($e);
5557

5658
// Exception trace arguments are not available on some PHP 7.4 installs

tests/Query/TcpTransportExecutorTest.php

Lines changed: 36 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,9 @@ public function testCtorShouldAcceptNameserverAddresses($input, $expected)
2424
$executor = new TcpTransportExecutor($input, $loop);
2525

2626
$ref = new \ReflectionProperty($executor, 'nameserver');
27-
$ref->setAccessible(true);
27+
if (\PHP_VERSION_ID < 80100) {
28+
$ref->setAccessible(true);
29+
}
2830
$value = $ref->getValue($executor);
2931

3032
$this->assertEquals($expected, $value);
@@ -65,7 +67,9 @@ public function testCtorWithoutLoopShouldAssignDefaultLoop()
6567
$executor = new TcpTransportExecutor('127.0.0.1');
6668

6769
$ref = new \ReflectionProperty($executor, 'loop');
68-
$ref->setAccessible(true);
70+
if (\PHP_VERSION_ID < 80100) {
71+
$ref->setAccessible(true);
72+
}
6973
$loop = $ref->getValue($executor);
7074

7175
$this->assertInstanceOf('React\EventLoop\LoopInterface', $loop);
@@ -127,7 +131,9 @@ public function testQueryRejectsIfServerConnectionFails()
127131
$executor = new TcpTransportExecutor('::1', $loop);
128132

129133
$ref = new \ReflectionProperty($executor, 'nameserver');
130-
$ref->setAccessible(true);
134+
if (\PHP_VERSION_ID < 80100) {
135+
$ref->setAccessible(true);
136+
}
131137
$ref->setValue($executor, '///');
132138

133139
$query = new Query('google.com', Message::TYPE_A, Message::CLASS_IN);
@@ -306,7 +312,9 @@ public function testQueryStaysPendingWhenClientCanNotSendExcessiveMessageInOneCh
306312
$promise->then($this->expectCallableNever(), $this->expectCallableNever());
307313

308314
$ref = new \ReflectionProperty($executor, 'writePending');
309-
$ref->setAccessible(true);
315+
if (\PHP_VERSION_ID < 80100) {
316+
$ref->setAccessible(true);
317+
}
310318
$writePending = $ref->getValue($executor);
311319

312320
$this->assertTrue($writePending);
@@ -348,7 +356,9 @@ public function testQueryStaysPendingWhenClientCanNotSendExcessiveMessageInOneCh
348356
$promise->then($this->expectCallableNever(), $this->expectCallableNever());
349357

350358
$ref = new \ReflectionProperty($executor, 'writePending');
351-
$ref->setAccessible(true);
359+
if (\PHP_VERSION_ID < 80100) {
360+
$ref->setAccessible(true);
361+
}
352362
$writePending = $ref->getValue($executor);
353363

354364
$this->assertTrue($writePending);
@@ -389,7 +399,9 @@ public function testQueryRejectsWhenClientKeepsSendingWhenServerClosesSocketWith
389399
$executor->handleWritable();
390400

391401
$ref = new \ReflectionProperty($executor, 'writePending');
392-
$ref->setAccessible(true);
402+
if (\PHP_VERSION_ID < 80100) {
403+
$ref->setAccessible(true);
404+
}
393405
$writePending = $ref->getValue($executor);
394406

395407
// We expect an EPIPE (Broken pipe) on second write.
@@ -744,7 +756,9 @@ public function testQueryResolvesIfServerSendsBackResponseMessageAndWillStartIdl
744756

745757
// use outgoing buffer as response message
746758
$ref = new \ReflectionProperty($executor, 'writeBuffer');
747-
$ref->setAccessible(true);
759+
if (\PHP_VERSION_ID < 80100) {
760+
$ref->setAccessible(true);
761+
}
748762
$data = $ref->getValue($executor);
749763

750764
$client = stream_socket_accept($server);
@@ -779,7 +793,9 @@ public function testQueryResolvesIfServerSendsBackResponseMessageAfterCancelling
779793

780794
// use outgoing buffer as response message
781795
$ref = new \ReflectionProperty($executor, 'writeBuffer');
782-
$ref->setAccessible(true);
796+
if (\PHP_VERSION_ID < 80100) {
797+
$ref->setAccessible(true);
798+
}
783799
$data = $ref->getValue($executor);
784800

785801
$client = stream_socket_accept($server);
@@ -812,7 +828,9 @@ public function testQueryResolvesIfServerSendsBackResponseMessageAfterCancelling
812828

813829
// use outgoing buffer as response message
814830
$ref = new \ReflectionProperty($executor, 'writeBuffer');
815-
$ref->setAccessible(true);
831+
if (\PHP_VERSION_ID < 80100) {
832+
$ref->setAccessible(true);
833+
}
816834
$data = $ref->getValue($executor);
817835

818836
$client = stream_socket_accept($server);
@@ -853,7 +871,9 @@ public function testTriggerIdleTimerAfterPreviousQueryResolvedWillCloseIdleSocke
853871

854872
// use outgoing buffer as response message
855873
$ref = new \ReflectionProperty($executor, 'writeBuffer');
856-
$ref->setAccessible(true);
874+
if (\PHP_VERSION_ID < 80100) {
875+
$ref->setAccessible(true);
876+
}
857877
$data = $ref->getValue($executor);
858878

859879
$client = stream_socket_accept($server);
@@ -891,7 +911,9 @@ public function testClosingConnectionAfterPreviousQueryResolvedWillCancelIdleTim
891911

892912
// use outgoing buffer as response message
893913
$ref = new \ReflectionProperty($executor, 'writeBuffer');
894-
$ref->setAccessible(true);
914+
if (\PHP_VERSION_ID < 80100) {
915+
$ref->setAccessible(true);
916+
}
895917
$data = $ref->getValue($executor);
896918

897919
$client = stream_socket_accept($server);
@@ -929,7 +951,9 @@ public function testQueryAgainAfterPreviousQueryResolvedWillReuseSocketAndCancel
929951

930952
// use outgoing buffer as response message
931953
$ref = new \ReflectionProperty($executor, 'writeBuffer');
932-
$ref->setAccessible(true);
954+
if (\PHP_VERSION_ID < 80100) {
955+
$ref->setAccessible(true);
956+
}
933957
$data = $ref->getValue($executor);
934958

935959
$client = stream_socket_accept($server);

tests/Query/TimeoutExecutorTest.php

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,9 @@ public function testCtorWithoutLoopShouldAssignDefaultLoop()
3434
$executor = new TimeoutExecutor($this->executor, 5.0);
3535

3636
$ref = new \ReflectionProperty($executor, 'loop');
37-
$ref->setAccessible(true);
37+
if (\PHP_VERSION_ID < 80100) {
38+
$ref->setAccessible(true);
39+
}
3840
$loop = $ref->getValue($executor);
3941

4042
$this->assertInstanceOf('React\EventLoop\LoopInterface', $loop);

tests/Query/UdpTransportExecutorTest.php

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,9 @@ public function testCtorShouldAcceptNameserverAddresses($input, $expected)
2424
$executor = new UdpTransportExecutor($input, $loop);
2525

2626
$ref = new \ReflectionProperty($executor, 'nameserver');
27-
$ref->setAccessible(true);
27+
if (\PHP_VERSION_ID < 80100) {
28+
$ref->setAccessible(true);
29+
}
2830
$value = $ref->getValue($executor);
2931

3032
$this->assertEquals($expected, $value);
@@ -65,7 +67,9 @@ public function testCtorWithoutLoopShouldAssignDefaultLoop()
6567
$executor = new UdpTransportExecutor('127.0.0.1');
6668

6769
$ref = new \ReflectionProperty($executor, 'loop');
68-
$ref->setAccessible(true);
70+
if (\PHP_VERSION_ID < 80100) {
71+
$ref->setAccessible(true);
72+
}
6973
$loop = $ref->getValue($executor);
7074

7175
$this->assertInstanceOf('React\EventLoop\LoopInterface', $loop);
@@ -132,7 +136,9 @@ public function testQueryRejectsIfServerConnectionFails()
132136
$executor = new UdpTransportExecutor('::1', $loop);
133137

134138
$ref = new \ReflectionProperty($executor, 'nameserver');
135-
$ref->setAccessible(true);
139+
if (\PHP_VERSION_ID < 80100) {
140+
$ref->setAccessible(true);
141+
}
136142
$ref->setValue($executor, '///');
137143

138144
$query = new Query('google.com', Message::TYPE_A, Message::CLASS_IN);
@@ -161,7 +167,9 @@ public function testQueryRejectsIfSendToServerFailsAfterConnectionWithoutCalling
161167

162168
// increase hard-coded maximum packet size to allow sending excessive data
163169
$ref = new \ReflectionProperty($executor, 'maxPacketSize');
164-
$ref->setAccessible(true);
170+
if (\PHP_VERSION_ID < 80100) {
171+
$ref->setAccessible(true);
172+
}
165173
$ref->setValue($executor, PHP_INT_MAX);
166174

167175
$error = null;

0 commit comments

Comments
 (0)