busybox/testsuite/seq.tests

32 lines
1.2 KiB
Bash
Executable File

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