From ff0f488c97fe8b554b909a0057cebc4c860eac8f Mon Sep 17 00:00:00 2001 From: chai Date: Wed, 20 Oct 2021 13:40:34 +0800 Subject: +luasocket src --- .../luasocket/test/udp-zero-length-send-recv | 37 ++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 ThirdParty/luasocket/test/udp-zero-length-send-recv (limited to 'ThirdParty/luasocket/test/udp-zero-length-send-recv') diff --git a/ThirdParty/luasocket/test/udp-zero-length-send-recv b/ThirdParty/luasocket/test/udp-zero-length-send-recv new file mode 100644 index 0000000..064ca52 --- /dev/null +++ b/ThirdParty/luasocket/test/udp-zero-length-send-recv @@ -0,0 +1,37 @@ +#!/usr/bin/env lua + +--[[ +Show that luasocket returns an error message on zero-length UDP sends, +even though the send is valid, and in fact the UDP packet is sent +to the peer: + +% sudo tcpdump -i lo -n +tcpdump: verbose output suppressed, use -v or -vv for full protocol decode +listening on lo, link-type EN10MB (Ethernet), capture size 65535 bytes +13:40:16.652808 IP 127.0.0.1.56573 > 127.0.0.1.5432: UDP, length 0 + +]] + +socket = require"socket" + +s = assert(socket.udp()) +r = assert(socket.udp()) +assert(r:setsockname("*", 5432)) +assert(s:setpeername("127.0.0.1", 5432)) + +ok, emsg = s:send("") +if ok ~= 0 then + print("send of zero failed with:", ok, emsg) +end + +assert(r:settimeout(2)) + +ok, emsg = r:receive() + +if not ok or string.len(ok) ~= 0 then + print("fail - receive of zero failed with:", ok, emsg) + os.exit(1) +end + +print"ok" + -- cgit v1.1-26-g67d0