diff options
Diffstat (limited to 'usr/src/cmd/tail/tests/tailtests.sh')
| -rw-r--r-- | usr/src/cmd/tail/tests/tailtests.sh | 141 |
1 files changed, 141 insertions, 0 deletions
diff --git a/usr/src/cmd/tail/tests/tailtests.sh b/usr/src/cmd/tail/tests/tailtests.sh new file mode 100644 index 0000000000..57ec1c46cc --- /dev/null +++ b/usr/src/cmd/tail/tests/tailtests.sh @@ -0,0 +1,141 @@ +#!/bin/bash +# +# +# This file and its contents are supplied under the terms of the +# Common Development and Distribution License ("CDDL"), version 1.0. +# You may only use this file in accordance with the terms of version +# 1.0 of the CDDL. +# +# A full copy of the text of the CDDL should have accompanied this +# source. A copy is of the CDDL is also available via the Internet +# at http://www.illumos.org/license/CDDL. +# + +# +# Copyright 2010 Chris Love. All rights reserved. +# + + +# +# Test cases for 'tail', some based on CoreUtils test cases (validated +# with legacy Solaris 'tail' and/or xpg4 'tail') +# +PROG=/usr/bin/tail + +case $1 in + -x) + PROG=/usr/xpg4/bin/tail + ;; + -o) + PROG=$2 + ;; + -?) + echo "Usage: tailtests.sh [-x][-o <override tail executable>]" + exit 1 + ;; +esac + +echo "Using $PROG" + +o=`echo -e "bcd"` +a=`echo -e "abcd" | $PROG +2c` +[[ "$a" != "$o" ]] && echo "Fail test 1 - $a" + +o=`echo -e ""` +a=`echo "abcd" | $PROG +8c` +[[ "$a" != "$o" ]] && echo "Fail test 2 - $a" + +o=`echo -e "abcd"` +a=`echo "abcd" | $PROG -9c` +[[ "$a" != "$o" ]] && echo "Fail test 3 - $a" + +o=`echo -e "x"` +a=`echo -e "x" | $PROG -1l` +[[ "$a" != "x" ]] && echo "Fail test 4 - $a" + +o=`echo -e "\n"` +a=`echo -e "x\ny\n" | $PROG -1l` +[[ "$a" != "$o" ]] && echo "Fail test 5 - $a" + +o=`echo -e "y\n"` +a=`echo -e "x\ny\n" | $PROG -2l` +[[ "$a" != "$o" ]] && echo "Fail test 6 - $a" + +o=`echo -e "y"` +a=`echo -e "x\ny" | $PROG -1l` +[[ "$a" != "$o" ]] && echo "Fail test 7 - $a" + +o=`echo -e "x\ny\n"` +a=`echo -e "x\ny\n" | $PROG +1l` +[[ "$a" != "$o" ]] && echo "Fail test 8 - $a" + +o=`echo -e "y\n"` +a=`echo -e "x\ny\n" | $PROG +2l` +[[ "$a" != "$o" ]] && echo "Fail test 9 - $a" + +o=`echo -e "x"` +a=`echo -e "x" | $PROG -1` +[[ "$a" != "$o" ]] && echo "Fail test 10 - $a" + +o=`echo -e "\n"` +a=`echo -e "x\ny\n" | $PROG -1` +[[ "$a" != "$o" ]] && echo "Fail test 11 - $a" + +o=`echo -e "y\n"` +a=`echo -e "x\ny\n" | $PROG -2` +[[ "$a" != "$o" ]] && echo "Fail test 12 - $a" + +o=`echo -e "y"` +a=`echo -e "x\ny" | $PROG -1` +[[ "$a" != "$o" ]] && echo "Fail test 13 - $a" + +o=`echo -e "x\ny\n"` +a=`echo -e "x\ny\n" | $PROG +1` +[[ "$a" != "$o" ]] && echo "Fail test 14 - $a" + +o=`echo -e "y\n"` +a=`echo -e "x\ny\n" | $PROG +2` +[[ "$a" != "$o" ]] && echo "Fail test 15 - $a" + +# For compatibility with Legacy Solaris tail this should also work as '+c' +o=`echo -e "yyz"` +a=`echo -e "xyyyyyyyyyyz" | $PROG +10c` +[[ "$a" != "$o" ]] && echo "Fail test 16 - $a" + +o=`echo -e "yyz"` +a=`echo -e "xyyyyyyyyyyz" | $PROG +c` +[[ "$a" != "$o" ]] && echo "Fail test 16a - $a" + + +# For compatibility with Legacy Solaris tail this should also work as '+l' +o=`echo -e "y\ny\nz"` +a=`echo -e "x\ny\ny\ny\ny\ny\ny\ny\ny\ny\ny\nz" | $PROG +10l` +[[ "$a" != "$o" ]] && echo "Fail test 17 - $a" + +o=`echo -e "y\ny\nz"` +a=`echo -e "x\ny\ny\ny\ny\ny\ny\ny\ny\ny\ny\nz" | $PROG +l` +[[ "$a" != "$o" ]] && echo "Fail test 17a - $a" + + +# For compatibility with Legacy Solaris tail this should also work as '-l' +o=`echo -e "y\ny\ny\ny\ny\ny\ny\ny\ny\nz"` +a=`echo -e "x\ny\ny\ny\ny\ny\ny\ny\ny\ny\ny\nz" | $PROG -10l` +[[ "$a" != "$o" ]] && echo "Fail test 18 - $a" + +o=`echo -e "y\ny\ny\ny\ny\ny\ny\ny\ny\nz"` +a=`echo -e "x\ny\ny\ny\ny\ny\ny\ny\ny\ny\ny\nz" | $PROG -l` +[[ "$a" != "$o" ]] && echo "Fail test 18a - $a" + +o=`echo -e "c\nb\na"` +a=`echo -e "a\nb\nc" | $PROG -r` +[[ "$a" != "$o" ]] && echo "Fail test 19 - $a" + + +echo "Completed" + +exit 0 + +# Template for additional test cases +#o=`echo -e ""` +#a=`echo -e "" | $PROG ` +#[[ "$a" != "$o" ]] && echo "Fail test - $a" |
