Skip to content

Commit 04e5a4b

Browse files
committed
test: use existing gc utilities
1 parent 248c191 commit 04e5a4b

File tree

1 file changed

+6
-22
lines changed

1 file changed

+6
-22
lines changed

test/parallel/test-abortsignal-drop-settled-signals.mjs

Lines changed: 6 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,9 @@
11
// Flags: --expose_gc
22
//
33
import '../common/index.mjs';
4+
import { gcUntil } from '../common/gc.js';
45
import { describe, it } from 'node:test';
56

6-
function repeatSetImmediateAndGC(times, callback) {
7-
let count = 0;
8-
9-
function next() {
10-
if (count < times) {
11-
count++;
12-
setImmediate(() => {
13-
global.gc();
14-
next();
15-
});
16-
} else if (callback) {
17-
callback();
18-
}
19-
}
20-
21-
next();
22-
}
23-
247
function makeSubsequentCalls(limit, done, holdReferences = false) {
258
let dependantSymbol;
269
let signalRef;
@@ -175,12 +158,13 @@ it('drops settled dependant signals when signal is composite', (t, done) => {
175158
});
176159

177160
it('drops settled signals even when there are listeners', (t, done) => {
178-
runWithOrphanListeners(limit, (signalRefs) => {
179-
repeatSetImmediateAndGC(3, () => {
161+
runWithOrphanListeners(limit, async (signalRefs) => {
162+
await gcUntil('all signals are GCed', () => {
180163
const unGCedSignals = [...signalRefs].filter((ref) => ref.deref());
181164

182-
t.assert.strictEqual(unGCedSignals.length, 0);
183-
done();
165+
return unGCedSignals.length === 0;
184166
});
167+
168+
done();
185169
});
186170
});

0 commit comments

Comments
 (0)