From 75d638ac9cc613f39ec4513d3dc2e43a6f909da1 Mon Sep 17 00:00:00 2001 From: Thijs Schreijer Date: Sun, 30 Aug 2026 12:58:43 +0200 Subject: fix(udp): receive(0) tests and bad call to getnameinfo --- test/test_receive_zero.lua | 36 ------------------------------------ 1 file changed, 36 deletions(-) delete mode 100644 test/test_receive_zero.lua (limited to 'test/test_receive_zero.lua') diff --git a/test/test_receive_zero.lua b/test/test_receive_zero.lua deleted file mode 100644 index 2259910..0000000 --- a/test/test_receive_zero.lua +++ /dev/null @@ -1,36 +0,0 @@ --- a TCP receive(0) must never block: requesting zero bytes is trivially --- satisfied without touching the transport layer, POSIX recv(fd, buf, 0, 0) --- returns immediately regardless of whether data is available. -local socket = require "socket" - -local host, port = "127.0.0.1", "5464" - -local server = assert(socket.bind(host, port)) -local client = assert(socket.connect(host, port)) -local peer = assert(server:accept()) - -client:settimeout(2) - --- no data has been sent by the peer: the read buffer is empty, so if --- receive(0) touches the network it will block until the timeout expires -local t0 = socket.gettime() -local data, err = client:receive(0) -local elapsed = socket.gettime() - t0 - -assert(data == "", "receive(0) on empty buffer returned " .. tostring(data)) -assert(err == nil, "receive(0) on empty buffer returned error " .. tostring(err)) -assert(elapsed < 1, "receive(0) on empty buffer blocked for " .. elapsed .. "s") - --- receive(0) must also not consume any bytes when data *is* available -assert(peer:send("hello")) -data, err = client:receive(0) -assert(data == "", "receive(0) with data pending returned " .. tostring(data)) -assert(err == nil, "receive(0) with data pending returned error " .. tostring(err)) -data = assert(client:receive(5)) -assert(data == "hello", "receive(0) consumed bytes meant for receive(5)") - -client:close() -peer:close() -server:close() - -print("done!") -- cgit v1.2.3-55-g6feb