# # This file and its contents are supplied under the terms of the # Common Development and Distribution License ("CDDL"), version 1.0. # You may only use this file in accordance with the terms of version # 1.0 of the CDDL. # # A full copy of the text of the CDDL should have accompanied this # source. A copy of the CDDL is also available via the Internet at # http://www.illumos.org/license/CDDL. # # # This file was automatically generated using the following command: # $WS_TOOLS/python-integrate-project aiohttp # BUILD_STYLE = pyproject include ../../../make-rules/shared-macros.mk COMPONENT_NAME = aiohttp HUMAN_VERSION = 3.11.9 COMPONENT_SUMMARY = Async http client/server framework (asyncio) COMPONENT_PROJECT_URL = https://github.com/aio-libs/aiohttp COMPONENT_ARCHIVE_HASH = \ sha256:a9266644064779840feec0e34f10a89b3ff1d2d6b751fe90017abcad1864fa7c COMPONENT_LICENSE = Apache-2.0 COMPONENT_LICENSE_FILE = LICENSE.txt TEST_STYLE = pytest include $(WS_MAKE_RULES)/common.mk # This project does not support tox so we need to provide test requirements # manually. TEST_REQUIREMENTS += requirements/test.in # # Tests are run from build directory that contains cloned copy of sdist. We # try to ask Python to find tested modules in the proto area (the PYTHONPATH is # set accordingly), but Python (< 3.11) always adds the current directory to # sys.path and there is no known (simple) way how to avoid that. Except -I, # but that would cause Python to ignore PYTHONPATH too so we would not have # access to the proto area either. The -P option together with PYTHONSAFEPATH # environment variable were added to Python 3.11 only so we cannot use them yet # for all Python versions we support. # # Since sdist for this project contains the main module in the top-level # directory we cannot force Python to skip it. But, unfortunately, this module # does not contain built dynamic libraries, so Python cannot find them while # testing. # # To workaround this we rename the main module in the build directory during # testing so Python will need to defer to PYTHONPATH. # COMPONENT_PRE_TEST_ACTION += $(MV) $(@D)/aiohttp $(@D)/aiohttp-RENAMED ; COMPONENT_POST_TEST_ACTION += $(MV) $(@D)/aiohttp-RENAMED $(@D)/aiohttp ; # We need to ignore tests in test_proxy_functional.py because we do not have # the proxy.py Python project packaged yet. PYTEST_ADDOPTS += --ignore tests/test_proxy_functional.py # We have no python-on-whales packaged yet. PYTEST_ADDOPTS += --ignore tests/autobahn/test_autobahn.py # We have no pytest_codspeed packaged yet so we cannot run benchmark tests. PYTEST_ADDOPTS += --ignore tests/test_benchmarks_cookiejar.py PYTEST_ADDOPTS += --ignore tests/test_benchmarks_client_request.py PYTEST_ADDOPTS += --ignore tests/test_benchmarks_http_writer.py PYTEST_ADDOPTS += --ignore tests/test_benchmarks_http_websocket.py PYTEST_ADDOPTS += --ignore tests/test_benchmarks_client.py PYTEST_ADDOPTS += --ignore tests/test_benchmarks_client_ws.py PYTEST_ADDOPTS += --ignore tests/test_benchmarks_web_middleware.py PYTEST_ADDOPTS += --ignore tests/test_benchmarks_web_response.py PYTEST_ADDOPTS += --ignore tests/test_benchmarks_web_urldispatcher.py # Random directory name COMPONENT_TEST_TRANSFORMS += "-e 's|/tmp/.*/garbage[^/]*|\$$(TMPDIR)|'" # Auto-generated dependencies PYTHON_REQUIRED_PACKAGES += library/python/aiohappyeyeballs PYTHON_REQUIRED_PACKAGES += library/python/aiosignal PYTHON_REQUIRED_PACKAGES += library/python/async-timeout PYTHON_REQUIRED_PACKAGES += library/python/attrs PYTHON_REQUIRED_PACKAGES += library/python/frozenlist PYTHON_REQUIRED_PACKAGES += library/python/multidict PYTHON_REQUIRED_PACKAGES += library/python/propcache PYTHON_REQUIRED_PACKAGES += library/python/setuptools PYTHON_REQUIRED_PACKAGES += library/python/yarl PYTHON_REQUIRED_PACKAGES += runtime/python REQUIRED_PACKAGES += system/library TEST_REQUIRED_PACKAGES.python += library/python/aiohappyeyeballs TEST_REQUIRED_PACKAGES.python += library/python/aiosignal TEST_REQUIRED_PACKAGES.python += library/python/async-timeout TEST_REQUIRED_PACKAGES.python += library/python/attrs TEST_REQUIRED_PACKAGES.python += library/python/brotli TEST_REQUIRED_PACKAGES.python += library/python/coverage TEST_REQUIRED_PACKAGES.python += library/python/freezegun TEST_REQUIRED_PACKAGES.python += library/python/frozenlist TEST_REQUIRED_PACKAGES.python += library/python/gunicorn TEST_REQUIRED_PACKAGES.python += library/python/multidict TEST_REQUIRED_PACKAGES.python += library/python/mypy TEST_REQUIRED_PACKAGES.python += library/python/propcache TEST_REQUIRED_PACKAGES.python += library/python/pytest TEST_REQUIRED_PACKAGES.python += library/python/pytest-cov TEST_REQUIRED_PACKAGES.python += library/python/pytest-mock TEST_REQUIRED_PACKAGES.python += library/python/pytest-xdist TEST_REQUIRED_PACKAGES.python += library/python/re-assert TEST_REQUIRED_PACKAGES.python += library/python/trustme TEST_REQUIRED_PACKAGES.python += library/python/yarl