From: Petr Špaček Date: Fri, 20 Dec 2019 14:18:00 +0000 (+0100) Subject: tests: sanity check for net.listen() and net.list() X-Git-Tag: v5.0.0~16^2 X-Git-Url: http://git.ipfire.org/gitweb/?a=commitdiff_plain;h=317e620f494fff8dcb5877e3f69a4b4a5a5b0387;p=thirdparty%2Fknot-resolver.git tests: sanity check for net.listen() and net.list() --- diff --git a/tests/config/net.test.lua b/tests/config/net.test.lua index 805d215ae..1b693eb8b 100644 --- a/tests/config/net.test.lua +++ b/tests/config/net.test.lua @@ -1,10 +1,33 @@ +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, }