File tree Expand file tree Collapse file tree 2 files changed +17
-3
lines changed Expand file tree Collapse file tree 2 files changed +17
-3
lines changed Original file line number Diff line number Diff line change @@ -48,9 +48,11 @@ test.suite(
48
48
{
49
49
evalCodeBefore,
50
50
stdinCode,
51
+ waitFor,
51
52
} : {
52
53
evalCodeBefore : string | null ;
53
54
stdinCode : string ;
55
+ waitFor ?: ( ) => boolean ;
54
56
} ,
55
57
assertions : ( stdout : string ) => Promise < void > | void
56
58
) => async ( t ) => {
@@ -75,7 +77,16 @@ test.suite(
75
77
replService . start ( ) ;
76
78
stdin . write ( stdinCode ) ;
77
79
stdin . end ( ) ;
78
- await promisify ( setTimeout ) ( 1e3 ) ;
80
+ let done = false ;
81
+ await Promise . race ( [
82
+ promisify ( setTimeout ) ( 20e3 ) ,
83
+ ( async ( ) => {
84
+ while ( ! done && ! waitFor ?.( ) ) {
85
+ await promisify ( setTimeout ) ( 1e3 ) ;
86
+ }
87
+ } ) ( ) ,
88
+ ] ) ;
89
+ done = true ;
79
90
stdout . end ( ) ;
80
91
stderr . end ( ) ;
81
92
expect ( await getStream ( stderr ) ) . toBe ( '' ) ;
@@ -391,6 +402,7 @@ test.suite(
391
402
{
392
403
evalCodeBefore : `${ setReportGlobal ( 'repl' ) } ;${ saveReportsAsGlobal } ` ,
393
404
stdinCode : '' ,
405
+ waitFor : ( ) => ! ! globalInRepl . testReport ,
394
406
} ,
395
407
( stdout ) => {
396
408
expect ( globalInRepl . testReport ) . toMatchObject ( {
@@ -434,6 +446,7 @@ test.suite(
434
446
{
435
447
evalCodeBefore : null ,
436
448
stdinCode : `${ setReportGlobal ( 'repl' ) } ;${ saveReportsAsGlobal } ` ,
449
+ waitFor : ( ) => ! ! globalInRepl . testReport ,
437
450
} ,
438
451
( stdout ) => {
439
452
expect ( globalInRepl . testReport ) . toMatchObject ( {
Original file line number Diff line number Diff line change @@ -181,7 +181,7 @@ test.suite('top level await', (_test) => {
181
181
async ( t ) => {
182
182
const script = `
183
183
const startTime = new Date().getTime();
184
- (async () => await new Promise((r) => setTimeout(() => r(1), ${ 1000 } )))();
184
+ (async () => await new Promise((r) => setTimeout(() => r(1), ${ 5000 } )))();
185
185
const endTime = new Date().getTime();
186
186
endTime - startTime;
187
187
` ;
@@ -196,7 +196,8 @@ test.suite('top level await', (_test) => {
196
196
stdout . split ( '\n' ) [ 0 ] . replace ( '> ' , '' ) . trim ( )
197
197
) ;
198
198
expect ( ellapsedTime ) . toBeGreaterThanOrEqual ( 0 ) ;
199
- expect ( ellapsedTime ) . toBeLessThanOrEqual ( 10 ) ;
199
+ // Should ideally be instantaneous; leave wiggle-room for slow CI
200
+ expect ( ellapsedTime ) . toBeLessThanOrEqual ( 100 ) ;
200
201
}
201
202
) ;
202
203
You can’t perform that action at this time.
0 commit comments