Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Revert the tests
  • Loading branch information
aisk committed Mar 21, 2026
commit 6e079ab5d4e38b319f696c5c57cd0ab3f94f9c5a
62 changes: 1 addition & 61 deletions Lib/test/test_socket.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
from unittest import mock
from test import support
from test.support import (
cpython_only, is_apple, os_helper, refleak_helper, script_helper, socket_helper, threading_helper
cpython_only, is_apple, os_helper, refleak_helper, socket_helper, threading_helper
)
from test.support.import_helper import ensure_lazy_imports
import _thread as thread
Expand All @@ -28,7 +28,6 @@
import struct
import sys
import tempfile
import textwrap
import threading
import time
import traceback
Expand Down Expand Up @@ -7499,65 +7498,6 @@ def close_fds(fds):
self.assertEqual(data, str(index).encode())


@support.requires_subprocess()
@unittest.skipUnless(hasattr(sys, "gettotalrefcount"),
"requires sys.gettotalrefcount()")
class AuditHookLeakTests(unittest.TestCase):
# gh-146245: Reference and buffer leaks in audit hook failure paths.

def test_getaddrinfo_audit_hook_leak(self):
code = textwrap.dedent("""
import socket
import sys
import gc

def hook(*args):
raise ValueError("audit")

sys.addaudithook(hook)
gc.collect()
before = sys.gettotalrefcount()
for _ in range(100):
try:
socket.getaddrinfo(None, 80)
except ValueError:
pass
gc.collect()
after = sys.gettotalrefcount()
print(after - before)
""")
rc, out, err = script_helper.assert_python_ok("-c", code)
leaked = int(out.strip())
self.assertAlmostEqual(leaked, 0, delta=2, msg=f"Leaked {leaked} references")

def test_sendto_audit_hook_leak(self):
code = textwrap.dedent("""
import socket
import sys
import gc

def hook(*args):
raise ValueError("audit")

s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sys.addaudithook(hook)
gc.collect()
before = sys.gettotalrefcount()
for _ in range(100):
try:
s.sendto(bytearray(b"x"), ("127.0.0.1", 80))
except ValueError:
pass
gc.collect()
after = sys.gettotalrefcount()
s.close()
print(after - before)
""")
rc, out, err = script_helper.assert_python_ok("-c", code)
leaked = int(out.strip())
self.assertAlmostEqual(leaked, 0, delta=2, msg=f"Leaked {leaked} references")


class FreeThreadingTests(unittest.TestCase):

def test_close_detach_race(self):
Expand Down
Loading