commit:     407c950bbfad43abb4553c0211dce8dda309723a
Author:     Ekaterina Vaartis <vaartis <AT> kotobank <DOT> ch>
AuthorDate: Sun May 16 09:27:13 2021 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Tue May 18 11:39:59 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=407c950b

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

Signed-off-by: Ekaterina Vaartis <vaartis <AT> kotobank.ch>
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 .../files/hyper-h2-3.2.0-failed-healthcheck.patch  | 74 ++++++++++++++++++++++
 dev-python/hyper-h2/hyper-h2-3.2.0.ebuild          | 29 +++++++--
 dev-python/hyper-h2/hyper-h2-4.0.0.ebuild          | 23 ++++++-
 3 files changed, 118 insertions(+), 8 deletions(-)

diff --git a/dev-python/hyper-h2/files/hyper-h2-3.2.0-failed-healthcheck.patch 
b/dev-python/hyper-h2/files/hyper-h2-3.2.0-failed-healthcheck.patch
new file mode 100644
index 00000000000..04adc2748c2
--- /dev/null
+++ b/dev-python/hyper-h2/files/hyper-h2-3.2.0-failed-healthcheck.patch
@@ -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,

diff --git a/dev-python/hyper-h2/hyper-h2-3.2.0.ebuild 
b/dev-python/hyper-h2/hyper-h2-3.2.0.ebuild
index 50176089cdd..819953993d9 100644
--- a/dev-python/hyper-h2/hyper-h2-3.2.0.ebuild
+++ b/dev-python/hyper-h2/hyper-h2-3.2.0.ebuild
@@ -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 }
 }

diff --git a/dev-python/hyper-h2/hyper-h2-4.0.0.ebuild 
b/dev-python/hyper-h2/hyper-h2-4.0.0.ebuild
index 9698bdee39b..a133fd58b9c 100644
--- a/dev-python/hyper-h2/hyper-h2-4.0.0.ebuild
+++ b/dev-python/hyper-h2/hyper-h2-4.0.0.ebuild
@@ -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 }
+}

Reply via email to