Summary
tests/test_config_matrix_pytest.py currently fails in this environment due to TypeError raised inside validate_config, and mirrors the same failure pattern already present in tests/test_config_matrix.py.
Reproduction
uv run --with pytest --with pytest-asyncio pytest -q tests/test_config_matrix_pytest.py
Also reproducible in unittest:
uv run python -m unittest -v tests.test_config_matrix
Observed failures
test_config_matrix_pytest.py reports:
- 6 failed, 3 passed
- failing cases:
test_udp_ssl_is_accepted_for_quic_tls
test_udp_client_auth_is_accepted_with_a_trust_store
test_udp_client_auth_requires_an_explicit_trust_store
test_tcp_client_auth_is_accepted_with_a_trust_store
test_tcp_client_auth_requires_an_explicit_trust_store
test_invalid_pipe_requires_path
Error signature
validate_config raises:
TypeError: '<=' not supported between instances of 'int' and 'NoneType'
at:
src/tigrcorn/config/validate.py:92
- expression:
16_384 <= config.http.http2_max_frame_size <= 16_777_215
Notes
- The pytest mirror appears to be behaviorally consistent with current unittest behavior for this module.
- This looks like validation logic expecting fully-populated HTTP2 defaults, while these tests construct partial
ServerConfig(...) instances directly.
Expected behavior
One of:
validate_config should guard http2_max_frame_size for None (and raise ConfigError or normalize defaults), or
- tests should build config objects through
build_config/normalized defaults when validating listener-specific scenarios.
Acceptance criteria
uv run --with pytest --with pytest-asyncio pytest -q tests/test_config_matrix_pytest.py passes (or fails only for intentionally expected exceptions), and
uv run python -m unittest -v tests.test_config_matrix is aligned with intended behavior.
Summary
tests/test_config_matrix_pytest.pycurrently fails in this environment due toTypeErrorraised insidevalidate_config, and mirrors the same failure pattern already present intests/test_config_matrix.py.Reproduction
Also reproducible in unittest:
Observed failures
test_config_matrix_pytest.pyreports:test_udp_ssl_is_accepted_for_quic_tlstest_udp_client_auth_is_accepted_with_a_trust_storetest_udp_client_auth_requires_an_explicit_trust_storetest_tcp_client_auth_is_accepted_with_a_trust_storetest_tcp_client_auth_requires_an_explicit_trust_storetest_invalid_pipe_requires_pathError signature
validate_configraises:at:
src/tigrcorn/config/validate.py:9216_384 <= config.http.http2_max_frame_size <= 16_777_215Notes
ServerConfig(...)instances directly.Expected behavior
One of:
validate_configshould guardhttp2_max_frame_sizeforNone(and raiseConfigErroror normalize defaults), orbuild_config/normalized defaults when validating listener-specific scenarios.Acceptance criteria
uv run --with pytest --with pytest-asyncio pytest -q tests/test_config_matrix_pytest.pypasses (or fails only for intentionally expected exceptions), anduv run python -m unittest -v tests.test_config_matrixis aligned with intended behavior.