@@ -37,11 +37,10 @@ test('poll() returns immediately with timeout=0', function()
3737 sock :set_blocking (false )
3838
3939 local start = get_time_ms ()
40- local events , count = assert (socket . poll (sock , { " in" }, 0 ))
40+ local events = assert (sock : poll (0 , " in" ))
4141 local elapsed = get_time_ms () - start
4242
4343 ok (elapsed < 50 , " poll(timeout=0) should return quickly" )
44- ok (count ~= nil , " poll should return count" )
4544
4645 sock :close ()
4746end )
@@ -52,12 +51,11 @@ test('poll() respects timeout duration', function()
5251
5352 local timeout = 100
5453 local start = get_time_ms ()
55- local events , count = assert (socket . poll (sock , { " in" }, timeout ))
54+ local events = assert (sock : poll (timeout , " in" ))
5655 local elapsed = get_time_ms () - start
5756
5857 ok (elapsed >= timeout - 10 , " poll should wait for timeout" )
5958 ok (elapsed < timeout + 100 , " poll should not wait too long" )
60- ok (count == 0 , " should have no events" )
6159
6260 sock :close ()
6361end )
@@ -76,9 +74,8 @@ test('POLLIN flag set when data available (UDP)', function()
7674 assert (client :send_to (send_addr , " test data" ))
7775 sleep (50 )
7876
79- local events , count = assert (socket . poll (server , { " in" }, 100 ))
77+ local events = assert (server : poll (100 , " in" ))
8078 ok (events [" in" ] == true , " POLLIN should be set when data available" )
81- ok (count == 1 , " should have 1 event" )
8279
8380 local data , addr = assert (server :receive_from ())
8481 ok (data == " test data" , " should receive correct data" )
@@ -91,7 +88,7 @@ test('POLLOUT flag set when socket writable', function()
9188 local sock = assert (socket .create (" inet" , " dgram" , " udp" ))
9289 assert (sock :set_blocking (false ))
9390
94- local events , count = assert (socket . poll (sock , { " out" }, 100 ))
91+ local events = assert (sock : poll (100 , " out" ))
9592 ok (events [" out" ] == true , " POLLOUT should be set on writable socket" )
9693
9794 sock :close ()
@@ -101,9 +98,8 @@ test('Multiple poll flags work correctly', function()
10198 local sock = assert (socket .create (" inet" , " dgram" , " udp" ))
10299 assert (sock :set_blocking (false ))
103100
104- local events , count = assert (socket . poll (sock , { " in" , " out" }, 100 ))
101+ local events = assert (sock : poll (100 , " in" , " out" ))
105102 ok (events [" out" ] == true , " POLLOUT should be set" )
106- ok (count >= 1 , " should have at least 1 event" )
107103
108104 sock :close ()
109105end )
@@ -115,7 +111,7 @@ test('POLLERR detection', function()
115111 local connect_addr = assert (socket .find_first_address_info (" 127.0.0.1" , 1 ))
116112 sock :connect (connect_addr )
117113
118- local events , count = assert (socket . poll (sock , { " out" , " err" }, 1000 ))
114+ local events = assert (sock : poll (1000 , " out" , " err" ))
119115 ok (events [" out" ] or events [" err" ], " should have POLLOUT or POLLERR" )
120116
121117 sock :close ()
@@ -136,7 +132,7 @@ test('TCP non-blocking connect detection with POLLOUT', function()
136132 local connect_addr = assert (socket .find_first_address_info (" 127.0.0.1" , port ))
137133 client :connect (connect_addr )
138134
139- local events , count = assert (socket . poll (client , { " out" }, 2000 ))
135+ local events = assert (client : poll (2000 , " out" ))
140136 ok (events [" out" ] == true , " POLLOUT should be set after connect" )
141137
142138 local errno = client :get_option (" error" , " socket" )
@@ -168,7 +164,7 @@ test('POLLHUP detection on peer disconnect', function()
168164 client :close ()
169165 sleep (100 )
170166
171- local events , count = assert (socket . poll (conn , { " in" , " hup" }, 500 ))
167+ local events = assert (conn : poll (500 , " in" , " hup" ))
172168 ok (events [" in" ] or events [" hup" ], " should have POLLIN or POLLHUP after close" )
173169
174170 conn :close ()
@@ -179,8 +175,8 @@ test('poll() with empty flags returns zero events', function()
179175 local sock = assert (socket .create (" inet" , " dgram" , " udp" ))
180176 assert (sock :set_blocking (false ))
181177
182- local events , count = assert (socket . poll (sock , {}, 100 ))
183- ok (count == 0 , " should have no events with empty flags" )
178+ local events = assert (sock : poll (100 ))
179+ ok (events == true , " should have no events with empty flags" )
184180
185181 sock :close ()
186182end )
@@ -191,7 +187,7 @@ test('Rapid polling with timeout=0 does not block', function()
191187
192188 local start = get_time_ms ()
193189 for i = 1 , 100 do
194- assert (socket . poll (sock , { " in" }, 0 ))
190+ assert (sock : poll (0 , " in" ))
195191 end
196192 local elapsed = get_time_ms () - start
197193
@@ -204,7 +200,7 @@ test('poll() on closed socket returns error', function()
204200 local sock = assert (socket .create (" inet" , " dgram" , " udp" ))
205201 sock :close ()
206202
207- local events , err = socket . poll (sock , { " in" }, 100 )
203+ local events , err = sock : poll (100 , " in" )
208204 ok (events == nil or (events and events [" nval" ]), " poll on closed socket should error or return POLLNVAL" )
209205end )
210206
@@ -221,25 +217,25 @@ test('Full UDP send/receive cycle with poll()', function()
221217 assert (client :set_blocking (false ))
222218 local send_addr = assert (socket .find_first_address_info (" 127.0.0.1" , port ))
223219
224- local events = assert (socket . poll (client , { " out" }, 100 ))
220+ local events = assert (client : poll (100 , " out" ))
225221 ok (events [" out" ], " client should be writable" )
226222 client :send_to (send_addr , " ping" )
227223
228224 sleep (50 )
229225
230- events = assert (socket . poll (server , { " in" }, 500 ))
226+ events = assert (server : poll (500 , " in" ))
231227 ok (events [" in" ], " server should have data" )
232228
233229 local data , addr = assert (server :receive_from ())
234230 ok (data == " ping" , " server should receive ping" )
235231
236- events = assert (socket . poll (server , { " out" }, 100 ))
232+ events = assert (server : poll (100 , " out" ))
237233 ok (events [" out" ], " server should be writable" )
238234 server :send_to (addr , " pong" )
239235
240236 sleep (50 )
241237
242- events = assert (socket . poll (client , { " in" }, 500 ))
238+ events = assert (client : poll (500 , " in" ))
243239 ok (events [" in" ], " client should have data" )
244240
245241 data , addr = assert (client :receive_from ())
@@ -265,7 +261,7 @@ test('POLLIN on listening socket indicates accept readiness', function()
265261
266262 sleep (50 )
267263
268- local events = assert (socket . poll (server , { " in" }, 500 ))
264+ local events = assert (server : poll (500 , " in" ))
269265 ok (events [" in" ], " POLLIN should be set when connection pending" )
270266
271267 local conn = server :accept ()
@@ -293,7 +289,7 @@ test('poll() with -1 timeout waits indefinitely', function()
293289 sleep (50 )
294290
295291 local start = get_time_ms ()
296- local events = assert (socket . poll (sock , { " in" }, - 1 ))
292+ local events = assert (sock : poll (- 1 , " in" ))
297293 local elapsed = get_time_ms () - start
298294
299295 ok (events [" in" ], " poll(-1) should detect data" )
@@ -320,7 +316,7 @@ test('Large UDP datagram handling with poll()', function()
320316 assert (client :send_to (send_addr , large_data ))
321317 sleep (50 )
322318
323- local events = assert (socket . poll (server , { " in" }, 500 ))
319+ local events = assert (server : poll (500 , " in" ))
324320 ok (events [" in" ], " server should receive large datagram" )
325321
326322 local data = assert (server :receive_from ())
0 commit comments