From df1592d2e9935305539c909fecabcb96e3dd8aee Mon Sep 17 00:00:00 2001 From: Robert Nagy Date: Tue, 6 Aug 2019 11:28:09 +0200 Subject: [PATCH] test: async iterate destroyed stream PR-URL: https://github.com/nodejs/node/pull/28995 Reviewed-By: Anna Henningsen Reviewed-By: James M Snell Reviewed-By: Trivikram Kamat --- .../test-stream-readable-async-iterators.js | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/test/parallel/test-stream-readable-async-iterators.js b/test/parallel/test-stream-readable-async-iterators.js index 2ee6680f27e331..9149058d1537fa 100644 --- a/test/parallel/test-stream-readable-async-iterators.js +++ b/test/parallel/test-stream-readable-async-iterators.js @@ -353,6 +353,22 @@ async function tests() { assert.strictEqual(received, 1); } + { + console.log('destroyed will not deadlock'); + const readable = new Readable(); + readable.destroy(); + process.nextTick(async () => { + readable.on('close', common.mustNotCall()); + let received = 0; + for await (const k of readable) { + // Just make linting pass. This should never run. + assert.strictEqual(k, 'hello'); + received++; + } + assert.strictEqual(received, 0); + }); + } + { console.log('push async'); const max = 42;