With the function Test.Tasty.ExpectedFailure.expectFail in the provided module
Test.Tasty.ExpectedFailure, you can mark that you expect test cases to fail, and
not to pass.

This can for example be used for test-driven development: Create the tests, mark
them with Test.Tasty.ExpectedFailure.expectFail, and you can still push to the
main branch, without your continuous integration branch failing.

Once someone implements the feature or fixes the bug (maybe unknowingly), the
test suite will tell him so, due to the now unexpectedly passing test, and he
can remove the Test.Tasty.ExpectedFailure.expectFail marker.

The module also provides Test.Tasty.ExpectedFailure.ignoreTest to avoid running
a test. Both funtions are implemented via the more general
Test.Tasty.ExpectedFailure.wrapTest, which is also provided.

Homepage:
http://hackage.haskell.org/package/tasty-expected-failure
