dev-python/hyper-h2: Bump to python 3.10

Signed-off-by: Ekaterina Vaartis <vaartis@kotobank.ch>
Signed-off-by: Michał Górny <mgorny@gentoo.org>
This commit is contained in:
Ekaterina Vaartis
2021-05-16 12:27:13 +03:00
committed by Michał Górny
parent bd76f68323
commit 407c950bbf
3 changed files with 118 additions and 8 deletions

View File

@@ -0,0 +1,74 @@
diff --git a/test/test_basic_logic.py b/test/test_basic_logic.py
index fb54fe50..8c8f3b7d 100644
--- a/test/test_basic_logic.py
+++ b/test/test_basic_logic.py
@@ -21,7 +21,7 @@
from . import helpers
-from hypothesis import given
+from hypothesis import given, settings, HealthCheck
from hypothesis.strategies import integers
@@ -790,6 +790,7 @@ def test_headers_are_lowercase(self, frame_factory):
assert c.data_to_send() == expected_frame.serialize()
@given(frame_size=integers(min_value=2**14, max_value=(2**24 - 1)))
+ @settings(suppress_health_check=[HealthCheck.function_scoped_fixture])
def test_changing_max_frame_size(self, frame_factory, frame_size):
"""
When the user changes the max frame size and the change is ACKed, the
diff --git a/test/test_flow_control_window.py b/test/test_flow_control_window.py
index 24b345aa..7a445af1 100644
--- a/test/test_flow_control_window.py
+++ b/test/test_flow_control_window.py
@@ -7,7 +7,7 @@
"""
import pytest
-from hypothesis import given
+from hypothesis import given, settings, HealthCheck
from hypothesis.strategies import integers
import h2.config
@@ -715,6 +715,7 @@ def _setup_connection_and_send_headers(self, frame_factory):
return c
@given(stream_id=integers(max_value=0))
+ @settings(suppress_health_check=[HealthCheck.function_scoped_fixture])
def test_must_acknowledge_for_stream(self, frame_factory, stream_id):
"""
Flow control acknowledgements must be done on a stream ID that is
@@ -740,6 +741,7 @@ def test_must_acknowledge_for_stream(self, frame_factory, stream_id):
)
@given(size=integers(max_value=-1))
+ @settings(suppress_health_check=[HealthCheck.function_scoped_fixture])
def test_cannot_acknowledge_less_than_zero(self, frame_factory, size):
"""
The user must acknowledge at least 0 bytes.
@@ -837,6 +839,7 @@ def test_acknowledging_streams_we_never_saw(self, frame_factory):
c.acknowledge_received_data(2048, stream_id=101)
@given(integers(min_value=1025, max_value=DEFAULT_FLOW_WINDOW))
+ @settings(suppress_health_check=[HealthCheck.function_scoped_fixture])
def test_acknowledging_1024_bytes_when_empty_increments(self,
frame_factory,
increment):
@@ -873,6 +876,7 @@ def test_acknowledging_1024_bytes_when_empty_increments(self,
# This test needs to use a lower cap, because otherwise the algo will
# increment the stream window anyway.
@given(integers(min_value=1025, max_value=(DEFAULT_FLOW_WINDOW // 4) - 1))
+ @settings(suppress_health_check=[HealthCheck.function_scoped_fixture])
def test_connection_only_empty(self, frame_factory, increment):
"""
If the connection flow control window is empty, but the stream flow
@@ -916,5 +920,6 @@ def test_connection_only_empty(self, frame_factory, increment):
assert c.data_to_send() == expected_data
@given(integers(min_value=1025, max_value=DEFAULT_FLOW_WINDOW))
+ @settings(suppress_health_check=[HealthCheck.function_scoped_fixture])
def test_mixing_update_forms(self, frame_factory, increment):
"""
If the user mixes ackowledging data with manually incrementing windows,

View File

@@ -2,7 +2,7 @@
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{7,8,9} )
PYTHON_COMPAT=( python3_{7..10} )
inherit distutils-r1
@@ -13,8 +13,6 @@ SRC_URI="https://github.com/python-hyper/${PN}/archive/v${PV}.tar.gz -> ${P}.tar
LICENSE="MIT"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86"
IUSE="test"
RESTRICT="!test? ( test )"
RDEPEND="
>=dev-python/hyperframe-5.2.0[${PYTHON_USEDEP}]
@@ -22,14 +20,31 @@ RDEPEND="
>=dev-python/hpack-3.0.0[${PYTHON_USEDEP}]
<dev-python/hpack-4.0.0[${PYTHON_USEDEP}]
"
DEPEND="${RDEPEND}
BDEPEND="
test? (
dev-python/hypothesis[${PYTHON_USEDEP}]
dev-python/pytest[${PYTHON_USEDEP}]
)
"
distutils_enable_tests pytest
PATCHES=(
# From https://github.com/python-hyper/h2/pull/1248
# Disables some failing healthchecks
"${FILESDIR}/${P}-failed-healthcheck.patch"
)
python_test() {
pytest -vv --hypothesis-profile=travis test ||
die "Tests fail with ${EPYTHON}"
local deselect=()
[[ ${EPYTHON} == python3.10 ]] && deselect+=(
# these rely on fixed string repr() and fail because enum repr
# changed in py3.10
test/test_basic_logic.py::TestBasicServer::test_stream_repr
test/test_events.py::TestEventReprs::test_remotesettingschanged_repr
test/test_events.py::TestEventReprs::test_streamreset_repr
test/test_events.py::TestEventReprs::test_settingsacknowledged_repr
test/test_events.py::TestEventReprs::test_connectionterminated_repr
)
epytest --hypothesis-profile=travis ${deselect[@]/#/--deselect }
}

View File

@@ -2,7 +2,7 @@
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{7,8,9} )
PYTHON_COMPAT=( python3_{7..10} )
inherit distutils-r1
@@ -27,3 +27,24 @@ BDEPEND="
"
distutils_enable_tests pytest
PATCHES=(
# From https://github.com/python-hyper/h2/pull/1248
# Disables some failing healthchecks
"${FILESDIR}/${PN}-3.2.0-failed-healthcheck.patch"
)
python_test() {
local deselect=()
[[ ${EPYTHON} == python3.10 ]] && deselect+=(
# these rely on fixed string repr() and fail because enum repr
# changed in py3.10
test/test_basic_logic.py::TestBasicServer::test_stream_repr
test/test_events.py::TestEventReprs::test_remotesettingschanged_repr
test/test_events.py::TestEventReprs::test_streamreset_repr
test/test_events.py::TestEventReprs::test_settingsacknowledged_repr
test/test_events.py::TestEventReprs::test_connectionterminated_repr
)
epytest ${deselect[@]/#/--deselect }
}