summaryrefslogtreecommitdiff
path: root/tests/extmod/websocket_toobig.py
diff options
context:
space:
mode:
authorJeff Epler <jepler@unpythonic.net>2025-10-04 19:20:56 -0500
committerDamien George <damien@micropython.org>2025-10-05 15:43:31 +1100
commit6729493531b1910064ccd1eb95e65ed07f4d0f17 (patch)
tree37ddff2134de2550e65380f79b0585ed542b5e35 /tests/extmod/websocket_toobig.py
parent8013ef44db80f7fa941c4c404c848ba46cb1706b (diff)
tests/extmod: Test websocket too-big packet transmission.
Signed-off-by: Jeff Epler <jepler@unpythonic.net>
Diffstat (limited to 'tests/extmod/websocket_toobig.py')
-rw-r--r--tests/extmod/websocket_toobig.py28
1 files changed, 28 insertions, 0 deletions
diff --git a/tests/extmod/websocket_toobig.py b/tests/extmod/websocket_toobig.py
new file mode 100644
index 000000000..f4c5a74bb
--- /dev/null
+++ b/tests/extmod/websocket_toobig.py
@@ -0,0 +1,28 @@
+try:
+ import io
+ import errno
+ import websocket
+except ImportError:
+ print("SKIP")
+ raise SystemExit
+
+try:
+ buf = "x" * 65536
+except MemoryError:
+ print("SKIP")
+ raise SystemExit
+
+
+# do a websocket write and then return the raw data from the stream
+def ws_write(msg, sz):
+ s = io.BytesIO()
+ ws = websocket.websocket(s)
+ ws.write(msg)
+ s.seek(0)
+ return s.read(sz)
+
+
+try:
+ print(ws_write(buf, 1))
+except OSError as e:
+ print("ioctl: ENOBUFS:", e.errno == errno.ENOBUFS)