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