[CalendarServer-changes] [6589] CalDAVTester/trunk/src

source_changes at macosforge.org source_changes at macosforge.org
Wed Nov 10 15:21:15 PST 2010


Revision: 6589
          http://trac.macosforge.org/projects/calendarserver/changeset/6589
Author:   cdaboo at apple.com
Date:     2010-11-10 15:21:12 -0800 (Wed, 10 Nov 2010)
Log Message:
-----------
Add option to print the count of statement lines in a postgres log file for each test and test-suite.

Modified Paths:
--------------
    CalDAVTester/trunk/src/caldavtest.py
    CalDAVTester/trunk/src/manager.py

Modified: CalDAVTester/trunk/src/caldavtest.py
===================================================================
--- CalDAVTester/trunk/src/caldavtest.py	2010-11-10 20:01:28 UTC (rev 6588)
+++ CalDAVTester/trunk/src/caldavtest.py	2010-11-10 23:21:12 UTC (rev 6589)
@@ -26,6 +26,7 @@
 from src.request import stats
 from src.testsuite import testsuite
 from xml.etree.ElementTree import ElementTree, tostring
+import commands
 import rfc822
 import socket
 import src.xmlDefs
@@ -104,6 +105,7 @@
             ignored = len(suite.tests)
         else:
             self.manager.log(manager.LOG_HIGH, "")
+            postgresCount = self.postgresInit()
             if self.manager.memUsage:
                 start_usage = self.manager.getMemusage()
             etags = {}
@@ -120,6 +122,7 @@
                 print start_usage, end_usage
                 self.manager.log(manager.LOG_HIGH, "Mem. Usage: RSS=%s%% VSZ=%s%%" % (str(((end_usage[1] - start_usage[1]) * 100)/start_usage[1]), str(((end_usage[0] - start_usage[0]) * 100)/start_usage[0]))) 
         self.manager.log(manager.LOG_HIGH, "Suite Results: %d PASSED, %d FAILED, %d IGNORED" % (ok, failed, ignored), before=1, indent=4)
+        self.postgresResult(postgresCount, indent=4)
         return (ok, failed, ignored)
             
     def run_test( self, test, etags, label = "" ):
@@ -136,6 +139,7 @@
         else:
             result = False
             resulttxt = ""
+            postgresCount = self.postgresInit()
             if test.stats:
                 reqstats = stats()
             else:
@@ -152,6 +156,7 @@
             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)
+            self.postgresResult(postgresCount, indent=8)
             return ["f", "t"][result]
     
     def dorequests( self, description, list, doverify = True, forceverify = False, label = "" ):
@@ -662,3 +667,18 @@
             return e.text
         else:
             return None
+
+    def postgresInit(self):
+        """
+        Initialize postgres statement counter
+        """
+        if self.manager.postgresLog:
+            return int(commands.getoutput("grep \"LOG:  statement:\" %s | wc -l" % (self.manager.postgresLog,)))
+        else:
+            return 0
+        
+    def postgresResult(self, startCount, indent):
+        
+        if self.manager.postgresLog:
+            newCount = int(commands.getoutput("grep \"LOG:  statement:\" %s | wc -l" % (self.manager.postgresLog,)))
+            self.manager.log(manager.LOG_HIGH, "Postgres Stataments: %d" % (newCount - startCount,), indent=indent)

Modified: CalDAVTester/trunk/src/manager.py
===================================================================
--- CalDAVTester/trunk/src/manager.py	2010-11-10 20:01:28 UTC (rev 6588)
+++ CalDAVTester/trunk/src/manager.py	2010-11-10 23:21:12 UTC (rev 6589)
@@ -58,6 +58,7 @@
         self.logLevel = level
         self.logFile = log_file
         self.digestCache = {}
+        self.postgresLog = ""
     
     def log(self, level, str, indent = 0, indentStr = " ", after = 1, before = 0):
         if self.textMode and level <= self.logLevel:
@@ -148,7 +149,7 @@
         pidfile = "../CalendarServer/logs/caldavd.pid"
         random_order = False
         random_seed = str(random.randint(0, 1000000))
-        options, args = getopt.getopt(sys.argv[1:], "s:p:dmx:", ["all", "subdir=", "exclude=", "pid=", "random", "random-seed="])
+        options, args = getopt.getopt(sys.argv[1:], "s:p:dmx:", ["all", "subdir=", "exclude=", "pid=", "postgres-log=", "random", "random-seed="])
         
         # Process single options
         for option, value in options:
@@ -170,6 +171,8 @@
                 self.memUsage = True
             elif option == "--pid":
                 pidfile = value
+            elif option == "--postgres-log":
+                self.postgresLog = value
             elif option == "--random":
                 random_order = True
             elif option == "--random-seed":
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20101110/f370edeb/attachment.html>


More information about the calendarserver-changes mailing list