[Zope-Checkins] SVN: Zope/trunk/lib/python/Testing/ZopeTestCase/
Removed broken profiler support.
Stefan H. Holek
stefan at epy.co.at
Thu Mar 15 09:18:46 EDT 2007
Log message for revision 73189:
Removed broken profiler support.
Changed:
U Zope/trunk/lib/python/Testing/ZopeTestCase/__init__.py
U Zope/trunk/lib/python/Testing/ZopeTestCase/base.py
U Zope/trunk/lib/python/Testing/ZopeTestCase/doc/API.stx
U Zope/trunk/lib/python/Testing/ZopeTestCase/doc/CHANGES.txt
D Zope/trunk/lib/python/Testing/ZopeTestCase/doc/PROFILER.stx
U Zope/trunk/lib/python/Testing/ZopeTestCase/interfaces.py
D Zope/trunk/lib/python/Testing/ZopeTestCase/profiler.py
U Zope/trunk/lib/python/Testing/ZopeTestCase/testInterfaces.py
U Zope/trunk/lib/python/Testing/ZopeTestCase/ztc_common.py
-=-
Modified: Zope/trunk/lib/python/Testing/ZopeTestCase/__init__.py
===================================================================
--- Zope/trunk/lib/python/Testing/ZopeTestCase/__init__.py 2007-03-15 13:05:38 UTC (rev 73188)
+++ Zope/trunk/lib/python/Testing/ZopeTestCase/__init__.py 2007-03-15 13:18:45 UTC (rev 73189)
@@ -33,7 +33,6 @@
from PortalTestCase import portal_name
from PortalTestCase import PortalTestCase
-from profiler import Profiled
from sandbox import Sandboxed
from functional import Functional
Modified: Zope/trunk/lib/python/Testing/ZopeTestCase/base.py
===================================================================
--- Zope/trunk/lib/python/Testing/ZopeTestCase/base.py 2007-03-15 13:05:38 UTC (rev 73188)
+++ Zope/trunk/lib/python/Testing/ZopeTestCase/base.py 2007-03-15 13:18:45 UTC (rev 73189)
@@ -18,7 +18,6 @@
import ZopeLite as Zope2
import unittest
import transaction
-import profiler
import utils
import interfaces
import connections
@@ -41,7 +40,7 @@
-class TestCase(profiler.Profiled, unittest.TestCase, object):
+class TestCase(unittest.TestCase, object):
'''Base test case for Zope testing
'''
Modified: Zope/trunk/lib/python/Testing/ZopeTestCase/doc/API.stx
===================================================================
--- Zope/trunk/lib/python/Testing/ZopeTestCase/doc/API.stx 2007-03-15 13:05:38 UTC (rev 73188)
+++ Zope/trunk/lib/python/Testing/ZopeTestCase/doc/API.stx 2007-03-15 13:18:45 UTC (rev 73189)
@@ -57,8 +57,6 @@
PortalTestCase
- Profiled
-
Sandboxed
Functional
@@ -243,38 +241,6 @@
-Module profiler
-
- Profiling support
-
- Functions
-
- runcall(func, *args, **kw)
-
- print_stats()
-
- dump_stats(filename)
-
- Classes
-
- Profiled
-
-
-
-Class Profiled
-
- Profiling support mix-in for xTestCases
-
- Interfaces
-
- implements(IProfiled)
-
- Methods
-
- runcall(func, *args, **kw)
-
-
-
Module sandbox
ZODB sandbox support
Modified: Zope/trunk/lib/python/Testing/ZopeTestCase/doc/CHANGES.txt
===================================================================
--- Zope/trunk/lib/python/Testing/ZopeTestCase/doc/CHANGES.txt 2007-03-15 13:05:38 UTC (rev 73188)
+++ Zope/trunk/lib/python/Testing/ZopeTestCase/doc/CHANGES.txt 2007-03-15 13:18:45 UTC (rev 73189)
@@ -1,5 +1,6 @@
0.9.10 (Zope 2.11 edition)
- Switched to Zope3 interfaces.
+- Removed broken profiler support.
0.9.9 (Zope 2.11 edition)
- transaction.commit(1) is deprecated in favor of transaction.savepoint(1).
Deleted: Zope/trunk/lib/python/Testing/ZopeTestCase/doc/PROFILER.stx
===================================================================
--- Zope/trunk/lib/python/Testing/ZopeTestCase/doc/PROFILER.stx 2007-03-15 13:05:38 UTC (rev 73188)
+++ Zope/trunk/lib/python/Testing/ZopeTestCase/doc/PROFILER.stx 2007-03-15 13:18:45 UTC (rev 73189)
@@ -1,19 +0,0 @@
-<style type="text/css"> <!-- li { margin: 1em } --> </style>
-
-Profiler Readme
-
- Since version 0.9.0 all xTestCases are profiler aware by default.
-
- You can run your tests under profiler control like this::
-
- python testSomething.py profile
-
- If you want to profile fixture creation or destruction type one of::
-
- python testSomething.py profile-setup
- python testSomething.py profile-teardown
-
- Profiler statistics will be printed after the test results.
-
- See the API reference for more on the 'profiler' module.
-
Modified: Zope/trunk/lib/python/Testing/ZopeTestCase/interfaces.py
===================================================================
--- Zope/trunk/lib/python/Testing/ZopeTestCase/interfaces.py 2007-03-15 13:05:38 UTC (rev 73188)
+++ Zope/trunk/lib/python/Testing/ZopeTestCase/interfaces.py 2007-03-15 13:18:45 UTC (rev 73189)
@@ -95,14 +95,6 @@
'''This is currently the same as IZopeSecurity'''
-class IProfiled(Interface):
-
- def runcall(func, *args, **kw):
- '''Allows to run a function under profiler control
- adding to the accumulated profiler statistics.
- '''
-
-
class IFunctional(Interface):
def publish(path, basic=None, env=None, extra=None, request_method='GET', stdin=None):
Deleted: Zope/trunk/lib/python/Testing/ZopeTestCase/profiler.py
===================================================================
--- Zope/trunk/lib/python/Testing/ZopeTestCase/profiler.py 2007-03-15 13:05:38 UTC (rev 73188)
+++ Zope/trunk/lib/python/Testing/ZopeTestCase/profiler.py 2007-03-15 13:18:45 UTC (rev 73189)
@@ -1,122 +0,0 @@
-##############################################################################
-#
-# Copyright (c) 2005 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.
-#
-##############################################################################
-"""Profiling support for ZTC
-
-$Id$
-"""
-
-import os, sys
-import interfaces
-
-from zope.interface import implements
-
-# Some distros ship without profile
-try:
- from profile import Profile
- from pstats import Stats
-except ImportError:
- def Profile(): pass
-
-_profile = Profile()
-_have_stats = 0
-
-limit = ('.py:', 200)
-sort = ('cumulative', 'time', 'pcalls')
-strip_dirs = 1
-
-
-def runcall(*args, **kw):
- if _profile is None:
- return apply(args[0], args[1:], kw)
- else:
- global _have_stats
- _have_stats = 1
- return apply(_profile.runcall, args, kw)
-
-
-def print_stats(limit=limit, sort=sort, strip_dirs=strip_dirs):
- if _have_stats:
- stats = Stats(_profile)
- if strip_dirs:
- stats.strip_dirs()
- apply(stats.sort_stats, sort)
- apply(stats.print_stats, limit)
-
-
-def dump_stats(filename):
- if _have_stats:
- _profile.dump_stats(filename)
-
-
-class Profiled:
- '''Derive from this class and an xTestCase to get profiling support::
-
- class MyTest(Profiled, ZopeTestCase):
- ...
-
- Then run the test module by typing::
-
- $ python testSomething.py profile
-
- Profiler statistics will be printed after the test results.
- '''
-
- implements(interfaces.IProfiled)
-
- def runcall(self, *args, **kw):
- return apply(runcall, args, kw)
-
- def __call__(self, result=None):
- if result is None: result = self.defaultTestResult()
- result.startTest(self)
- testMethod = getattr(self, self._TestCase__testMethodName)
- try:
- try:
- if int(os.environ.get('PROFILE_SETUP', 0)):
- self.runcall(self.setUp)
- else:
- self.setUp()
- except KeyboardInterrupt:
- raise
- except:
- result.addError(self, self._TestCase__exc_info())
- return
-
- ok = 0
- try:
- if int(os.environ.get('PROFILE_TESTS', 0)):
- self.runcall(testMethod)
- else:
- testMethod()
- ok = 1
- except self.failureException:
- result.addFailure(self, self._TestCase__exc_info())
- except KeyboardInterrupt:
- raise
- except:
- result.addError(self, self._TestCase__exc_info())
-
- try:
- if int(os.environ.get('PROFILE_TEARDOWN', 0)):
- self.runcall(self.tearDown)
- else:
- self.tearDown()
- except KeyboardInterrupt:
- raise
- except:
- result.addError(self, self._TestCase__exc_info())
- ok = 0
- if ok: result.addSuccess(self)
- finally:
- result.stopTest(self)
-
Modified: Zope/trunk/lib/python/Testing/ZopeTestCase/testInterfaces.py
===================================================================
--- Zope/trunk/lib/python/Testing/ZopeTestCase/testInterfaces.py 2007-03-15 13:05:38 UTC (rev 73188)
+++ Zope/trunk/lib/python/Testing/ZopeTestCase/testInterfaces.py 2007-03-15 13:18:45 UTC (rev 73189)
@@ -28,19 +28,12 @@
class TestAbstractClasses(TestCase):
- def testIProfiled(self):
- self.failUnless(verifyClass(IProfiled, Profiled))
-
def testIFunctional(self):
self.failUnless(verifyClass(IFunctional, Functional))
class TestBaseTestCase(TestCase):
- def testIProfiled(self):
- self.failUnless(verifyClass(IProfiled, TestCase))
- self.failUnless(verifyObject(IProfiled, self))
-
def testIZopeTestCase(self):
self.failUnless(verifyClass(IZopeTestCase, TestCase))
self.failUnless(verifyObject(IZopeTestCase, self))
@@ -50,10 +43,6 @@
_setup_fixture = 0
- def testIProfiled(self):
- self.failUnless(verifyClass(IProfiled, ZopeTestCase))
- self.failUnless(verifyObject(IProfiled, self))
-
def testIZopeTestCase(self):
self.failUnless(verifyClass(IZopeTestCase, ZopeTestCase))
self.failUnless(verifyObject(IZopeTestCase, self))
@@ -71,10 +60,6 @@
self.failUnless(verifyClass(IFunctional, FunctionalTestCase))
self.failUnless(verifyObject(IFunctional, self))
- def testIProfiled(self):
- self.failUnless(verifyClass(IProfiled, FunctionalTestCase))
- self.failUnless(verifyObject(IProfiled, self))
-
def testIZopeTestCase(self):
self.failUnless(verifyClass(IZopeTestCase, FunctionalTestCase))
self.failUnless(verifyObject(IZopeTestCase, self))
@@ -91,10 +76,6 @@
def _portal(self):
return None
- def testIProfiled(self):
- self.failUnless(verifyClass(IProfiled, PortalTestCase))
- self.failUnless(verifyObject(IProfiled, self))
-
def testIZopeTestCase(self):
self.failUnless(verifyClass(IZopeTestCase, PortalTestCase))
self.failUnless(verifyObject(IZopeTestCase, self))
Modified: Zope/trunk/lib/python/Testing/ZopeTestCase/ztc_common.py
===================================================================
--- Zope/trunk/lib/python/Testing/ZopeTestCase/ztc_common.py 2007-03-15 13:05:38 UTC (rev 73188)
+++ Zope/trunk/lib/python/Testing/ZopeTestCase/ztc_common.py 2007-03-15 13:18:45 UTC (rev 73189)
@@ -21,7 +21,7 @@
"""
# Overwrites the default framework() method to expose the
-# TestRunner parameters and add profiler support.
+# TestRunner parameters
#
def framework(stream=sys.stderr, descriptions=1, verbosity=1):
if __name__ != '__main__':
@@ -29,17 +29,9 @@
if len(sys.argv) > 1:
arg = sys.argv[1]
- if arg in ('profile', 'profile-tests'):
- os.environ['PROFILE_TESTS'] = '1'
- elif arg == 'profile-setup':
- os.environ['PROFILE_SETUP'] = '1'
- elif arg == 'profile-teardown':
- os.environ['PROFILE_TEARDOWN'] = '1'
- else:
- sys.exit(globals()[arg]() and 1 or 0)
+ sys.exit(globals()[arg]() and 1 or 0)
result = TestRunner(stream, descriptions, verbosity).run(test_suite())
- from Testing.ZopeTestCase import profiler; profiler.print_stats()
sys.exit(len(result.errors) + len(result.failures))
More information about the Zope-Checkins
mailing list