Software /
code /
prosody
File
spec/util_datamanager_spec.lua @ 11694:d6be4dda1f60
net.server_epoll: Set minimum wait time to 1ms, matching epoll
A timeout value less than 0.001 gets turned into zero on the C side, so
epoll_wait() returns instantly and essentially busy-loops up to 1ms,
e.g. when a timer event ends up scheduled (0, 0.001)ms into the future.
Unsure if this has much effect in practice, but it may waste a small
amount of CPU time. How much would depend on how often this ends up
happening and how fast the CPU gets trough main loop iterations.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Thu, 15 Jul 2021 01:38:44 +0200 |
parent | 11370:7c2ef5a1ec9c |
line wrap: on
line source
describe("util.datamanager", function() local dm; setup(function() dm = require "util.datamanager"; dm.set_data_path("./data"); end); describe("keyvalue", function() local data = {hello = "world"}; do local ok, err = dm.store("keyval-user", "datamanager.test", "testdata", data); assert.truthy(ok, err); end do local read, err = dm.load("keyval-user", "datamanager.test", "testdata") assert.same(data, read, err); end do local ok, err = dm.store("keyval-user", "datamanager.test", "testdata", nil); assert.truthy(ok, err); end do local read, err = dm.load("keyval-user", "datamanager.test", "testdata") assert.is_nil(read, err); end end) describe("lists", function() do local ok, err = dm.list_store("list-user", "datamanager.test", "testdata", {}); assert.truthy(ok, err); end do local nothing, err = dm.list_load("list-user", "datamanager.test", "testdata"); assert.is_nil(nothing, err); assert.is_nil(err); end do local ok, err = dm.list_append("list-user", "datamanager.test", "testdata", {id = 1}); assert.truthy(ok, err); end do local ok, err = dm.list_append("list-user", "datamanager.test", "testdata", {id = 2}); assert.truthy(ok, err); end do local ok, err = dm.list_append("list-user", "datamanager.test", "testdata", {id = 3}); assert.truthy(ok, err); end do local list, err = dm.list_load("list-user", "datamanager.test", "testdata"); assert.same(list, {{id = 1}; {id = 2}; {id = 3}}, err); end do local ok, err = dm.list_store("list-user", "datamanager.test", "testdata", {}); assert.truthy(ok, err); end do local nothing, err = dm.list_load("list-user", "datamanager.test", "testdata"); assert.is_nil(nothing, err); assert.is_nil(err); end end) end)