mirror of
https://github.com/sheumann/hush.git
synced 2024-12-22 14:30:31 +00:00
testsuite: add tests for cut and grep;
slight improvements to infrastructure
This commit is contained in:
parent
ed270a5f32
commit
4e1e720523
19
testsuite/cut.tests
Normal file
19
testsuite/cut.tests
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# grep tests.
|
||||||
|
# Copyright 2007 by Denys Vlasenko <vda.linux@googlemail.com>
|
||||||
|
# Licensed under GPL v2, see file LICENSE for details.
|
||||||
|
|
||||||
|
. 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
|
||||||
|
|
||||||
|
testing "cut '-' (stdin) and multi file handling" \
|
||||||
|
"cut -d' ' -f2 - input" \
|
||||||
|
"over\n""quick\n" \
|
||||||
|
"the quick brown fox\n" \
|
||||||
|
"jumps over the lazy dog\n" \
|
||||||
|
|
||||||
|
exit $FAILCOUNT
|
@ -29,9 +29,10 @@ testing "grep input (specify file)" "grep two input" "two\n" \
|
|||||||
|
|
||||||
testing "grep (no newline at EOL)" "grep bug" "bug" "bug" ""
|
testing "grep (no newline at EOL)" "grep bug" "bug" "bug" ""
|
||||||
|
|
||||||
# Note that this assumes actual is empty.
|
>empty
|
||||||
testing "grep input actual (two files)" "grep two input actual 2> /dev/null" \
|
testing "grep two files" "grep two input empty 2>/dev/null" \
|
||||||
"input:two\n" "one\ntwo\nthree\nthree\nthree\n" ""
|
"input:two\n" "one\ntwo\nthree\nthree\nthree\n" ""
|
||||||
|
rm empty
|
||||||
|
|
||||||
testing "grep - infile (specify stdin and file)" "grep two - input" \
|
testing "grep - infile (specify stdin and file)" "grep two - input" \
|
||||||
"(standard input):two\ninput:two\n" "one\ntwo\nthree\n" \
|
"(standard input):two\ninput:two\n" "one\ntwo\nthree\n" \
|
||||||
@ -73,6 +74,8 @@ testing "grep matches NUL" "grep . input > /dev/null 2>&1 ; echo \$?" \
|
|||||||
# -e regex
|
# -e regex
|
||||||
testing "grep handles multiple regexps" "grep -e one -e two input ; echo \$?" \
|
testing "grep handles multiple regexps" "grep -e one -e two input ; echo \$?" \
|
||||||
"one\ntwo\n0\n" "one\ntwo\n" ""
|
"one\ntwo\n0\n" "one\ntwo\n" ""
|
||||||
|
testing "grep -F handles multiple expessions" "grep -F -e one -e two input ; echo \$?" \
|
||||||
|
"one\ntwo\n0\n" "one\ntwo\n" ""
|
||||||
|
|
||||||
optional FEATURE_GREP_EGREP_ALIAS
|
optional FEATURE_GREP_EGREP_ALIAS
|
||||||
testing "grep -E supports extended regexps" "grep -E fo+" "foo\n" "" \
|
testing "grep -E supports extended regexps" "grep -E fo+" "foo\n" "" \
|
||||||
|
@ -127,7 +127,7 @@ for applet in $applets; do
|
|||||||
echo "SKIPPED: $applet (not built)"
|
echo "SKIPPED: $applet (not built)"
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
if PATH="$LINKSDIR":$tsdir:$bindir:$PATH \
|
if PATH="$LINKSDIR:$tsdir:$bindir:$PATH" \
|
||||||
"${tsdir:-.}/$applet".tests
|
"${tsdir:-.}/$applet".tests
|
||||||
then
|
then
|
||||||
:
|
:
|
||||||
@ -137,5 +137,11 @@ for applet in $applets; do
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
done
|
done
|
||||||
rm -rf "$LINKSDIR"
|
|
||||||
|
# Leaving the dir makes it somewhat easier to run failed test by hand
|
||||||
|
#rm -rf "$LINKSDIR"
|
||||||
|
|
||||||
|
if [ $status != 0 -a x"$VERBOSE" = x ]; then
|
||||||
|
echo "Failures detected, running with VERBOSE=1 will give more info"
|
||||||
|
fi
|
||||||
exit $status
|
exit $status
|
||||||
|
@ -58,7 +58,7 @@ testing()
|
|||||||
|
|
||||||
if [ $# -ne 5 ]
|
if [ $# -ne 5 ]
|
||||||
then
|
then
|
||||||
echo "Test $NAME has the wrong number of arguments ($# $*)" >&2
|
echo "Test $NAME has wrong number of arguments (must be 5) ($# $*)" >&2
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user