From 46eeb73e2f46d6bb33560b333c6df7a75170de87 Mon Sep 17 00:00:00 2001 From: Andrey Rakhmatullin Date: Thu, 18 Jun 2026 22:34:57 +0500 Subject: [PATCH] Avoid a leaking looping call. --- tests/test_extension_memusage.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tests/test_extension_memusage.py b/tests/test_extension_memusage.py index 5c3511398..a474725d8 100644 --- a/tests/test_extension_memusage.py +++ b/tests/test_extension_memusage.py @@ -6,6 +6,7 @@ import sys import pytest from scrapy import signals +from scrapy.core import engine as engine_mod from scrapy.exceptions import NotConfigured from scrapy.extensions import memusage as memusage_mod from scrapy.extensions.memusage import MemoryUsage @@ -62,6 +63,8 @@ async def test_memusage_limit_closes_spider_with_reason_and_error_log( # Avoid background LoopingCall that can log after the test finishes. monkeypatch.setattr(memusage_mod, "create_looping_call", OneShotLoop) + # Avoid engine start/stop races (the extension stops the engine in engine_started). + monkeypatch.setattr(engine_mod, "create_looping_call", OneShotLoop) monkeypatch.setattr(MemoryUsage, "get_virtual_size", lambda _: 250 * MB) crawler = get_crawler(spidercls=_LoopSpider, settings_dict=settings)