@@ -537,18 +537,15 @@ function testHighWaterMarkIsMaxSafeInt() {
537537}
538538
539539// =============================================================================
540- // writeSync throws -- falls back to async
540+ // writeSync throws -- error propagates, does NOT fall back to async
541541// =============================================================================
542542
543- async function testWriteSyncThrowsFallback ( ) {
544- let asyncCalled = false ;
545-
543+ async function testWriteSyncThrowsPropagation ( ) {
546544 const writer = {
547545 writeSync ( ) {
548546 throw new Error ( 'sync broken' ) ;
549547 } ,
550- write ( chunk ) {
551- asyncCalled = true ;
548+ write ( ) {
552549 return Promise . resolve ( ) ;
553550 } ,
554551 end ( ) { return Promise . resolve ( 0 ) ; } ,
@@ -557,11 +554,12 @@ async function testWriteSyncThrowsFallback() {
557554
558555 const writable = toWritable ( writer ) ;
559556
560- await new Promise ( ( resolve ) => {
561- writable . write ( 'test' , resolve ) ;
562- } ) ;
563-
564- assert . ok ( asyncCalled , 'async write should be called as fallback' ) ;
557+ await assert . rejects ( new Promise ( ( resolve , reject ) => {
558+ writable . write ( 'test' , ( err ) => {
559+ if ( err ) reject ( err ) ;
560+ else resolve ( ) ;
561+ } ) ;
562+ } ) , { message : 'sync broken' } ) ;
565563}
566564
567565// =============================================================================
@@ -625,7 +623,7 @@ Promise.all([
625623 testWritevDelegation ( ) ,
626624 testWriteSyncFirst ( ) ,
627625 testWriteSyncFallback ( ) ,
628- testWriteSyncThrowsFallback ( ) ,
626+ testWriteSyncThrowsPropagation ( ) ,
629627 testEndSyncFirst ( ) ,
630628 testEndSyncFallback ( ) ,
631629 testFinalDelegatesToEnd ( ) ,
0 commit comments