Browse Source
This commit fixes the cases when a TCP socket is in STATE_NEW, STATE_LISTENING or STATE_CONNECTING and recv() is called on it. It now raises ENOTCONN instead of a random error code due to it previously indexing beyond the start of error_lookup_table[]. Signed-off-by: Damien George <damien@micropython.org>pull/6384/head
Damien George
4 years ago
2 changed files with 22 additions and 2 deletions
@ -0,0 +1,17 @@ |
|||||
|
# Test basic, stand-alone TCP socket functionality |
||||
|
|
||||
|
try: |
||||
|
import usocket as socket, uerrno as errno |
||||
|
except ImportError: |
||||
|
try: |
||||
|
import socket, errno |
||||
|
except ImportError: |
||||
|
print("SKIP") |
||||
|
raise SystemExit |
||||
|
|
||||
|
# recv() on a fresh socket should raise ENOTCONN |
||||
|
s = socket.socket() |
||||
|
try: |
||||
|
s.recv(1) |
||||
|
except OSError as er: |
||||
|
print("ENOTCONN:", er.args[0] == errno.ENOTCONN) |
Loading…
Reference in new issue