netsleuth/tests
Andrew Pimenov 5e4aa8b101 exporter: surface a skipped module's warning as its placeholder reason
unavailable() only ever read module.errors for the placeholder detail
text, so a deliberately skipped section (speed in --quick or target
mode, which reports its reason as a warning, not an error) always
fell through to the generic 'no data was collected for this section'
line even though the real reason ('speedtest skipped in target mode')
was sitting right there in the json. spec says a skipped speedtest
must say why, not just that it's missing.
2026-08-09 03:49:53 +03:00
..
fixtures compare: diff identity, latency, speed and findings between two reports 2026-08-09 03:24:03 +03:00
conftest.py project scaffold: uv packaging, config.yaml, package skeleton 2026-08-08 21:12:41 +03:00
test_bgp.py bgp: clamp cache age to zero against windows mtime clock skew 2026-08-09 03:39:35 +03:00
test_compare.py compare: diff identity, latency, speed and findings between two reports 2026-08-09 03:24:03 +03:00
test_config.py config: pydantic-settings loader with env > .env > yaml precedence 2026-08-08 21:38:12 +03:00
test_dns_leak.py dns_leak: per-adapter asn mismatch and ecs leak detection 2026-08-09 02:32:13 +03:00
test_dnsbl_decode.py reputation: decode dnsbl 127.255.255.x error range as unavailable 2026-08-09 02:20:30 +03:00
test_exporter.py exporter: surface a skipped module's warning as its placeholder reason 2026-08-09 03:49:53 +03:00
test_icmp_win_parse.py icmp_win: decode ICMP_ECHO_REPLY buffers for both pointer widths 2026-08-09 02:26:09 +03:00
test_icmp_win_trace.py icmp_win: bound trace_hops_win to a total timeout budget and stop it blocking process exit 2026-08-09 03:33:12 +03:00
test_interpret.py interpret: label a non-responding hop instead of printing None 2026-08-09 03:43:57 +03:00
test_ip_geo_normalize.py ip_geo: field-wise merge, dual-stack comparison, provider fan-out 2026-08-09 02:14:03 +03:00
test_models.py models: domain shapes for geo, bgp, reputation, probes, speed 2026-08-08 21:33:09 +03:00
test_netinfo.py netinfo: local interface, gateway, mtu and per-adapter resolvers 2026-08-08 21:56:45 +03:00
test_orchestration.py orchestration: run_module envelope and exception classification 2026-08-08 21:53:05 +03:00
test_prober_stats.py latency: ping summarization and unprivileged backend fan-out 2026-08-09 02:25:04 +03:00
test_reputation.py reputation: internetdb, captcha risk and reputation assembly 2026-08-09 02:21:57 +03:00
test_speed_math.py speed: bufferbloat probe running concurrently with saturation 2026-08-09 02:39:24 +03:00
test_stats.py stats: rtt loss, mdev and jitter with timeout-safe edge cases 2026-08-08 22:00:00 +03:00
test_traceparse.py traceparse: os dispatcher and trace completion detection 2026-08-08 22:04:34 +03:00
test_traceroute_cascade.py icmp_win: bound trace_hops_win to a total timeout budget and stop it blocking process exit 2026-08-09 03:33:12 +03:00
test_watch.py watch: cycle scheduling, live dashboard and one time-series artifact per session 2026-08-09 03:37:01 +03:00