11import { conditionalTest } from '../../utils' ;
22import { cleanupChildProcesses , createRunner } from '../../utils/runner' ;
33
4- const EXPECTED_ANR_EVENT = {
4+ const ANR_EVENT = {
55 // Ensure we have context
66 contexts : {
77 trace : {
@@ -21,15 +21,6 @@ const EXPECTED_ANR_EVENT = {
2121 timezone : expect . any ( String ) ,
2222 } ,
2323 } ,
24- user : {
25- 26- } ,
27- breadcrumbs : [
28- {
29- timestamp : expect . any ( Number ) ,
30- message : 'important message!' ,
31- } ,
32- ] ,
3324 // and an exception that is our ANR
3425 exception : {
3526 values : [
@@ -60,24 +51,41 @@ const EXPECTED_ANR_EVENT = {
6051 } ,
6152} ;
6253
54+ const ANR_EVENT_WITH_SCOPE = {
55+ ...ANR_EVENT ,
56+ user : {
57+ 58+ } ,
59+ breadcrumbs : [
60+ {
61+ timestamp : expect . any ( Number ) ,
62+ message : 'important message!' ,
63+ } ,
64+ ] ,
65+ } ;
66+
6367conditionalTest ( { min : 16 } ) ( 'should report ANR when event loop blocked' , ( ) => {
6468 afterAll ( ( ) => {
6569 cleanupChildProcesses ( ) ;
6670 } ) ;
6771
6872 test ( 'CJS' , done => {
69- createRunner ( __dirname , 'basic.js' ) . withMockSentryServer ( ) . expect ( { event : EXPECTED_ANR_EVENT } ) . start ( done ) ;
73+ createRunner ( __dirname , 'basic.js' ) . withMockSentryServer ( ) . expect ( { event : ANR_EVENT_WITH_SCOPE } ) . start ( done ) ;
7074 } ) ;
7175
7276 test ( 'ESM' , done => {
73- createRunner ( __dirname , 'basic.mjs' ) . withMockSentryServer ( ) . expect ( { event : EXPECTED_ANR_EVENT } ) . start ( done ) ;
77+ createRunner ( __dirname , 'basic.mjs' ) . withMockSentryServer ( ) . expect ( { event : ANR_EVENT_WITH_SCOPE } ) . start ( done ) ;
78+ } ) ;
79+
80+ test ( 'blocked indefinitely' , done => {
81+ createRunner ( __dirname , 'indefinite.mjs' ) . withMockSentryServer ( ) . expect ( { event : ANR_EVENT } ) . start ( done ) ;
7482 } ) ;
7583
7684 test ( 'With --inspect' , done => {
7785 createRunner ( __dirname , 'basic.mjs' )
7886 . withMockSentryServer ( )
7987 . withFlags ( '--inspect' )
80- . expect ( { event : EXPECTED_ANR_EVENT } )
88+ . expect ( { event : ANR_EVENT_WITH_SCOPE } )
8189 . start ( done ) ;
8290 } ) ;
8391
@@ -108,16 +116,16 @@ conditionalTest({ min: 16 })('should report ANR when event loop blocked', () =>
108116 abnormal_mechanism : 'anr_foreground' ,
109117 } ,
110118 } )
111- . expect ( { event : EXPECTED_ANR_EVENT } )
119+ . expect ( { event : ANR_EVENT_WITH_SCOPE } )
112120 . start ( done ) ;
113121 } ) ;
114122
115123 test ( 'from forked process' , done => {
116- createRunner ( __dirname , 'forker.js' ) . expect ( { event : EXPECTED_ANR_EVENT } ) . start ( done ) ;
124+ createRunner ( __dirname , 'forker.js' ) . expect ( { event : ANR_EVENT_WITH_SCOPE } ) . start ( done ) ;
117125 } ) ;
118126
119127 test ( 'worker can be stopped and restarted' , done => {
120- createRunner ( __dirname , 'stop-and-start.js' ) . expect ( { event : EXPECTED_ANR_EVENT } ) . start ( done ) ;
128+ createRunner ( __dirname , 'stop-and-start.js' ) . expect ( { event : ANR_EVENT_WITH_SCOPE } ) . start ( done ) ;
121129 } ) ;
122130
123131 const EXPECTED_ISOLATED_EVENT = {
0 commit comments