1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
-- SPDX-License-Identifier: GPL-3.0-or-later
local kr_table_len = require('kluautil').kr_table_len
local function test_env_no_listen()
-- config tests are executed with env variable KRESD_NO_LISTEN=1
-- so net.list() should be an empty table
same(kr_table_len(net.list()), 0,
"env 'KRESD_NO_LISTEN=1' prevents kresd from listening")
end
local function test_freebind()
boom(net.listen, {'192.0.2.1', 50049},
'net.listen() without freebind should fail')
-- TODO: same(kr_table_len(net.list()), 0,
-- "net.listen() failure does not modify output from net.list()")
ok(net.listen('192.0.2.1', 50049, { freebind=true }),
'net.listen() with freebind succeeds')
local net_list = net.list()
-- same(list length == 2)
same(net_list[1].transport.protocol, 'udp',
'net.listen({freebind = true}) without kind starts UDP listener')
same(net_list[2].transport.protocol, 'tcp',
'net.listen({freebind = true}) without kind starts TCP listener')
same(net_list[1].transport.freebind, true,
'net.listen({freebind = true}) enables FREEBIND for UDP listener')
same(net_list[2].transport.freebind, true,
'net.listen({freebind = true}) enables FREEBIND for TCP listener')
end
return {
test_env_no_listen,
test_freebind,
}
|