28 lines
1.8 KiB
Python
Executable File
28 lines
1.8 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
"""Source-only regression assertions; NOT a compiled Rust or live H2 test."""
|
|
from pathlib import Path
|
|
import tomllib
|
|
|
|
root = Path(__file__).resolve().parents[2]
|
|
read = lambda name: (root / name).read_text(encoding='utf-8')
|
|
assert tomllib.loads(read('Cargo.toml'))['package']['version'] == '0.32.7'
|
|
client = read('src/upstream/client.rs')
|
|
forward = read('src/proxy/forward/upstream.rs')
|
|
helper = read('src/proxy/h2_graceful.rs')
|
|
lease = read('src/balance/lease_runtime.rs')
|
|
health = read('src/balance/health.rs')
|
|
tests = read('src/balance/tests.rs')
|
|
for marker in ('GoAway(', 'NO_ERROR', 'Remote', 'note_graceful_goaway(generation)', 'is_graceful_h2_goaway(error)'):
|
|
assert marker in client, marker
|
|
for marker in ('graceful_retry_done', 'retry_safe_method(&retry_method)', 'request_body_empty', 'handshake.is_none()', 'retry_request(', 'graceful_retry_done = true', 'continue;'):
|
|
assert marker in forward, marker
|
|
for marker in ('is_related_h2_close', 'recently_saw_graceful_goaway()', 'h2_graceful_goaway', 'h2_graceful_close'):
|
|
assert marker in helper, marker
|
|
for marker in ('first_error_detail', 'first_error_at_ms', 'trigger_error_detail', 'backend excluded from traffic', 'tracing::warn!(', 'h2_graceful_goaway'):
|
|
assert marker in lease, marker
|
|
for marker in ('passive_first_failure', 'active_first_failure', 'passive_probe_successes', 'passive_ejected_at', 'Duration::from_millis(250)', 'fn clear_passive_ejection', 'pub fn healthy'):
|
|
assert marker in health, marker
|
|
for marker in ('passive_ejection_remembers_first_real_error_and_trigger', 'passive_io_burst_is_one_observation', 'passive_only_quarantine_expires', 'active_probe_successes_recover'):
|
|
assert marker in tests, marker
|
|
print('PASS: version, H2 graceful recycle/retry, passive health, first-error WARN source contracts (NOT compiled)')
|