def test_event_loop_multiple_same_signals(): callback = _GetCallback() event_loop = EventLoop() signal_rm = event_loop.add_signal(signal.SIGUSR1, _signal_callback, callback) event_loop.add_signal(signal.SIGUSR1, _signal_callback, callback) event_loop.dispatch(0) assert callback.n_calls == 0 # Check callback gets 2 calls for _ in range(5): callback.n_calls = 0 os.kill(os.getpid(), signal.SIGUSR1) event_loop.dispatch(0) assert callback.n_calls == 2 # Remove one of the signals signal_rm.remove() # Callback only gets call now for _ in range(5): callback.n_calls = 0 os.kill(os.getpid(), signal.SIGUSR1) event_loop.dispatch(0) assert callback.n_calls == 1
def test_event_loop_signal(): callback = _GetCallback() event_loop = EventLoop() event_loop.add_signal(signal.SIGUSR1, _signal_callback, callback) event_loop.dispatch(0) assert callback.callback is None os.kill(os.getpid(), signal.SIGUSR1) event_loop.dispatch(0) assert callback.callback == signal.SIGUSR1