mirror of
https://github.com/micropython/micropython.git
synced 2026-01-07 12:40:15 +01:00
tests: Move ports/esp32/resolve_on_connect.py to net_inet.
The main reason for moving this test is that it needs internet connection to pass. So putting it in `net_inet` makes sure it's alongside other tests that need the internet. Also, it's a general test that could eventually run on other ports, if/when they support doing an address resolution as part of `socket.connect()`. Signed-off-by: Damien George <damien@micropython.org>
This commit is contained in:
58
tests/net_inet/resolve_on_connect.py
Normal file
58
tests/net_inet/resolve_on_connect.py
Normal file
@@ -0,0 +1,58 @@
|
||||
# Test that the socket module performs DNS resolutions on bind and connect.
|
||||
# Currenty only the esp32 port does this, so the test is restricted to that port.
|
||||
|
||||
import sys
|
||||
|
||||
if sys.implementation.name == "micropython" and sys.platform != "esp32":
|
||||
print("SKIP")
|
||||
raise SystemExit
|
||||
|
||||
import socket
|
||||
|
||||
|
||||
def test_bind_resolves_0_0_0_0():
|
||||
s = socket.socket()
|
||||
try:
|
||||
s.bind(("0.0.0.0", 31245))
|
||||
print("bind actually bound")
|
||||
s.close()
|
||||
except Exception as e:
|
||||
print("bind raised", e)
|
||||
|
||||
|
||||
def test_bind_resolves_localhost():
|
||||
s = socket.socket()
|
||||
try:
|
||||
s.bind(("localhost", 31245))
|
||||
print("bind actually bound")
|
||||
s.close()
|
||||
except Exception as e:
|
||||
print("bind raised", e)
|
||||
|
||||
|
||||
def test_connect_resolves():
|
||||
s = socket.socket()
|
||||
try:
|
||||
s.connect(("micropython.org", 80))
|
||||
print("connect actually connected")
|
||||
s.close()
|
||||
except Exception as e:
|
||||
print("connect raised", e)
|
||||
|
||||
|
||||
def test_connect_non_existent():
|
||||
s = socket.socket()
|
||||
try:
|
||||
s.connect(("nonexistent.example.com", 80))
|
||||
print("connect actually connected")
|
||||
s.close()
|
||||
except OSError as e:
|
||||
print("connect raised OSError")
|
||||
except Exception as e:
|
||||
print("connect raised", e)
|
||||
|
||||
|
||||
test_funs = [n for n in dir() if n.startswith("test_")]
|
||||
for f in sorted(test_funs):
|
||||
print("--", f, end=": ")
|
||||
eval(f + "()")
|
||||
Reference in New Issue
Block a user