From 18507ca5d567ba3e1c4681e2246bb2cc6afd8945 Mon Sep 17 00:00:00 2001 From: Adrian Chaves Date: Mon, 22 Jun 2026 11:34:08 +0200 Subject: [PATCH] Solve warning-related issues --- scrapy/utils/test.py | 6 ++++-- tests/AsyncCrawlerProcess/reactorless_datauri.py | 9 ++++++++- tests/AsyncCrawlerProcess/reactorless_simple.py | 9 ++++++++- tests/AsyncCrawlerRunner/reactorless_datauri.py | 9 ++++++++- tests/AsyncCrawlerRunner/reactorless_simple.py | 9 ++++++++- tests/test_crawler.py | 1 + 6 files changed, 37 insertions(+), 6 deletions(-) diff --git a/scrapy/utils/test.py b/scrapy/utils/test.py index b4e20c3c6..90eed348e 100644 --- a/scrapy/utils/test.py +++ b/scrapy/utils/test.py @@ -66,12 +66,14 @@ def get_crawler( will be used to populate the crawler settings with a project level priority. """ - # When needed, useful settings can be added here, e.g. ones that prevent - # deprecation warnings. settings: dict[str, Any] = { **get_reactor_settings(), **(settings_dict or {}), } + if prevent_warnings: + settings.setdefault("CONCURRENT_REQUESTS_PER_DOMAIN", 8) + settings.setdefault("DOWNLOAD_DELAY", 0) + settings.setdefault("ROBOTSTXT_OBEY", False) runner: CrawlerRunnerBase if is_reactor_installed(): runner = CrawlerRunner(settings) diff --git a/tests/AsyncCrawlerProcess/reactorless_datauri.py b/tests/AsyncCrawlerProcess/reactorless_datauri.py index 5270b7b83..ad1fc9e38 100644 --- a/tests/AsyncCrawlerProcess/reactorless_datauri.py +++ b/tests/AsyncCrawlerProcess/reactorless_datauri.py @@ -12,7 +12,14 @@ class DataSpider(Spider): return {"data": response.text} -process = AsyncCrawlerProcess(settings={"TWISTED_REACTOR_ENABLED": False}) +process = AsyncCrawlerProcess( + settings={ + "TWISTED_REACTOR_ENABLED": False, + "CONCURRENT_REQUESTS_PER_DOMAIN": 8, + "DOWNLOAD_DELAY": 0, + "ROBOTSTXT_OBEY": False, + } +) process.crawl(DataSpider) process.start() diff --git a/tests/AsyncCrawlerProcess/reactorless_simple.py b/tests/AsyncCrawlerProcess/reactorless_simple.py index 33b4e8cb2..cd7fffa38 100644 --- a/tests/AsyncCrawlerProcess/reactorless_simple.py +++ b/tests/AsyncCrawlerProcess/reactorless_simple.py @@ -12,7 +12,14 @@ class NoRequestsSpider(scrapy.Spider): yield -process = AsyncCrawlerProcess(settings={"TWISTED_REACTOR_ENABLED": False}) +process = AsyncCrawlerProcess( + settings={ + "TWISTED_REACTOR_ENABLED": False, + "CONCURRENT_REQUESTS_PER_DOMAIN": 8, + "DOWNLOAD_DELAY": 0, + "ROBOTSTXT_OBEY": False, + } +) process.crawl(NoRequestsSpider) process.start() diff --git a/tests/AsyncCrawlerRunner/reactorless_datauri.py b/tests/AsyncCrawlerRunner/reactorless_datauri.py index d964f9c1c..5afa3ef87 100644 --- a/tests/AsyncCrawlerRunner/reactorless_datauri.py +++ b/tests/AsyncCrawlerRunner/reactorless_datauri.py @@ -17,7 +17,14 @@ class DataSpider(Spider): async def main() -> None: configure_logging() - runner = AsyncCrawlerRunner(settings={"TWISTED_REACTOR_ENABLED": False}) + runner = AsyncCrawlerRunner( + settings={ + "TWISTED_REACTOR_ENABLED": False, + "CONCURRENT_REQUESTS_PER_DOMAIN": 8, + "DOWNLOAD_DELAY": 0, + "ROBOTSTXT_OBEY": False, + } + ) await runner.crawl(DataSpider) diff --git a/tests/AsyncCrawlerRunner/reactorless_simple.py b/tests/AsyncCrawlerRunner/reactorless_simple.py index e91c7c89b..0e3684d32 100644 --- a/tests/AsyncCrawlerRunner/reactorless_simple.py +++ b/tests/AsyncCrawlerRunner/reactorless_simple.py @@ -17,7 +17,14 @@ class NoRequestsSpider(Spider): async def main() -> None: configure_logging() - runner = AsyncCrawlerRunner(settings={"TWISTED_REACTOR_ENABLED": False}) + runner = AsyncCrawlerRunner( + settings={ + "TWISTED_REACTOR_ENABLED": False, + "CONCURRENT_REQUESTS_PER_DOMAIN": 8, + "DOWNLOAD_DELAY": 0, + "ROBOTSTXT_OBEY": False, + } + ) await runner.crawl(NoRequestsSpider) diff --git a/tests/test_crawler.py b/tests/test_crawler.py index a3235003e..f67f23778 100644 --- a/tests/test_crawler.py +++ b/tests/test_crawler.py @@ -3,6 +3,7 @@ from __future__ import annotations import asyncio import logging import re +import warnings from pathlib import Path from typing import Any, ClassVar