[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