| 1234567891011121314151617181920212223242526272829303132 |
- # 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])
|