Changeset

13027:012d6e7b723a

integration tests: Preserve unmocked time.monotonic() With monotonic() frozen, timers may fail to trigger. This caused problems after the new util.startup changes that moved the server-started event to a timer. The timer wouldn't trigger, the event didn't fire, and prosody would fail to daemonize. All the tests that depend on specific time behaviour are depending on wall clock time, so only mocking util.time.now() and os.time() fixes those.
author Matthew Wild <mwild1@gmail.com>
date Thu, 06 Apr 2023 14:00:54 +0100
parents 13026:a97f4b277221
children 13028:b2e6a175537d
files spec/scansion/prosody.cfg.lua
diffstat 1 files changed, 5 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/spec/scansion/prosody.cfg.lua	Thu Apr 06 08:36:39 2023 +0200
+++ b/spec/scansion/prosody.cfg.lua	Thu Apr 06 14:00:54 2023 +0100
@@ -1,15 +1,14 @@
 --luacheck: ignore
 
--- Mock time functions to simplify tests
+-- Mock time functions to simplify tests --
+local time = require "util.time";
 function _G.os.time()
 	return 1219439344;
 end
-package.preload["util.time"] = function ()
-	return {
-		now = function () return 1219439344.5; end;
-		monotonic = function () return 0.5; end;
-	}
+function time.now()
+	return 1219439344.5;
 end
+-------------------------------------------
 
 admins = { "admin@localhost" }