BIND 10 #1213: Implement IXFR system tests
BIND 10 Development
do-not-reply at isc.org
Mon Oct 10 18:47:11 UTC 2011
#1213: Implement IXFR system tests
-------------------------------------+-------------------------------------
Reporter: | Owner: vorner
stephen | Status: reviewing
Type: task | Milestone:
Priority: | Sprint-20111011
critical | Resolution:
Component: xfrin | Sensitive: 0
Keywords: | Sub-Project: DNS
Defect Severity: N/A | Estimated Difficulty: 7
Feature Depending on Ticket: | Total Hours: 0
Add Hours to Ticket: 0 |
Internal?: 0 |
-------------------------------------+-------------------------------------
Changes (by stephen):
* owner: stephen => vorner
Comment:
> Anyway, first point ‒ did we decide we will use this shell way? Because
it's still hard to read and follow (it's not your fault, it's fundamental
problem of the framework). I think we talked about some cucumbers or
something. Or are we using the shell just for now, until we start using
the cucumber?
Cucumber is a long-term aim. We have not yet decided on the test
framework, so the tests have been added to the current framework which is
written in Bourne shell.
> There are bunch of really long zones. Could they maybe get generated (at
last the long middle part) somehow instead of storing (and distributing)
the boring part four times?
b10-loadzone currently doesn't support the $GENERATE directive. However,
I have updated the files so that the "boring part" :-) is included via a
$INCLUDE directive.
> Why do the zones have a .db suffix? Can't that be confused with our
config files, which are also .db? Other test zone usually have .zone.
I followed the naming convention for zone files in the other
subdirectories of test/system, which use the .db suffix. However, you are
right, so I've renamed the files to follow the convention used in Cricket
Liu's "DNS and BIND" book, which use "db.<zone-name>".
> Some files don't have updated years in their legal disclaimers. Does it
matter?
Altered. As most of these are new files, I've replaced the header.
>This code looks long:
>for i in 1 2 3 4 5 6 7 8 9 10 11 12
>Why aren't you using seq?
... because I'm rusty at shell programming. Changed.
>Also, there's a lot of error-checking. Wouldn't set -e help at some
places?
Yes it would. Done.
> The fourth test has IXFR disabled in configuration, but the description
says it should check the client performs IXFR. This might be slightly
confusing, maybe say it should try IXFR and fallback to AXFR?
The documentation there was confusing there and has been corrected. The
IXFR server has IXFRs enabled; the test is that the client sends an IXFR
request when its SOA refresh time is reached.
> You check only the SOA of zones transfered. Should the other data be
also checked?
I was assuming that if the SOA was updated the zone had been transferred.
On reflection though, there is no other system test that checks the
transfer, so I've updated the tests to perform that check.
> A lot of the named.conf and similar files are the same for multiple
tests. Is there a chance to share them instead of keeping multiple copies?
Git handles symlinks…
Good point. (I never knew that git could handle symlinks...)
Many of the .conf files are copied during the tests, I've put them all in
the main ixfr directory and they are copied from there. Doing that has
meant that all the clean.sh files are now identical, so I've done as
you've suggested and added symlinks.
> Some strange things in comments:
Corrected.
'''Other Things'''[[BR]]
As the current implementation of IXFR:
* Does not support IXFR-out
* Does not support sending an IXFR request when the SOA refresh expires
* Does not support IXFR over UDP
... I would like to change the title of this ticket to "Implement IXFR
System Tests (part)" and open tickets for:
* IXFR-out tests
* IXFR-in test for SOA refresh expiry
* IXFR-in test for UDP
* IXFR-in tests requiring special programs to be written to handle the
sending of packets to test the add/deletion order of RRs and to test the
handling of interrupted IXFR sessions (see #1210 for details).
In other words, close the ticket with what we have now and open tickets
for the remaining work (in the knowledge that some of those tickets will
be deferred until the features they test are scheduled to be implemented).
--
Ticket URL: <http://bind10.isc.org/ticket/1213#comment:11>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development
More information about the bind10-tickets
mailing list