Fix very high cpu usage when a console fenrir under root and an x fenrir under your user are running at the same time.
This commit is contained in:
@@ -3,6 +3,30 @@ from unittest.mock import Mock, mock_open, patch
|
||||
from fenrirscreenreader.remoteDriver import unixDriver
|
||||
|
||||
|
||||
def test_watchdog_keeps_serving_when_instance_registration_fails(
|
||||
mock_environment,
|
||||
):
|
||||
driver = unixDriver.driver()
|
||||
driver.env = mock_environment
|
||||
driver.fenrirSocks = [Mock()]
|
||||
active = Mock(value=True)
|
||||
event_queue = Mock()
|
||||
|
||||
def stop_after_select(*_args):
|
||||
active.value = False
|
||||
return ([], [], [])
|
||||
|
||||
with patch.object(driver, "_get_socket_candidates", return_value=[]), patch.object(
|
||||
driver, "_register_instance", side_effect=PermissionError("denied")
|
||||
), patch(
|
||||
"fenrirscreenreader.remoteDriver.unixDriver.select.select",
|
||||
side_effect=stop_after_select,
|
||||
) as select_call:
|
||||
driver.watch_dog(active, event_queue)
|
||||
|
||||
select_call.assert_called_once()
|
||||
|
||||
|
||||
class FakeClientSocket:
|
||||
def __init__(self, data):
|
||||
self.data = data
|
||||
|
||||
Reference in New Issue
Block a user