55import os
66import time
77import threading
8+ import pytest
89from splitio .client .factory import get_factory , SplitFactory , _INSTANTIATED_FACTORIES , Status ,\
910 _LOGGER as _logger
1011from splitio .client .config import DEFAULT_CONFIG
@@ -56,7 +57,10 @@ def _split_synchronizer(self, ready_flag, some, auth_api, streaming_enabled, sdk
5657 assert isinstance (factory ._recorder ._impression_storage , inmemmory .ImpressionStorage )
5758
5859 assert factory ._labels_enabled is True
59- factory .block_until_ready ()
60+ try :
61+ factory .block_until_ready (1 )
62+ except :
63+ pass
6064 assert factory .ready
6165 factory .destroy ()
6266
@@ -129,12 +133,16 @@ def test_redis_client_creation(self, mocker):
129133 assert isinstance (factory ._recorder ._make_pipe (), RedisPipelineAdapter )
130134 assert isinstance (factory ._recorder ._event_sotrage , redis .RedisEventsStorage )
131135 assert isinstance (factory ._recorder ._impression_storage , redis .RedisImpressionsStorage )
132- factory .block_until_ready ()
136+ try :
137+ factory .block_until_ready (1 )
138+ except :
139+ pass
133140 assert factory .ready
134141 factory .destroy ()
135142
136143 def test_uwsgi_forked_client_creation (self ):
137144 """Test client with preforked initialization."""
145+ # pytest.set_trace()
138146 factory = get_factory ('some_api_key' , config = {'preforkedInitialization' : True })
139147 assert isinstance (factory ._storages ['splits' ], inmemmory .InMemorySplitStorage )
140148 assert isinstance (factory ._storages ['segments' ], inmemmory .InMemorySegmentStorage )
@@ -221,8 +229,11 @@ def _split_synchronizer(self, ready_flag, some, auth_api, streaming_enabled, sdk
221229
222230 # Start factory and make assertions
223231 factory = get_factory ('some_api_key' )
224- factory .block_until_ready ()
225- assert factory .ready
232+ try :
233+ factory .block_until_ready (1 )
234+ except :
235+ pass
236+ assert factory .ready is False
226237 assert factory .destroyed is False
227238
228239 factory .destroy ()
@@ -304,8 +315,11 @@ def _split_synchronizer(self, ready_flag, some, auth_api, streaming_enabled, sdk
304315
305316 # Start factory and make assertions
306317 factory = get_factory ('some_api_key' )
307- factory .block_until_ready ()
308- assert factory .ready
318+ try :
319+ factory .block_until_ready (1 )
320+ except :
321+ pass
322+ assert factory .ready is False
309323 assert factory .destroyed is False
310324
311325 event = threading .Event ()
@@ -470,7 +484,10 @@ def _get_storage_mock(self, name):
470484 'preforkedInitialization' : True ,
471485 }
472486 factory = get_factory ("none" , config = config )
473- factory .block_until_ready (10 )
487+ try :
488+ factory .block_until_ready (10 )
489+ except :
490+ pass
474491 assert factory ._status == Status .WAITING_FORK
475492 assert len (sync_all_mock .mock_calls ) == 1
476493 assert len (start_mock .mock_calls ) == 0
@@ -481,6 +498,7 @@ def _get_storage_mock(self, name):
481498
482499 assert clear_impressions ._called == 1
483500 assert clear_events ._called == 1
501+ factory .destroy ()
484502
485503 def test_error_prefork (self , mocker ):
486504 """Test not handling fork."""
@@ -490,9 +508,12 @@ def test_error_prefork(self, mocker):
490508
491509 filename = os .path .join (os .path .dirname (__file__ ), '../integration/files' , 'file2.yaml' )
492510 factory = get_factory ('localhost' , config = {'splitFile' : filename })
493- factory .block_until_ready (1 )
494-
511+ try :
512+ factory .block_until_ready (1 )
513+ except :
514+ pass
495515 _logger = mocker .Mock ()
496516 mocker .patch ('splitio.client.factory._LOGGER' , new = _logger )
497517 factory .resume ()
498518 assert _logger .warning .mock_calls == expected_msg
519+ factory .destroy ()
0 commit comments