[Zope3-checkins]
SVN: zope.testing/branches/ctheune-cleanup/src/zope/testing/testrunner/
moved profilers to out to another module
Christian Theune
ct at gocept.com
Sat May 3 10:20:43 EDT 2008
Log message for revision 86219:
moved profilers to out to another module
Changed:
U zope.testing/branches/ctheune-cleanup/src/zope/testing/testrunner/__init__.py
A zope.testing/branches/ctheune-cleanup/src/zope/testing/testrunner/profiling.py
-=-
Modified: zope.testing/branches/ctheune-cleanup/src/zope/testing/testrunner/__init__.py
===================================================================
--- zope.testing/branches/ctheune-cleanup/src/zope/testing/testrunner/__init__.py 2008-05-03 14:17:26 UTC (rev 86218)
+++ zope.testing/branches/ctheune-cleanup/src/zope/testing/testrunner/__init__.py 2008-05-03 14:20:42 UTC (rev 86219)
@@ -37,68 +37,9 @@
from zope.testing import doctest
from zope.testing.testrunner.formatter import OutputFormatter, ColorfulOutputFormatter
from zope.testing.testrunner.formatter import terminal_has_colors
+from zope.testing.testrunner.profiling import available_profilers
-available_profilers = {}
-try:
- import cProfile
- import pstats
-except ImportError:
- pass
-else:
- class CProfiler(object):
- """cProfiler"""
- def __init__(self, filepath):
- self.filepath = filepath
- self.profiler = cProfile.Profile()
- self.enable = self.profiler.enable
- self.disable = self.profiler.disable
-
- def finish(self):
- self.profiler.dump_stats(self.filepath)
-
- def loadStats(self, prof_glob):
- stats = None
- for file_name in glob.glob(prof_glob):
- if stats is None:
- stats = pstats.Stats(file_name)
- else:
- stats.add(file_name)
- return stats
-
- available_profilers['cProfile'] = CProfiler
-
-# some Linux distributions don't include the profiler, which hotshot uses
-try:
- import hotshot
- import hotshot.stats
-except ImportError:
- pass
-else:
- class HotshotProfiler(object):
- """hotshot interface"""
-
- def __init__(self, filepath):
- self.profiler = hotshot.Profile(filepath)
- self.enable = self.profiler.start
- self.disable = self.profiler.stop
-
- def finish(self):
- self.profiler.close()
-
- def loadStats(self, prof_glob):
- stats = None
- for file_name in glob.glob(prof_glob):
- loaded = hotshot.stats.load(file_name)
- if stats is None:
- stats = loaded
- else:
- stats.add(loaded)
- return stats
-
- available_profilers['hotshot'] = HotshotProfiler
-
-
real_pdb_set_trace = pdb.set_trace
# For some reason, the doctest module resets the trace callable randomly, thus
Added: zope.testing/branches/ctheune-cleanup/src/zope/testing/testrunner/profiling.py
===================================================================
--- zope.testing/branches/ctheune-cleanup/src/zope/testing/testrunner/profiling.py (rev 0)
+++ zope.testing/branches/ctheune-cleanup/src/zope/testing/testrunner/profiling.py 2008-05-03 14:20:42 UTC (rev 86219)
@@ -0,0 +1,81 @@
+##############################################################################
+#
+# Copyright (c) 2004-2008 Zope Corporation and Contributors.
+# All Rights Reserved.
+#
+# This software is subject to the provisions of the Zope Public License,
+# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution.
+# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
+# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
+# FOR A PARTICULAR PURPOSE.
+#
+##############################################################################
+"""Profiler support for the test runner
+
+$Id: __init__.py 86218 2008-05-03 14:17:26Z ctheune $
+"""
+
+import glob
+
+available_profilers = {}
+
+
+try:
+ import cProfile
+ import pstats
+except ImportError:
+ pass
+else:
+ class CProfiler(object):
+ """cProfiler"""
+ def __init__(self, filepath):
+ self.filepath = filepath
+ self.profiler = cProfile.Profile()
+ self.enable = self.profiler.enable
+ self.disable = self.profiler.disable
+
+ def finish(self):
+ self.profiler.dump_stats(self.filepath)
+
+ def loadStats(self, prof_glob):
+ stats = None
+ for file_name in glob.glob(prof_glob):
+ if stats is None:
+ stats = pstats.Stats(file_name)
+ else:
+ stats.add(file_name)
+ return stats
+
+ available_profilers['cProfile'] = CProfiler
+
+
+# some Linux distributions don't include the profiler, which hotshot uses
+try:
+ import hotshot
+ import hotshot.stats
+except ImportError:
+ pass
+else:
+ class HotshotProfiler(object):
+ """hotshot interface"""
+
+ def __init__(self, filepath):
+ self.profiler = hotshot.Profile(filepath)
+ self.enable = self.profiler.start
+ self.disable = self.profiler.stop
+
+ def finish(self):
+ self.profiler.close()
+
+ def loadStats(self, prof_glob):
+ stats = None
+ for file_name in glob.glob(prof_glob):
+ loaded = hotshot.stats.load(file_name)
+ if stats is None:
+ stats = loaded
+ else:
+ stats.add(loaded)
+ return stats
+
+ available_profilers['hotshot'] = HotshotProfiler
Property changes on: zope.testing/branches/ctheune-cleanup/src/zope/testing/testrunner/profiling.py
___________________________________________________________________
Name: svn:eol-style
+ native
More information about the Zope3-Checkins
mailing list