Implement testcase rewrite: Connectivity01 and Connectivity02 + remove Basic04#1143
Implement testcase rewrite: Connectivity01 and Connectivity02 + remove Basic04#11436 commits merged into
Conversation
marc-vanderwal
left a comment
There was a problem hiding this comment.
There are some minor issues.
That being said, I’ve compared both connectivity01 and connectivity02 functions in their new states and the only difference I see is the transport protocol (TCP vs. UDP) in use. Maybe there is an opportunity to be seized for deduplicating the code?
|
By the way, your comment about missing test cases reminds me of #905. |
|
Can implementation of zonemaster/zonemaster#1099 be included in this PR too? It is only to remove Basic04. If so, I will merge it. |
|
@PNAX, can implementation of zonemaster/zonemaster#1099 be included in this PR too? It is only to remove Basic04. If so, I will merge it. |
Yes, see 5860ffa |
I have now merged zonemaster/zonemaster#1099. Can you update the description of this PR with a reference to zonemaster/zonemaster#1099 too? |
|
Inconsistent behavior between IPv4/v6. |
This inconsistency lies within the resolution and is the result of querying A and then AAAA records (and looping in the same order). This is not related to this PR. |
The tested domain, iis.se, has both IPv4 and IPv6 name server. When running Connectivity01 from this PR, why does Zonemaster output SKIP_IPV4_DISABLED when IPv4 is disabled but not SKIP_IPV6_DISABLED when IPv6 is disabled? And the same thing for Connectivity02. |
This is related to how Zonemaster proceeds with the resolution: A records have precedence over AAAA records. Such messages are displayed during DNS tree traversal only and not while testing the zone configuration, (see Zone.pm (develop/4ca9539b)). This behavior is present in develop (grepping with some context): |
Spectification has been updated, see zonemaster/zonemaster#1097
Spectification has been updated, see zonemaster/zonemaster#1098
Very true. I've refactored the code in that way. To all reviewers, hopefully I've addressed everything. |
tgreenx
left a comment
There was a problem hiding this comment.
Few comments other than that LGTM
| my ( $class, $zone ) = @_; | ||
| push my @results, info( TEST_CASE_START => { testcase => (split /::/, (caller(0))[3])[-1] } ); | ||
| my $query_type = q{SOA}; | ||
| sub _connectivity_loop { |
There was a problem hiding this comment.
Add an entry for that method in the documentation part of this file
marc-vanderwal
left a comment
There was a problem hiding this comment.
Looks good to me.
|
@tgreenx, could you re-review this? |
|
@PNAX, please merge. |
|
Unit tests pass. Additionally, I was able to elicit some of the more elusive messages (such as |
Purpose
Implementation of updated testcase specification for Connectivity01 (zonemaster/zonemaster#1097) and Connectivity02 (zonemaster/zonemaster#1098)
Remove Basic04 (zonemaster/zonemaster#1099).
Context
Addresses #1136 and #1137 and #905
Changes
How to test this PR
Should match specification and tests should pass (btw it would be nice to have more unit test with broken name servers).