On Tue, 01 Oct 2013 23:13:34 +0200, Marc Lehmann <[email protected]> wrote:

On Tue, Oct 01, 2013 at 10:41:14PM +0200, Christian Walde <[email protected]> wrote:
Test fails are meant to indicate a failure with the distribution itself,
not incompatibilities with a broken environment. As such the current test FAIL is a mis-signal, since there is no actual fault in the AE code.

That doesn't make any sense - according to your logic, the tests should
also succeed if the computer has bad ram, or perl has a bug that randomly
corrupts memory.

While it is not the job of tests to signal problems outside of it, it's
also not the job of the tests to work around broken configurations and
pretend everything is fine when it isn't.

You're right, not all system breakages can be or can be expected to be
detected and worked around by tests. I was describing the intent of the
cpantesters infrastructure and why i believe that your specific test is an
ideal case that can do this.

Since this kind of breakage is easily detected

How would you dteect the breakage? All your proposed is hardcoding OpenDNS servers somehow. That doesn't detect any breakage.

My first thoughts on this were naive, but in the meantime i've picked up
better ideas on the matter. A very simple way of testing for a DNS service
that returns bogus results instead of failing properly would simply be this:

    SKIP: {
        $ENV{PERL_ANYEVENT_HOSTS} = File::Spec->devnull;

        skip "DNS returns bogus results", 2 if resolved $test_host;

        $ENV{PERL_ANYEVENT_HOSTS} = $hosts_file;

        is resolved $test_host, $test_addr, 'resolved on first attempt';
        is resolved $test_host, $test_addr, 'resolved on second attempt';
    };

--
With regards,
Christian Walde

_______________________________________________
anyevent mailing list
[email protected]
http://lists.schmorp.de/mailman/listinfo/anyevent

Reply via email to