"flush, marker absent",
"echo: done\n",
}, log.Events())
+
require.FileExists(t, filepath.Join(dir, "ran"))
}
output string
}{
{
- name: "working directory",
+ name: "runs in the configured working directory",
command: "pwd",
output: dir + "\n",
},
{
- name: "error output and exit status",
+ name: "returns both streams and the failed exit status",
command: "echo out; echo err >&2; exit 3",
output: "out\nerr\n\n[exit status 3]",
},
{
- name: "no output",
+ name: "marks an empty successful output",
command: "true",
output: "(no output)",
},
{
- name: "no input",
+ name: "closes standard input without user input",
command: "cat",
output: "(no output)",
},
output string
}{
{
- name: "one message whole",
+ name: "returns one message without shortening it",
arguments: `{"id":2,"n":1}`,
output: "user: two",
},
output: "0+2|user: zero user: one\n2+2|user: two user: three",
},
{
- name: "an id that is not a multiple of n",
+ name: "rejects an unaligned line ID",
arguments: `{"id":1,"n":2}`,
output: "error: line 1+2 does not exist: n must be a power of 2 and id a multiple of n",
},
{
- name: "a line past the last message",
+ name: "rejects a line beyond the chat",
arguments: `{"id":4,"n":4}`,
output: "error: line 4+4 goes past the last message, 3",
},