@@ -392,18 +392,23 @@ process.on('multipleResolves', common.mustNotCall());
392392 // Check that the timing is correct
393393 let pre = false ;
394394 let post = false ;
395- setPromiseTimeout ( 1 ) . then ( ( ) => pre = true ) ;
396- const iterable = setInterval ( ( ) => { } , 2 ) ;
397- const iterator = iterable [ Symbol . asyncIterator ] ( ) ;
398-
399- iterator . next ( ) . then ( common . mustCall ( ( ) => {
400- assert . ok ( pre , 'interval ran too early' ) ;
401- assert . ok ( ! post , 'interval ran too late' ) ;
402- return iterator . next ( ) ;
403- } ) ) . then ( common . mustCall ( ( ) => {
404- assert . ok ( post , 'second interval ran too early' ) ;
405- return iterator . return ( ) ;
406- } ) ) ;
407395
408- setPromiseTimeout ( 3 ) . then ( ( ) => post = true ) ;
396+ const time_unit = 50 ;
397+ Promise . all ( [
398+ setPromiseTimeout ( 1 ) . then ( ( ) => pre = true ) ,
399+ new Promise ( ( res ) => {
400+ const iterable = timerPromises . setInterval ( time_unit * 2 ) ;
401+ const iterator = iterable [ Symbol . asyncIterator ] ( ) ;
402+
403+ iterator . next ( ) . then ( ( ) => {
404+ assert . ok ( pre , 'interval ran too early' ) ;
405+ assert . ok ( ! post , 'interval ran too late' ) ;
406+ return iterator . next ( ) ;
407+ } ) . then ( ( ) => {
408+ assert . ok ( post , 'second interval ran too early' ) ;
409+ return iterator . return ( ) ;
410+ } ) . then ( res ) ;
411+ } ) ,
412+ setPromiseTimeout ( time_unit * 3 ) . then ( ( ) => post = true )
413+ ] ) . then ( common . mustCall ( ) ) ;
409414}
0 commit comments