title: "seq(1) acceptance tests" author: The Subplot project bindings:
- lib/runcmd.yaml
- seq-extras.yaml
impls:
rust:
- seq-extras.rs ...
1 Introduction
seq(1) is a Unix command line tool that produces numbers 1, 2,
etc, up until a count given by the user. For example, if the user runs
seq 3
, the output has the numbers 1, 2, and 3, one per line.
2 No arguments
Requirement: If seq
is run without arguments, it reports an error.
when I try to run seq
then exit code is 1
3 One number
Requirement: If seq
is run with the argument 1, it writes one line,
with the number 1.
when I run seq 1
then stdout is exactly "1
"
then stderr is exactly ""
4 More than one number
Requirement: If seq
is run with the argument 3, it writes three lines,
one with the number 1, one with 2, and one with 3.
when I run seq 3
then stdout has 3 lines
then stdout is exactly "1
2
3
"
then stderr is exactly ""
5 Not a number
Requirement: If seq
is run with a non-numerical argument, it writes nothing
to stdout, and an error message to stderr.
when I try to run seq fish
then command fails
then stdout is exactly ""
then stderr says fish is invalid