summaryrefslogtreecommitdiff
path: root/tests/extmod/socket_badconstructor.py
diff options
context:
space:
mode:
authorJeff Epler <jepler@gmail.com>2025-08-03 10:11:49 -0500
committerDamien George <damien@micropython.org>2025-09-16 12:04:19 +1000
commite9da4c9c98c329c85eb7273437ff9e567d6cd006 (patch)
tree6b0a25e208f8c80e4fe7e2b1e3318878c186332d /tests/extmod/socket_badconstructor.py
parent6d640a15ab5258140f402d62fcd69e73650c08d6 (diff)
unix/modsocket: Use type-checking mp_obj_get_int.
MP_OBJ_SMALL_INT_VALUE would give erroneous results, such as assertion failures in the coverage build and other oddities like: >>> s = socket.socket() >>> s.recv(3.14) MemoryError: memory allocation failed, allocating 4235896656 bytes Signed-off-by: Jeff Epler <jepler@gmail.com>
Diffstat (limited to 'tests/extmod/socket_badconstructor.py')
-rw-r--r--tests/extmod/socket_badconstructor.py22
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/extmod/socket_badconstructor.py b/tests/extmod/socket_badconstructor.py
new file mode 100644
index 000000000..4a9d2668c
--- /dev/null
+++ b/tests/extmod/socket_badconstructor.py
@@ -0,0 +1,22 @@
+# Test passing in bad values to socket.socket constructor.
+
+try:
+ import socket
+except:
+ print("SKIP")
+ raise SystemExit
+
+try:
+ s = socket.socket(None)
+except TypeError:
+ print("TypeError")
+
+try:
+ s = socket.socket(socket.AF_INET, None)
+except TypeError:
+ print("TypeError")
+
+try:
+ s = socket.socket(socket.AF_INET, socket.SOCK_RAW, None)
+except TypeError:
+ print("TypeError")