From 202ed0a27f02fa9095d311cc99d144ac0d75979d Mon Sep 17 00:00:00 2001 From: wang--ge Date: Mon, 31 Oct 2022 15:00:15 +0800 Subject: [PATCH] fix compile failure due to python-hypothesis update to version 6.47.0 --- fix-with-hypothesis-6.6.patch | 101 ++++++++++++++++++++++++++++++++++ python-h2.spec | 8 ++- 2 files changed, 107 insertions(+), 2 deletions(-) create mode 100644 fix-with-hypothesis-6.6.patch diff --git a/fix-with-hypothesis-6.6.patch b/fix-with-hypothesis-6.6.patch new file mode 100644 index 0000000..c4c051d --- /dev/null +++ b/fix-with-hypothesis-6.6.patch @@ -0,0 +1,101 @@ +From 164c74ee3d5b6a3a15c2d8e472c6ca1c79ec85f9 Mon Sep 17 00:00:00 2001 +From: Miro +Date: Mon, 8 Mar 2021 19:16:26 +0100 +Subject: [PATCH] Workaround the issues with hypothesis 6.6 + +--- + test/test_basic_logic.py | 3 ++- + test/test_flow_control_window.py | 7 ++++++- + tox.ini | 2 +- + 3 files changed, 9 insertions(+), 3 deletions(-) + +diff --git a/test/test_basic_logic.py b/test/test_basic_logic.py +index fb54fe5..8c8f3b7 100644 +--- a/test/test_basic_logic.py ++++ b/test/test_basic_logic.py +@@ -21,7 +21,7 @@ import h2.stream + + from . import helpers + +-from hypothesis import given ++from hypothesis import given, settings, HealthCheck + from hypothesis.strategies import integers + + +@@ -790,6 +790,7 @@ class TestBasicClient(object): + 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 24b345a..7a445af 100644 +--- a/test/test_flow_control_window.py ++++ b/test/test_flow_control_window.py +@@ -7,7 +7,7 @@ Tests of the flow control management in h2 + """ + import pytest + +-from hypothesis import given ++from hypothesis import given, settings, HealthCheck + from hypothesis.strategies import integers + + import h2.config +@@ -715,6 +715,7 @@ class TestAutomaticFlowControl(object): + 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 @@ class TestAutomaticFlowControl(object): + ) + + @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 @@ class TestAutomaticFlowControl(object): + 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 @@ class TestAutomaticFlowControl(object): + # 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,6 +920,7 @@ class TestAutomaticFlowControl(object): + 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/tox.ini b/tox.ini +index 69291df..56af927 100644 +--- a/tox.ini ++++ b/tox.ini +@@ -15,7 +15,7 @@ deps = + pytest==6.0.2 + pytest-cov==2.10.1 + pytest-xdist==2.1.0 +- hypothesis>=5.5,<6 ++ hypothesis>=5.5,<7 + commands = + pytest --cov-report=xml --cov-report=term --cov=h2 {posargs} + +-- +2.27.0 + diff --git a/python-h2.spec b/python-h2.spec index 4270675..3bcf552 100644 --- a/python-h2.spec +++ b/python-h2.spec @@ -1,10 +1,11 @@ Name: python-h2 Version: 4.0.0 -Release: 1 +Release: 2 Summary: A HTTP/2 protocol stack for Python License: MIT URL: http://hyper.rtfd.org Source0: https://files.pythonhosted.org/packages/05/b8/cc1692aab910c0319b7c35e03c043bdda1cfeff67fa25b555eb2864a36e3/h2-4.0.0.tar.gz +Patch0: fix-with-hypothesis-6.6.patch BuildArch: noarch BuildRequires: (python3dist(hpack) >= 4 with python3dist(hpack) < 5) @@ -65,12 +66,15 @@ PYTHONPATH=%{buildroot}%{python3_sitelib} %{__python3} -m pytest %files -n python3-h2 %doc README.rst LICENSE %{python3_sitelib}/h2 -%{python3_sitelib}/h2-%{version}-py?.?.egg-info +%{python3_sitelib}/h2-%{version}-py%{python3_version}.egg-info %files help %doc html LICENSE %changelog +* Mon Oct 31 2022 Ge Wang - 4.0.0-2 +- fix compile error due to python-hypothesis update to 6.47.0 + * Wed Jul 28 2021 liyanan - 4.0.0-1 - update to 4.0.0 -- Gitee