@@ -287,57 +287,61 @@ for (const proto of testProtos("tcp", "ipc", "inproc")) {
287287 it ( "should release buffers" , async function ( ) {
288288 const weak = require ( "weak-napi" )
289289
290- const address = uniqAddress ( proto )
291- await sockB . bind ( address )
292- sockA . connect ( address )
293-
290+ const n = 10
294291 let released = 0
295292
296293 const send = async ( size : number ) => {
297- const msg = Buffer . alloc ( size )
298- weak ( msg , ( ) => { released ++ } )
299- await sockA . send ( msg )
294+ for ( let i = 0 ; i < n ; i ++ ) {
295+ const msg = Buffer . alloc ( size )
296+ weak ( msg , ( ) => { released ++ } )
297+ await sockA . send ( msg )
298+ }
300299 }
301300
302301 const receive = async ( ) => {
303- const msg = await sockB . receive ( )
304- weak ( msg , ( ) => { released ++ } )
302+ for ( let i = 0 ; i < n ; i ++ ) {
303+ const msg = await sockB . receive ( )
304+ weak ( msg , ( ) => { released ++ } )
305+ }
305306 }
306307
307308 await Promise . all ( [
308309 send ( 2048 ) ,
309310 receive ( ) ,
310311 ] )
311312
312- await sockB . unbind ( address )
313-
314313 /* Repeated GC to allow inproc messages from being collected. */
315314 for ( let i = 0 ; i < 5 ; i ++ ) {
316315 global . gc ( )
317316 await new Promise ( ( resolve ) => setTimeout ( resolve , 2 ) )
318317 }
319318
320- assert . equal ( released , 2 )
319+ assert . equal ( released , n * 2 )
321320 } )
322321
323322 it ( "should release buffers after echo" , async function ( ) {
324323 const weak = require ( "weak-napi" )
325324
325+ const n = 10
326326 let released = 0
327327
328328 const echo = async ( ) => {
329- const [ msg ] = await sockB . receive ( )
330- await sockB . send ( msg )
331- weak ( msg , ( ) => { released ++ } )
329+ for ( let i = 0 ; i < n ; i ++ ) {
330+ const [ msg ] = await sockB . receive ( )
331+ await sockB . send ( msg )
332+ weak ( msg , ( ) => { released ++ } )
333+ }
332334 }
333335
334336 const send = async ( size : number ) => {
335- const msg = Buffer . alloc ( size )
336- weak ( msg , ( ) => { released ++ } )
337- await sockA . send ( msg )
337+ for ( let i = 0 ; i < n ; i ++ ) {
338+ const msg = Buffer . alloc ( size )
339+ weak ( msg , ( ) => { released ++ } )
340+ await sockA . send ( msg )
338341
339- const [ rep ] = await sockA . receive ( )
340- weak ( rep , ( ) => { released ++ } )
342+ const [ rep ] = await sockA . receive ( )
343+ weak ( rep , ( ) => { released ++ } )
344+ }
341345
342346 sockA . close ( )
343347 sockB . close ( )
@@ -354,7 +358,7 @@ for (const proto of testProtos("tcp", "ipc", "inproc")) {
354358 await new Promise ( ( resolve ) => setTimeout ( resolve , 2 ) )
355359 }
356360
357- assert . equal ( released , 3 )
361+ assert . equal ( released , n * 3 )
358362 } )
359363
360364 if ( proto === "inproc" ) {
0 commit comments