File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -475,26 +475,24 @@ def test_set_provider_and_wait_reraises_on_failure():
475475def test_set_provider_swallows_error_and_emits_provider_error_event ():
476476 # Given
477477 provider = MagicMock (spec = FeatureProvider )
478+ error_fired = threading .Event ()
478479
479480 def failing_initialize (ctx ):
480481 raise ProviderFatalError ()
481482
482483 provider .initialize .side_effect = failing_initialize
483484
484485 spy = MagicMock ()
485- add_handler (ProviderEvent .PROVIDER_ERROR , spy .on_error )
486486
487- # When: non-blocking set_provider — must not raise
488- set_provider (provider )
487+ def on_error (details ):
488+ spy .on_error (details )
489+ error_fired .set ()
489490
490- # Allow background thread to complete
491- def wait_for_event ():
492- for _ in range (50 ):
493- if spy .on_error .called :
494- return
495- threading .Event ().wait (0.01 )
491+ add_handler (ProviderEvent .PROVIDER_ERROR , on_error )
496492
497- wait_for_event ()
493+ # When: non-blocking set_provider — must not raise
494+ set_provider (provider )
498495
499496 # Then: error event fired, exception was not propagated
497+ assert error_fired .wait (timeout = 2 ), "PROVIDER_ERROR event was never fired"
500498 spy .on_error .assert_called_once ()
You can’t perform that action at this time.
0 commit comments