blob: ddb8aa60a9e3cc9e79fd44cc27feb8d582ae568d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
|
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{11..12} )
inherit distutils-r1
MY_P=sentry-python-${PV}
DESCRIPTION="Python client for Sentry"
HOMEPAGE="
https://sentry.io/
https://github.com/getsentry/sentry-python/
https://pypi.org/project/sentry-sdk/
"
SRC_URI="
https://github.com/getsentry/sentry-python/archive/${PV}.tar.gz
-> ${MY_P}.gh.tar.gz
"
S=${WORKDIR}/${MY_P}
LICENSE="PSF-2"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
RDEPEND="
dev-python/urllib3[${PYTHON_USEDEP}]
dev-python/certifi[${PYTHON_USEDEP}]
"
BDEPEND="
test? (
dev-python/asttokens[${PYTHON_USEDEP}]
dev-python/django[${PYTHON_USEDEP}]
dev-python/executing[${PYTHON_USEDEP}]
dev-python/fakeredis[${PYTHON_USEDEP}]
dev-python/flask-login[${PYTHON_USEDEP}]
dev-python/jsonschema[${PYTHON_USEDEP}]
dev-python/pyrsistent[${PYTHON_USEDEP}]
dev-python/pytest-aiohttp[${PYTHON_USEDEP}]
dev-python/pytest-django[${PYTHON_USEDEP}]
dev-python/pytest-forked[${PYTHON_USEDEP}]
dev-python/pytest-localserver[${PYTHON_USEDEP}]
dev-python/python-socks[${PYTHON_USEDEP}]
dev-python/responses[${PYTHON_USEDEP}]
dev-python/werkzeug[${PYTHON_USEDEP}]
dev-python/zope-event[${PYTHON_USEDEP}]
)
"
distutils_enable_tests pytest
PATCHES=(
"${FILESDIR}/sentry-sdk-1.21.0-ignore-warnings.patch"
)
python_test() {
local EPYTEST_IGNORE=(
# tests require Internet access
tests/integrations/httpx/test_httpx.py
tests/integrations/requests/test_requests.py
tests/integrations/stdlib/test_httplib.py
tests/integrations/flask/test_flask.py
tests/integrations/django/test_basic.py
tests/integrations/socket/test_socket.py
# wtf is it supposed to do?!
tests/integrations/gcp/test_gcp.py
# broken by rq-1.10.1 (optional dep)
tests/integrations/rq/test_rq.py
# fastapi is not packaged
tests/integrations/asgi/test_fastapi.py
# TODO
tests/integrations/bottle
# TODO: causes breakage in other tests
tests/integrations/starlette
# TODO
tests/integrations/tornado
# requires mockupdb
tests/integrations/pymongo
# requires AWS access
tests/integrations/aws_lambda
)
local EPYTEST_DESELECT=(
# hangs
'tests/test_transport.py::test_transport_works'
# TODO
'tests/test_basics.py::test_auto_enabling_integrations_catches_import_error'
tests/test_client.py::test_databag_depth_stripping
tests/test_client.py::test_databag_string_stripping
tests/test_client.py::test_databag_breadth_stripping
tests/integrations/asgi/test_asgi.py::test_auto_session_tracking_with_aggregates
tests/integrations/asgi/test_asgi.py::test_websocket
tests/integrations/aiohttp/test_aiohttp.py::test_transaction_style
tests/integrations/aiohttp/test_aiohttp.py::test_traces_sampler_gets_request_object_in_sampling_context
tests/integrations/django/test_data_scrubbing.py::test_scrub_django_custom_session_cookies_filtered
# incompatible version?
tests/integrations/falcon/test_falcon.py
tests/integrations/sqlalchemy/test_sqlalchemy.py::test_large_event_not_truncated
tests/integrations/django/test_data_scrubbing.py::test_scrub_django_session_cookies_{filtered,removed}
# test_circular_references: apparently fragile
'tests/integrations/threading/test_threading.py::test_circular_references'
# test for new feature, fails with IndexError
tests/integrations/wsgi/test_wsgi.py::test_session_mode_defaults_to_request_mode_in_wsgi_handler
# TODO
tests/integrations/wsgi/test_wsgi.py::test_auto_session_tracking_with_aggregates
tests/integrations/wsgi/test_wsgi.py::test_profile_sent_when_profiling_enabled
tests/test_profiler.py::test_sample_buffer
tests/test_profiler.py::test_thread_scheduler_takes_first_samples
tests/test_profiler.py::test_thread_scheduler_takes_more_samples
tests/test_profiler.py::test_thread_scheduler_single_background_thread
# broken with py3.11, *shrug*
tests/test_profiler.py::test_extract_stack_with_max_depth
# TODO
tests/integrations/sqlalchemy/test_sqlalchemy.py::test_long_sql_query_preserved
tests/integrations/sqlalchemy/test_sqlalchemy.py::test_engine_name_not_string
tests/test_scrubber.py::test_breadcrumb_extra_scrubbing
tests/test_scrubber.py::test_span_data_scrubbing
# this is not even funny
tests/test_utils.py::test_installed_modules
# flaky hypothesis stuff
tests/test_serializer.py::test_bytes_serialization_repr_many
# TODO
tests/integrations/aiohttp/test_aiohttp.py::test_basic
tests/tracing/test_decorator_py3.py::test_trace_decorator_{,a}sync_py3
)
local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
epytest -p asyncio -p aiohttp -p pytest_forked
}
|