**seq**(1) acceptance tests

The Subplot project

2022-12-07 14:12

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 No numbers

Requirement: If seq is run with the argument 0, it writes nothing.

when I run seq 0
then stdout is exactly ""
and stderr is exactly ""

4 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\n"
and stderr is exactly ""

5 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
and stdout is exactly "1\n2\n3\n"
and stderr is exactly ""

6 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
and stdout is exactly ""
and stderr says fish is invalid