@@ -41,10 +41,19 @@ test('it sends upon successful build', t => {
4141 } )
4242 } )
4343 server . listen ( )
44+
45+ // Add timeout to prevent hanging
46+ const timeout = setTimeout ( ( ) => {
47+ server . close ( )
48+ t . fail ( 'Test timed out - webpack process may be hanging' )
49+ t . end ( )
50+ } , 30000 ) // 30 second timeout
51+
4452 exec ( join ( __dirname , '..' , 'node_modules' , '.bin' , 'webpack' ) , {
4553 env : generateEnv ( server ) ,
4654 cwd : join ( __dirname , 'fixtures' , 'a' )
4755 } , ( err , stdout , stderr ) => {
56+ clearTimeout ( timeout )
4857 server . close ( )
4958 if ( err ) { console . info ( err , '\n\n\n' , stdout , '\n\n\n' , stderr ) }
5059 if ( err ) return t . fail ( err . message )
@@ -62,12 +71,62 @@ test('it doesn’t send upon unsuccessful build', t => {
6271 } )
6372 } )
6473 server . listen ( )
74+
75+ // Add timeout to prevent hanging
76+ const timeout = setTimeout ( ( ) => {
77+ server . close ( )
78+ t . fail ( 'Test timed out - webpack process may be hanging' )
79+ t . end ( )
80+ } , 30000 ) // 30 second timeout
81+
6582 exec ( join ( __dirname , '..' , 'node_modules' , '.bin' , 'webpack' ) , {
6683 env : generateEnv ( server ) ,
6784 cwd : join ( __dirname , 'fixtures' , 'b' )
6885 } , ( err , stdout , stderr ) => {
86+ clearTimeout ( timeout )
87+ server . close ( )
88+ t . ok ( err , 'webpack should fail due to syntax error' )
89+ t . end ( )
90+ } )
91+ } )
92+
93+ test ( 'it sends upon successful build without metadata' , t => {
94+ t . plan ( 3 )
95+ const server = createServer ( ( req , res ) => {
96+ let body = ''
97+ req . on ( 'data' , ( d ) => { body += d } )
98+ req . on ( 'end' , ( ) => {
99+ res . end ( 'ok' )
100+ let j
101+ try {
102+ j = JSON . parse ( body )
103+ } catch ( e ) {
104+ server . close ( )
105+ t . fail ( 'failed to parse body as json' )
106+ }
107+ t . ok ( j , 'json body was received' )
108+ t . equal ( j . appVersion , '1.2.3' , 'body should contain app version' )
109+ t . equal ( j . apiKey , 'YOUR_API_KEY' , 'body should contain api key' )
110+ // Note: no metadata check since none was provided
111+ } )
112+ } )
113+ server . listen ( )
114+
115+ // Add timeout to prevent hanging
116+ const timeout = setTimeout ( ( ) => {
117+ server . close ( )
118+ t . fail ( 'Test timed out - webpack process may be hanging' )
119+ t . end ( )
120+ } , 30000 ) // 30 second timeout
121+
122+ exec ( join ( __dirname , '..' , 'node_modules' , '.bin' , 'webpack' ) , {
123+ env : generateEnv ( server ) ,
124+ cwd : join ( __dirname , 'fixtures' , 'i' )
125+ } , ( err , stdout , stderr ) => {
126+ clearTimeout ( timeout )
69127 server . close ( )
70- t . ok ( err )
128+ if ( err ) { console . info ( err , '\n\n\n' , stdout , '\n\n\n' , stderr ) }
129+ if ( err ) return t . fail ( err . message )
71130 t . end ( )
72131 } )
73132} )
0 commit comments