Mercurial > prosody-hg
annotate spec/util_envload_spec.lua @ 14020:3c2bfa6a69df
prosodyctl shell: Move non-error result lines back to stdout, suppress with --quiet
We're figuring out how to keep usability and support machine-readability too.
We moved the status line (repl-result) to stderr so that when parsing
something like a table, it didn't get in the way. However sometimes the status
line is the thing we want to parse (e.g. invite creation). Parsing stderr
loses one of the purposes of stderr - to have an error-only channel to emit
stuff out of band (such as error messages).
So the new approach is:
- Status line on stdout, unless it's an error
- If you're parsing the output ("content") of the command, pass --quiet to
suppress the status line.
| author | Matthew Wild <mwild1@gmail.com> |
|---|---|
| date | Tue, 30 Dec 2025 16:30:43 +0000 |
| parents | 37f49d0ad22c |
| children |
| rev | line source |
|---|---|
|
11489
37f49d0ad22c
util.envload: Add basic test of envload()
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
1 describe("util.envload", function() |
|
37f49d0ad22c
util.envload: Add basic test of envload()
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
2 local envload = require "util.envload"; |
|
37f49d0ad22c
util.envload: Add basic test of envload()
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
3 describe("envload()", function() |
|
37f49d0ad22c
util.envload: Add basic test of envload()
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
4 it("works", function() |
|
37f49d0ad22c
util.envload: Add basic test of envload()
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
5 local f, err = envload.envload("return 'hello'", "@test", {}); |
|
37f49d0ad22c
util.envload: Add basic test of envload()
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
6 assert.is_function(f, err); |
|
37f49d0ad22c
util.envload: Add basic test of envload()
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
7 local ok, ret = pcall(f); |
|
37f49d0ad22c
util.envload: Add basic test of envload()
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
8 assert.truthy(ok); |
|
37f49d0ad22c
util.envload: Add basic test of envload()
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
9 assert.equal("hello", ret); |
|
37f49d0ad22c
util.envload: Add basic test of envload()
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
10 end); |
|
37f49d0ad22c
util.envload: Add basic test of envload()
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
11 it("lets you pass values in and out", function () |
|
37f49d0ad22c
util.envload: Add basic test of envload()
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
12 local f, err = envload.envload("return thisglobal", "@test", { thisglobal = "yes, this one" }); |
|
37f49d0ad22c
util.envload: Add basic test of envload()
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
13 assert.is_function(f, err); |
|
37f49d0ad22c
util.envload: Add basic test of envload()
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
14 local ok, ret = pcall(f); |
|
37f49d0ad22c
util.envload: Add basic test of envload()
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
15 assert.truthy(ok); |
|
37f49d0ad22c
util.envload: Add basic test of envload()
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
16 assert.equal("yes, this one", ret); |
|
37f49d0ad22c
util.envload: Add basic test of envload()
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
17 |
|
37f49d0ad22c
util.envload: Add basic test of envload()
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
18 end); |
|
37f49d0ad22c
util.envload: Add basic test of envload()
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
19 |
|
37f49d0ad22c
util.envload: Add basic test of envload()
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
20 end) |
|
37f49d0ad22c
util.envload: Add basic test of envload()
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
21 -- TODO envloadfile() |
|
37f49d0ad22c
util.envload: Add basic test of envload()
Kim Alvefur <zash@zash.se>
parents:
diff
changeset
|
22 end) |
