Esempio n. 1
0
 def test_cancel_token_add_callback(self):
     src = ct.CancellationTokenSource()
     callback_mock = mock.Mock()
     token = src.token
     token.add_callback(callback_mock)
     callback_mock.assert_not_called()
     src.cancel()
     callback_mock.assert_called_once_with()
Esempio n. 2
0
    def test_cancel_token_add_callback_with_exception_doesnt_prevent_consecutive_callbacks(
            self):
        src = ct.CancellationTokenSource()
        token = src.token

        callback_mock = mock.Mock()
        callback_mock.side_effect = Exception("fail")
        callback_mock2 = mock.Mock()

        token.add_callback(callback_mock)
        token.add_callback(callback_mock2)

        src.cancel()

        callback_mock.assert_called_once()
        callback_mock.assert_called_once()
Esempio n. 3
0
    def test_cancel_token_add_callback_with_exception_logs(self, caplog):
        src = ct.CancellationTokenSource()
        token = src.token

        callback_mock = mock.Mock()
        callback_mock.side_effect = Exception("fail")

        token.add_callback(callback_mock)
        assert caplog.records == []
        src.cancel()

        assert len(caplog.records) == 1
        record = caplog.records[0]
        assert record.levelno == logging.ERROR
        assert record.name == "lazyflow.cancel_token"
        assert record.exc_info
        assert record.message.startswith("Failed to invoke callback")
Esempio n. 4
0
 def test_cancel_source_provides_tokens(self):
     src = ct.CancellationTokenSource()
     assert isinstance(src.token, ct.CancellationToken)
Esempio n. 5
0
 def test_cancel_token_is_cancelled_when_invoked(self):
     src = ct.CancellationTokenSource()
     assert not src.token.cancelled
     src.cancel()
     assert src.token.cancelled
Esempio n. 6
0
 def test_cancel_token_is_not_cancelled_when_created(self):
     src = ct.CancellationTokenSource()
     token = src.token
     assert not token.cancelled
Esempio n. 7
0
 def test_cancel_token_has_no_cancel_method(self):
     src = ct.CancellationTokenSource()
     token = src.token
     assert not hasattr(token, "cancel")
Esempio n. 8
0
 def test_cancel_source_provides_same_token(self):
     src = ct.CancellationTokenSource()
     token = src.token
     assert token is src.token