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