Skip to content

Commit

Permalink
test: refactor code to use AbortSignal.abort()
Browse files Browse the repository at this point in the history
PR-URL: #37798
Refs: whatwg/dom#960
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Zijian Liu <lxxyxzj@gmail.com>
Reviewed-By: Zeyu Yang <himself65@outlook.com>
  • Loading branch information
manekinekko authored and ruyadorno committed Mar 24, 2021
1 parent 3376051 commit e85f311
Show file tree
Hide file tree
Showing 16 changed files with 27 additions and 64 deletions.
Expand Up @@ -37,9 +37,7 @@ const waitCommand = common.isLinux ?
}

{
const ac = new AbortController();
const { signal } = ac;
ac.abort();
const signal = AbortSignal.abort(); // Abort in advance
const promise = execPromisifed(waitCommand, { signal });

assert.rejects(promise, /AbortError/, 'pre aborted signal failed')
Expand Down
Expand Up @@ -29,9 +29,7 @@ const invalidArgTypeError = {

{
// Verify that the signal option works properly when already aborted
const ac = new AbortController();
const { signal } = ac;
ac.abort();
const signal = AbortSignal.abort();

assert.rejects(
promisified(process.execPath, [echoFixture, 0], { signal }),
Expand Down
4 changes: 1 addition & 3 deletions test/parallel/test-child-process-execfile.js
Expand Up @@ -69,9 +69,7 @@ const execOpts = { encoding: 'utf8', shell: true };

{
// Verify that does not spawn a child if already aborted
const ac = new AbortController();
const { signal } = ac;
ac.abort();
const signal = AbortSignal.abort();

const check = common.mustCall((err) => {
assert.strictEqual(err.code, 'ABORT_ERR');
Expand Down
8 changes: 2 additions & 6 deletions test/parallel/test-child-process-fork-abort-signal.js
Expand Up @@ -23,9 +23,7 @@ const { fork } = require('child_process');
}
{
// Test passing an already aborted signal to a forked child_process
const ac = new AbortController();
const { signal } = ac;
ac.abort();
const signal = AbortSignal.abort();
const cp = fork(fixtures.path('child-process-stay-alive-forever.js'), {
signal
});
Expand All @@ -40,9 +38,7 @@ const { fork } = require('child_process');

{
// Test passing a different kill signal
const ac = new AbortController();
const { signal } = ac;
ac.abort();
const signal = AbortSignal.abort();
const cp = fork(fixtures.path('child-process-stay-alive-forever.js'), {
signal,
killSignal: 'SIGKILL',
Expand Down
5 changes: 1 addition & 4 deletions test/parallel/test-child-process-spawn-controller.js
Expand Up @@ -29,10 +29,7 @@ const aliveScript = fixtures.path('child-process-stay-alive-forever.js');

{
// Verify that passing an already-aborted signal works.
const controller = new AbortController();
const { signal } = controller;

controller.abort();
const signal = AbortSignal.abort();

const cp = spawn(process.execPath, [aliveScript], {
signal,
Expand Down
4 changes: 1 addition & 3 deletions test/parallel/test-dgram-close-signal.js
Expand Up @@ -25,9 +25,7 @@ const dgram = require('dgram');

{
// Test close with pre-aborted signal.
const controller = new AbortController();
controller.abort();
const { signal } = controller;
const signal = AbortSignal.abort();
const server = dgram.createSocket({ type: 'udp4', signal });
server.on('close', common.mustCall());
}
10 changes: 4 additions & 6 deletions test/parallel/test-event-on-async-iterator.js
Expand Up @@ -248,28 +248,26 @@ async function nodeEventTarget() {

async function abortableOnBefore() {
const ee = new EventEmitter();
const ac = new AbortController();
ac.abort();
const abortedSignal = AbortSignal.abort();
[1, {}, null, false, 'hi'].forEach((signal) => {
assert.throws(() => on(ee, 'foo', { signal }), {
code: 'ERR_INVALID_ARG_TYPE'
});
});
assert.throws(() => on(ee, 'foo', { signal: ac.signal }), {
assert.throws(() => on(ee, 'foo', { signal: abortedSignal }), {
name: 'AbortError'
});
}

async function eventTargetAbortableOnBefore() {
const et = new EventTarget();
const ac = new AbortController();
ac.abort();
const abortedSignal = AbortSignal.abort();
[1, {}, null, false, 'hi'].forEach((signal) => {
assert.throws(() => on(et, 'foo', { signal }), {
code: 'ERR_INVALID_ARG_TYPE'
});
});
assert.throws(() => on(et, 'foo', { signal: ac.signal }), {
assert.throws(() => on(et, 'foo', { signal: abortedSignal }), {
name: 'AbortError'
});
}
Expand Down
10 changes: 4 additions & 6 deletions test/parallel/test-events-once.js
Expand Up @@ -133,17 +133,16 @@ async function prioritizesEventEmitter() {

async function abortSignalBefore() {
const ee = new EventEmitter();
const ac = new AbortController();
ee.on('error', common.mustNotCall());
ac.abort();
const abortedSignal = AbortSignal.abort();

await Promise.all([1, {}, 'hi', null, false].map((signal) => {
return rejects(once(ee, 'foo', { signal }), {
code: 'ERR_INVALID_ARG_TYPE'
});
}));

return rejects(once(ee, 'foo', { signal: ac.signal }), {
return rejects(once(ee, 'foo', { signal: abortedSignal }), {
name: 'AbortError'
});
}
Expand Down Expand Up @@ -184,16 +183,15 @@ async function abortSignalRemoveListener() {

async function eventTargetAbortSignalBefore() {
const et = new EventTarget();
const ac = new AbortController();
ac.abort();
const abortedSignal = AbortSignal.abort();

await Promise.all([1, {}, 'hi', null, false].map((signal) => {
return rejects(once(et, 'foo', { signal }), {
code: 'ERR_INVALID_ARG_TYPE'
});
}));

return rejects(once(et, 'foo', { signal: ac.signal }), {
return rejects(once(et, 'foo', { signal: abortedSignal }), {
name: 'AbortError'
});
}
Expand Down
4 changes: 1 addition & 3 deletions test/parallel/test-fs-promises-file-handle-readFile.js
Expand Up @@ -58,9 +58,7 @@ async function doReadAndCancel() {
const fileHandle = await open(filePathForHandle, 'w+');
const buffer = Buffer.from('Dogs running'.repeat(10000), 'utf8');
fs.writeFileSync(filePathForHandle, buffer);
const controller = new AbortController();
const { signal } = controller;
controller.abort();
const signal = AbortSignal.abort();
await assert.rejects(readFile(fileHandle, { signal }), {
name: 'AbortError'
});
Expand Down
4 changes: 1 addition & 3 deletions test/parallel/test-fs-promises-readfile.js
Expand Up @@ -43,9 +43,7 @@ async function validateReadFileProc() {
}

function validateReadFileAbortLogicBefore() {
const controller = new AbortController();
const signal = controller.signal;
controller.abort();
const signal = AbortSignal.abort();
assert.rejects(readFile(fn, { signal }), {
name: 'AbortError'
});
Expand Down
4 changes: 1 addition & 3 deletions test/parallel/test-fs-readfile.js
Expand Up @@ -54,9 +54,7 @@ for (const e of fileInfo) {
}
{
// Test cancellation, before
const controller = new AbortController();
const signal = controller.signal;
controller.abort();
const signal = AbortSignal.abort();
fs.readFile(fileInfo[0].name, { signal }, common.mustCall((err, buf) => {
assert.strictEqual(err.name, 'AbortError');
}));
Expand Down
4 changes: 1 addition & 3 deletions test/parallel/test-fs-watch-abort-signal.js
Expand Up @@ -24,9 +24,7 @@ const fixtures = require('../common/fixtures');
{
// Signal aborted before creating the watcher
const file = fixtures.path('empty.js');
const ac = new AbortController();
const { signal } = ac;
ac.abort();
const signal = AbortSignal.abort();
const watcher = fs.watch(file, { signal });
watcher.once('close', common.mustCall());
}
5 changes: 2 additions & 3 deletions test/parallel/test-net-server-listen-options-signal.js
Expand Up @@ -26,8 +26,7 @@ const net = require('net');
{
// Test close with pre-aborted signal.
const server = net.createServer();
const controller = new AbortController();
controller.abort();
const signal = AbortSignal.abort();
server.on('close', common.mustCall());
server.listen({ port: 0, signal: controller.signal });
server.listen({ port: 0, signal });
}
4 changes: 1 addition & 3 deletions test/parallel/test-stream-pipeline.js
Expand Up @@ -521,9 +521,7 @@ const net = require('net');
// Check pre-aborted signal
const pipelinePromise = promisify(pipeline);
async function run() {
const ac = new AbortController();
const { signal } = ac;
ac.abort();
const signal = AbortSignal.abort();
async function* producer() {
yield '5';
await Promise.resolve();
Expand Down
5 changes: 2 additions & 3 deletions test/parallel/test-stream-writable-destroy.js
Expand Up @@ -448,11 +448,10 @@ const assert = require('assert');
}

{
const ac = new AbortController();
ac.abort();
const signal = AbortSignal.abort();

const write = new Writable({
signal: ac.signal,
signal,
write(chunk, enc, cb) { cb(); }
});

Expand Down
12 changes: 3 additions & 9 deletions test/parallel/test-timers-promisified.js
Expand Up @@ -98,9 +98,7 @@ process.on('multipleResolves', common.mustNotCall());
}

{
const ac = new AbortController();
const signal = ac.signal;
ac.abort(); // Abort in advance
const signal = AbortSignal.abort(); // Abort in advance
assert.rejects(setPromiseTimeout(10, undefined, { signal }), /AbortError/)
.then(common.mustCall());
}
Expand All @@ -114,17 +112,13 @@ process.on('multipleResolves', common.mustNotCall());
}

{
const ac = new AbortController();
const signal = ac.signal;
ac.abort(); // Abort in advance
const signal = AbortSignal.abort(); // Abort in advance
assert.rejects(setPromiseImmediate(10, { signal }), /AbortError/)
.then(common.mustCall());
}

{
const ac = new AbortController();
const { signal } = ac;
ac.abort(); // Abort in advance
const signal = AbortSignal.abort(); // Abort in advance

const iterable = setInterval(1, undefined, { signal });
const iterator = iterable[Symbol.asyncIterator]();
Expand Down

0 comments on commit e85f311

Please sign in to comment.