diff options
-rw-r--r-- | test/README | 7 | ||||
-rw-r--r-- | test/test-lib.sh | 18 |
2 files changed, 25 insertions, 0 deletions
diff --git a/test/README b/test/README index 1a5b5167..ebaa3cfd 100644 --- a/test/README +++ b/test/README @@ -147,6 +147,13 @@ library for your script to use. will generate a failure and print the difference of the two strings. + test_expect_equal_failure <output> <expected> + + This works similar to test_expect_equal (see above) but is used to + mark a test that demonstrates a known breakage, (that is, the + author of the test expectes "output" and "expected" to differ until + the breakage is fixed). See test_expect_failure for details. + test_debug <script> This takes a single argument, <script>, and evaluates it only diff --git a/test/test-lib.sh b/test/test-lib.sh index f67fbd1b..6c9c93eb 100644 --- a/test/test-lib.sh +++ b/test/test-lib.sh @@ -414,6 +414,24 @@ test_expect_equal () fi } +test_expect_equal_failure () +{ + test "$#" = 3 && { prereq=$1; shift; } || prereq= + test "$#" = 2 || + error "bug in the test script: not 2 or 3 parameters to test_expect_equal" + + output="$1" + expected="$2" + if ! test_skip "$@" + then + if [ "$output" = "$expected" ]; then + test_known_broken_ok_ "$test_subtest_name" + else + test_known_broken_failure_ "$test_subtest_name" + fi + fi +} + NOTMUCH_NEW () { notmuch new | grep -v -E -e '^Processed [0-9]*( total)? file|Found [0-9]* total file' |