Annotate

spec/util_poll_spec.lua @ 13014:06453c564141

util.startup: Add prosody.started promise to easily execute code after startup To avoid a race where server-started fires before the promise function body is run (on next tick), I moved server-started to fire on the next tick, which seems sensible anyway. Errors are logged, I'm not sure if we ought to be doing something more here. I'm sure we'll find out.
author Matthew Wild <mwild1@gmail.com>
date Sat, 01 Apr 2023 11:56:38 +0100
parent 12400:728d1c1dc7db
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
12400
728d1c1dc7db util.poll: Expand stub tests
Kim Alvefur <zash@zash.se>
parents: 9316
diff changeset
1 describe("util.poll", function()
728d1c1dc7db util.poll: Expand stub tests
Kim Alvefur <zash@zash.se>
parents: 9316
diff changeset
2 local poll;
728d1c1dc7db util.poll: Expand stub tests
Kim Alvefur <zash@zash.se>
parents: 9316
diff changeset
3 setup(function()
728d1c1dc7db util.poll: Expand stub tests
Kim Alvefur <zash@zash.se>
parents: 9316
diff changeset
4 poll = require "util.poll";
728d1c1dc7db util.poll: Expand stub tests
Kim Alvefur <zash@zash.se>
parents: 9316
diff changeset
5 end);
728d1c1dc7db util.poll: Expand stub tests
Kim Alvefur <zash@zash.se>
parents: 9316
diff changeset
6 it("loads", function()
728d1c1dc7db util.poll: Expand stub tests
Kim Alvefur <zash@zash.se>
parents: 9316
diff changeset
7 assert.is_table(poll);
728d1c1dc7db util.poll: Expand stub tests
Kim Alvefur <zash@zash.se>
parents: 9316
diff changeset
8 assert.is_function(poll.new);
728d1c1dc7db util.poll: Expand stub tests
Kim Alvefur <zash@zash.se>
parents: 9316
diff changeset
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
728d1c1dc7db util.poll: Expand stub tests
Kim Alvefur <zash@zash.se>
parents: 9316
diff changeset
11 describe("new", function()
728d1c1dc7db util.poll: Expand stub tests
Kim Alvefur <zash@zash.se>
parents: 9316
diff changeset
12 local p;
728d1c1dc7db util.poll: Expand stub tests
Kim Alvefur <zash@zash.se>
parents: 9316
diff changeset
13 setup(function()
728d1c1dc7db util.poll: Expand stub tests
Kim Alvefur <zash@zash.se>
parents: 9316
diff changeset
14 p = poll.new();
728d1c1dc7db util.poll: Expand stub tests
Kim Alvefur <zash@zash.se>
parents: 9316
diff changeset
15 end)
728d1c1dc7db util.poll: Expand stub tests
Kim Alvefur <zash@zash.se>
parents: 9316
diff changeset
16 it("times out", function ()
728d1c1dc7db util.poll: Expand stub tests
Kim Alvefur <zash@zash.se>
parents: 9316
diff changeset
17 local fd, err = p:wait(0);
728d1c1dc7db util.poll: Expand stub tests
Kim Alvefur <zash@zash.se>
parents: 9316
diff changeset
18 assert.falsy(fd);
728d1c1dc7db util.poll: Expand stub tests
Kim Alvefur <zash@zash.se>
parents: 9316
diff changeset
19 assert.equal("timeout", err);
728d1c1dc7db util.poll: Expand stub tests
Kim Alvefur <zash@zash.se>
parents: 9316
diff changeset
20 end);
728d1c1dc7db util.poll: Expand stub tests
Kim Alvefur <zash@zash.se>
parents: 9316
diff changeset
21 it("works", function()
728d1c1dc7db util.poll: Expand stub tests
Kim Alvefur <zash@zash.se>
parents: 9316
diff changeset
22 -- stdout should be writable, right?
728d1c1dc7db util.poll: Expand stub tests
Kim Alvefur <zash@zash.se>
parents: 9316
diff changeset
23 assert.truthy(p:add(1, false, true));
728d1c1dc7db util.poll: Expand stub tests
Kim Alvefur <zash@zash.se>
parents: 9316
diff changeset
24 local fd, r, w = p:wait(1);
728d1c1dc7db util.poll: Expand stub tests
Kim Alvefur <zash@zash.se>
parents: 9316
diff changeset
25 assert.is_number(fd);
728d1c1dc7db util.poll: Expand stub tests
Kim Alvefur <zash@zash.se>
parents: 9316
diff changeset
26 assert.is_boolean(r);
728d1c1dc7db util.poll: Expand stub tests
Kim Alvefur <zash@zash.se>
parents: 9316
diff changeset
27 assert.is_boolean(w);
728d1c1dc7db util.poll: Expand stub tests
Kim Alvefur <zash@zash.se>
parents: 9316
diff changeset
28 assert.equal(1, fd);
728d1c1dc7db util.poll: Expand stub tests
Kim Alvefur <zash@zash.se>
parents: 9316
diff changeset
29 assert.falsy(r);
728d1c1dc7db util.poll: Expand stub tests
Kim Alvefur <zash@zash.se>
parents: 9316
diff changeset
30 assert.truthy(w);
728d1c1dc7db util.poll: Expand stub tests
Kim Alvefur <zash@zash.se>
parents: 9316
diff changeset
31 assert.truthy(p:del(1));
728d1c1dc7db util.poll: Expand stub tests
Kim Alvefur <zash@zash.se>
parents: 9316
diff changeset
32 end);
728d1c1dc7db util.poll: Expand stub tests
Kim Alvefur <zash@zash.se>
parents: 9316
diff changeset
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