aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--test/README7
-rw-r--r--test/test-lib.sh18
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'