diff --git a/ipykernel/comm/comm.py b/ipykernel/comm/comm.py index c06d233bb..295232e14 100644 --- a/ipykernel/comm/comm.py +++ b/ipykernel/comm/comm.py @@ -71,9 +71,8 @@ def _default_comm_id(self): def __init__(self, *args, **kwargs): # Comm takes positional arguments, LoggingConfigurable does not, so we explicitly forward arguments traitlets.config.LoggingConfigurable.__init__(self, **kwargs) - for name in self.trait_names(): - if name in kwargs: - kwargs.pop(name) + # drop arguments not in BaseComm + kwargs.pop("kernel", None) BaseComm.__init__(self, *args, **kwargs) diff --git a/ipykernel/tests/test_comm.py b/ipykernel/tests/test_comm.py index 9dd49f82e..f8b076413 100644 --- a/ipykernel/tests/test_comm.py +++ b/ipykernel/tests/test_comm.py @@ -6,7 +6,7 @@ def test_comm(kernel): manager = CommManager(kernel=kernel) kernel.comm_manager = manager - c = Comm(kernel=kernel) + c = Comm(kernel=kernel, target_name="bar") msgs = [] def on_close(msg): @@ -23,6 +23,7 @@ def on_message(msg): c.handle_close({}) c.close() assert len(msgs) == 2 + assert c.target_name == "bar" def test_comm_manager(kernel):