[CalendarServer-changes] [1978] CalDAVTester/trunk
source_changes at macosforge.org
source_changes at macosforge.org
Tue Oct 23 19:06:09 PDT 2007
Revision: 1978
http://trac.macosforge.org/projects/calendarserver/changeset/1978
Author: cdaboo at apple.com
Date: 2007-10-23 19:06:08 -0700 (Tue, 23 Oct 2007)
Log Message:
-----------
Log the actual error from the server for better analysis of problems.
Merged from branch.
Modified Paths:
--------------
CalDAVTester/trunk/monitor/get/get-principal.xml
CalDAVTester/trunk/monitor.py
CalDAVTester/trunk/src/caldavtest.py
CalDAVTester/trunk/src/manager.py
Modified: CalDAVTester/trunk/monitor/get/get-principal.xml
===================================================================
--- CalDAVTester/trunk/monitor/get/get-principal.xml 2007-10-24 01:49:19 UTC (rev 1977)
+++ CalDAVTester/trunk/monitor/get/get-principal.xml 2007-10-24 02:06:08 UTC (rev 1978)
@@ -28,7 +28,7 @@
<test-suite name='Plain GET - principal resource' ignore='no'>
<test name='1' count='1' stats='yes'>
<description>GET on principal resource</description>
- <request>
+ <request print-response='yes'>
<method>GET</method>
<ruri>$principal1:</ruri>
<verify>
Modified: CalDAVTester/trunk/monitor.py
===================================================================
--- CalDAVTester/trunk/monitor.py 2007-10-24 01:49:19 UTC (rev 1977)
+++ CalDAVTester/trunk/monitor.py 2007-10-24 02:06:08 UTC (rev 1978)
@@ -71,7 +71,7 @@
self.minfo.parseXML(node)
def doScript(self, script):
- mgr = manager(level=manager.LOG_NONE)
+ mgr = manager(level=manager.LOG_ERROR, log_file=self.log)
return mgr.runWithOptions(
self.minfo.serverinfo,
"",
@@ -102,12 +102,15 @@
self.logtxt("Run exception: %s" % (msg,))
def doNotification(self, msg):
- sendemail(
- fromaddr = ("Do Not Reply", self.minfo.notify_from),
- toaddrs = [("", a) for a in self.minfo.notify],
- subject = self.minfo.notify_subject,
- body = self.minfo.notify_body % (msg,),
- )
+ try:
+ sendemail(
+ fromaddr = ("Do Not Reply", self.minfo.notify_from),
+ toaddrs = [("", a) for a in self.minfo.notify],
+ subject = self.minfo.notify_subject,
+ body = self.minfo.notify_body % (msg,),
+ )
+ except Exception, e:
+ self.doError(str(e))
def logtxt(self, txt):
dt = str(datetime.datetime.now())
@@ -298,8 +301,8 @@
user = ""
pswd = ""
else:
- user = raw_input("User: ")
- pswd = getpass("Password: ")
+ user = "cdaboo" #raw_input("User: ")
+ pswd = "caldav6585-2" #getpass("Password: ")
if uptime:
monitor.reportStart(html)
Modified: CalDAVTester/trunk/src/caldavtest.py
===================================================================
--- CalDAVTester/trunk/src/caldavtest.py 2007-10-24 01:49:19 UTC (rev 1977)
+++ CalDAVTester/trunk/src/caldavtest.py 2007-10-24 02:06:08 UTC (rev 1978)
@@ -61,7 +61,7 @@
self.manager.log(manager.LOG_HIGH, "----- Running CalDAV Tests from \"%s\"... -----" % self.name, before=1)
result = self.dorequests( "Executing Start Requests...", self.start_requests, False, True )
if not result:
- self.manager.log(manager.LOG_HIGH, "Start items failed - tests will not be run.")
+ self.manager.log(manager.LOG_ERROR, "Start items failed - tests will not be run.")
ok = 0
failed = 1
ignored = 0
@@ -71,8 +71,11 @@
self.dorequests( "Executing End Requests...", self.end_requests, False )
return ok, failed, ignored
except socket.error, msg:
- self.manager.log(manager.LOG_HIGH, "FATAL ERROR: %s" % (msg,), before=2)
+ self.manager.log(manager.LOG_ERROR, "SOCKET ERROR: %s" % (msg,), before=2)
return 0, 1, 0
+ except Exception, e:
+ self.manager.log(manager.LOG_ERROR, "FATAL ERROR: %s" % (e,), before=2)
+ return 0, 1, 0
def run_tests( self ):
ok = 0
@@ -133,9 +136,10 @@
result, resulttxt, response, respdata = self.dorequest( req, test.details, True, False, reqstats )
if not result:
break
- self.manager.log(manager.LOG_HIGH, ["[FAILED]", "[OK]"][result])
+ loglevel = [manager.LOG_ERROR, manager.LOG_HIGH][result]
+ self.manager.log(loglevel, ["[FAILED]", "[OK]"][result])
if len(resulttxt) > 0:
- self.manager.log(manager.LOG_HIGH, resulttxt)
+ self.manager.log(loglevel, resulttxt)
if result and test.stats:
self.manager.log(manager.LOG_MEDIUM, "Total Time: %.3f secs" % (reqstats.totaltime,), indent=8)
self.manager.log(manager.LOG_MEDIUM, "Average Time: %.3f secs" % (reqstats.totaltime/reqstats.count,), indent=8)
@@ -153,9 +157,10 @@
resulttxt += "\nFailure during multiple requests #%d out of %d, request=%s" % (ctr, len(list), str(req))
break
ctr += 1
- self.manager.log(manager.LOG_HIGH, ["[FAILED]", "[OK]"][result])
+ loglevel = [manager.LOG_ERROR, manager.LOG_HIGH][result]
+ self.manager.log(loglevel, ["[FAILED]", "[OK]"][result])
if len(resulttxt) > 0:
- self.manager.log(manager.LOG_HIGH, resulttxt)
+ self.manager.log(loglevel, resulttxt)
return result
def dofindall( self, collection):
Modified: CalDAVTester/trunk/src/manager.py
===================================================================
--- CalDAVTester/trunk/src/manager.py 2007-10-24 01:49:19 UTC (rev 1977)
+++ CalDAVTester/trunk/src/manager.py 2007-10-24 02:06:08 UTC (rev 1978)
@@ -41,14 +41,15 @@
Main class that runs test suites defined in an XML config file.
"""
__slots__ = ['server_info', 'populator', 'depopulate', 'tests', 'textMode', 'pid', 'memUsage', 'logLevel',
- 'digestCache']
+ 'logFile', 'digestCache']
LOG_NONE = 0
- LOG_LOW = 1
- LOG_MEDIUM = 2
- LOG_HIGH = 3
+ LOG_ERROR = 1
+ LOG_LOW = 2
+ LOG_MEDIUM = 3
+ LOG_HIGH = 4
- def __init__( self, text=True, level=LOG_HIGH ):
+ def __init__( self, text=True, level=LOG_HIGH, log_file=None ):
self.server_info = serverinfo()
self.populator = None
self.depopulate = False
@@ -57,18 +58,25 @@
self.pid = 0
self.memUsage = None
self.logLevel = level
+ self.logFile = log_file
self.digestCache = {}
def log(self, level, str, indent = 0, indentStr = " ", after = 1, before = 0):
if self.textMode and level <= self.logLevel:
if before:
- print "\n" * before,
+ self.logit("\n" * before)
if indent:
- print indentStr * indent,
- print str,
+ self.logit(indentStr * indent)
+ self.logit(str)
if after:
- print "\n" * after,
+ self.logit("\n" * after)
+ def logit(self, str):
+ if self.logFile:
+ self.logFile.write(str)
+ else:
+ print str,
+
def readXML( self, serverfile, populatorfile, testfiles, all, moresubs = {} ):
self.log(manager.LOG_HIGH, "Reading Server Info from \"%s\"" % serverfile, after=2)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20071023/3f1ed042/attachment.html
More information about the calendarserver-changes
mailing list