[Erp5-report] r40394 jm - /erp5/trunk/products/ERP5Type/tests/
nobody at svn.erp5.org
nobody at svn.erp5.org
Thu Nov 18 18:53:52 CET 2010
Author: jm
Date: Thu Nov 18 18:53:52 2010
New Revision: 40394
URL: http://svn.erp5.org?rev=40394&view=rev
Log:
Unit tests: start webdav server
Modified:
erp5/trunk/products/ERP5Type/tests/ERP5TypeTestCase.py
erp5/trunk/products/ERP5Type/tests/ProcessingNodeTestCase.py
erp5/trunk/products/ERP5Type/tests/utils.py
Modified: erp5/trunk/products/ERP5Type/tests/ERP5TypeTestCase.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Type/tests/ERP5TypeTestCase.py?rev=40394&r1=40393&r2=40394&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Type/tests/ERP5TypeTestCase.py [utf8] (original)
+++ erp5/trunk/products/ERP5Type/tests/ERP5TypeTestCase.py [utf8] Thu Nov 18 18:53:52 2010
@@ -917,7 +917,7 @@ class ERP5TypeTestCase(ProcessingNodeTes
from Products import DeadlockDebugger
except ImportError:
pass
- self.serverhost, self.serverport = self.startZServer()
+ self.serverhost, self.serverport = self.startZServer(verbose=True)
self._registerNode(distributing=1, processing=1)
self._updateConnectionStrings()
Modified: erp5/trunk/products/ERP5Type/tests/ProcessingNodeTestCase.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Type/tests/ProcessingNodeTestCase.py?rev=40394&r1=40393&r2=40394&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Type/tests/ProcessingNodeTestCase.py [utf8] (original)
+++ erp5/trunk/products/ERP5Type/tests/ProcessingNodeTestCase.py [utf8] Thu Nov 18 18:53:52 2010
@@ -85,16 +85,24 @@ class ProcessingNodeTestCase(backportUni
pass
Lifetime.graceful_shutdown_loop()
- def startZServer(self):
+ def startZServer(self, verbose=False):
"""Start HTTP ZServer in background"""
utils = ZopeTestCase.utils
if utils._Z2HOST is None:
+ _print = lambda hs: verbose and ZopeTestCase._print(
+ "Running %s server at %s:%s\n" % (
+ hs.server_protocol, hs.server_name, hs.server_port))
try:
hs = createZServer()
except RuntimeError, e:
ZopeTestCase._print(str(e))
else:
utils._Z2HOST, utils._Z2PORT = hs.server_name, hs.server_port
+ _print(hs)
+ try:
+ _print(createZServer(zserver_type='webdav'))
+ except RuntimeError, e:
+ ZopeTestCase._print(str(e))
t = Thread(target=Lifetime.loop)
t.setDaemon(1)
t.start()
Modified: erp5/trunk/products/ERP5Type/tests/utils.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5Type/tests/utils.py?rev=40394&r1=40393&r2=40394&view=diff
==============================================================================
--- erp5/trunk/products/ERP5Type/tests/utils.py [utf8] (original)
+++ erp5/trunk/products/ERP5Type/tests/utils.py [utf8] Thu Nov 18 18:53:52 2010
@@ -297,19 +297,25 @@ def parseListeningAddress(host_port=None
raise RuntimeError("Can't find free port (tried ports %s)\n"
% ', '.join(map(str, port_list)))
-def createZServer(log=os.devnull):
- from ZServer import logger, zhttp_server, zhttp_handler
- lg = logger.file_logger(log)
- class new_zhttp_server:
+def createZServer(log=os.devnull, zserver_type='http'):
+ import ZServer
+ if zserver_type == 'http':
+ zserver_class, zhandler_class = ZServer.zhttp_server, ZServer.zhttp_handler
+ elif zserver_type == 'webdav':
+ from ZServer.HTTPServer import zwebdav_server as zserver_class
+ from ZServer.WebDAVSrcHandler import WebDAVSrcHandler as zhandler_class
+ else:
+ raise NotImplementedError
+ lg = ZServer.logger.file_logger(log)
+ class new_zserver(zserver_class):
# I can't use __new__ because zhttp_handler is an old-style class :(
def __init__(self):
- self.__class__ = zhttp_server
+ self.__class__, = self.__class__.__bases__
for ip, port in parseListeningAddress(os.environ.get('zserver')):
- hs = new_zhttp_server()
+ hs = new_zserver()
try:
hs.__init__(ip, port, resolver=None, logger_object=lg)
- hs.install_handler(zhttp_handler(module='Zope2', uri_base=''))
- sys.stderr.write("Running ZServer at %s:%s\n" % (ip, port))
+ hs.install_handler(zhandler_class(module='Zope2', uri_base=''))
return hs
except socket.error, e:
if e[0] != errno.EADDRINUSE:
More information about the Erp5-report
mailing list