Add basic tcp socket test

This commit is contained in:
lumi 2025-06-27 03:29:29 +10:00
parent 4f548bf9e9
commit 0c4639c3e9
Signed by: luaneko
GPG Key ID: 406809B8763FF07A
2 changed files with 22 additions and 1 deletions

View File

@ -124,7 +124,11 @@ impl lb_netlib {
}
extern "Lua-C" fn __parse_skaddr(&self, addr: &str) -> Result<lb_socketaddr> {
Ok(addr.parse()?)
Ok(if let Ok(addr) = addr.parse() {
SocketAddr::new(addr, 0).into() // default port 0
} else {
addr.parse::<SocketAddr>()?.into()
})
}
/// Creates a new TCP socket configured for IPv4.

17
crates/lb/tests/net.lua Normal file
View File

@ -0,0 +1,17 @@
local ok, net = pcall(require, "lb:net")
if not ok then return end
describe("tcp", function()
describe("socket", function()
test("bind", function()
local socket = net:bind_tcp("127.0.0.1")
-- binds to the correct port
assert(tostring(socket:local_addr():ip()) == "127.0.0.1")
assert(socket:local_addr():port() ~= 0)
-- should not be able to rebind socket
assert(not pcall(socket.bind, socket, net:socketaddr("127.0.0.1")))
end)
end)
end)