spec/util_envload_spec.lua
author Kim Alvefur <zash@zash.se>
Sat, 02 Mar 2024 13:23:24 +0100
changeset 13456 69faf3552d52
parent 11493 37f49d0ad22c
permissions -rw-r--r--
mod_posix: Move POSIX signal handling into util.startup to avoid race When libunbound is initialized, it spawns a thread to work in. In case a module initializes libunbound, e.g. by triggering a s2s connection, Prosody would not handle signals, instead immediately quit on e.g. the reload (SIGHUP) signal. Likely because the libunbound thread would not have inherited the signal mask from the main Prosody thread. Thanks Menel, riau and franck-x for reporting and help narrowing down
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
11493
37f49d0ad22c util.envload: Add basic test of envload()
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     1
describe("util.envload", function()
37f49d0ad22c util.envload: Add basic test of envload()
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     2
	local envload = require "util.envload";
37f49d0ad22c util.envload: Add basic test of envload()
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     3
	describe("envload()", function()
37f49d0ad22c util.envload: Add basic test of envload()
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     4
		it("works", function()
37f49d0ad22c util.envload: Add basic test of envload()
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     5
			local f, err = envload.envload("return 'hello'", "@test", {});
37f49d0ad22c util.envload: Add basic test of envload()
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     6
			assert.is_function(f, err);
37f49d0ad22c util.envload: Add basic test of envload()
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     7
			local ok, ret = pcall(f);
37f49d0ad22c util.envload: Add basic test of envload()
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     8
			assert.truthy(ok);
37f49d0ad22c util.envload: Add basic test of envload()
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     9
			assert.equal("hello", ret);
37f49d0ad22c util.envload: Add basic test of envload()
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    10
		end);
37f49d0ad22c util.envload: Add basic test of envload()
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    11
		it("lets you pass values in and out", function ()
37f49d0ad22c util.envload: Add basic test of envload()
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    12
			local f, err = envload.envload("return thisglobal", "@test", { thisglobal = "yes, this one" });
37f49d0ad22c util.envload: Add basic test of envload()
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    13
			assert.is_function(f, err);
37f49d0ad22c util.envload: Add basic test of envload()
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    14
			local ok, ret = pcall(f);
37f49d0ad22c util.envload: Add basic test of envload()
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    15
			assert.truthy(ok);
37f49d0ad22c util.envload: Add basic test of envload()
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    16
			assert.equal("yes, this one", ret);
37f49d0ad22c util.envload: Add basic test of envload()
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    17
37f49d0ad22c util.envload: Add basic test of envload()
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    18
		end);
37f49d0ad22c util.envload: Add basic test of envload()
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    19
37f49d0ad22c util.envload: Add basic test of envload()
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    20
	end)
37f49d0ad22c util.envload: Add basic test of envload()
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    21
	-- TODO envloadfile()
37f49d0ad22c util.envload: Add basic test of envload()
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    22
end)