Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Octocat-spinner-32-eaf2f5

Cannot retrieve contributors at this time

file 90 lines (74 sloc) 1.153 kb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89
# we don't quote $TEXT in case it contains newlines; newlines
# aren't allowed in test output. However, we set -f so that
# at least shell glob characters aren't processed.
_textclean()
{
( set -f; echo $* )
}

_wvcheck()
{
CODE="$1"
TEXT=$(_textclean "$2")
OK=ok
if [ "$CODE" -ne 0 ]; then
OK=FAILED
fi
echo "! ${BASH_SOURCE[2]}:${BASH_LINENO[1]} $TEXT $OK" >&2
if [ "$CODE" -ne 0 ]; then
exit $CODE
else
return 0
fi
}


WVPASS()
{
TEXT="$*"

if "$@"; then
_wvcheck 0 "$TEXT"
return 0
else
_wvcheck 1 "$TEXT"
# NOTREACHED
return 1
fi
}


WVFAIL()
{
TEXT="$*"

if "$@"; then
_wvcheck 1 "NOT($TEXT)"
# NOTREACHED
return 1
else
_wvcheck 0 "NOT($TEXT)"
return 0
fi
}


_wvgetrv()
{
( "$@" >&2 )
echo -n $?
}


WVPASSEQ()
{
WVPASS [ "$#" -eq 2 ]
echo "Comparing:" >&2
echo "$1" >&2
echo "--" >&2
echo "$2" >&2
_wvcheck $(_wvgetrv [ "$1" = "$2" ]) "'$1' = '$2'"
}


WVPASSNE()
{
WVPASS [ "$#" -eq 2 ]
echo "Comparing:" >&2
echo "$1" >&2
echo "--" >&2
echo "$2" >&2
_wvcheck $(_wvgetrv [ "$1" != "$2" ]) "'$1' != '$2'"
}


WVSTART()
{
echo >&2
echo "Testing \"$*\" in ${BASH_SOURCE[1]}:" >&2
}
Something went wrong with that request. Please try again.