diff options
author | Carl Worth <cworth@cworth.org> | 2010-10-22 17:01:34 -0700 |
---|---|---|
committer | Carl Worth <cworth@cworth.org> | 2010-10-22 17:01:34 -0700 |
commit | 6307f306fd162cae12a39df3f291ecba2823fc58 (patch) | |
tree | 00c5c35250fba8c08ad0f316b54c9443e9c333b3 | |
parent | 4bb1b1603c416c167459203fd2bd0fe94518bacb (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/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' |