diff --git a/test/parallel/test-child-process-execfile.js b/test/parallel/test-child-process-execfile.js index ca430d17cfe1bb..bf1dfda8bfe982 100644 --- a/test/parallel/test-child-process-execfile.js +++ b/test/parallel/test-child-process-execfile.js @@ -54,11 +54,24 @@ const execOpts = { encoding: 'utf8', shell: true }; const ac = new AbortController(); const { signal } = ac; - const callback = common.mustCall((err) => { + const firstCheck = common.mustCall((err) => { assert.strictEqual(err.code, 'ABORT_ERR'); assert.strictEqual(err.name, 'AbortError'); + assert.strictEqual(err.signal, undefined); + }); + + const secondCheck = common.mustCall((err) => { + assert.strictEqual(err.code, null); + assert.strictEqual(err.name, 'Error'); + assert.strictEqual(err.signal, 'SIGTERM'); }); - execFile(process.execPath, [echoFixture, 0], { signal }, callback); + + execFile(process.execPath, [echoFixture, 0], { signal }, (err) => { + firstCheck(err); + // Test that re-using the aborted signal results in immediate SIGTERM. + execFile(process.execPath, [echoFixture, 0], { signal }, secondCheck); + }); + ac.abort(); }