@@ -253,9 +253,13 @@ func TestUDPNetworkAPI(t *testing.T) {
253253 require .Equal (t , 5 , res )
254254 }
255255 {
256- res , err := udpRead (ctx , nil , []any {conn2 , 100 })
256+ res , err := udpAwaitRead (ctx , nil , []any {conn2 })
257257 require .Nil (t , err )
258- require .Equal (t , []any {[]uint8 ("Hello" ), "127.0.0.1" , 9800 }, res )
258+ require .Equal (t , []any {5 , "127.0.0.1" , 9800 }, res )
259+
260+ res2 , err := udpRead (ctx , nil , []any {conn2 , 100 })
261+ require .Nil (t , err )
262+ require .Equal (t , []uint8 ("Hello" ), res2 )
259263 }
260264 {
261265 res , err := udpWrite (ctx , nil , []any {conn1 , "127.0.0.1" , 9900 , []byte ("One" )})
@@ -268,14 +272,22 @@ func TestUDPNetworkAPI(t *testing.T) {
268272 require .Equal (t , 3 , res )
269273 }
270274 {
271- res , err := udpRead (ctx , nil , []any {conn2 , 100 })
275+ res , err := udpAwaitRead (ctx , nil , []any {conn2 })
276+ require .Nil (t , err )
277+ require .Equal (t , []any {3 , "127.0.0.1" , 9800 }, res )
278+
279+ res2 , err := udpRead (ctx , nil , []any {conn2 , 100 })
272280 require .Nil (t , err )
273- require .Equal (t , []any {[] uint8 ("One" ), "127.0.0.1" , 9800 }, res )
281+ require .Equal (t , []uint8 ("One" ), res2 )
274282 }
275283 {
276- res , err := udpRead (ctx , nil , []any {conn2 , 100 })
284+ res , err := udpAwaitRead (ctx , nil , []any {conn2 })
277285 require .Nil (t , err )
278- require .Equal (t , []any {[]uint8 ("Two" ), "127.0.0.1" , 9800 }, res )
286+ require .Equal (t , []any {3 , "127.0.0.1" , 9800 }, res )
287+
288+ res2 , err := udpRead (ctx , nil , []any {conn2 , 100 })
289+ require .Nil (t , err )
290+ require .Equal (t , []uint8 ("Two" ), res2 )
279291 }
280292 {
281293 res , err := udpClose (ctx , nil , []any {conn1 })
@@ -304,9 +316,17 @@ func TestUDPNetworkUnboundClientAPI(t *testing.T) {
304316 require .Equal (t , 5 , res )
305317 }
306318 {
307- res , err := udpRead (ctx , nil , []any {conn2 , 100 })
319+ res , err := udpAwaitRead (ctx , nil , []any {conn2 })
320+ require .Nil (t , err )
321+ require .Equal (t , 5 , res .([]any )[0 ])
322+
323+ res2 , err := udpRead (ctx , nil , []any {conn2 , 2 })
308324 require .Nil (t , err )
309- require .Equal (t , []uint8 ("Hello" ), res .([]any )[0 ])
325+ require .Equal (t , []uint8 ("He" ), res2 )
326+
327+ res2 , err = udpRead (ctx , nil , []any {conn2 , 20 })
328+ require .Nil (t , err )
329+ require .Equal (t , []uint8 ("llo" ), res2 )
310330 }
311331 {
312332 res , err := udpWrite (ctx , nil , []any {conn1 , "127.0.0.1" , 9900 , []byte ("One" )})
@@ -319,14 +339,22 @@ func TestUDPNetworkUnboundClientAPI(t *testing.T) {
319339 require .Equal (t , 3 , res )
320340 }
321341 {
322- res , err := udpRead (ctx , nil , []any {conn2 , 100 })
342+ res , err := udpAwaitRead (ctx , nil , []any {conn2 })
343+ require .Nil (t , err )
344+ require .Equal (t , 3 , res .([]any )[0 ])
345+
346+ res2 , err := udpRead (ctx , nil , []any {conn2 , 100 })
323347 require .Nil (t , err )
324- require .Equal (t , []uint8 ("One" ), res .([] any )[ 0 ] )
348+ require .Equal (t , []uint8 ("One" ), res2 )
325349 }
326350 {
327- res , err := udpRead (ctx , nil , []any {conn2 , 100 })
351+ res , err := udpAwaitRead (ctx , nil , []any {conn2 })
328352 require .Nil (t , err )
329- require .Equal (t , []uint8 ("Two" ), res .([]any )[0 ])
353+ require .Equal (t , 3 , res .([]any )[0 ])
354+
355+ res2 , err := udpRead (ctx , nil , []any {conn2 , 100 })
356+ require .Nil (t , err )
357+ require .Equal (t , []uint8 ("Two" ), res2 )
330358 }
331359
332360 // Check timeouts
@@ -338,15 +366,19 @@ func TestUDPNetworkUnboundClientAPI(t *testing.T) {
338366 }()
339367 {
340368 start := time .Now ()
341- res , err := udpRead (ctx , nil , []any {conn2 , 100 , 10 })
369+ res , err := udpAwaitRead (ctx , nil , []any {conn2 , 10 })
342370 require .Less (t , time .Since (start ), 20 * time .Millisecond )
343371 require .Equal (t , []any {5 , "Timeout" }, err )
344372 require .Nil (t , res )
345373 }
346374 {
347- res , err := udpRead (ctx , nil , []any {conn2 , 100 , 0 })
375+ res , err := udpAwaitRead (ctx , nil , []any {conn2 , 0 })
376+ require .Nil (t , err )
377+ require .Equal (t , 5 , res .([]any )[0 ])
378+
379+ res2 , err := udpRead (ctx , nil , []any {conn2 , 100 , 0 })
348380 require .Nil (t , err )
349- require .Equal (t , []uint8 ("Three" ), res .([] any )[ 0 ] )
381+ require .Equal (t , []uint8 ("Three" ), res2 )
350382 }
351383
352384 {
0 commit comments