Skip to content

Commit

Permalink
tests/net_hosted: Add test for socket connect() and poll() behaviour.
Browse files Browse the repository at this point in the history
  • Loading branch information
dpgeorge committed Nov 22, 2017
1 parent d5cf5f7 commit df078e8
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 0 deletions.
32 changes: 32 additions & 0 deletions tests/net_hosted/connect_poll.py
@@ -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 changes: 3 additions & 0 deletions tests/net_hosted/connect_poll.py.exp
@@ -0,0 +1,3 @@
1 4
1
1 4

0 comments on commit df078e8

Please sign in to comment.