[Neo-report] r2528 vincent - /trunk/neo/tests/functional/__init__.py
nobody at svn.erp5.org
nobody at svn.erp5.org
Mon Dec 13 21:07:30 CET 2010
Author: vincent
Date: Mon Dec 13 21:07:30 2010
New Revision: 2528
Log:
Make runWithTimeout re-raise exception which interrupted test method.
Modified:
trunk/neo/tests/functional/__init__.py
Modified: trunk/neo/tests/functional/__init__.py
==============================================================================
--- trunk/neo/tests/functional/__init__.py [iso-8859-1] (original)
+++ trunk/neo/tests/functional/__init__.py [iso-8859-1] Mon Dec 13 21:07:30 2010
@@ -576,9 +576,19 @@ class NEOFunctionalTest(NeoTestBase):
def runWithTimeout(self, timeout, method, args=(), kwargs=None):
if kwargs is None:
kwargs = {}
- thread = threading.Thread(None, method, args=args, kwargs=kwargs)
+ exc_list = []
+ def excWrapper(*args, **kw):
+ try:
+ method(*args, **kw)
+ except:
+ exc_list.append(sys.exc_info())
+ thread = threading.Thread(None, excWrapper, args=args, kwargs=kwargs)
thread.setDaemon(True)
thread.start()
thread.join(timeout)
self.assertFalse(thread.isAlive(), 'Run timeout')
+ if exc_list:
+ assert len(exc_list) == 1, exc_list
+ exc = exc_list[0]
+ raise exc[0], exc[1], exc[2]
More information about the Neo-report
mailing list