Add a test suite for seq.
[oweals/busybox.git] / testsuite / seq.tests
1 #!/bin/sh
2
3 # SUSv3 compliant seq tests.
4 # Copyright 2006 by Rob Landley <rob@landley.net>
5 # Licensed under GPL v2, see file LICENSE for details.
6
7 # AUDIT: Full SUSv3 coverage (except internationalization).
8
9 [ -z "$COMMAND" ] && COMMAND=seq
10 . testing.sh
11
12 # testing "test name" "options" "expected result" "file input" "stdin"
13 #   file input will be file called "input"
14 #   test can create a file "actual" instead of writing to stdout
15
16 # Test exit status
17
18 testing "seq (exit with error)" "2> /dev/null || echo yes" "yes\n" "" ""
19 testing "seq (exit with error)" "1 2 3 4 2> /dev/null || echo yes" "yes\n" "" ""
20 testing "seq one argument" "3" "1\n2\n3\n" "" ""
21 testing "seq two arguments" "5 7" "5\n6\n7\n" "" ""
22 testing "seq two arguments reversed" "7 5" "" "" ""
23 testing "seq count up by 2" "4 2 8" "4\n6\n8\n" "" ""
24 testing "seq count down by 2" "8 -2 4" "8\n6\n4\n" "" ""
25 testing "seq count wrong way #1" "4 -2 8" "" "" ""
26 testing "seq count wrong way #2" "8 2 4" "" "" ""
27 testing "seq count by .3" "3 .3 4" "3\n3.3\n3.6\n3.9\n" "" ""
28 testing "seq count by -.9" ".7 -.9 -2.2" "0.7\n-0.2\n-1.1\n-2\n" "" ""
29 testing "seq count by zero" "4 0 8" "" "" ""
30
31 exit $FAILCOUNT