spec/util_time_spec.lua
author Kim Alvefur <zash@zash.se>
Sat, 23 Mar 2024 20:48:19 +0100
changeset 13465 c673ff1075bd
parent 9196 aba99b6539f5
permissions -rw-r--r--
mod_posix: Move everything to util.startup This allows greater control over the order of events. Notably, the internal ordering between daemonization, initialization of libunbound and setup of signal handling is sensitive. libunbound starts a separate thread for processing DNS requests. If this thread is started before signal handling has been set up, it will not inherit the signal handlers and instead behave as it would have before signal handlers were set up, i.e. cause the whole process to immediately exit. libunbound is usually initialized on the first DNS request, usually triggered by an outgoing s2s connection attempt. If daemonization happens before signals have been set up, signals may not be processed at all.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
9196
aba99b6539f5 util.time: Add brief tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     1
describe("util.time", function ()
aba99b6539f5 util.time: Add brief tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     2
	local time;
aba99b6539f5 util.time: Add brief tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     3
	setup(function ()
aba99b6539f5 util.time: Add brief tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     4
		time = require "util.time";
aba99b6539f5 util.time: Add brief tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     5
	end);
aba99b6539f5 util.time: Add brief tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     6
	describe("now()", function ()
aba99b6539f5 util.time: Add brief tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     7
		it("exists", function ()
aba99b6539f5 util.time: Add brief tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     8
			assert.is_function(time.now);
aba99b6539f5 util.time: Add brief tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
     9
		end);
aba99b6539f5 util.time: Add brief tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    10
		it("returns a number", function ()
aba99b6539f5 util.time: Add brief tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    11
			assert.is_number(time.now());
aba99b6539f5 util.time: Add brief tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    12
		end);
aba99b6539f5 util.time: Add brief tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    13
	end);
aba99b6539f5 util.time: Add brief tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    14
	describe("monotonic()", function ()
aba99b6539f5 util.time: Add brief tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    15
		it("exists", function ()
aba99b6539f5 util.time: Add brief tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    16
			assert.is_function(time.monotonic);
aba99b6539f5 util.time: Add brief tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    17
		end);
aba99b6539f5 util.time: Add brief tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    18
		it("returns a number", function ()
aba99b6539f5 util.time: Add brief tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    19
			assert.is_number(time.monotonic());
aba99b6539f5 util.time: Add brief tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    20
		end);
aba99b6539f5 util.time: Add brief tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    21
		it("time goes in one direction", function ()
aba99b6539f5 util.time: Add brief tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    22
			local a = time.monotonic();
aba99b6539f5 util.time: Add brief tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    23
			local b	= time.monotonic();
aba99b6539f5 util.time: Add brief tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    24
			assert.truthy(a <= b);
aba99b6539f5 util.time: Add brief tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    25
		end);
aba99b6539f5 util.time: Add brief tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    26
	end);
aba99b6539f5 util.time: Add brief tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    27
end);
aba99b6539f5 util.time: Add brief tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    28
aba99b6539f5 util.time: Add brief tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    29
aba99b6539f5 util.time: Add brief tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    30
aba99b6539f5 util.time: Add brief tests
Kim Alvefur <zash@zash.se>
parents:
diff changeset
    31