[CalendarServer-changes] [8223] CalDAVTester/branches/users/cdaboo/component-set-fixes/src
source_changes at macosforge.org
source_changes at macosforge.org
Tue Oct 25 12:42:42 PDT 2011
Revision: 8223
http://trac.macosforge.org/projects/calendarserver/changeset/8223
Author: cdaboo at apple.com
Date: 2011-10-25 12:42:42 -0700 (Tue, 25 Oct 2011)
Log Message:
-----------
Allow verifiers to make use of require-feature, exclude-feature, so that conditional results can be checked.
Modified Paths:
--------------
CalDAVTester/branches/users/cdaboo/component-set-fixes/src/caldavtest.py
CalDAVTester/branches/users/cdaboo/component-set-fixes/src/request.py
Modified: CalDAVTester/branches/users/cdaboo/component-set-fixes/src/caldavtest.py
===================================================================
--- CalDAVTester/branches/users/cdaboo/component-set-fixes/src/caldavtest.py 2011-10-25 19:41:53 UTC (rev 8222)
+++ CalDAVTester/branches/users/cdaboo/component-set-fixes/src/caldavtest.py 2011-10-25 19:42:42 UTC (rev 8223)
@@ -617,6 +617,10 @@
result = True
resulttxt = ""
for verifier in req.verifiers:
+ if len(verifier.missingFeatures()) != 0:
+ continue
+ if len(verifier.excludedFeatures()) != 0:
+ continue
iresult, iresulttxt = verifier.doVerify(uri, response, respdata)
if not iresult:
result = False
Modified: CalDAVTester/branches/users/cdaboo/component-set-fixes/src/request.py
===================================================================
--- CalDAVTester/branches/users/cdaboo/component-set-fixes/src/request.py 2011-10-25 19:41:53 UTC (rev 8222)
+++ CalDAVTester/branches/users/cdaboo/component-set-fixes/src/request.py 2011-10-25 19:42:42 UTC (rev 8223)
@@ -427,9 +427,17 @@
def __init__( self, manager ):
self.manager = manager
+ self.require_features = set()
+ self.exclude_features = set()
self.callback = None
self.args = {}
+ def missingFeatures(self):
+ return self.require_features - self.manager.server_info.features
+
+ def excludedFeatures(self):
+ return self.exclude_features & self.manager.server_info.features
+
def doVerify(self, uri, response, respdata):
# Re-do substitutions from values generated during the current test run
@@ -452,11 +460,20 @@
def parseXML( self, node ):
for child in node.getchildren():
- if child.tag == src.xmlDefs.ELEMENT_CALLBACK:
+ if child.tag == src.xmlDefs.ELEMENT_REQUIRE_FEATURE:
+ self.parseFeatures( child, require=True )
+ elif child.tag == src.xmlDefs.ELEMENT_EXCLUDE_FEATURE:
+ self.parseFeatures( child, require=False )
+ elif child.tag == src.xmlDefs.ELEMENT_CALLBACK:
self.callback = child.text.encode("utf-8")
elif child.tag == src.xmlDefs.ELEMENT_ARG:
self.parseArgXML(child)
+ def parseFeatures(self, node, require=True):
+ for child in node.getchildren():
+ if child.tag == src.xmlDefs.ELEMENT_FEATURE:
+ (self.require_features if require else self.exclude_features).add(child.text.encode("utf-8"))
+
def parseArgXML(self, node):
name = None
values = []
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20111025/68b21fc9/attachment-0001.html>
More information about the calendarserver-changes
mailing list