@@ -104,14 +104,12 @@ describe('daemon', () => {
104104 }
105105 } )
106106
107- try {
108- await daemon
109- throw new Error ( 'Did not kill process' )
110- } catch ( err ) {
111- expect ( err . killed ) . to . be . true ( )
112-
113- expect ( stdout ) . to . include ( 'Daemon is ready' )
114- }
107+ await expect ( daemon )
108+ . to . eventually . be . rejected ( )
109+ . and . to . include ( {
110+ killed : true
111+ } )
112+ . and . to . have . property ( 'stdout' ) . that . includes ( 'Daemon is ready' )
115113 } )
116114
117115 it ( 'should allow bind to multiple addresses for API and Gateway' , async function ( ) {
@@ -142,15 +140,14 @@ describe('daemon', () => {
142140 }
143141 } )
144142
145- try {
146- await daemon
147- throw new Error ( 'Did not kill process' )
148- } catch ( err ) {
149- expect ( err . killed ) . to . be . true ( )
143+ const err = await expect ( daemon )
144+ . to . eventually . be . rejected ( )
145+ . and . to . include ( {
146+ killed : true
147+ } )
150148
151- apiAddrs . forEach ( addr => expect ( err . stdout ) . to . include ( `API listening on ${ addr . slice ( 0 , - 2 ) } ` ) )
152- gatewayAddrs . forEach ( addr => expect ( err . stdout ) . to . include ( `Gateway (read only) listening on ${ addr . slice ( 0 , - 2 ) } ` ) )
153- }
149+ apiAddrs . forEach ( addr => expect ( err . stdout ) . to . include ( `API listening on ${ addr . slice ( 0 , - 2 ) } ` ) )
150+ gatewayAddrs . forEach ( addr => expect ( err . stdout ) . to . include ( `Gateway (read only) listening on ${ addr . slice ( 0 , - 2 ) } ` ) )
154151 } )
155152
156153 it ( 'should allow no bind addresses for API and Gateway' , async function ( ) {
@@ -171,15 +168,12 @@ describe('daemon', () => {
171168 }
172169 } )
173170
174- try {
175- await daemon
176- throw new Error ( 'Did not kill process' )
177- } catch ( err ) {
178- expect ( err . killed ) . to . be . true ( )
179-
180- expect ( err . stdout ) . to . not . include ( 'API listening on' )
181- expect ( err . stdout ) . to . not . include ( 'Gateway (read only) listening on' )
182- }
171+ await expect ( daemon )
172+ . to . eventually . be . rejected ( )
173+ . and . to . include ( {
174+ killed : true
175+ } )
176+ . and . have . property ( 'stdout' ) . that . does . not . include ( / ( A P I | G a t e w a y \( r e a d o n l y \) ) l i s t e n i n g o n / g)
183177 } )
184178
185179 skipOnWindows ( 'should handle SIGINT gracefully' , async function ( ) {
@@ -211,32 +205,17 @@ describe('daemon', () => {
211205 await ipfs ( 'init' )
212206
213207 const daemon = ipfs ( 'daemon --silent' )
214- const stop = async ( err ) => {
215- daemon . kill ( )
216208
217- if ( err ) {
218- throw err
219- }
209+ setTimeout ( ( ) => {
210+ daemon . kill ( 'SIGKILL' )
211+ } , 5 * 1000 )
220212
221- try {
222- await daemon
223- } catch ( err ) {
224- if ( ! err . killed ) {
225- throw err
226- }
227- }
228- }
229-
230- return new Promise ( ( resolve , reject ) => {
231- daemon . stdout . on ( 'data' , ( data ) => {
232- reject ( new Error ( 'Output was received ' + data . toString ( 'utf8' ) ) )
213+ await expect ( daemon )
214+ . to . eventually . be . rejected ( )
215+ . and . to . include ( {
216+ killed : true ,
217+ stdout : ''
233218 } )
234-
235- setTimeout ( ( ) => {
236- resolve ( )
237- } , 5 * 1000 )
238- } )
239- . then ( stop , stop )
240219 } )
241220
242221 it ( 'should present ipfs path help when option help is received' , async function ( ) {
@@ -262,16 +241,15 @@ describe('daemon', () => {
262241 }
263242 } )
264243
265- try {
266- await daemon
267- throw new Error ( 'Did not kill process' )
268- } catch ( err ) {
269- expect ( err . killed ) . to . be . true ( )
244+ const err = await expect ( daemon )
245+ . to . eventually . be . rejected ( )
246+ . and . to . include ( {
247+ killed : true
248+ } )
270249
271- expect ( err . stdout ) . to . include ( `js-ipfs version: ${ pkg . version } ` )
272- expect ( err . stdout ) . to . include ( `System version: ${ os . arch ( ) } /${ os . platform ( ) } ` )
273- expect ( err . stdout ) . to . include ( `Node.js version: ${ process . versions . node } ` )
274- }
250+ expect ( err . stdout ) . to . include ( `js-ipfs version: ${ pkg . version } ` )
251+ expect ( err . stdout ) . to . include ( `System version: ${ os . arch ( ) } /${ os . platform ( ) } ` )
252+ expect ( err . stdout ) . to . include ( `Node.js version: ${ process . versions . node } ` )
275253 } )
276254
277255 it ( 'should init by default' , async function ( ) {
@@ -290,12 +268,11 @@ describe('daemon', () => {
290268 }
291269 } )
292270
293- try {
294- await daemon
295- throw new Error ( 'Did not kill process' )
296- } catch ( err ) {
297- expect ( err . killed ) . to . be . true ( )
298- }
271+ await expect ( daemon )
272+ . to . eventually . be . rejected ( )
273+ . and . to . include ( {
274+ killed : true
275+ } )
299276
300277 expect ( fs . existsSync ( repoPath ) ) . to . be . true ( )
301278 } )
0 commit comments