From df64a670aef586b7207bc59afefc27fd4d390d44 Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Thu, 26 May 2022 00:33:51 +0200 Subject: [PATCH] python3Packages.sentry-sdk: stop testing integrations They're fragile and break on most dependency upgrades and the upstream is too slow to catch up in a reasonable timeframe. Also implement optional-depdencies passthru attr set and clean up unused dependencies. --- .../python-modules/sentry-sdk/default.nix | 170 +++++++++--------- 1 file changed, 86 insertions(+), 84 deletions(-) diff --git a/pkgs/development/python-modules/sentry-sdk/default.nix b/pkgs/development/python-modules/sentry-sdk/default.nix index 1a6c5c1418d0..542178a3cae3 100644 --- a/pkgs/development/python-modules/sentry-sdk/default.nix +++ b/pkgs/development/python-modules/sentry-sdk/default.nix @@ -1,43 +1,47 @@ { lib , stdenv +, buildPythonPackage +, fetchFromGitHub +, pythonOlder + +# runtime +, certifi +, urllib3 + +# optionals , aiohttp -, asttokens +, apache-beam , blinker , botocore , bottle -, buildPythonPackage , celery -, certifi , chalice , django -, executing -, fakeredis , falcon -, fetchFromGitHub +, flask , flask_login -, gevent , httpx -, iana-etc -, isPy3k -, jsonschema -, libredirect , pure-eval , pyramid , pyspark -, pytest-django -, pytest-forked -, pytest-localserver -, pytestCheckHook -, pythonOlder , rq , sanic -, sanic-testing , sqlalchemy , tornado , trytond -, urllib3 , werkzeug -, multidict + +# tests +, asttokens +, executing +, gevent +, jsonschema +, mock +, pyrsistent +, pytest-forked +, pytest-localserver +, pytest-watch +, pytestCheckHook }: buildPythonPackage rec { @@ -59,37 +63,73 @@ buildPythonPackage rec { urllib3 ]; + passthru.optional-dependencies = { + aiohttp = [ + aiohttp + ]; + beam = [ + apache-beam + ]; + bottle = [ + bottle + ]; + celery = [ + celery + ]; + chalice = [ + chalice + ]; + django = [ + django + ]; + falcon = [ + falcon + ]; + flask = [ + flask + blinker + ]; + httpx = [ + httpx + ]; + pyspark = [ + pyspark + ]; + pure_eval = [ + asttokens + executing + pure-eval + ]; + quart = [ + # quart missing + blinker + ]; + rq = [ + rq + ]; + sanic = [ + sanic + ]; + sqlalchemy = [ + sqlalchemy + ]; + tornado = [ + tornado + ]; + }; + checkInputs = [ - aiohttp asttokens - blinker - botocore - bottle - celery - chalice - django executing - fakeredis - falcon - flask_login gevent - httpx jsonschema + mock pure-eval - pyramid - pyspark - pytest-django + pyrsistent pytest-forked pytest-localserver + pytest-watch pytestCheckHook - rq - sanic - sanic-testing - sqlalchemy - tornado - trytond - werkzeug - multidict ]; doCheck = !stdenv.isDarwin; @@ -97,53 +137,15 @@ buildPythonPackage rec { disabledTests = [ # Issue with the asseration "test_auto_enabling_integrations_catches_import_error" - # Output mismatch in sqlalchemy test - "test_too_large_event_truncated" - # Failing falcon tests - "test_has_context" - "uri_template-" - "path-" - "test_falcon_large_json_request" - "test_falcon_empty_json_request" - "test_falcon_raw_data_request" - # Failing spark tests - "test_set_app_properties" - "test_start_sentry_listener" - # Failing threading test - "test_circular_references" - # Failing wsgi tests - "test_session_mode_defaults_to_request_mode_in_wsgi_handler" - "test_auto_session_tracking_with_aggregates" - # Network requests to public web - "test_crumb_capture" - # TypeError: cannot unpack non-iterable TestResponse object - "test_rpc_error_page" ]; disabledTestPaths = [ - # Some tests are failing (network access, assertion errors) - "tests/integrations/aiohttp/" - "tests/integrations/gcp/" - "tests/integrations/httpx/" - "tests/integrations/stdlib/test_httplib.py" - # Tests are blocking - "tests/integrations/celery/" - # pytest-chalice is not available in nixpkgs yet - "tests/integrations/chalice/" - # broken since rq-1.10.1: https://github.com/getsentry/sentry-python/issues/1274 - "tests/integrations/rq/" - # broken since pytest 7.0.1; AssertionError: previous item was not torn down properly - "tests/utils/test_contextvars.py" - # broken since Flask and Werkzeug update to 2.1.0 (different error messages) - "tests/integrations/flask/test_flask.py" - "tests/integrations/bottle/test_bottle.py" - "tests/integrations/django/test_basic.py" - "tests/integrations/pyramid/test_pyramid.py" - ] - # test crashes on aarch64 - ++ lib.optionals (stdenv.buildPlatform != "x86_64-linux") [ + # Varius integration tests fail every once in a while when we + # upgrade depencies, so don't bother testing them. + "tests/integrations/" + ] ++ lib.optionals (stdenv.buildPlatform != "x86_64-linux") [ + # test crashes on aarch64 "tests/test_transport.py" - "tests/integrations/threading/test_threading.py" ]; pythonImportsCheck = [