diff options
| author | Gabriel Schneider <[email protected]> | 2026-09-14 14:28:15 -0300 |
|---|---|---|
| committer | Gabriel Schneider <[email protected]> | 2026-09-16 11:18:48 -0300 |
| commit | ae310a207534b33b7321dd2b9f423a73b1969159 (patch) | |
| tree | b4c2e85091a4ff6657e0a04ba1b2ef030d588ac8 /test/web/serial.py | |
| parent | 5f24c4a2284a0af84fb9d116f7a39f6a58e42ae9 (diff) | |
| download | cloud9-ae310a207534b33b7321dd2b9f423a73b1969159.tar.gz cloud9-ae310a207534b33b7321dd2b9f423a73b1969159.zip | |
Add reusable HTTP transport, serial gateway, and WASM file browser
Diffstat (limited to 'test/web/serial.py')
| -rw-r--r-- | test/web/serial.py | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/test/web/serial.py b/test/web/serial.py new file mode 100644 index 0000000..83833a4 --- /dev/null +++ b/test/web/serial.py @@ -0,0 +1,25 @@ +"""Raw PTY to local reference server: exercise a UART-like byte stream.""" +import os +import pty +import select +import socket +import sys +import tty + +master, slave = pty.openpty() +tty.setraw(slave) +host, port = sys.argv[1].split(":") +peer = socket.create_connection((host, int(port))) +print(os.ttyname(slave), flush=True) +while True: + ready, _, _ = select.select([master, peer], [], []) + for source in ready: + data = os.read(master, 19) if source == master else peer.recv(23) + if not data: + sys.exit(0) + if source == master: + peer.sendall(data) + else: + while data: + written = os.write(master, data) + data = data[written:] |
