From 164c74ee3d5b6a3a15c2d8e472c6ca1c79ec85f9 Mon Sep 17 00:00:00 2001
From: Miro <miro@hroncok.cz>
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

