@contextlib.contextmanager
    def mocked_select_module(self):
        old_select = select.select

        class MockSelect:
            def __init__(self):
                self.called = 0

            def __call__(self, *args):
                self.called += 1
                if self.called == 1:
                    # raise the exception on first call
                    raise OSError(errno.EINTR, os.strerror(errno.EINTR))
                else:
                    # Return real select value for consecutive calls
                    return old_select(*args)

        select.select = MockSelect()
        try:
            yield select.select
        finally:
            select.select = old_select
Mocks the select.select() call to raise EINTR for first call
dataset/ETHPy150Open amrdraz/kodr/app/brython/www/src/Lib/test/test_socketserver.py/SocketServerTest.mocked_select_module