BIND 10 #1314: IXFR-out system tests
BIND 10 Development
do-not-reply at isc.org
Wed Dec 7 02:10:05 UTC 2011
#1314: IXFR-out system tests
-------------------------------------+-------------------------------------
Reporter: | Owner: jinmei
stephen | Status: reviewing
Type: task | Milestone:
Priority: major | Sprint-20111220
Component: | Resolution:
Unclassified | Sensitive: 0
Keywords: | Sub-Project: DNS
Defect Severity: N/A | Estimated Difficulty: 7
Feature Depending on Ticket: IXFR- | Total Hours: 5
out |
Add Hours to Ticket: |
Internal?: 0 |
-------------------------------------+-------------------------------------
Comment (by jinmei):
First off, the test did not always succeed (but sometimes it
succeeded). I often saw this:
{{{
When I do an IXFR transfer of example.com 14 over tcp
# features/terrain/transfer.py:81
The transfer result should have 14 RRs
# features/terrain/transfer.py:107
Traceback (most recent call last):
File "/Library/Python/2.6/site-
packages/lettuce-0.1.33-py2.6.egg/lettuce/core.py", line 117, in __call__
ret = self.function(self.step, *args, **kw)
File
"/Users/jinmei/src/isc/git/bind10-1314/tests/lettuce/features/terrain/transfer.py",
line 119, in check_transfer_result_count
" records, expected " + str(number_of_rrs)
AssertionError: Got 0 records, expected 14
}}}
And, when it failed, I found this in lettuce/output/IXFR...stderr:
{{{
Traceback (most recent call last):
File "/Users/jinmei/src/isc/git/bind10-1314/src/bin/xfrout/b10-xfrout",
line 1008, in <module>
xfrout_server = XfroutServer()
File "/Users/jinmei/src/isc/git/bind10-1314/src/bin/xfrout/b10-xfrout",
line 896, in __init__
self._cc.start()
File
"/Users/jinmei/src/isc/git/bind10-1314/src/lib/python/isc/config/ccsession.py",
line 210, in start
self.__send_spec()
File
"/Users/jinmei/src/isc/git/bind10-1314/src/lib/python/isc/config/ccsession.py",
line 370, in __send_spec
answer, env = self._session.group_recvmsg(False, seq)
File
"/Users/jinmei/src/isc/git/bind10-1314/src/lib/python/isc/cc/session.py",
line 266, in group_recvmsg
env, msg = self.recvmsg(nonblock, seq)
File
"/Users/jinmei/src/isc/git/bind10-1314/src/lib/python/isc/cc/session.py",
line 121, in recvmsg
data = self._receive_full_buffer(nonblock)
File
"/Users/jinmei/src/isc/git/bind10-1314/src/lib/python/isc/cc/session.py",
line 203, in _receive_full_buffer
self._receive_len_data()
File
"/Users/jinmei/src/isc/git/bind10-1314/src/lib/python/isc/cc/session.py",
line 163, in _receive_len_data
new_data = self._receive_bytes(self._recv_len_size)
File
"/Users/jinmei/src/isc/git/bind10-1314/src/lib/python/isc/cc/session.py",
line 151, in _receive_bytes
raise ProtocolError("Read of 0 bytes: connection closed")
isc.cc.session.ProtocolError: Read of 0 bytes: connection closed
}}}
(This exception itself seems to be a kind of bug but that aside) This
seems to suggest that b10-xfrout did not fully start up when the IXFR
query was made. If that always succeeds in your environment, maybe
you can try it with adding some intentional delay (e.g.) between
these:
{{{
set_signal_handler()
xfrout_server = XfroutServer()
}}}
If my guess is correct, maybe we'll need something similar to
wait_for_auth.
Second, I made a couple of editorial fixes and pushed them.
'''lettuce/README.tutorial'''
(not a subject of this ticket but I first read the READMEs to
understand the test and noticed these)
- is this a typo? The first 'no' should be removed perhaps?
{{{
The one scenario we have no has no steps,
}}}
- s/fire of/fire off/?
{{{
This is not good enough; it will fire of the process, but setting up
}}}
'''transfer.py'''
I didn't understand what kind of magic was used for 'step.multiline'
{{{#!python
expect = re.sub("[ \t]+", " ", step.multiline)
}}}
but with common sense it looks okay.
'''ixfr_out_bind10.feature'''
I have to admit I've not read the commented out tests. The enabled
tests seem to be okay (except that they didn't always succeed as
discussed above).
--
Ticket URL: <http://bind10.isc.org/ticket/1314#comment:11>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development
More information about the bind10-tickets
mailing list