diff options
| -rw-r--r-- | tests/include.rc | 33 | 
1 files changed, 32 insertions, 1 deletions
diff --git a/tests/include.rc b/tests/include.rc index bb541eaa1e4..de28241c2ac 100644 --- a/tests/include.rc +++ b/tests/include.rc @@ -14,7 +14,7 @@ mkdir -p $B0;  mkdir -p $M0 $M1;  mkdir -p $N0 $N1; -testcnt=`egrep '^[[:space:]]*(EXPECT|TEST|EXPECT_WITHIN|EXPECT_KEYWORD)[[:space:]]' $0 | wc -l` +testcnt=`egrep '^[[:space:]]*(EXPECT|EXPECT_NOT|TEST|EXPECT_WITHIN|EXPECT_KEYWORD)[[:space:]]' $0 | wc -l`  expect_tests=`egrep '^[[:space:]]*TESTS_EXPECTED_IN_LOOP[[:space:]]*' $0`  x_ifs=$IFS @@ -71,6 +71,7 @@ function test_expect_footer()                  err="Got \"$a\" instead of \"$e\""          fi          [[ "x${e}" == "x${a}" ]]; +          test_footer "$err";  } @@ -89,6 +90,35 @@ function _EXPECT()  	test_expect_footer "$e" "$a";  } +function test_expect_not_footer() +{ +        local e=$1 +        local a=$2 +        local err="" + +        if [ "x${e}" == "x${a}" ]; then +                err="Got \"$a\" when not expecting it" +        fi + +        [[ "x${e}" != "x${a}" ]]; +        test_footer "$err"; +} + +function _EXPECT_NOT() +{ +	TESTLINE=$1; +	shift; +        local a="" + +	test_header "$@"; + +	e="$1"; +	shift; +	a=$("$@" | tail -1) + +	test_expect_not_footer "$e" "$a"; +} +  function _EXPECT_KEYWORD()  {  	TESTLINE=$1; @@ -238,6 +268,7 @@ function process_leak_count ()  }  alias EXPECT='_EXPECT $LINENO' +alias EXPECT_NOT='_EXPECT_NOT $LINENO'  alias TEST='_TEST $LINENO'  alias EXPECT_WITHIN='_EXPECT_WITHIN $LINENO'  alias EXPECT_KEYWORD='_EXPECT_KEYWORD $LINENO'  | 
