tests/net_hosted: Add test for socket connect() and poll() behaviour.
This commit is contained in:
parent
d5cf5f70fd
commit
df078e8213
32
tests/net_hosted/connect_poll.py
Normal file
32
tests/net_hosted/connect_poll.py
Normal file
@ -0,0 +1,32 @@
|
||||
# test that socket.connect() has correct polling behaviour before, during and after
|
||||
|
||||
try:
|
||||
import usocket as socket, uselect as select
|
||||
except:
|
||||
import socket, select
|
||||
|
||||
|
||||
def test(peer_addr):
|
||||
s = socket.socket()
|
||||
poller = select.poll()
|
||||
poller.register(s)
|
||||
|
||||
# test poll before connect
|
||||
# note: CPython can return POLLHUP, so use the IN|OUT mask
|
||||
p = poller.poll(0)
|
||||
print(len(p), p[0][-1] & (select.POLLIN | select.POLLOUT))
|
||||
|
||||
s.connect(peer_addr)
|
||||
|
||||
# test poll during connection
|
||||
print(len(poller.poll(0)))
|
||||
|
||||
# test poll after connection is established
|
||||
p = poller.poll(1000)
|
||||
print(len(p), p[0][-1])
|
||||
|
||||
s.close()
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
test(socket.getaddrinfo('micropython.org', 80)[0][-1])
|
3
tests/net_hosted/connect_poll.py.exp
Normal file
3
tests/net_hosted/connect_poll.py.exp
Normal file
@ -0,0 +1,3 @@
|
||||
1 4
|
||||
1
|
||||
1 4
|
Loading…
Reference in New Issue
Block a user