diff --git a/Lib/test/test_ssl.py b/Lib/test/test_ssl.py index 4808da82f20..a325fb67e90 100644 --- a/Lib/test/test_ssl.py +++ b/Lib/test/test_ssl.py @@ -756,7 +756,6 @@ def test_tls_unique_channel_binding(self): with test_wrap_socket(s, server_side=True, certfile=CERTFILE) as ss: self.assertIsNone(ss.get_channel_binding("tls-unique")) - @unittest.expectedFailure # TODO: RUSTPYTHON; AssertionError: "" not found in "unclosed " def test_dealloc_warn(self): ss = test_wrap_socket(socket.socket(socket.AF_INET)) r = repr(ss) diff --git a/crates/stdlib/src/socket.rs b/crates/stdlib/src/socket.rs index 968399ca782..4f85374b181 100644 --- a/crates/stdlib/src/socket.rs +++ b/crates/stdlib/src/socket.rs @@ -1378,23 +1378,11 @@ mod _socket { fn del(zelf: &Py, vm: &VirtualMachine) -> PyResult<()> { // Emit ResourceWarning if socket is still open if zelf.sock.read().is_some() { - let laddr = if let Ok(sock) = zelf.sock() - && let Ok(addr) = sock.local_addr() - && let Ok(repr) = get_addr_tuple(&addr, vm).repr(vm) - { - format!(", laddr={}", repr.as_wtf8()) - } else { - String::new() - }; - - let msg = format!( - "unclosed ", - zelf.fileno(), - zelf.family.load(), - zelf.kind.load(), - zelf.proto.load(), - laddr - ); + let repr = zelf + .as_object() + .repr(vm) + .unwrap_or_else(|_| vm.ctx.new_str("")); + let msg = format!("unclosed {}", repr.as_wtf8()); let _ = crate::vm::warn::warn( vm.ctx.new_str(msg).into(), Some(vm.ctx.exceptions.resource_warning.to_owned()),