DESCRIPTION

You hate failing tests, you get a set of test results per perl version by yourself, and also gathered by cpantesters. So you can mark all failing tests as TODO check tickets, and release a new version, where all tests pass. Great! Error free software.

Really, for more complicated XS modules with some randomly failing tests you need to keep TODO lists uptodate. Just to see regressions.

This modules was written to unify test results of the perl compiler B::C, you will get tired to mark TODO tests manually after each feature change or added platform or perl version you are testing against. It will give you insights which feature might cause the damage. You can e.g. mark tests with any feature name and check them with this module.

Test::TAP::Unify reads the output of make test (TAP results), detects features by various methods, e.g. the filename where make test is logged to, or the test comments and tries to find the minmal set of failing tests per feature. The shortest set of feature-fail combination. Since you have an arbitrary long list of features - typically: version, threads, os, debugging, cc - producing this set is not trivial.

The sets can be printed as matrix, or as code, lists of @TODO with added feature logic. Each test is indexed by number 1..plan.