11cb0ef41Sopenharmony_ci'use strict'; 21cb0ef41Sopenharmony_ci 31cb0ef41Sopenharmony_ciconst common = require('../common'); 41cb0ef41Sopenharmony_ciconst { 51cb0ef41Sopenharmony_ci pipeline, 61cb0ef41Sopenharmony_ci PassThrough 71cb0ef41Sopenharmony_ci} = require('stream'); 81cb0ef41Sopenharmony_ciconst assert = require('assert'); 91cb0ef41Sopenharmony_ci 101cb0ef41Sopenharmony_ciprocess.on('uncaughtException', common.mustCall((err) => { 111cb0ef41Sopenharmony_ci assert.strictEqual(err.message, 'error'); 121cb0ef41Sopenharmony_ci})); 131cb0ef41Sopenharmony_ci 141cb0ef41Sopenharmony_ci// Ensure that pipeline that ends with Promise 151cb0ef41Sopenharmony_ci// still propagates error to uncaughtException. 161cb0ef41Sopenharmony_ciconst s = new PassThrough(); 171cb0ef41Sopenharmony_cis.end('data'); 181cb0ef41Sopenharmony_cipipeline(s, async function(source) { 191cb0ef41Sopenharmony_ci for await (const chunk of source) { } // eslint-disable-line no-unused-vars, no-empty 201cb0ef41Sopenharmony_ci}, common.mustSucceed(() => { 211cb0ef41Sopenharmony_ci throw new Error('error'); 221cb0ef41Sopenharmony_ci})); 23