Source: python-scrapy Version: 2.11.2-2 Severity: normal User: debian-pyt...@lists.debian.org Usertags: python3.13
This package failed build from source when test-built against a version of python3-defaults that includes 3.13 as a supported version. To reproduce this issue, build against python3-defaults (python3-all-dev etc.) from Debian experimental. What's new in Python 3.13: https://docs.python.org/3.13/whatsnew/3.13.html Log snippet: dh_auto_test -O--buildsystem=pybuild I: pybuild pybuild:308: cd /<<PKGBUILDDIR>>/tests/keys; cat example-com.key.pem example-com.cert.pem >cert.pem I: pybuild base:311: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_scrapy/build; python3.13 -m pytest --ignore tests/test_command_check.py -k 'not (test_start_requests_laziness or test_utf16)' ============================= test session starts ============================== platform linux -- Python 3.13.0rc2, pytest-8.3.3, pluggy-1.5.0 rootdir: /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_scrapy/build configfile: pytest.ini plugins: typeguard-4.3.0 collected 3544 items / 5 deselected / 3539 selected docs/faq.rst ....... [ 0%] docs/intro/overview.rst . [ 0%] docs/intro/tutorial.rst ....................................... [ 1%] docs/topics/addons.rst .... [ 1%] docs/topics/api.rst . [ 1%] docs/topics/asyncio.rst ... [ 1%] docs/topics/broad-crawls.rst ......... [ 1%] docs/topics/commands.rst .......... [ 2%] docs/topics/components.rst . [ 2%] docs/topics/contracts.rst ..... [ 2%] docs/topics/coroutines.rst ....... [ 2%] docs/topics/debug.rst ......... [ 2%] docs/topics/developer-tools.rst ....... [ 2%] docs/topics/downloader-middleware.rst ....... [ 3%] docs/topics/email.rst ..... [ 3%] docs/topics/exceptions.rst . [ 3%] docs/topics/exporters.rst ..... [ 3%] docs/topics/extensions.rst .... [ 3%] docs/topics/feed-exports.rst ........ [ 3%] docs/topics/item-pipeline.rst ....... [ 3%] docs/topics/jobs.rst . [ 3%] docs/topics/link-extractors.rst .. [ 4%] docs/topics/logging.rst ............ [ 4%] docs/topics/media-pipeline.rst ........................ [ 5%] docs/topics/practices.rst ........ [ 5%] docs/topics/request-response.rst .................. [ 5%] docs/topics/settings.rst ....................... [ 6%] docs/topics/signals.rst .. [ 6%] docs/topics/spider-middleware.rst ... [ 6%] docs/topics/spiders.rst ..................... [ 7%] tests/test_addons.py ......... [ 7%] tests/test_closespider.py ..... [ 7%] tests/test_cmdline/__init__.py ..... [ 7%] tests/test_cmdline_crawl_with_pipeline/__init__.py .. [ 7%] tests/test_command_fetch.py .... [ 7%] tests/test_command_parse.py ..................... [ 8%] tests/test_command_shell.py .................. [ 8%] tests/test_command_version.py .. [ 9%] tests/test_commands.py ................................s.....s.......... [ 10%] ....ssssssssssssssssssssss....... [ 11%] tests/test_contracts.py .......... [ 11%] tests/test_core_downloader.py . [ 11%] tests/test_crawl.py .....................ssssssss..s.............x. [ 12%] tests/test_crawler.py ......................ss..ss.s................ [ 14%] tests/test_dependencies.py s. [ 14%] tests/test_downloader_handlers.py ...................................... [ 15%] ........................................................................ [ 17%] ........................................................................ [ 19%] ..........................s....s....................................... [ 21%] tests/test_downloader_handlers_http2.py .s.............................. [ 22%] .......sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 24%] ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 26%] ssssssssssss.s.ssss [ 27%] tests/test_downloadermiddleware.py .........s [ 27%] tests/test_downloadermiddleware_ajaxcrawlable.py ..... [ 27%] tests/test_downloadermiddleware_cookies.py ..............xx....x........ [ 28%] ..... [ 28%] tests/test_downloadermiddleware_defaultheaders.py .. [ 28%] tests/test_downloadermiddleware_downloadtimeout.py .... [ 28%] tests/test_downloadermiddleware_httpauth.py ........ [ 28%] tests/test_downloadermiddleware_httpcache.py ........................... [ 29%] ........... [ 29%] tests/test_downloadermiddleware_httpcompression.py s..ss..ss..ss..ss..ss [ 30%] ..s..s............s.... [ 31%] tests/test_downloadermiddleware_httpproxy.py ........................... [ 31%] [ 31%] tests/test_downloadermiddleware_offsite.py ............................. [ 32%] ......... [ 32%] tests/test_downloadermiddleware_redirect.py ............................ [ 33%] ........................................................................ [ 35%] .............................................. [ 37%] tests/test_downloadermiddleware_retry.py ............................... [ 37%] ... [ 38%] tests/test_downloadermiddleware_robotstxt.py ...........ssssssssssssssss [ 38%] ssssss [ 38%] tests/test_downloadermiddleware_stats.py .... [ 39%] tests/test_downloadermiddleware_useragent.py ..... [ 39%] tests/test_downloaderslotssettings.py . [ 39%] tests/test_dupefilters.py .......... [ 39%] tests/test_engine.py ........ [ 39%] tests/test_engine_stop_download_bytes.py .............. [ 40%] tests/test_engine_stop_download_headers.py .............. [ 40%] tests/test_exporters.py ................................................ [ 41%] ........................................................................ [ 43%] .......................................... [ 45%] tests/test_extension_periodic_log.py ... [ 45%] tests/test_extension_telnet.py ... [ 45%] tests/test_feedexport.py ...............................sss............. [ 46%] ...................................................................... [ 48%] tests/test_http2_client_protocol.py ssssssssssssssssssssssssss [ 49%] tests/test_http_cookies.py ............ [ 49%] tests/test_http_headers.py .................. [ 50%] tests/test_http_request.py ............................................. [ 51%] ........................................................................ [ 53%] ............................................................ [ 55%] tests/test_http_response.py ............................................ [ 56%] ........................................................................ [ 58%] ........................................................................ [ 60%] .............................................. [ 61%] tests/test_item.py ................... [ 62%] tests/test_link.py ... [ 62%] tests/test_linkextractors.py ................................. [ 63%] tests/test_loader.py ................................................... [ 64%] .................... [ 65%] tests/test_loader_deprecated.py ........................................ [ 66%] ............... [ 66%] tests/test_logformatter.py .................... [ 67%] tests/test_mail.py ....... [ 67%] tests/test_middleware.py .... [ 67%] tests/test_pipeline_crawl.py .......... [ 68%] tests/test_pipeline_files.py ..........................ss. [ 68%] tests/test_pipeline_images.py ......................... [ 69%] tests/test_pipeline_media.py .................................. [ 70%] tests/test_pipelines.py s.... [ 70%] tests/test_pqueues.py s...s.. [ 70%] tests/test_proxy_connect.py sss [ 70%] tests/test_request_attribute_binding.py ....... [ 71%] tests/test_request_cb_kwargs.py . [ 71%] tests/test_request_dict.py ............... [ 71%] tests/test_request_left.py .... [ 71%] tests/test_responsetypes.py ....... [ 71%] tests/test_robotstxt_interface.py ....s..s..ssssssssssssss.....s. [ 72%] tests/test_scheduler.py ................. [ 73%] tests/test_scheduler_base.py .......... [ 73%] tests/test_selector.py ........s.. [ 73%] tests/test_settings/__init__.py ...........................x.x....... [ 74%] tests/test_signals.py s [ 74%] tests/test_spider.py ................................................... [ 76%] ............................................ [ 77%] tests/test_spiderloader/__init__.py ............ [ 77%] tests/test_spidermiddleware.py ......................................... [ 79%] .......... [ 79%] tests/test_spidermiddleware_depth.py . [ 79%] tests/test_spidermiddleware_httperror.py ............ [ 79%] tests/test_spidermiddleware_offsite.py ........ [ 80%] tests/test_spidermiddleware_output_chain.py ........... [ 80%] tests/test_spidermiddleware_referer.py ................................. [ 81%] .... [ 81%] tests/test_spidermiddleware_urllength.py .. [ 81%] tests/test_spiderstate.py ... [ 81%] tests/test_squeues.py ......x...............x...............x........... [ 82%] ....x...............x...............x...................x............... [ 84%] ....x...................x...................x...................x....... [ 87%] .......x........... [ 87%] tests/test_squeues_request.py .s.s.s.s.s.s.s.s.s.s.s.s [ 88%] tests/test_stats.py .... [ 88%] tests/test_toplevel.py ...... [ 88%] tests/test_urlparse_monkeypatches.py . [ 88%] tests/test_utils_asyncgen.py .. [ 88%] tests/test_utils_asyncio.py ..s [ 88%] tests/test_utils_conf.py .................... [ 89%] tests/test_utils_console.py .ss [ 89%] tests/test_utils_curl.py .............. [ 89%] tests/test_utils_datatypes.py .......................................... [ 90%] [ 90%] tests/test_utils_defer.py ............x.. [ 91%] tests/test_utils_deprecate.py ................. [ 91%] tests/test_utils_display.py ........ [ 92%] tests/test_utils_gz.py ...... [ 92%] tests/test_utils_httpobj.py . [ 92%] tests/test_utils_iterators.py ................................. [ 93%] tests/test_utils_log.py ........................ [ 93%] tests/test_utils_misc/__init__.py ......... [ 94%] tests/test_utils_misc/test_return_with_argument_inside_generator.py .... [ 94%] . [ 94%] tests/test_utils_project.py ..... [ 94%] tests/test_utils_python.py ...................F. [ 94%] tests/test_utils_request.py ...................x...........x............ [ 96%] ......... [ 96%] tests/test_utils_response.py ............... [ 96%] tests/test_utils_serialize.py ...... [ 97%] tests/test_utils_signal.py ....s. [ 97%] tests/test_utils_sitemap.py .......... [ 97%] tests/test_utils_spider.py .. [ 97%] tests/test_utils_template.py . [ 97%] tests/test_utils_trackref.py ..... [ 97%] tests/test_utils_url.py ................................................ [ 99%] ....s........... [ 99%] tests/test_webclient.py ................ [100%] =================================== FAILURES =================================== ____________________ UtilsPythonTestCase.test_get_func_args ____________________ self = <tests.test_utils_python.UtilsPythonTestCase testMethod=test_get_func_args> def test_get_func_args(self): def f1(a, b, c): pass def f2(a, b=None, c=None): pass def f3(a, b=None, *, c=None): pass class A: def __init__(self, a, b, c): pass def method(self, a, b, c): pass class Callable: def __call__(self, a, b, c): pass a = A(1, 2, 3) cal = Callable() partial_f1 = functools.partial(f1, None) partial_f2 = functools.partial(f1, b=None) partial_f3 = functools.partial(partial_f2, None) self.assertEqual(get_func_args(f1), ["a", "b", "c"]) self.assertEqual(get_func_args(f2), ["a", "b", "c"]) self.assertEqual(get_func_args(f3), ["a", "b", "c"]) self.assertEqual(get_func_args(A), ["a", "b", "c"]) self.assertEqual(get_func_args(a.method), ["a", "b", "c"]) self.assertEqual(get_func_args(partial_f1), ["b", "c"]) self.assertEqual(get_func_args(partial_f2), ["a", "c"]) self.assertEqual(get_func_args(partial_f3), ["c"]) self.assertEqual(get_func_args(cal), ["a", "b", "c"]) self.assertEqual(get_func_args(object), []) self.assertEqual(get_func_args(str.split, stripself=True), ["sep", "maxsplit"]) self.assertEqual(get_func_args(" ".join, stripself=True), ["iterable"]) if platform.python_implementation() == "CPython": # This didn't work on older versions of CPython: https://github.com/python/cpython/issues/86951 > self.assertIn( get_func_args(operator.itemgetter(2), stripself=True), [[], ["args", "kwargs"]], /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_scrapy/build/tests/test_utils_python.py:243: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = <tests.test_utils_python.UtilsPythonTestCase testMethod=test_get_func_args> containee = ['obj'], container = [[], ['args', 'kwargs']], msg = None def assertIn(self, containee, container, msg=None): """ Fail the test if C{containee} is not found in C{container}. @param containee: the value that should be in C{container} @param container: a sequence type, or in the case of a mapping type, will follow semantics of 'if key in dict.keys()' @param msg: if msg is None, then the failure message will be '%r not in %r' % (first, second) """ if containee not in container: > raise self.failureException(msg or f"{containee!r} not in > {container!r}") E twisted.trial.unittest.FailTest: ['obj'] not in [[], ['args', 'kwargs']] /usr/lib/python3/dist-packages/twisted/trial/_synctest.py:509: FailTest =============================== warnings summary =============================== ../../../../../../usr/lib/python3/dist-packages/twisted/web/static.py:35 /usr/lib/python3/dist-packages/twisted/web/static.py:35: DeprecationWarning: twisted.web.resource._UnsafeNoResource.__init__ was deprecated in Twisted 22.10.0; please use Use twisted.web.pages.notFound instead, which properly escapes HTML. instead dangerousPathError = resource._UnsafeNoResource("Invalid request URL.") ../../../../../../usr/lib/python3/dist-packages/twisted/web/static.py:264 /usr/lib/python3/dist-packages/twisted/web/static.py:264: DeprecationWarning: twisted.web.resource._UnsafeNoResource.__init__ was deprecated in Twisted 22.10.0; please use Use twisted.web.pages.notFound instead, which properly escapes HTML. instead childNotFound = resource._UnsafeNoResource("File not found.") ../../../../../../usr/lib/python3/dist-packages/twisted/web/static.py:265 /usr/lib/python3/dist-packages/twisted/web/static.py:265: DeprecationWarning: twisted.web.resource._UnsafeForbiddenResource.__init__ was deprecated in Twisted 22.10.0; please use Use twisted.web.pages.forbidden instead, which properly escapes HTML. instead forbidden = resource._UnsafeForbiddenResource() scrapy/core/downloader/webclient.py:8 /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_scrapy/build/scrapy/core/downloader/webclient.py:8: DeprecationWarning: twisted.web.http.HTTPClient was deprecated in Twisted 24.7.0: Use twisted.web.client.Agent instead. from twisted.web.http import HTTPClient scrapy/spidermiddlewares/offsite.py:15 /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_scrapy/build/scrapy/spidermiddlewares/offsite.py:15: ScrapyDeprecationWarning: The scrapy.spidermiddlewares.offsite module is deprecated, use scrapy.downloadermiddlewares.offsite instead. warnings.warn( tests/test_addons.py: 2 warnings tests/test_crawler.py: 2 warnings tests/test_downloaderslotssettings.py: 1 warning tests/test_extension_periodic_log.py: 16 warnings tests/test_spider.py: 6 warnings /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_scrapy/build/scrapy/utils/request.py:254: ScrapyDeprecationWarning: '2.6' is a deprecated value for the 'REQUEST_FINGERPRINTER_IMPLEMENTATION' setting. It is also the default value. In other words, it is normal to get this warning if you have not defined a value for the 'REQUEST_FINGERPRINTER_IMPLEMENTATION' setting. This is so for backward compatibility reasons, but it will change in a future version of Scrapy. See the documentation of the 'REQUEST_FINGERPRINTER_IMPLEMENTATION' setting for information on how to handle this deprecation. return cls(crawler) tests/test_command_parse.py: 19 warnings /usr/lib/python3/dist-packages/twisted/web/resource.py:190: DeprecationWarning: twisted.web.resource._UnsafeNoResource.__init__ was deprecated in Twisted 22.10.0; please use Use twisted.web.pages.notFound instead, which properly escapes HTML. instead return _UnsafeNoResource() tests/test_command_shell.py::ShellTest::test_request_replace /usr/lib/python3/dist-packages/twisted/web/server.py:324: DeprecationWarning: twisted.web.resource._UnsafeErrorPage.__init__ was deprecated in Twisted 22.10.0; please use Use twisted.web.pages.errorPage instead, which properly escapes HTML. instead epage = resource._UnsafeErrorPage( tests/test_contracts.py::ContractsManagerTest::test_returns_async /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_scrapy/build/scrapy/contracts/__init__.py:170: RuntimeWarning: coroutine 'TestSpider.returns_request_async' was never awaited results.addError(case, sys.exc_info()) tests/test_crawl.py: 2 warnings tests/test_downloader_handlers.py: 161 warnings tests/test_downloader_handlers_http2.py: 34 warnings tests/test_webclient.py: 4 warnings /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_scrapy/build/scrapy/core/downloader/contextfactory.py:90: DeprecationWarning: Passing method to twisted.internet.ssl.CertificateOptions was deprecated in Twisted 17.1.0. Please use a combination of insecurelyLowerMinimumTo, raiseMinimumTo, and lowerMaximumSecurityTo instead, as Twisted will correctly configure the method. return CertificateOptions( tests/test_downloader_handlers.py::HttpTestCase::test_response_header_content_length tests/test_downloader_handlers.py::Http10TestCase::test_response_header_content_length tests/test_downloader_handlers.py::Https10TestCase::test_response_header_content_length tests/test_downloader_handlers.py::Http11TestCase::test_response_header_content_length tests/test_downloader_handlers.py::Https11TestCase::test_response_header_content_length tests/test_downloader_handlers.py::Https11WrongHostnameTestCase::test_response_header_content_length tests/test_downloader_handlers.py::Https11InvalidDNSId::test_response_header_content_length tests/test_downloader_handlers.py::Https11InvalidDNSPattern::test_response_header_content_length tests/test_downloader_handlers_http2.py::Https11TestCase::test_response_header_content_length /usr/lib/python3/dist-packages/twisted/web/server.py:329: DeprecationWarning: twisted.web.resource._UnsafeErrorPage.__init__ was deprecated in Twisted 22.10.0; please use Use twisted.web.pages.errorPage instead, which properly escapes HTML. instead epage = resource._UnsafeErrorPage( tests/test_downloadermiddleware_offsite.py::test_process_request_invalid_domains tests/test_downloadermiddleware_offsite.py::test_request_scheduled_invalid_domains /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_scrapy/build/scrapy/downloadermiddlewares/offsite.py:67: UserWarning: allowed_domains accepts only domains, not URLs. Ignoring URL entry http:////b.example in allowed_domains. warnings.warn(message) tests/test_feedexport.py::StdoutFeedStoragePreFeedOptionsTest::test_init tests/test_feedexport.py::StdoutFeedStoragePreFeedOptionsTest::test_init /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_scrapy/build/scrapy/extensions/feedexport.py:49: ScrapyDeprecationWarning: StdoutFeedStorageWithoutFeedOptions does not support the 'feed_options' keyword argument. Add a 'feed_options' parameter to its signature to remove this warning. This parameter will become mandatory in a future version of Scrapy. warnings.warn( tests/test_feedexport.py::FileFeedStoragePreFeedOptionsTest::test_init tests/test_feedexport.py::FileFeedStoragePreFeedOptionsTest::test_init /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_scrapy/build/scrapy/extensions/feedexport.py:49: ScrapyDeprecationWarning: FileFeedStorageWithoutFeedOptions does not support the 'feed_options' keyword argument. Add a 'feed_options' parameter to its signature to remove this warning. This parameter will become mandatory in a future version of Scrapy. warnings.warn( tests/test_feedexport.py::S3FeedStoragePreFeedOptionsTest::test_from_crawler tests/test_feedexport.py::S3FeedStoragePreFeedOptionsTest::test_from_crawler /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_scrapy/build/scrapy/extensions/feedexport.py:49: ScrapyDeprecationWarning: S3FeedStorageWithoutFeedOptionsWithFromCrawler.from_crawler does not support the 'feed_options' keyword argument. Add a 'feed_options' parameter to its signature to remove this warning. This parameter will become mandatory in a future version of Scrapy. warnings.warn( tests/test_feedexport.py::S3FeedStoragePreFeedOptionsTest::test_init tests/test_feedexport.py::S3FeedStoragePreFeedOptionsTest::test_init /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_scrapy/build/scrapy/extensions/feedexport.py:49: ScrapyDeprecationWarning: S3FeedStorageWithoutFeedOptions does not support the 'feed_options' keyword argument. Add a 'feed_options' parameter to its signature to remove this warning. This parameter will become mandatory in a future version of Scrapy. warnings.warn( tests/test_feedexport.py::FTPFeedStoragePreFeedOptionsTest::test_from_crawler tests/test_feedexport.py::FTPFeedStoragePreFeedOptionsTest::test_from_crawler /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_scrapy/build/scrapy/extensions/feedexport.py:49: ScrapyDeprecationWarning: FTPFeedStorageWithoutFeedOptionsWithFromCrawler.from_crawler does not support the 'feed_options' keyword argument. Add a 'feed_options' parameter to its signature to remove this warning. This parameter will become mandatory in a future version of Scrapy. warnings.warn( tests/test_feedexport.py::FTPFeedStoragePreFeedOptionsTest::test_init tests/test_feedexport.py::FTPFeedStoragePreFeedOptionsTest::test_init /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_scrapy/build/scrapy/extensions/feedexport.py:49: ScrapyDeprecationWarning: FTPFeedStorageWithoutFeedOptions does not support the 'feed_options' keyword argument. Add a 'feed_options' parameter to its signature to remove this warning. This parameter will become mandatory in a future version of Scrapy. warnings.warn( tests/test_utils_datatypes.py::CaseInsensitiveDictTest::test_getdefault tests/test_utils_datatypes.py::CaselessDictTest::test_getdefault /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_scrapy/build/tests/test_utils_datatypes.py:95: ScrapyDeprecationWarning: scrapy.utils.datatypes.CaselessDict is deprecated, please use scrapy.utils.datatypes.CaseInsensitiveDict instead d = CaselessDict() tests/test_utils_datatypes.py::CaseInsensitiveDictTest::test_setdefault tests/test_utils_datatypes.py::CaselessDictTest::test_setdefault /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_scrapy/build/tests/test_utils_datatypes.py:101: ScrapyDeprecationWarning: scrapy.utils.datatypes.CaselessDict is deprecated, please use scrapy.utils.datatypes.CaseInsensitiveDict instead d = CaselessDict({"a": 1, "b": 2}) tests/test_utils_datatypes.py::CaselessDictTest::test_caseless /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_scrapy/build/tests/test_utils_datatypes.py:79: ScrapyDeprecationWarning: scrapy.utils.datatypes.CaselessDict is deprecated, please use scrapy.utils.datatypes.CaseInsensitiveDict instead d = self.dict_class() tests/test_utils_datatypes.py::CaselessDictTest::test_contains /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_scrapy/build/tests/test_utils_datatypes.py:132: ScrapyDeprecationWarning: scrapy.utils.datatypes.CaselessDict is deprecated, please use scrapy.utils.datatypes.CaseInsensitiveDict instead d = self.dict_class() tests/test_utils_datatypes.py::CaselessDictTest::test_copy /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_scrapy/build/tests/test_utils_datatypes.py:185: ScrapyDeprecationWarning: scrapy.utils.datatypes.CaselessDict is deprecated, please use scrapy.utils.datatypes.CaseInsensitiveDict instead h1 = self.dict_class({"header1": "value"}) tests/test_utils_datatypes.py::CaselessDictTest::test_copy tests/test_utils_datatypes.py::CaselessDictTest::test_copy /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_scrapy/build/scrapy/utils/datatypes.py:55: ScrapyDeprecationWarning: scrapy.utils.datatypes.CaselessDict is deprecated, please use scrapy.utils.datatypes.CaseInsensitiveDict instead return self.__class__(self) tests/test_utils_datatypes.py::CaselessDictTest::test_delete /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_scrapy/build/tests/test_utils_datatypes.py:89: ScrapyDeprecationWarning: scrapy.utils.datatypes.CaselessDict is deprecated, please use scrapy.utils.datatypes.CaseInsensitiveDict instead d = self.dict_class({"key_lower": 1}) tests/test_utils_datatypes.py::CaselessDictTest::test_fromkeys tests/test_utils_datatypes.py::CaselessDictTest::test_fromkeys tests/test_utils_datatypes.py::CaselessDictTest::test_fromkeys tests/test_utils_datatypes.py::CaselessDictTest::test_fromkeys tests/test_utils_datatypes.py::CaselessDictTest::test_normvalue /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_scrapy/build/scrapy/utils/datatypes.py:80: ScrapyDeprecationWarning: scrapy.utils.datatypes.CaselessDict is deprecated, please use scrapy.utils.datatypes.CaseInsensitiveDict instead return cls((k, value) for k in keys) tests/test_utils_datatypes.py::CaselessDictTest::test_fromkeys /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_scrapy/build/tests/test_utils_datatypes.py:122: ScrapyDeprecationWarning: scrapy.utils.datatypes.CaselessDict is deprecated, please use scrapy.utils.datatypes.CaseInsensitiveDict instead instance = self.dict_class() tests/test_utils_datatypes.py::CaselessDictTest::test_init_dict /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_scrapy/build/tests/test_utils_datatypes.py:24: ScrapyDeprecationWarning: scrapy.utils.datatypes.CaselessDict is deprecated, please use scrapy.utils.datatypes.CaseInsensitiveDict instead d = self.dict_class(seq) tests/test_utils_datatypes.py::CaselessDictTest::test_init_mapping /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_scrapy/build/tests/test_utils_datatypes.py:49: ScrapyDeprecationWarning: scrapy.utils.datatypes.CaselessDict is deprecated, please use scrapy.utils.datatypes.CaseInsensitiveDict instead d = self.dict_class(seq) tests/test_utils_datatypes.py::CaselessDictTest::test_init_mutable_mapping /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_scrapy/build/tests/test_utils_datatypes.py:74: ScrapyDeprecationWarning: scrapy.utils.datatypes.CaselessDict is deprecated, please use scrapy.utils.datatypes.CaseInsensitiveDict instead d = self.dict_class(seq) tests/test_utils_datatypes.py::CaselessDictTest::test_init_pair_sequence /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_scrapy/build/tests/test_utils_datatypes.py:30: ScrapyDeprecationWarning: scrapy.utils.datatypes.CaselessDict is deprecated, please use scrapy.utils.datatypes.CaseInsensitiveDict instead d = self.dict_class(seq) tests/test_utils_datatypes.py::CaselessDictTest::test_normkey /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_scrapy/build/tests/test_utils_datatypes.py:149: ScrapyDeprecationWarning: scrapy.utils.datatypes.CaselessDict is deprecated, please use scrapy.utils.datatypes.CaseInsensitiveDict instead d = MyDict() tests/test_utils_datatypes.py::CaselessDictTest::test_normvalue /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_scrapy/build/tests/test_utils_datatypes.py:161: ScrapyDeprecationWarning: scrapy.utils.datatypes.CaselessDict is deprecated, please use scrapy.utils.datatypes.CaseInsensitiveDict instead d = MyDict({"key": 1}) tests/test_utils_datatypes.py::CaselessDictTest::test_normvalue /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_scrapy/build/tests/test_utils_datatypes.py:165: ScrapyDeprecationWarning: scrapy.utils.datatypes.CaselessDict is deprecated, please use scrapy.utils.datatypes.CaseInsensitiveDict instead d = MyDict() tests/test_utils_datatypes.py::CaselessDictTest::test_normvalue /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_scrapy/build/tests/test_utils_datatypes.py:170: ScrapyDeprecationWarning: scrapy.utils.datatypes.CaselessDict is deprecated, please use scrapy.utils.datatypes.CaseInsensitiveDict instead d = MyDict() tests/test_utils_datatypes.py::CaselessDictTest::test_normvalue /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_scrapy/build/tests/test_utils_datatypes.py:175: ScrapyDeprecationWarning: scrapy.utils.datatypes.CaselessDict is deprecated, please use scrapy.utils.datatypes.CaseInsensitiveDict instead d = MyDict() tests/test_utils_datatypes.py::CaselessDictTest::test_pop /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_scrapy/build/tests/test_utils_datatypes.py:137: ScrapyDeprecationWarning: scrapy.utils.datatypes.CaselessDict is deprecated, please use scrapy.utils.datatypes.CaseInsensitiveDict instead d = self.dict_class() tests/test_utils_misc/test_return_with_argument_inside_generator.py::UtilsMiscPy3TestCase::test_generators_return_none tests/test_utils_misc/test_return_with_argument_inside_generator.py::UtilsMiscPy3TestCase::test_generators_return_none tests/test_utils_misc/test_return_with_argument_inside_generator.py::UtilsMiscPy3TestCase::test_generators_return_something tests/test_utils_misc/test_return_with_argument_inside_generator.py::UtilsMiscPy3TestCase::test_generators_return_something tests/test_utils_misc/test_return_with_argument_inside_generator.py::UtilsMiscPy3TestCase::test_generators_return_something tests/test_utils_misc/test_return_with_argument_inside_generator.py::UtilsMiscPy3TestCase::test_generators_return_something tests/test_utils_misc/test_return_with_argument_inside_generator.py::UtilsMiscPy3TestCase::test_generators_return_something /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_scrapy/build/scrapy/utils/misc.py:249: DeprecationWarning: ast.NameConstant is deprecated and will be removed in Python 3.14; use ast.Constant instead value is None or isinstance(value, ast.NameConstant) and value.value is None -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html =========================== short test summary info ============================ FAILED tests/test_utils_python.py::UtilsPythonTestCase::test_get_func_args - ... = 1 failed, 3211 passed, 306 skipped, 5 deselected, 21 xfailed, 310 warnings in 502.61s (0:08:22) = E: pybuild pybuild:389: test: plugin distutils failed with: exit code=1: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_scrapy/build; python3.13 -m pytest --ignore tests/test_command_check.py -k 'not (test_start_requests_laziness or test_utf16)' I: pybuild pybuild:308: cd /<<PKGBUILDDIR>>/tests/keys; cat example-com.key.pem example-com.cert.pem >cert.pem I: pybuild base:311: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_scrapy/build; python3.12 -m pytest --ignore tests/test_command_check.py -k 'not (test_start_requests_laziness or test_utf16)' ============================= test session starts ============================== platform linux -- Python 3.12.6, pytest-8.3.3, pluggy-1.5.0 rootdir: /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_scrapy/build configfile: pytest.ini plugins: typeguard-4.3.0 collected 3544 items / 5 deselected / 3539 selected docs/faq.rst ....... [ 0%] docs/intro/overview.rst . [ 0%] docs/intro/tutorial.rst ....................................... [ 1%] docs/topics/addons.rst .... [ 1%] docs/topics/api.rst . [ 1%] docs/topics/asyncio.rst ... [ 1%] docs/topics/broad-crawls.rst ......... [ 1%] docs/topics/commands.rst .......... [ 2%] docs/topics/components.rst . [ 2%] docs/topics/contracts.rst ..... [ 2%] docs/topics/coroutines.rst ....... [ 2%] docs/topics/debug.rst ......... [ 2%] docs/topics/developer-tools.rst ....... [ 2%] docs/topics/downloader-middleware.rst ....... [ 3%] docs/topics/email.rst ..... [ 3%] docs/topics/exceptions.rst . [ 3%] docs/topics/exporters.rst ..... [ 3%] docs/topics/extensions.rst .... [ 3%] docs/topics/feed-exports.rst ........ [ 3%] docs/topics/item-pipeline.rst ....... [ 3%] docs/topics/jobs.rst . [ 3%] docs/topics/link-extractors.rst .. [ 4%] docs/topics/logging.rst ............ [ 4%] docs/topics/media-pipeline.rst ........................ [ 5%] docs/topics/practices.rst ........ [ 5%] docs/topics/request-response.rst .................. [ 5%] docs/topics/settings.rst ....................... [ 6%] docs/topics/signals.rst .. [ 6%] docs/topics/spider-middleware.rst ... [ 6%] docs/topics/spiders.rst ..................... [ 7%] tests/test_addons.py ......... [ 7%] tests/test_closespider.py ..... [ 7%] tests/test_cmdline/__init__.py ..... [ 7%] tests/test_cmdline_crawl_with_pipeline/__init__.py .. [ 7%] tests/test_command_fetch.py .... [ 7%] tests/test_command_parse.py ..................... [ 8%] tests/test_command_shell.py .................. [ 8%] tests/test_command_version.py .. [ 9%] tests/test_commands.py ................................s.....s.......... [ 10%] ....ssssssssssssssssssssss....... [ 11%] tests/test_contracts.py .......... [ 11%] tests/test_core_downloader.py . [ 11%] tests/test_crawl.py .....................ssssssss..s.............x. [ 12%] tests/test_crawler.py ......................ss..ss.s................ [ 14%] tests/test_dependencies.py s. [ 14%] tests/test_downloader_handlers.py ...................................... [ 15%] ........................................................................ [ 17%] ........................................................................ [ 19%] ..........................s....s....................................... [ 21%] tests/test_downloader_handlers_http2.py .s.............................. [ 22%] .......sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 24%] ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 26%] ssssssssssss.s.ssss [ 27%] tests/test_downloadermiddleware.py .........s [ 27%] tests/test_downloadermiddleware_ajaxcrawlable.py ..... [ 27%] tests/test_downloadermiddleware_cookies.py ..............xx....x........ [ 28%] ..... [ 28%] tests/test_downloadermiddleware_defaultheaders.py .. [ 28%] tests/test_downloadermiddleware_downloadtimeout.py .... [ 28%] tests/test_downloadermiddleware_httpauth.py ........ [ 28%] tests/test_downloadermiddleware_httpcache.py ........................... [ 29%] ........... [ 29%] tests/test_downloadermiddleware_httpcompression.py s..ss..ss..ss..ss..ss [ 30%] ..s..s............s.... [ 31%] tests/test_downloadermiddleware_httpproxy.py ........................... [ 31%] [ 31%] tests/test_downloadermiddleware_offsite.py ............................. [ 32%] ......... [ 32%] tests/test_downloadermiddleware_redirect.py ............................ [ 33%] ........................................................................ [ 35%] .............................................. [ 37%] tests/test_downloadermiddleware_retry.py ............................... [ 37%] ... [ 38%] tests/test_downloadermiddleware_robotstxt.py ...........ssssssssssssssss [ 38%] ssssss [ 38%] tests/test_downloadermiddleware_stats.py .... [ 39%] tests/test_downloadermiddleware_useragent.py ..... [ 39%] tests/test_downloaderslotssettings.py . [ 39%] tests/test_dupefilters.py .......... [ 39%] tests/test_engine.py ........ [ 39%] tests/test_engine_stop_download_bytes.py .............. [ 40%] tests/test_engine_stop_download_headers.py .............. [ 40%] tests/test_exporters.py ................................................ [ 41%] ........................................................................ [ 43%] .......................................... [ 45%] tests/test_extension_periodic_log.py ... [ 45%] tests/test_extension_telnet.py ... [ 45%] tests/test_feedexport.py ...............................sss............. [ 46%] ...................................................................... [ 48%] tests/test_http2_client_protocol.py ssssssssssssssssssssssssss [ 49%] tests/test_http_cookies.py ............ [ 49%] tests/test_http_headers.py .................. [ 50%] tests/test_http_request.py ............................................. [ 51%] ........................................................................ [ 53%] ............................................................ [ 55%] tests/test_http_response.py ............................................ [ 56%] ........................................................................ [ 58%] ........................................................................ [ 60%] .............................................. [ 61%] tests/test_item.py ................... [ 62%] tests/test_link.py ... [ 62%] tests/test_linkextractors.py ................................. [ 63%] tests/test_loader.py ................................................... [ 64%] .................... [ 65%] tests/test_loader_deprecated.py ........................................ [ 66%] ............... [ 66%] tests/test_logformatter.py .................... [ 67%] tests/test_mail.py ....... [ 67%] tests/test_middleware.py .... [ 67%] tests/test_pipeline_crawl.py .......... [ 68%] tests/test_pipeline_files.py ..........................ss. [ 68%] tests/test_pipeline_images.py ......................... [ 69%] tests/test_pipeline_media.py .................................. [ 70%] tests/test_pipelines.py s.... [ 70%] tests/test_pqueues.py s...s.. [ 70%] tests/test_proxy_connect.py sss [ 70%] tests/test_request_attribute_binding.py ....... [ 71%] tests/test_request_cb_kwargs.py . [ 71%] tests/test_request_dict.py ............... [ 71%] tests/test_request_left.py .... [ 71%] tests/test_responsetypes.py ....... [ 71%] tests/test_robotstxt_interface.py ....s..s..ssssssssssssss.....s. [ 72%] tests/test_scheduler.py ................. [ 73%] tests/test_scheduler_base.py .......... [ 73%] tests/test_selector.py ........s.. [ 73%] tests/test_settings/__init__.py ...........................x.x....... [ 74%] tests/test_signals.py s [ 74%] tests/test_spider.py ................................................... [ 76%] ............................................ [ 77%] tests/test_spiderloader/__init__.py ............ [ 77%] tests/test_spidermiddleware.py ......................................... [ 79%] .......... [ 79%] tests/test_spidermiddleware_depth.py . [ 79%] tests/test_spidermiddleware_httperror.py ............ [ 79%] tests/test_spidermiddleware_offsite.py ........ [ 80%] tests/test_spidermiddleware_output_chain.py ........... [ 80%] tests/test_spidermiddleware_referer.py ................................. [ 81%] .... [ 81%] tests/test_spidermiddleware_urllength.py .. [ 81%] tests/test_spiderstate.py ... [ 81%] tests/test_squeues.py ......x...............x...............x........... [ 82%] ....x...............x...............x...................x............... [ 84%] ....x...................x...................x...................x....... [ 87%] .......x........... [ 87%] tests/test_squeues_request.py .s.s.s.s.s.s.s.s.s.s.s.s [ 88%] tests/test_stats.py .... [ 88%] tests/test_toplevel.py ...... [ 88%] tests/test_urlparse_monkeypatches.py . [ 88%] tests/test_utils_asyncgen.py .. [ 88%] tests/test_utils_asyncio.py ..s [ 88%] tests/test_utils_conf.py .................... [ 89%] tests/test_utils_console.py .ss [ 89%] tests/test_utils_curl.py .............. [ 89%] tests/test_utils_datatypes.py .......................................... [ 90%] [ 90%] tests/test_utils_defer.py ............x.. [ 91%] tests/test_utils_deprecate.py ................. [ 91%] tests/test_utils_display.py ........ [ 92%] tests/test_utils_gz.py ...... [ 92%] tests/test_utils_httpobj.py . [ 92%] tests/test_utils_iterators.py ................................. [ 93%] tests/test_utils_log.py ........................ [ 93%] tests/test_utils_misc/__init__.py ......... [ 94%] tests/test_utils_misc/test_return_with_argument_inside_generator.py .... [ 94%] . [ 94%] tests/test_utils_project.py ..... [ 94%] tests/test_utils_python.py ..................... [ 94%] tests/test_utils_request.py ...................x...........x............ [ 96%] ......... [ 96%] tests/test_utils_response.py ............... [ 96%] tests/test_utils_serialize.py ...... [ 97%] tests/test_utils_signal.py ....s. [ 97%] tests/test_utils_sitemap.py .......... [ 97%] tests/test_utils_spider.py .. [ 97%] tests/test_utils_template.py . [ 97%] tests/test_utils_trackref.py ..... [ 97%] tests/test_utils_url.py ................................................ [ 99%] ....s........... [ 99%] tests/test_webclient.py ................ [100%] =============================== warnings summary =============================== ../../../../../../usr/lib/python3/dist-packages/twisted/web/static.py:35 /usr/lib/python3/dist-packages/twisted/web/static.py:35: DeprecationWarning: twisted.web.resource._UnsafeNoResource.__init__ was deprecated in Twisted 22.10.0; please use Use twisted.web.pages.notFound instead, which properly escapes HTML. instead dangerousPathError = resource._UnsafeNoResource("Invalid request URL.") ../../../../../../usr/lib/python3/dist-packages/twisted/web/static.py:264 /usr/lib/python3/dist-packages/twisted/web/static.py:264: DeprecationWarning: twisted.web.resource._UnsafeNoResource.__init__ was deprecated in Twisted 22.10.0; please use Use twisted.web.pages.notFound instead, which properly escapes HTML. instead childNotFound = resource._UnsafeNoResource("File not found.") ../../../../../../usr/lib/python3/dist-packages/twisted/web/static.py:265 /usr/lib/python3/dist-packages/twisted/web/static.py:265: DeprecationWarning: twisted.web.resource._UnsafeForbiddenResource.__init__ was deprecated in Twisted 22.10.0; please use Use twisted.web.pages.forbidden instead, which properly escapes HTML. instead forbidden = resource._UnsafeForbiddenResource() scrapy/core/downloader/webclient.py:8 /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_scrapy/build/scrapy/core/downloader/webclient.py:8: DeprecationWarning: twisted.web.http.HTTPClient was deprecated in Twisted 24.7.0: Use twisted.web.client.Agent instead. from twisted.web.http import HTTPClient scrapy/spidermiddlewares/offsite.py:15 /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_scrapy/build/scrapy/spidermiddlewares/offsite.py:15: ScrapyDeprecationWarning: The scrapy.spidermiddlewares.offsite module is deprecated, use scrapy.downloadermiddlewares.offsite instead. warnings.warn( tests/test_addons.py: 2 warnings tests/test_crawler.py: 2 warnings tests/test_downloaderslotssettings.py: 1 warning tests/test_extension_periodic_log.py: 16 warnings tests/test_spider.py: 6 warnings /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_scrapy/build/scrapy/utils/request.py:254: ScrapyDeprecationWarning: '2.6' is a deprecated value for the 'REQUEST_FINGERPRINTER_IMPLEMENTATION' setting. It is also the default value. In other words, it is normal to get this warning if you have not defined a value for the 'REQUEST_FINGERPRINTER_IMPLEMENTATION' setting. This is so for backward compatibility reasons, but it will change in a future version of Scrapy. See the documentation of the 'REQUEST_FINGERPRINTER_IMPLEMENTATION' setting for information on how to handle this deprecation. return cls(crawler) tests/test_command_parse.py: 19 warnings /usr/lib/python3/dist-packages/twisted/web/resource.py:190: DeprecationWarning: twisted.web.resource._UnsafeNoResource.__init__ was deprecated in Twisted 22.10.0; please use Use twisted.web.pages.notFound instead, which properly escapes HTML. instead return _UnsafeNoResource() tests/test_command_shell.py::ShellTest::test_request_replace /usr/lib/python3/dist-packages/twisted/web/server.py:324: DeprecationWarning: twisted.web.resource._UnsafeErrorPage.__init__ was deprecated in Twisted 22.10.0; please use Use twisted.web.pages.errorPage instead, which properly escapes HTML. instead epage = resource._UnsafeErrorPage( tests/test_contracts.py::ContractsManagerTest::test_returns_async /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_scrapy/build/scrapy/contracts/__init__.py:170: RuntimeWarning: coroutine 'TestSpider.returns_request_async' was never awaited results.addError(case, sys.exc_info()) tests/test_crawl.py: 2 warnings tests/test_downloader_handlers.py: 161 warnings tests/test_downloader_handlers_http2.py: 34 warnings tests/test_webclient.py: 4 warnings /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_scrapy/build/scrapy/core/downloader/contextfactory.py:90: DeprecationWarning: Passing method to twisted.internet.ssl.CertificateOptions was deprecated in Twisted 17.1.0. Please use a combination of insecurelyLowerMinimumTo, raiseMinimumTo, and lowerMaximumSecurityTo instead, as Twisted will correctly configure the method. return CertificateOptions( tests/test_downloader_handlers.py::HttpTestCase::test_response_header_content_length tests/test_downloader_handlers.py::Http10TestCase::test_response_header_content_length tests/test_downloader_handlers.py::Https10TestCase::test_response_header_content_length tests/test_downloader_handlers.py::Http11TestCase::test_response_header_content_length tests/test_downloader_handlers.py::Https11TestCase::test_response_header_content_length tests/test_downloader_handlers.py::Https11WrongHostnameTestCase::test_response_header_content_length tests/test_downloader_handlers.py::Https11InvalidDNSId::test_response_header_content_length tests/test_downloader_handlers.py::Https11InvalidDNSPattern::test_response_header_content_length tests/test_downloader_handlers_http2.py::Https11TestCase::test_response_header_content_length /usr/lib/python3/dist-packages/twisted/web/server.py:329: DeprecationWarning: twisted.web.resource._UnsafeErrorPage.__init__ was deprecated in Twisted 22.10.0; please use Use twisted.web.pages.errorPage instead, which properly escapes HTML. instead epage = resource._UnsafeErrorPage( tests/test_downloadermiddleware_offsite.py::test_process_request_invalid_domains tests/test_downloadermiddleware_offsite.py::test_request_scheduled_invalid_domains /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_scrapy/build/scrapy/downloadermiddlewares/offsite.py:67: UserWarning: allowed_domains accepts only domains, not URLs. Ignoring URL entry http:////b.example in allowed_domains. warnings.warn(message) tests/test_feedexport.py::StdoutFeedStoragePreFeedOptionsTest::test_init tests/test_feedexport.py::StdoutFeedStoragePreFeedOptionsTest::test_init /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_scrapy/build/scrapy/extensions/feedexport.py:49: ScrapyDeprecationWarning: StdoutFeedStorageWithoutFeedOptions does not support the 'feed_options' keyword argument. Add a 'feed_options' parameter to its signature to remove this warning. This parameter will become mandatory in a future version of Scrapy. warnings.warn( tests/test_feedexport.py::FileFeedStoragePreFeedOptionsTest::test_init tests/test_feedexport.py::FileFeedStoragePreFeedOptionsTest::test_init /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_scrapy/build/scrapy/extensions/feedexport.py:49: ScrapyDeprecationWarning: FileFeedStorageWithoutFeedOptions does not support the 'feed_options' keyword argument. Add a 'feed_options' parameter to its signature to remove this warning. This parameter will become mandatory in a future version of Scrapy. warnings.warn( tests/test_feedexport.py::S3FeedStoragePreFeedOptionsTest::test_from_crawler tests/test_feedexport.py::S3FeedStoragePreFeedOptionsTest::test_from_crawler /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_scrapy/build/scrapy/extensions/feedexport.py:49: ScrapyDeprecationWarning: S3FeedStorageWithoutFeedOptionsWithFromCrawler.from_crawler does not support the 'feed_options' keyword argument. Add a 'feed_options' parameter to its signature to remove this warning. This parameter will become mandatory in a future version of Scrapy. warnings.warn( tests/test_feedexport.py::S3FeedStoragePreFeedOptionsTest::test_init tests/test_feedexport.py::S3FeedStoragePreFeedOptionsTest::test_init /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_scrapy/build/scrapy/extensions/feedexport.py:49: ScrapyDeprecationWarning: S3FeedStorageWithoutFeedOptions does not support the 'feed_options' keyword argument. Add a 'feed_options' parameter to its signature to remove this warning. This parameter will become mandatory in a future version of Scrapy. warnings.warn( tests/test_feedexport.py::FTPFeedStoragePreFeedOptionsTest::test_from_crawler tests/test_feedexport.py::FTPFeedStoragePreFeedOptionsTest::test_from_crawler /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_scrapy/build/scrapy/extensions/feedexport.py:49: ScrapyDeprecationWarning: FTPFeedStorageWithoutFeedOptionsWithFromCrawler.from_crawler does not support the 'feed_options' keyword argument. Add a 'feed_options' parameter to its signature to remove this warning. This parameter will become mandatory in a future version of Scrapy. warnings.warn( tests/test_feedexport.py::FTPFeedStoragePreFeedOptionsTest::test_init tests/test_feedexport.py::FTPFeedStoragePreFeedOptionsTest::test_init /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_scrapy/build/scrapy/extensions/feedexport.py:49: ScrapyDeprecationWarning: FTPFeedStorageWithoutFeedOptions does not support the 'feed_options' keyword argument. Add a 'feed_options' parameter to its signature to remove this warning. This parameter will become mandatory in a future version of Scrapy. warnings.warn( tests/test_utils_datatypes.py::CaseInsensitiveDictTest::test_getdefault tests/test_utils_datatypes.py::CaselessDictTest::test_getdefault /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_scrapy/build/tests/test_utils_datatypes.py:95: ScrapyDeprecationWarning: scrapy.utils.datatypes.CaselessDict is deprecated, please use scrapy.utils.datatypes.CaseInsensitiveDict instead d = CaselessDict() tests/test_utils_datatypes.py::CaseInsensitiveDictTest::test_setdefault tests/test_utils_datatypes.py::CaselessDictTest::test_setdefault /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_scrapy/build/tests/test_utils_datatypes.py:101: ScrapyDeprecationWarning: scrapy.utils.datatypes.CaselessDict is deprecated, please use scrapy.utils.datatypes.CaseInsensitiveDict instead d = CaselessDict({"a": 1, "b": 2}) tests/test_utils_datatypes.py::CaselessDictTest::test_caseless /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_scrapy/build/tests/test_utils_datatypes.py:79: ScrapyDeprecationWarning: scrapy.utils.datatypes.CaselessDict is deprecated, please use scrapy.utils.datatypes.CaseInsensitiveDict instead d = self.dict_class() tests/test_utils_datatypes.py::CaselessDictTest::test_contains /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_scrapy/build/tests/test_utils_datatypes.py:132: ScrapyDeprecationWarning: scrapy.utils.datatypes.CaselessDict is deprecated, please use scrapy.utils.datatypes.CaseInsensitiveDict instead d = self.dict_class() tests/test_utils_datatypes.py::CaselessDictTest::test_copy /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_scrapy/build/tests/test_utils_datatypes.py:185: ScrapyDeprecationWarning: scrapy.utils.datatypes.CaselessDict is deprecated, please use scrapy.utils.datatypes.CaseInsensitiveDict instead h1 = self.dict_class({"header1": "value"}) tests/test_utils_datatypes.py::CaselessDictTest::test_copy tests/test_utils_datatypes.py::CaselessDictTest::test_copy /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_scrapy/build/scrapy/utils/datatypes.py:55: ScrapyDeprecationWarning: scrapy.utils.datatypes.CaselessDict is deprecated, please use scrapy.utils.datatypes.CaseInsensitiveDict instead return self.__class__(self) tests/test_utils_datatypes.py::CaselessDictTest::test_delete /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_scrapy/build/tests/test_utils_datatypes.py:89: ScrapyDeprecationWarning: scrapy.utils.datatypes.CaselessDict is deprecated, please use scrapy.utils.datatypes.CaseInsensitiveDict instead d = self.dict_class({"key_lower": 1}) tests/test_utils_datatypes.py::CaselessDictTest::test_fromkeys tests/test_utils_datatypes.py::CaselessDictTest::test_fromkeys tests/test_utils_datatypes.py::CaselessDictTest::test_fromkeys tests/test_utils_datatypes.py::CaselessDictTest::test_fromkeys tests/test_utils_datatypes.py::CaselessDictTest::test_normvalue /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_scrapy/build/scrapy/utils/datatypes.py:80: ScrapyDeprecationWarning: scrapy.utils.datatypes.CaselessDict is deprecated, please use scrapy.utils.datatypes.CaseInsensitiveDict instead return cls((k, value) for k in keys) tests/test_utils_datatypes.py::CaselessDictTest::test_fromkeys /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_scrapy/build/tests/test_utils_datatypes.py:122: ScrapyDeprecationWarning: scrapy.utils.datatypes.CaselessDict is deprecated, please use scrapy.utils.datatypes.CaseInsensitiveDict instead instance = self.dict_class() tests/test_utils_datatypes.py::CaselessDictTest::test_init_dict /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_scrapy/build/tests/test_utils_datatypes.py:24: ScrapyDeprecationWarning: scrapy.utils.datatypes.CaselessDict is deprecated, please use scrapy.utils.datatypes.CaseInsensitiveDict instead d = self.dict_class(seq) tests/test_utils_datatypes.py::CaselessDictTest::test_init_mapping /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_scrapy/build/tests/test_utils_datatypes.py:49: ScrapyDeprecationWarning: scrapy.utils.datatypes.CaselessDict is deprecated, please use scrapy.utils.datatypes.CaseInsensitiveDict instead d = self.dict_class(seq) tests/test_utils_datatypes.py::CaselessDictTest::test_init_mutable_mapping /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_scrapy/build/tests/test_utils_datatypes.py:74: ScrapyDeprecationWarning: scrapy.utils.datatypes.CaselessDict is deprecated, please use scrapy.utils.datatypes.CaseInsensitiveDict instead d = self.dict_class(seq) tests/test_utils_datatypes.py::CaselessDictTest::test_init_pair_sequence /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_scrapy/build/tests/test_utils_datatypes.py:30: ScrapyDeprecationWarning: scrapy.utils.datatypes.CaselessDict is deprecated, please use scrapy.utils.datatypes.CaseInsensitiveDict instead d = self.dict_class(seq) tests/test_utils_datatypes.py::CaselessDictTest::test_normkey /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_scrapy/build/tests/test_utils_datatypes.py:149: ScrapyDeprecationWarning: scrapy.utils.datatypes.CaselessDict is deprecated, please use scrapy.utils.datatypes.CaseInsensitiveDict instead d = MyDict() tests/test_utils_datatypes.py::CaselessDictTest::test_normvalue /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_scrapy/build/tests/test_utils_datatypes.py:161: ScrapyDeprecationWarning: scrapy.utils.datatypes.CaselessDict is deprecated, please use scrapy.utils.datatypes.CaseInsensitiveDict instead d = MyDict({"key": 1}) tests/test_utils_datatypes.py::CaselessDictTest::test_normvalue /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_scrapy/build/tests/test_utils_datatypes.py:165: ScrapyDeprecationWarning: scrapy.utils.datatypes.CaselessDict is deprecated, please use scrapy.utils.datatypes.CaseInsensitiveDict instead d = MyDict() tests/test_utils_datatypes.py::CaselessDictTest::test_normvalue /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_scrapy/build/tests/test_utils_datatypes.py:170: ScrapyDeprecationWarning: scrapy.utils.datatypes.CaselessDict is deprecated, please use scrapy.utils.datatypes.CaseInsensitiveDict instead d = MyDict() tests/test_utils_datatypes.py::CaselessDictTest::test_normvalue /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_scrapy/build/tests/test_utils_datatypes.py:175: ScrapyDeprecationWarning: scrapy.utils.datatypes.CaselessDict is deprecated, please use scrapy.utils.datatypes.CaseInsensitiveDict instead d = MyDict() tests/test_utils_datatypes.py::CaselessDictTest::test_pop /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_scrapy/build/tests/test_utils_datatypes.py:137: ScrapyDeprecationWarning: scrapy.utils.datatypes.CaselessDict is deprecated, please use scrapy.utils.datatypes.CaseInsensitiveDict instead d = self.dict_class() tests/test_utils_misc/test_return_with_argument_inside_generator.py::UtilsMiscPy3TestCase::test_generators_return_none tests/test_utils_misc/test_return_with_argument_inside_generator.py::UtilsMiscPy3TestCase::test_generators_return_none tests/test_utils_misc/test_return_with_argument_inside_generator.py::UtilsMiscPy3TestCase::test_generators_return_something tests/test_utils_misc/test_return_with_argument_inside_generator.py::UtilsMiscPy3TestCase::test_generators_return_something tests/test_utils_misc/test_return_with_argument_inside_generator.py::UtilsMiscPy3TestCase::test_generators_return_something tests/test_utils_misc/test_return_with_argument_inside_generator.py::UtilsMiscPy3TestCase::test_generators_return_something tests/test_utils_misc/test_return_with_argument_inside_generator.py::UtilsMiscPy3TestCase::test_generators_return_something /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_scrapy/build/scrapy/utils/misc.py:249: DeprecationWarning: ast.NameConstant is deprecated and will be removed in Python 3.14; use ast.Constant instead value is None or isinstance(value, ast.NameConstant) and value.value is None -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html = 3212 passed, 306 skipped, 5 deselected, 21 xfailed, 310 warnings in 508.31s (0:08:28) = dh_auto_test: error: pybuild --test -i python{version} -p "3.13 3.12" returned exit code 13 make: *** [debian/rules:18: binary] Error 25 dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2 -------------------------------------------------------------------------------- Build finished at 2024-09-19T08:03:46Z If required, the full build log is available here (for the next 30 days): https://debusine.debian.net/artifact/789001/ This bug has been filed at "normal" severity, as we haven't started the transition to add 3.13 as a supported version, yet. This will be raised to RC as soon as that happens, hopefully well before trixie. Thanks, Stefano