From 89d24367cc4768e8daa9ef17bf1caa1d67a0c7ee Mon Sep 17 00:00:00 2001 From: Giampaolo Rodola Date: Mon, 24 Jun 2024 01:57:40 +0200 Subject: [PATCH] conftest.py: check that IO loop resrouces are closed --- pyftpdlib/test/conftest.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/pyftpdlib/test/conftest.py b/pyftpdlib/test/conftest.py index 7306ddbb..ed0fc9f8 100644 --- a/pyftpdlib/test/conftest.py +++ b/pyftpdlib/test/conftest.py @@ -20,6 +20,8 @@ import psutil import pytest +from pyftpdlib.ioloop import IOLoop + # set it to True to raise an exception instead of warning FAIL = False @@ -64,6 +66,17 @@ def assert_closed_resources(setup_ctx, request): warn(msg) +def assert_closed_ioloop(): + inst = IOLoop.instance() + if inst.socket_map: + warn(f"unclosed ioloop socket map {inst.socket_map}") + if inst.sched._tasks: + warn(f"unclosed ioloop tasks {inst.sched._tasks}") + + +# --- + + def setup_method(origin): ctx = collect_resources() ctx["_origin"] = origin @@ -72,6 +85,7 @@ def setup_method(origin): def teardown_method(setup_ctx, request): assert_closed_resources(setup_ctx, request) + assert_closed_ioloop() @pytest.fixture(autouse=True, scope="function")