BIND 10 trac917, updated. 2085b2255a79c0e5a04fe457bbb228d2fa24953b [917] add an entry to ChangeLog for #917
BIND 10 source code commits
bind10-changes at lists.isc.org
Fri Nov 4 07:20:05 UTC 2011
The branch, trac917 has been updated
via 2085b2255a79c0e5a04fe457bbb228d2fa24953b (commit)
via 2d20ee347d82f840328c2bddd014cdf232962843 (commit)
via 1ff0be2456cfaf9279970ae9a30a48d6267b96cf (commit)
via 80447181a64656b97afa9ab71440907017e873f4 (commit)
via 3878aa43817deaee33b21956d3066baef77a24ce (commit)
from 6b600cb1816705b04470ba2d0aca64dfdf8f55d2 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 2085b2255a79c0e5a04fe457bbb228d2fa24953b
Author: Naoki Kambe <kambe at jprs.co.jp>
Date: Fri Nov 4 15:57:14 2011 +0900
[917] add an entry to ChangeLog for #917
commit 2d20ee347d82f840328c2bddd014cdf232962843
Author: Naoki Kambe <kambe at jprs.co.jp>
Date: Fri Nov 4 15:23:57 2011 +0900
[917] remove an unnecessary file from CLEANFILES
commit 1ff0be2456cfaf9279970ae9a30a48d6267b96cf
Author: Naoki Kambe <kambe at jprs.co.jp>
Date: Fri Nov 4 15:20:31 2011 +0900
[917] make more strict testcase for XML
commit 80447181a64656b97afa9ab71440907017e873f4
Author: Naoki Kambe <kambe at jprs.co.jp>
Date: Fri Nov 4 15:13:07 2011 +0900
[917] make more strict testcase for XSD
commit 3878aa43817deaee33b21956d3066baef77a24ce
Author: Naoki Kambe <kambe at jprs.co.jp>
Date: Fri Nov 4 13:42:42 2011 +0900
[917] make more strict testcase for XSL
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 11 ++
src/bin/stats/tests/Makefile.am | 2 +-
src/bin/stats/tests/b10-stats-httpd_test.py | 154 ++++++++++++++++++++++-----
3 files changed, 138 insertions(+), 29 deletions(-)
-----------------------------------------------------------------------
diff --git a/ChangeLog b/ChangeLog
index 4c242db..0ec8309 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+xxx. [func] kambe
+ b10-stats-httpd was updated. In addition of the access of all
+ statistics items of all module, the specified item or the items of the
+ specified module name can be accessed. For example, the URI requested
+ by using the feature is showed as "/bind10/statistics/xml/Auth" or
+ "/bind10/statistics/xml/Auth/queries.tcp". The list of all possible
+ module names and all possible item names can be showed in the root
+ document, whose URI is "/bind10/statistics/xml". This change is not
+ only for the XML documents but also is for the XSD and XSL documents.
+ (Trac #917, git TBD)
+
305. [bug] jinmei
Python isc.dns, isc.datasrc, xfrin, xfrout: fixed reference leak
in Message.get_question(), Message.get_section(),
diff --git a/src/bin/stats/tests/Makefile.am b/src/bin/stats/tests/Makefile.am
index afd572f..01254d4 100644
--- a/src/bin/stats/tests/Makefile.am
+++ b/src/bin/stats/tests/Makefile.am
@@ -1,7 +1,7 @@
PYCOVERAGE_RUN = @PYCOVERAGE_RUN@
PYTESTS = b10-stats_test.py b10-stats-httpd_test.py
EXTRA_DIST = $(PYTESTS) test_utils.py
-CLEANFILES = test_utils.pyc msgq_socket_test
+CLEANFILES = test_utils.pyc
# If necessary (rare cases), explicitly specify paths to dynamic libraries
# required by loadable python modules.
diff --git a/src/bin/stats/tests/b10-stats-httpd_test.py b/src/bin/stats/tests/b10-stats-httpd_test.py
index 04bf7be..95ce93d 100644
--- a/src/bin/stats/tests/b10-stats-httpd_test.py
+++ b/src/bin/stats/tests/b10-stats-httpd_test.py
@@ -155,11 +155,22 @@ class TestHttpHandler(unittest.TestCase):
for m in DUMMY_DATA:
for k in DUMMY_DATA[m].keys():
self.assertIsNotNone(root.find(m + '/' + k))
+ itm = root.find(m + '/' + k)
+ if type(DUMMY_DATA[m][k]) is list:
+ for v in DUMMY_DATA[m][k]:
+ for i in v:
+ self.assertIsNotNone(itm.find('zones/' + i))
elif item is None:
for k in DUMMY_DATA[mod].keys():
self.assertIsNotNone(root.find(k))
+ itm = root.find(k)
+ if type(DUMMY_DATA[mod][k]) is list:
+ for v in DUMMY_DATA[mod][k]:
+ for i in v:
+ self.assertIsNotNone(itm.find('zones/' + i))
else:
self.assertIsNotNone(root.find(item))
+
# URL is '/bind10/statistics/xml'
check_XML_URL_PATH(mod=None, item=None)
for m in DUMMY_DATA:
@@ -183,20 +194,56 @@ class TestHttpHandler(unittest.TestCase):
self.assertEqual(response.status, 200)
root = xml.etree.ElementTree.parse(response).getroot()
url_xmlschema = '{http://www.w3.org/2001/XMLSchema}'
- tags = [ url_xmlschema + t for t in [ 'element', 'complexType', 'all', 'element' ] ]
- xsdpath = '/'.join(tags)
self.assertTrue(root.tag.find('schema') > 0)
self.assertTrue(hasattr(root, 'attrib'))
self.assertTrue('targetNamespace' in root.attrib)
self.assertEqual(root.attrib['targetNamespace'],
stats_httpd.XSD_NAMESPACE)
- for elm in root.findall(xsdpath):
- if mod is None:
- self.assertIsNotNone(elm.attrib['name'])
- self.assertTrue(elm.attrib['name'] in DUMMY_DATA)
- else:
- self.assertIsNotNone(elm.attrib['name'])
- self.assertTrue(elm.attrib['name'] in DUMMY_DATA[mod])
+ if mod is None and item is None:
+ for (mod, itm) in DUMMY_DATA.items():
+ xsdpath = '/'.join([ url_xmlschema + t for t in [ 'element', 'complexType', 'all', 'element' ] ])
+ mod_elm = dict([ (elm.attrib['name'], elm) for elm in root.findall(xsdpath) ])
+ self.assertTrue(mod in mod_elm)
+ for (it, val) in itm.items():
+ xsdpath = '/'.join([ url_xmlschema + t for t in [ 'complexType', 'all', 'element' ] ])
+ itm_elm = dict([ (elm.attrib['name'], elm) for elm in mod_elm[mod].findall(xsdpath) ])
+ self.assertTrue(it in itm_elm)
+ if type(val) is list:
+ xsdpath = '/'.join([ url_xmlschema + t for t in [ 'complexType', 'sequence', 'element' ] ])
+ itm_elm2 = dict([ (elm.attrib['name'], elm) for elm in itm_elm[it].findall(xsdpath) ])
+ self.assertTrue('zones' in itm_elm2)
+ for i in val:
+ for k in i.keys():
+ xsdpath = '/'.join([ url_xmlschema + t for t in [ 'complexType', 'all', 'element' ] ])
+ self.assertTrue(
+ k in [ elm.attrib['name'] for elm in itm_elm2['zones'].findall(xsdpath) ])
+ elif item is None:
+ for (it, val) in DUMMY_DATA[mod].items():
+ xsdpath = '/'.join([ url_xmlschema + t for t in [ 'element', 'complexType', 'all', 'element' ] ])
+ itm_elm = dict([ (elm.attrib['name'], elm) for elm in root.findall(xsdpath) ])
+ self.assertTrue(it in itm_elm)
+ if type(val) is list:
+ xsdpath = '/'.join([ url_xmlschema + t for t in [ 'complexType', 'sequence', 'element' ] ])
+ itm_elm2 = dict([ (elm.attrib['name'], elm) for elm in itm_elm[it].findall(xsdpath) ])
+ self.assertTrue('zones' in itm_elm2)
+ for i in val:
+ for k in i.keys():
+ xsdpath = '/'.join([ url_xmlschema + t for t in [ 'complexType', 'all', 'element' ] ])
+ self.assertTrue(
+ k in [ elm.attrib['name'] for elm in itm_elm2['zones'].findall(xsdpath) ])
+ else:
+ xsdpath = '/'.join([ url_xmlschema + t for t in [ 'element', 'complexType', 'all', 'element' ] ])
+ itm_elm = dict([ (elm.attrib['name'], elm) for elm in root.findall(xsdpath) ])
+ self.assertTrue(item in itm_elm)
+ if type(DUMMY_DATA[mod][item]) is list:
+ xsdpath = '/'.join([ url_xmlschema + t for t in [ 'complexType', 'sequence', 'element' ] ])
+ itm_elm2 = dict([ (elm.attrib['name'], elm) for elm in itm_elm[item].findall(xsdpath) ])
+ self.assertTrue('zones' in itm_elm2)
+ for i in DUMMY_DATA[mod][item]:
+ for k in i.keys():
+ xsdpath = '/'.join([ url_xmlschema + t for t in [ 'complexType', 'all', 'element' ] ])
+ self.assertTrue(
+ k in [ elm.attrib['name'] for elm in itm_elm2['zones'].findall(xsdpath) ])
# URL is '/bind10/statistics/xsd'
check_XSD_URL_PATH(mod=None, item=None)
@@ -225,27 +272,78 @@ class TestHttpHandler(unittest.TestCase):
self.assertEqual(root.tag, url_trans + 'stylesheet')
if item is None and mod is None:
xslpath = url_trans + 'template/' + url_xhtml + 'table/' + url_trans + 'for-each'
- for fe in root.findall(xslpath):
- self.assertTrue(fe.attrib['select'] in DUMMY_DATA)
- for vo in fe.findall(url_xhtml + 'tr/' \
- + url_xhtml + 'td/' \
- + url_xhtml + 'table/' \
- + url_xhtml + 'tr/' \
- + url_xhtml + 'td/' \
- + url_trans + 'value-of/'):
- self.assertTrue(vo.attrib['select'] in DUMMY_DATA[fe.attrib['select']])
+ mod_fe = dict([ (x.attrib['select'], x) for x in root.findall(xslpath) ])
+ for (mod, itms) in DUMMY_DATA.items():
+ self.assertTrue(mod in mod_fe)
+ for (k, v) in itms.items():
+ if type(v) is list:
+ xslpath = url_xhtml + 'tr/' + url_xhtml + 'td/' \
+ + url_xhtml + 'table/' + url_trans + 'for-each/'
+ itm_fe = dict([ (x.attrib['select'], x) for x in mod_fe[mod].findall(xslpath) ])
+ self.assertTrue(k in itm_fe)
+ for itms in v:
+ xslpath = url_xhtml + 'tr/' + url_xhtml + 'td/' \
+ + url_xhtml + 'table/' + url_trans + 'for-each/'
+ itm_fe = dict([ (x.attrib['select'], x) for x in itm_fe[k].findall(xslpath) ])
+ self.assertTrue('zones' in itm_fe)
+ for (k, v) in itms.items():
+ xslpath = url_xhtml + 'tr/' + url_xhtml + 'td/' \
+ + url_xhtml + 'table/' + url_xhtml + 'tr/' \
+ + url_xhtml + 'td/' + url_trans + 'value-of/'
+ itm_vo = [ x.attrib['select'] for x in itm_fe['zones'].findall(xslpath) ]
+ self.assertTrue(k in itm_vo)
+ else:
+ xslpath = url_xhtml + 'tr/' + url_xhtml + 'td/' \
+ + url_xhtml + 'table/' + url_xhtml + 'tr/' \
+ + url_xhtml + 'td/' + url_trans + 'value-of/'
+ itm_vo = [ x.attrib['select'] for x in mod_fe[mod].findall(xslpath) ]
+ self.assertTrue(k in itm_vo)
elif item is None:
- xslpath = url_trans + 'template/' \
- + url_xhtml + 'table/' + url_xhtml + 'tr/' + url_xhtml + 'td/' \
- + url_trans + 'value-of'
- for vo in root.findall(xslpath):
- self.assertTrue(vo.attrib['select'] in DUMMY_DATA[mod])
+ for (k, v) in DUMMY_DATA[mod].items():
+ if type(v) is list:
+ xslpath = url_trans + 'template/' + url_xhtml + 'table/' \
+ + url_trans + 'for-each/'
+ itm_fe = dict([ (x.attrib['select'], x) for x in root.findall(xslpath) ])
+ self.assertTrue(k in itm_fe)
+ for itms in v:
+ xslpath = url_xhtml + 'tr/' + url_xhtml + 'td/' \
+ + url_xhtml + 'table/' + url_trans + 'for-each/'
+ itm_fe = dict([ (x.attrib['select'], x) for x in itm_fe[k].findall(xslpath) ])
+ self.assertTrue('zones' in itm_fe)
+ for (k, v) in itms.items():
+ xslpath = url_xhtml + 'tr/' + url_xhtml + 'td/' \
+ + url_xhtml + 'table/' + url_xhtml + 'tr/' \
+ + url_xhtml + 'td/' + url_trans + 'value-of/'
+ itm_vo = [ x.attrib['select'] for x in itm_fe['zones'].findall(xslpath) ]
+ self.assertTrue(k in itm_vo)
+ else:
+ xslpath = url_trans + 'template/' + url_xhtml + 'table/' \
+ + url_xhtml + 'tr/' + url_xhtml + 'td/' + url_trans + 'value-of/'
+ itm_vo = dict([ (x.attrib['select'], x) for x in root.findall(xslpath) ])
+ self.assertTrue(k in itm_vo)
else:
- xslpath = url_trans + 'template/' \
- + url_xhtml + 'table/' + url_xhtml + 'tr/' + url_xhtml + 'td/' \
- + url_trans + 'value-of'
- for vo in root.findall(xslpath):
- self.assertEqual(vo.attrib['select'], item)
+ (k, v) = (item, DUMMY_DATA[mod][item])
+ if type(v) is list:
+ xslpath = url_trans + 'template/' + url_xhtml + 'table/' \
+ + url_trans + 'for-each/'
+ itm_fe = dict([ (x.attrib['select'], x) for x in root.findall(xslpath) ])
+ self.assertTrue(k in itm_fe)
+ for itms in v:
+ xslpath = url_xhtml + 'tr/' + url_xhtml + 'td/' \
+ + url_xhtml + 'table/' + url_trans + 'for-each/'
+ itm_fe = dict([ (x.attrib['select'], x) for x in itm_fe[k].findall(xslpath) ])
+ self.assertTrue('zones' in itm_fe)
+ for (k, v) in itms.items():
+ xslpath = url_xhtml + 'tr/' + url_xhtml + 'td/' \
+ + url_xhtml + 'table/' + url_xhtml + 'tr/' \
+ + url_xhtml + 'td/' + url_trans + 'value-of/'
+ itm_vo = [ x.attrib['select'] for x in itm_fe['zones'].findall(xslpath) ]
+ self.assertTrue(k in itm_vo)
+ else:
+ xslpath = url_trans + 'template/' + url_xhtml + 'table/' \
+ + url_xhtml + 'tr/' + url_xhtml + 'td/' + url_trans + 'value-of/'
+ itm_vo = dict([ (x.attrib['select'], x) for x in root.findall(xslpath) ])
+ self.assertTrue(k in itm_vo)
# URL is '/bind10/statistics/xsl'
check_XSL_URL_PATH(mod=None, item=None)
More information about the bind10-changes
mailing list