http://www.mail-archive.com/perl-qa@perl.org/msg06865.html

has the previous round on this topic. My memory is hazy but my view
was that people are using TODO in strange ways and making this a
failure would break that. The strange way I remember (and has been
brought up again by Chris Dolan) is related to dealing with external
modules that are broken.

The idea is that you mark a test TODO when it  depends on an external
module whose latest version is broken. To me, this seems far better
handled by checking if the external dep is working correctly or not
and if not, SKIPing the affected tests.

One of the supposed benefits of using TODO is that you will notice
when the external module has been fixed. That's reasonable but I don't
see a need to inflict the confusion of unexpectedly passing tests on
all your users to achieve this. You could do that with a
developer-only test and that test should also be sent to the
maintainer of the broken module.

Another downside of using TODO like this is that when the external
module is fixed, you have to release a new version of your module with
the TODOs removed. These tests will start failing for anyone who
upgrades your module but not broken one but in reality nothing has
changed for that user, the installed modules are still identical but
the tests that were considered "ok to fail" have now morphed into
"must pass".

Again this is avoided by simply skipping the tests if you find the
well-known breakage in the external module.

So I agree with you but a lot of other people don't,

F

On 02/12/2007, nadim khemir <[EMAIL PROTECTED]> wrote:
> The subject says it all. IE:
>
> All tests successful (2 subtests UNEXPECTEDLY SUCCEEDED), 7 tests skipped.
> Passed TODO     Stat Wstat TODOs Pass  List of Passed
> -------------------------------------------------------------------------------
> t/20_policies.t               15    2  578 583
>
> (nice reporting though)
>
> Nadim.
>

Reply via email to