[CalendarServer-changes] [5003] CalDAVTester/trunk
source_changes at macosforge.org
source_changes at macosforge.org
Mon Feb 1 15:03:10 PST 2010
Revision: 5003
http://trac.macosforge.org/projects/calendarserver/changeset/5003
Author: cdaboo at apple.com
Date: 2010-02-01 15:03:09 -0800 (Mon, 01 Feb 2010)
Log Message:
-----------
Use required-feature support at the individual <test> levels.
Modified Paths:
--------------
CalDAVTester/trunk/scripts/tests/CalDAV/caldavtest.dtd
CalDAVTester/trunk/src/caldavtest.py
CalDAVTester/trunk/src/test.py
Modified: CalDAVTester/trunk/scripts/tests/CalDAV/caldavtest.dtd
===================================================================
--- CalDAVTester/trunk/scripts/tests/CalDAV/caldavtest.dtd 2010-02-01 23:01:49 UTC (rev 5002)
+++ CalDAVTester/trunk/scripts/tests/CalDAV/caldavtest.dtd 2010-02-01 23:03:09 UTC (rev 5003)
@@ -1,5 +1,5 @@
<!--
- Copyright (c) 2006-2009 Apple Inc. All rights reserved.
+ Copyright (c) 2006-2010 Apple Inc. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@@ -59,7 +59,7 @@
<!ATTLIST test-suite name CDATA #REQUIRED
ignore (yes|no) "no">
- <!ELEMENT test (description?, request+)>
+ <!ELEMENT test (require-feature?, description?, request+)>
<!ATTLIST test name CDATA #REQUIRED
count CDATA "1"
stats (yes|no) "no"
Modified: CalDAVTester/trunk/src/caldavtest.py
===================================================================
--- CalDAVTester/trunk/src/caldavtest.py 2010-02-01 23:01:49 UTC (rev 5002)
+++ CalDAVTester/trunk/src/caldavtest.py 2010-02-01 23:03:09 UTC (rev 5003)
@@ -104,7 +104,7 @@
ignored = len(suite.tests)
elif len(suite.missingFeatures()) != 0:
self.manager.log(manager.LOG_HIGH, "[IGNORED]")
- self.manager.log(manager.LOG_HIGH, " Missing features: %s" % (", ".join(sorted(self.missingFeatures())),))
+ self.manager.log(manager.LOG_HIGH, " Missing features: %s" % (", ".join(sorted(suite.missingFeatures())),))
ignored = len(suite.tests)
else:
self.manager.log(manager.LOG_HIGH, "")
@@ -132,6 +132,10 @@
if test.ignore:
self.manager.log(manager.LOG_HIGH, "[IGNORED]")
return "i"
+ elif len(test.missingFeatures()) != 0:
+ self.manager.log(manager.LOG_HIGH, "[IGNORED]")
+ self.manager.log(manager.LOG_HIGH, " Missing features: %s" % (", ".join(sorted(test.missingFeatures())),))
+ return "i"
else:
result = False
resulttxt = ""
Modified: CalDAVTester/trunk/src/test.py
===================================================================
--- CalDAVTester/trunk/src/test.py 2010-02-01 23:01:49 UTC (rev 5002)
+++ CalDAVTester/trunk/src/test.py 2010-02-01 23:03:09 UTC (rev 5003)
@@ -27,7 +27,7 @@
be run more than once, and timing information gathered and averaged across
all runs.
"""
- __slots__ = ['manager', 'name', 'details', 'count', 'stats', 'ignore', 'description', 'requests']
+ __slots__ = ['manager', 'name', 'details', 'count', 'stats', 'ignore', 'require_features', 'description', 'requests']
def __init__( self, manager ):
self.manager = manager
@@ -36,9 +36,13 @@
self.count = 1
self.stats = False
self.ignore = False
+ self.require_features = set()
self.description = ""
self.requests = []
+ def missingFeatures(self):
+ return self.require_features - self.manager.server_info.features
+
def parseXML( self, node ):
self.name = node.getAttribute( src.xmlDefs.ATTR_NAME )
self.details = node.getAttribute( src.xmlDefs.ATTR_DETAILS ) == src.xmlDefs.ATTR_VALUE_YES
@@ -51,12 +55,19 @@
self.ignore = node.getAttribute( src.xmlDefs.ATTR_IGNORE ) == src.xmlDefs.ATTR_VALUE_YES
for child in node._get_childNodes():
- if child._get_localName() == src.xmlDefs.ELEMENT_DESCRIPTION:
+ if child._get_localName() == src.xmlDefs.ELEMENT_REQUIRE_FEATURE:
+ self.parseFeatures( child )
+ elif child._get_localName() == src.xmlDefs.ELEMENT_DESCRIPTION:
self.description = child.firstChild.data
# get request
self.requests = request.parseList( self.manager, node )
+ def parseFeatures(self, node):
+ for child in node._get_childNodes():
+ if child._get_localName() == src.xmlDefs.ELEMENT_FEATURE:
+ self.require_features.add(child.firstChild.data.encode("utf-8"))
+
def dump( self ):
print "\nTEST: %s" % self.name
print " description: %s" % self.description
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20100201/4045d17d/attachment-0001.html>
More information about the calendarserver-changes
mailing list