aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Carl Worth <cworth@cworth.org>2010-10-22 17:01:34 -0700
committerGravatar Carl Worth <cworth@cworth.org>2010-10-22 17:01:34 -0700
commit6307f306fd162cae12a39df3f291ecba2823fc58 (patch)
tree00c5c35250fba8c08ad0f316b54c9443e9c333b3
parent4bb1b1603c416c167459203fd2bd0fe94518bacb (diff)
test: Add a new test_expect_equal_failure
Which allows us to have a known-broken test that would otherwise use test_expect_equal.
-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'