Software /
code /
prosody
Annotate
spec/util_poll_spec.lua @ 13174:8ec7b7d6556f
util.cache: Keep eviction candidate if callback resized to make room
Previously either the old or the new values would be rejected, even if
the cache was resized to allow more items.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Fri, 30 Jun 2023 22:01:49 +0200 |
parent | 12400:728d1c1dc7db |
rev | line source |
---|---|
12400 | 1 describe("util.poll", function() |
2 local poll; | |
3 setup(function() | |
4 poll = require "util.poll"; | |
5 end); | |
6 it("loads", function() | |
7 assert.is_table(poll); | |
8 assert.is_function(poll.new); | |
9 assert.is_string(poll.api); | |
9316
4aa522b9e1c4
util.poll: Test that it loads after being compiled
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
10 end); |
12400 | 11 describe("new", function() |
12 local p; | |
13 setup(function() | |
14 p = poll.new(); | |
15 end) | |
16 it("times out", function () | |
17 local fd, err = p:wait(0); | |
18 assert.falsy(fd); | |
19 assert.equal("timeout", err); | |
20 end); | |
21 it("works", function() | |
22 -- stdout should be writable, right? | |
23 assert.truthy(p:add(1, false, true)); | |
24 local fd, r, w = p:wait(1); | |
25 assert.is_number(fd); | |
26 assert.is_boolean(r); | |
27 assert.is_boolean(w); | |
28 assert.equal(1, fd); | |
29 assert.falsy(r); | |
30 assert.truthy(w); | |
31 assert.truthy(p:del(1)); | |
32 end); | |
33 end) | |
9316
4aa522b9e1c4
util.poll: Test that it loads after being compiled
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
34 end); |
4aa522b9e1c4
util.poll: Test that it loads after being compiled
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
35 |