diff --git a/.circleci/config.yml b/.circleci/config.yml index b55277ca..ab4228a5 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -276,6 +276,39 @@ jobs: - store-pytest-results - store-coverage-report + python3150: + parameters: + docker: + - image: ghcr.io/pvital/pvital-python:latest + - image: public.ecr.aws/docker/library/postgres:16.10-trixie + environment: + POSTGRES_USER: root + POSTGRES_PASSWORD: passw0rd + POSTGRES_DB: instana_test_db + - image: public.ecr.aws/docker/library/mariadb:11.3.2 + environment: + MYSQL_ROOT_PASSWORD: passw0rd + MYSQL_DATABASE: instana_test_db + - image: public.ecr.aws/docker/library/redis:7.2.4-bookworm + - image: public.ecr.aws/docker/library/rabbitmq:3.13.0 + - image: public.ecr.aws/docker/library/mongo:7.0.6 + - image: quay.io/thekevjames/gcloud-pubsub-emulator:latest + environment: + PUBSUB_EMULATOR_HOST: 0.0.0.0:8681 + PUBSUB_PROJECT1: test-project,test-topic + working_directory: ~/repo + steps: + - checkout + - check-if-tests-needed + - run: | + cp -a /root/base/venv ./venv + . venv/bin/activate + pip install -r requirements.txt + - run-tests-with-coverage-report: + gevent: "true" + - store-pytest-results + - store-coverage-report + final_job: docker: - image: public.ecr.aws/docker/library/python:3.13 @@ -289,23 +322,24 @@ workflows: tests: max_auto_reruns: 2 jobs: - - python3x: - matrix: - parameters: - py-version: ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"] - - py39cassandra - - py39gevent - - py312aws - - py313kafka + #- python3x: + # matrix: + # parameters: + # py-version: ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"] + #- py39cassandra + #- py39gevent + #- py312aws + #- py313kafka - autowrapt: matrix: parameters: py-version: ["3.11", "3.12", "3.13", "3.14"] + - python3150 - final_job: requires: - - python3x - - py39cassandra - - py39gevent - - py312aws - - py313kafka + #- python3x + #- py39cassandra + #- py39gevent + #- py312aws + #- py313kafka - autowrapt diff --git a/tests/clients/test_google-cloud-storage.py b/tests/clients/test_google-cloud-storage.py index ea2f3009..e23e054c 100644 --- a/tests/clients/test_google-cloud-storage.py +++ b/tests/clients/test_google-cloud-storage.py @@ -2,7 +2,6 @@ # (c) Copyright Instana Inc. 2020 -import sys from typing import Generator import json import pytest @@ -541,10 +540,6 @@ def test_objects_attrs(self, mock_requests: Mock) -> None: assert gcs_span.data["gcs"]["bucket"] == "test bucket" assert gcs_span.data["gcs"]["object"] == "test object" - @pytest.mark.skipif( - sys.version_info >= (3, 14), - reason='Avoiding "Fatal Python error: Segmentation fault"', - ) @patch("requests.Session.request") def test_objects_get(self, mock_requests: Mock) -> None: mock_requests.return_value = self._mock_response( @@ -1084,10 +1079,6 @@ def test_execute_with_instana_is_tracing_off(self) -> None: response = client.list_buckets() assert isinstance(response.client, storage.Client) - @pytest.mark.skipif( - sys.version_info >= (3, 14), - reason='Avoiding "Fatal Python error: Segmentation fault"', - ) @patch("requests.Session.request") def test_download_with_instana_is_tracing_off(self, mock_requests: Mock) -> None: mock_requests.return_value = self._mock_response( diff --git a/tests/conftest.py b/tests/conftest.py index 44088c85..c702f8d7 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -76,15 +76,15 @@ collect_ignore_glob.append("*test_spyne*") -if sys.version_info >= (3, 14): +if sys.version_info >= (3, 15): collect_ignore_glob.extend( [ - # Currently not installable dependencies because of 3.14 incompatibilities + # Currently not installable dependencies because of 3.15 incompatibilities "*test_fastapi*", - # aiohttp-server tests failing due to deprecated methods used - "*test_aiohttp_server*", - # Currently Sanic does not support python >= 3.14 - "*test_sanic*", + # Development version of Python always break logging tests, so we skip then + "*test_logging*", + # Removing TestAioPika due to "Too long with no output" errors + "*test_aio_pika*", ] ) diff --git a/tests/requirements-pre314.txt b/tests/requirements-pre314.txt deleted file mode 100644 index 2ad1e026..00000000 --- a/tests/requirements-pre314.txt +++ /dev/null @@ -1,43 +0,0 @@ --r requirements-minimal.txt -aioamqp>=0.15.0 -aiofiles>=0.5.0 -aiohttp>=3.8.3 -aio-pika>=9.5.2 -boto3>=1.17.74 -bottle>=0.12.25 -celery>=5.2.7 -Django>=4.2.16 -# FastAPI depends on pydantic-core which requires rust to be installed and -# it's not compiling due to python_version restrictions. -# fastapi>=0.115.0; python_version >= "3.13" -flask>=2.3.2 -# gevent is taking more than 20min to build on 3.14 -# gevent>=23.9.0.post1 -grpcio>=1.14.1 -google-cloud-pubsub>=2.0.0 -google-cloud-storage>=1.24.0 -legacy-cgi>=2.6.1 -lxml>=4.9.2 -mock>=4.0.3 -moto>=4.1.2 -mysqlclient>=2.0.3 -PyMySQL[rsa]>=1.0.2 -psycopg2-binary>=2.8.6 -pika>=1.2.0 -pymongo>=3.11.4 -pyramid>=2.0.1 -pytest-mock>=3.12.0 -pytz>=2024.1 -redis>=3.5.3 -requests-mock -responses<=0.17.0 -# Sanic doesn't support python-3.14 yet -# sanic>=19.9.0 -# sanic-testing>=24.6.0 -starlette>=0.38.2 -sqlalchemy>=2.0.0 -tornado>=6.4.1 -uvicorn>=0.13.4 -urllib3>=1.26.5 -httpx>=0.27.0 -protobuf<=6.30.2