__init__.py |
|
0 |
conftest.py |
|
134 |
coroutine_tests.py |
coroutine_tests
~~~~~~~~~~~~~~~
This file gives access to a coroutine-based test class. This allows each test
case to be defined as a pair of interacting coroutines, sending data to each
other by yielding the flow of control.
The advantage of this method is that we avoid the difficulty of using threads
in Python, as well as the pain of using sockets and events to communicate and
organise the communication. This makes the tests entirely deterministic and
makes them behave identically on all platforms, as well as ensuring they both
succeed and fail quickly.
|
2692 |
h2spectest.sh |
|
448 |
helpers.py |
helpers
~~~~~~~
This module contains helpers for the h2 tests.
|
4865 |
test_basic_logic.py |
test_basic_logic
~~~~~~~~~~~~~~~~
Test the basic logic of the h2 state machines.
|
65417 |
test_closed_streams.py |
test_closed_streams
~~~~~~~~~~~~~~~~~~~
Tests that we handle closed streams correctly.
|
19300 |
test_complex_logic.py |
test_complex_logic
~~~~~~~~~~~~~~~~
More complex tests that try to do more.
Certain tests don't really eliminate incorrect behaviour unless they do quite
a bit. These tests should live here, to keep the pain in once place rather than
hide it in the other parts of the test suite.
|
21420 |
test_config.py |
test_config
~~~~~~~~~~~
Test the configuration object.
|
5285 |
test_events.py |
test_events.py
~~~~~~~~~~~~~~
Specific tests for any function that is logically self-contained as part of
events.py.
|
11765 |
test_exceptions.py |
test_exceptions
~~~~~~~~~~~~~~~
Tests that verify logic local to exceptions.
|
338 |
test_flow_control_window.py |
test_flow_control
~~~~~~~~~~~~~~~~~
Tests of the flow control management in h2
|
35646 |
test_h2_upgrade.py |
test_h2_upgrade.py
~~~~~~~~~~~~~~~~~~
This module contains tests that exercise the HTTP Upgrade functionality of
hyper-h2, ensuring that clients and servers can upgrade their plaintext
HTTP/1.1 connections to HTTP/2.
|
10158 |
test_head_request.py |
test_head_request
~~~~~~~~~~~~~~~~~
|
1582 |
test_header_indexing.py |
test_header_indexing.py
~~~~~~~~~~~~~~~~~~~~~~~
This module contains tests that use HPACK header tuples that provide additional
metadata to the hpack module about how to encode the headers.
|
23772 |
test_informational_responses.py |
test_informational_responses
~~~~~~~~~~~~~~~~~~~~~~~~~~
Tests that validate that hyper-h2 correctly handles informational (1XX)
responses in its state machine.
|
14698 |
test_interacting_stacks.py |
test_interacting_stacks
~~~~~~~~~~~~~~~~~~~~~~~
These tests run two entities, a client and a server, in parallel threads. These
two entities talk to each other, running what amounts to a number of carefully
controlled simulations of real flows.
This is to ensure that the stack as a whole behaves intelligently in both
client and server cases.
These tests are long, complex, and somewhat brittle, so they aren't in general
recommended for writing the majority of test cases. Their purposes is primarily
to validate that the top-level API of the library behaves as described.
We should also consider writing helper functions to reduce the complexity of
these tests, so that they can be written more easily, as they are remarkably
useful.
|
4235 |
test_invalid_content_lengths.py |
test_invalid_content_lengths.py
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
This module contains tests that use invalid content lengths, and validates that
they fail appropriately.
|
4673 |
test_invalid_frame_sequences.py |
test_invalid_frame_sequences.py
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
This module contains tests that use invalid frame sequences, and validates that
they fail appropriately.
|
17592 |
test_invalid_headers.py |
test_invalid_headers.py
~~~~~~~~~~~~~~~~~~~~~~~
This module contains tests that use invalid header blocks, and validates that
they fail appropriately.
|
35055 |
test_priority.py |
test_priority
~~~~~~~~~~~~~
Test the priority logic of Hyper-h2.
|
10973 |
test_related_events.py |
test_related_events.py
~~~~~~~~~~~~~~~~~~~~~~
Specific tests to validate the "related events" logic used by certain events
inside hyper-h2.
|
12507 |
test_rfc7838.py |
test_rfc7838
~~~~~~~~~~~~
Test the RFC 7838 ALTSVC support.
|
15036 |
test_rfc8441.py |
test_rfc8441
~~~~~~~~~~~~
Test the RFC 8441 extended connect request support.
|
1128 |
test_settings.py |
test_settings
~~~~~~~~~~~~~
Test the Settings object.
|
16680 |
test_state_machines.py |
test_state_machines
~~~~~~~~~~~~~~~~~~~
These tests validate the state machines directly. Writing meaningful tests for
this case can be tricky, so the majority of these tests use Hypothesis to try
to talk about general behaviours rather than specific cases.
|
5694 |
test_stream_reset.py |
test_stream_reset
~~~~~~~~~~~~~~~~~
More complex tests that exercise stream resetting functionality to validate
that connection state is appropriately maintained.
Specifically, these tests validate that streams that have been reset accurately
keep track of connection-level state.
|
4904 |
test_utility_functions.py |
test_utility_functions
~~~~~~~~~~~~~~~~~~~~~~
Tests for the various utility functions provided by hyper-h2.
|
6662 |