1
1
import type { Event } from '@sentry/core' ;
2
+ import { afterAll , describe , expect , test } from 'vitest' ;
2
3
import { cleanupChildProcesses , createRunner } from '../../utils/runner' ;
3
4
4
5
const ANR_EVENT = {
@@ -111,18 +112,23 @@ describe('should report ANR when event loop blocked', () => {
111
112
cleanupChildProcesses ( ) ;
112
113
} ) ;
113
114
114
- test ( 'CJS' , done => {
115
- createRunner ( __dirname , 'basic.js' ) . withMockSentryServer ( ) . expect ( { event : ANR_EVENT_WITH_DEBUG_META } ) . start ( done ) ;
115
+ test ( 'CJS' , async ( ) => {
116
+ await createRunner ( __dirname , 'basic.js' )
117
+ . withMockSentryServer ( )
118
+ . expect ( { event : ANR_EVENT_WITH_DEBUG_META } )
119
+ . start ( )
120
+ . completed ( ) ;
116
121
} ) ;
117
122
118
- test ( 'ESM' , done => {
119
- createRunner ( __dirname , 'basic.mjs' )
123
+ test ( 'ESM' , async ( ) => {
124
+ await createRunner ( __dirname , 'basic.mjs' )
120
125
. withMockSentryServer ( )
121
126
. expect ( { event : ANR_EVENT_WITH_DEBUG_META } )
122
- . start ( done ) ;
127
+ . start ( )
128
+ . completed ( ) ;
123
129
} ) ;
124
130
125
- test ( 'Custom appRootPath' , done => {
131
+ test ( 'Custom appRootPath' , async ( ) => {
126
132
const ANR_EVENT_WITH_SPECIFIC_DEBUG_META : Event = {
127
133
...ANR_EVENT_WITH_SCOPE ,
128
134
debug_meta : {
@@ -136,52 +142,57 @@ describe('should report ANR when event loop blocked', () => {
136
142
} ,
137
143
} ;
138
144
139
- createRunner ( __dirname , 'app-path.mjs' )
145
+ await createRunner ( __dirname , 'app-path.mjs' )
140
146
. withMockSentryServer ( )
141
147
. expect ( { event : ANR_EVENT_WITH_SPECIFIC_DEBUG_META } )
142
- . start ( done ) ;
148
+ . start ( )
149
+ . completed ( ) ;
143
150
} ) ;
144
151
145
- test ( 'multiple events via maxAnrEvents' , done => {
146
- createRunner ( __dirname , 'basic-multiple.mjs' )
152
+ test ( 'multiple events via maxAnrEvents' , async ( ) => {
153
+ await createRunner ( __dirname , 'basic-multiple.mjs' )
147
154
. withMockSentryServer ( )
148
155
. expect ( { event : ANR_EVENT_WITH_DEBUG_META } )
149
156
. expect ( { event : ANR_EVENT_WITH_DEBUG_META } )
150
- . start ( done ) ;
157
+ . start ( )
158
+ . completed ( ) ;
151
159
} ) ;
152
160
153
- test ( 'blocked indefinitely' , done => {
154
- createRunner ( __dirname , 'indefinite.mjs' ) . withMockSentryServer ( ) . expect ( { event : ANR_EVENT } ) . start ( done ) ;
161
+ test ( 'blocked indefinitely' , async ( ) => {
162
+ await createRunner ( __dirname , 'indefinite.mjs' )
163
+ . withMockSentryServer ( )
164
+ . expect ( { event : ANR_EVENT } )
165
+ . start ( )
166
+ . completed ( ) ;
155
167
} ) ;
156
168
157
- test ( "With --inspect the debugger isn't used" , done => {
158
- createRunner ( __dirname , 'basic.mjs' )
169
+ test ( "With --inspect the debugger isn't used" , async ( ) => {
170
+ await createRunner ( __dirname , 'basic.mjs' )
159
171
. withMockSentryServer ( )
160
172
. withFlags ( '--inspect' )
161
173
. expect ( { event : ANR_EVENT_WITHOUT_STACKTRACE } )
162
- . start ( done ) ;
174
+ . start ( )
175
+ . completed ( ) ;
163
176
} ) ;
164
177
165
- test ( 'should exit' , done => {
178
+ test ( 'should exit' , async ( ) => {
166
179
const runner = createRunner ( __dirname , 'should-exit.js' ) . start ( ) ;
167
180
168
- setTimeout ( ( ) => {
169
- expect ( runner . childHasExited ( ) ) . toBe ( true ) ;
170
- done ( ) ;
171
- } , 5_000 ) ;
181
+ await new Promise ( resolve => setTimeout ( resolve , 5_000 ) ) ;
182
+
183
+ expect ( runner . childHasExited ( ) ) . toBe ( true ) ;
172
184
} ) ;
173
185
174
- test ( 'should exit forced' , done => {
186
+ test ( 'should exit forced' , async ( ) => {
175
187
const runner = createRunner ( __dirname , 'should-exit-forced.js' ) . start ( ) ;
176
188
177
- setTimeout ( ( ) => {
178
- expect ( runner . childHasExited ( ) ) . toBe ( true ) ;
179
- done ( ) ;
180
- } , 5_000 ) ;
189
+ await new Promise ( resolve => setTimeout ( resolve , 5_000 ) ) ;
190
+
191
+ expect ( runner . childHasExited ( ) ) . toBe ( true ) ;
181
192
} ) ;
182
193
183
- test ( 'With session' , done => {
184
- createRunner ( __dirname , 'basic-session.js' )
194
+ test ( 'With session' , async ( ) => {
195
+ await createRunner ( __dirname , 'basic-session.js' )
185
196
. withMockSentryServer ( )
186
197
. unignore ( 'session' )
187
198
. expect ( {
@@ -194,15 +205,16 @@ describe('should report ANR when event loop blocked', () => {
194
205
} ,
195
206
} )
196
207
. expect ( { event : ANR_EVENT_WITH_SCOPE } )
197
- . start ( done ) ;
208
+ . start ( )
209
+ . completed ( ) ;
198
210
} ) ;
199
211
200
- test ( 'from forked process' , done => {
201
- createRunner ( __dirname , 'forker.js' ) . expect ( { event : ANR_EVENT_WITH_SCOPE } ) . start ( done ) ;
212
+ test ( 'from forked process' , async ( ) => {
213
+ await createRunner ( __dirname , 'forker.js' ) . expect ( { event : ANR_EVENT_WITH_SCOPE } ) . start ( ) . completed ( ) ;
202
214
} ) ;
203
215
204
- test ( 'worker can be stopped and restarted' , done => {
205
- createRunner ( __dirname , 'stop-and-start.js' ) . expect ( { event : ANR_EVENT_WITH_SCOPE } ) . start ( done ) ;
216
+ test ( 'worker can be stopped and restarted' , async ( ) => {
217
+ await createRunner ( __dirname , 'stop-and-start.js' ) . expect ( { event : ANR_EVENT_WITH_SCOPE } ) . start ( ) . completed ( ) ;
206
218
} ) ;
207
219
208
220
const EXPECTED_ISOLATED_EVENT = {
@@ -231,10 +243,11 @@ describe('should report ANR when event loop blocked', () => {
231
243
} ,
232
244
} ;
233
245
234
- test ( 'fetches correct isolated scope' , done => {
235
- createRunner ( __dirname , 'isolated.mjs' )
246
+ test ( 'fetches correct isolated scope' , async ( ) => {
247
+ await createRunner ( __dirname , 'isolated.mjs' )
236
248
. withMockSentryServer ( )
237
249
. expect ( { event : EXPECTED_ISOLATED_EVENT } )
238
- . start ( done ) ;
250
+ . start ( )
251
+ . completed ( ) ;
239
252
} ) ;
240
253
} ) ;
0 commit comments