BIND 10 #2853: Python wrapper of data source extensions
BIND 10 Development
do-not-reply at isc.org
Thu Jun 6 16:53:48 UTC 2013
#2853: Python wrapper of data source extensions
-------------------------------------+-------------------------------------
Reporter: jinmei | Owner:
Type: task | UnAssigned
Priority: medium | Status:
Component: data source | reviewing
Keywords: | Milestone:
Sensitive: 0 | Sprint-20130611
Sub-Project: DNS | Resolution:
Estimated Difficulty: 5 | CVSS Scoring:
Total Hours: 0 | Defect Severity: N/A
| Feature Depending on Ticket:
| shared memory data source
| Add Hours to Ticket: 0
| Internal?: 0
-------------------------------------+-------------------------------------
Comment (by jinmei):
You should at least need b3befd1.
In my case the original code indeed segfaulted, and b3befd1 fixed it.
Even if not for you, this fix itself is necessary, and, it seems to
reveal a couple of meta issues:
- I suspect you should have seen something like this:
{{{
ERROR: test_find_mapped (__main__.ClientListTest)
----------------------------------------------------------------------
Traceback (most recent call last):
File
"/Users/jinmei/src/isc/git/bind10-2853/src/lib/python/isc/datasrc/tests/clientlist_test0.py",
line 61, in test_find_mapped
result[1].load()
SystemError: error return without exception set
}}}
which should have suggested the source cause of the issue.
- This type of programming errors should normally be caught by
compilers with our default warning settings, and I then noticed
its Makefile is missing these settings.
For the second issue, the attached patch should recover the expected
settings. But there seem to be other warnings in the wrapper library,
so I'm not committing it right now. They are probably easy to fix,
in which case we should probably fix them in this task. We should
also check other Makefiles (at least for Python wrappers) to see if
there's any such misconfiguration.
And one other thing I've noticed: (IMO) pydoc should generally be as
detailed as the original C++ API documentation. From a quick look, it
largely misses information in the original doc. You seem to copy some
part of the C++ doc by hand, cutting much of it. It has some obvious
drawbacks: it can easily be incomplete; still it's time consuming;
it's more easy to cause discrepancy between the original and wrapper
doc over time.
I suggest you use the doxygen2pydoc.py tool available under
src/lib/util/python/ of the "trac933preview" branch.
p.s. please do not return the ticket to me (yet). I've just looked
into it for the urgent issue of crash for now.
--
Ticket URL: <http://bind10.isc.org/ticket/2853#comment:7>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development
More information about the bind10-tickets
mailing list