summaryrefslogtreecommitdiff
path: root/test/parallel/test-child-process-execfile.js
diff options
context:
space:
mode:
Diffstat (limited to 'test/parallel/test-child-process-execfile.js')
-rw-r--r--test/parallel/test-child-process-execfile.js11
1 files changed, 11 insertions, 0 deletions
diff --git a/test/parallel/test-child-process-execfile.js b/test/parallel/test-child-process-execfile.js
index a6345a7e5f..aec80b4e2b 100644
--- a/test/parallel/test-child-process-execfile.js
+++ b/test/parallel/test-child-process-execfile.js
@@ -3,6 +3,7 @@
const common = require('../common');
const assert = require('assert');
const execFile = require('child_process').execFile;
+const { getEventListeners } = require('events');
const { getSystemErrorName } = require('util');
const fixtures = require('../common/fixtures');
@@ -68,5 +69,15 @@ const execOpts = { encoding: 'utf8', shell: true };
execFile(process.execPath, [echoFixture, 0], { signal: 'hello' }, callback);
}, { code: 'ERR_INVALID_ARG_TYPE', name: 'TypeError' });
+}
+{
+ // Verify that the process completing removes the abort listener
+ const ac = new AbortController();
+ const { signal } = ac;
+ const callback = common.mustCall((err) => {
+ assert.strictEqual(getEventListeners(ac.signal).length, 0);
+ assert.strictEqual(err, null);
+ });
+ execFile(process.execPath, [fixture, 0], { signal }, callback);
}