[FIX] tests race condition in phanthomjs tests
A deadlock occurs when
- phantomjs_test1 is executedd, enter_test_mode is activated
- console.log('ok') is issued, sigterm is sent to phantomjs_test1 process
- phantomjs_test1 is finished and leave_test_mode restores the registrymanager lock
- phantomjs_test1 process, just before dying, makes a last http request phantomjs_test1_last_request
- phantomjs_test1_last_request thread will wait for the registrymanager lock, when all tests will be completed
- phantomjs_test2 is run, enter_test_mode is activated
- phantomjs_test2 is reach its end and _wait_remaining_requests is called
- phantomjs_test2 _wait_remaining_requests hangs forever waiting for phantomjs_test1_last_request
bzr revid: al@openerp.com-20140501150641-ua0b7pntesgm3n5p
This commit is contained in:
@@ -229,6 +229,7 @@ class HttpCase(TransactionCase):
|
||||
# kill phantomjs if phantom.exit() wasn't called in the test
|
||||
if phantom.poll() is None:
|
||||
phantom.terminate()
|
||||
phantom.wait()
|
||||
self._wait_remaining_requests()
|
||||
_logger.info("phantom_run execution finished")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user