8000 Merge pull request #216 from clue-labs/garbage · reactphp/dns@0e51949 · GitHub
[go: up one dir, main page]

Skip to content

Commit 0e51949

Browse files
authored
Merge pull request #216 from clue-labs/garbage
Update test suite to collect all garbage cycles
2 parents 6070529 + 75c883c commit 0e51949

File tree

5 files changed

+42
-28
lines changed

5 files changed

+42
-28
lines changed

tests/FunctionalResolverTest.php

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -183,8 +183,9 @@ public function testResolveShouldNotCauseGarbageReferencesWhenUsingInvalidNamese
183183
$factory = new Factory();
184184
$this->resolver = $factory->create('255.255.255.255');
185185

186-
gc_collect_cycles();
187-
gc_collect_cycles(); // clear twice to avoid leftovers in PHP 7.4 with ext-xdebug and code coverage turned on
186+
while (gc_collect_cycles()) {
187+
// collect all garbage cycles
188+
}
188189

189190
$promise = $this->resolver->resolve('google.com');
190191

@@ -204,8 +205,9 @@ public function testResolveCachedShouldNotCauseGarbageReferencesWhenUsingInvalid
204205
$factory = new Factory();
205206
$this->resolver = $factory->createCached('255.255.255.255');
206207

207-
gc_collect_cycles();
208-
gc_collect_cycles(); // clear twice to avoid leftovers in PHP 7.4 with ext-xdebug and code coverage turned on
208+
while (gc_collect_cycles()) {
209+
// collect all garbage cycles
210+
}
209211

210212
$promise = $this->resolver->resolve('google.com');
211213

@@ -225,8 +227,9 @@ public function testCancelResolveShouldNotCauseGarbageReferences()
225227
$factory = new Factory();
226228
$this->resolver = $factory->create('127.0.0.1');
227229

228-
gc_collect_cycles();
229-
gc_collect_cycles(); // clear twice to avoid leftovers in PHP 7.4 with ext-xdebug and code coverage turned on
230+
while (gc_collect_cycles()) {
231+
// collect all garbage cycles
232+
}
230233

231234
$promise = $this->resolver->resolve('google.com');
232235
$promise->cancel();
@@ -244,8 +247,9 @@ public function testCancelResolveCachedShouldNotCauseGarbageReferences()
244247
$factory = new Factory();
245248
$this->resolver = $factory->createCached('127.0.0.1');
246249

247-
gc_collect_cycles();
248-
gc_collect_cycles(); // clear twice to avoid leftovers in PHP 7.4 with ext-xdebug and code coverage turned on
250+
while (gc_collect_cycles()) {
251+
// collect all garbage cycles
252+
}
249253

250254
$promise = $this->resolver->resolve('google.com');
251255
$promise->cancel();

tests/Query/CoopExecutorTest.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -229,8 +229,9 @@ public function testCancelQueryShouldNotCauseGarbageReferences()
229229
$base->expects($this->once())->method('query')->willReturn($deferred->promise());
230230
$connector = new CoopExecutor($base);
231231

232-
gc_collect_cycles();
233-
gc_collect_cycles(); // clear twice to avoid leftovers in PHP 7.4 with ext-xdebug and code coverage turned on
232+
while (gc_collect_cycles()) {
233+
// collect all garbage cycles
234+
}
234235

235236
$query = new Query('reactphp.org', Message::TYPE_A, Message::CLASS_IN);
236237

tests/Query/FallbackExecutorTest.php

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -184,8 +184,9 @@ public function testCancelQueryShouldNotCauseGarbageReferencesWhenCancellingPrim
184184

185185
$executor = new FallbackExecutor($primary, $secondary);
186186

187-
gc_collect_cycles();
188-
gc_collect_cycles(); // clear twice to avoid leftovers in PHP 7.4 with ext-xdebug and code coverage turned on
187+
while (gc_collect_cycles()) {
188+
// collect all garbage cycles
189+
}
189190

190191
$query = new Query('reactphp.org', Message::TYPE_A, Message::CLASS_IN);
191192

@@ -210,8 +211,9 @@ public function testCancelQueryShouldNotCauseGarbageReferencesWhenCancellingSeco
210211

211212
$executor = new FallbackExecutor($primary, $secondary);
212213

213-
gc_collect_cycles();
214-
gc_collect_cycles(); // clear twice to avoid leftovers in PHP 7.4 with ext-xdebug and code coverage turned on
214+
while (gc_collect_cycles()) {
215+
// collect all garbage cycles
216+
}
215217

216218
$query = new Query('reactphp.org', Message::TYPE_A, Message::CLASS_IN);
217219

tests/Query/RetryExecutorTest.php

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -226,8 +226,9 @@ public function queryShouldNotCauseGarbageReferencesOnSuccess()
226226

227227
$retryExecutor = new RetryExecutor($executor, 0);
228228

229-
gc_collect_cycles();
230-
gc_collect_cycles(); // clear twice to avoid leftovers in PHP 7.4 with ext-xdebug and code coverage turned on
229+
while (gc_collect_cycles()) {
230+
// collect all garbage cycles
231+
}
231232

232233
$query = new Query('igor.io', Message::TYPE_A, Message::CLASS_IN);
233234
$retryExecutor->query($query);
@@ -254,8 +255,9 @@ public function queryShouldNotCauseGarbageReferencesOnTimeoutErrors()
254255

255256
$retryExecutor = new RetryExecutor($executor, 0);
256257

257-
gc_collect_cycles();
258-
gc_collect_cycles(); // clear twice to avoid leftovers in PHP 7.4 with ext-xdebug and code coverage turned on
258+
while (gc_collect_cycles()) {
259+
// collect all garbage cycles
260+
}
259261

260262
$query = new Query('igor.io', Message::TYPE_A, Message::CLASS_IN);
261263
$promise = $retryExecutor->query($query);
@@ -288,8 +290,9 @@ public function queryShouldNotCauseGarbageReferencesOnCancellation()
288290

289291
$retryExecutor = new RetryExecutor($executor, 0);
290292

291-
gc_collect_cycles();
292-
gc_collect_cycles(); // clear twice to avoid leftovers in PHP 7.4 with ext-xdebug and code coverage turned on
293+
while (gc_collect_cycles()) {
294+
// collect all garbage cycles
295+
}
293296

294297
$query = new Query('igor.io', Message::TYPE_A, Message::CLASS_IN);
295298
$promise = $retryExecutor->query($query);
@@ -320,8 +323,9 @@ public function queryShouldNotCauseGarbageReferencesOnNonTimeoutErrors()
320323

321324
$retryExecutor = new RetryExecutor($executor, 2);
322325

323-
gc_collect_cycles();
324-
gc_collect_cycles(); // clear twice to avoid leftovers in PHP 7.4 with ext-xdebug and code coverage turned on
326+
while (gc_collect_cycles()) {
327+
// collect all garbage cycles
328+
}
325329

326330
$query = new Query('igor.io', Message::TYPE_A, Message::CLASS_IN);
327331
$promise = $retryExecutor->query($query);

tests/Query/SelectiveTransportExecutorTest.php

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -162,8 +162,9 @@ public function testCancelPromiseShouldNotCreateAnyGarbageReferences()
162162
throw new \RuntimeException('Cancelled');
163163
}));
164164

165-
gc_collect_cycles();
166-
gc_collect_cycles(); // clear twice to avoid leftovers in PHP 7.4 with ext-xdebug and code coverage turned on
165+
while (gc_collect_cycles()) {
166+
// collect all garbage cycles
167+
}
167168

168169
$promise = $this->executor->query($query);
169170
$promise->cancel();
@@ -195,8 +196,9 @@ public function testCancelPromiseAfterTruncatedResponseShouldNotCreateAnyGarbage
195196
throw new \RuntimeException('Cancelled');
196197
}));
197198

198-
gc_collect_cycles();
199-
gc_collect_cycles(); // clear twice to avoid leftovers in PHP 7.4 with ext-xdebug and code coverage turned on
199+
while (gc_collect_cycles()) {
200+
// collect all garbage cycles
201+
}
200202

201203
$promise = $this->executor->query($query);
202204
$deferred->reject(new \RuntimeException('', defined('SOCKET_EMSGSIZE') ? SOCKET_EMSGSIZE : 90));
@@ -222,8 +224,9 @@ public function testRejectedPromiseAfterTruncatedResponseShouldNotCreateAnyGarba
222224
->with($query)
223225
->willReturn(\React\Promise\reject(new \RuntimeException()));
224226

225-
gc_collect_cycles();
226-
gc_collect_cycles(); // clear twice to avoid leftovers in PHP 7.4 with ext-xdebug and code coverage turned on
227+
while (gc_collect_cycles()) {
228+
// collect all garbage cycles
229+
}
227230

228231
$promise = $this->executor->query($query);
229232

0 commit comments

Comments
 (0)
0