tractor/tests/discovery
Gud Boi 3f78e3de4c Read WireGuard iface keys through `pyroute2`
Add async `read_wg_pubkey()` and `read_wg_peers()` helpers which
offload `WireGuard.info()` calls to a `trio` worker thread.

Deats,
- add the Linux-only `wg` extra and pin `pyroute2`
- pass `flags=0` so a read never creates a named netns
- normalize multipart replies, validate keys and de-dup peers
- always close the netlink client, including error paths
- test thread offload, netns forwarding and client cleanup

Prompt-IO: ai/prompt-io/opencode/20260821T233204Z_5d92595f_prompt_io.md

(this patch was generated in some part by `opencode` using `gpt-5.6-sol` (`openai`))
2026-08-27 20:54:24 -04:00
..
__init__.py Add `test_multiaddr.py` suite for `mk_maddr()` 2026-04-14 19:54:14 -04:00
conftest.py Document stable macOS UDS operation 2026-08-14 10:37:19 -04:00
test_address_serialization.py Emit canonical tagged addresses 2026-08-27 20:48:57 -04:00
test_daemon_fixture.py Move registrar probes to `discovery._api` 2026-08-14 18:43:36 -04:00
test_multi_program.py Clarify owned-child hard-reap docs 2026-08-25 15:56:38 -04:00
test_multiaddr.py Emit canonical tagged addresses 2026-08-27 20:48:57 -04:00
test_registrar.py Name every `ActorNursery` binding `an` in tests/examples 2026-08-25 19:19:28 -04:00
test_tpt_bind_addrs.py Emit canonical tagged addresses 2026-08-27 20:48:57 -04:00
test_tunnelled_addr.py Support nested `wg` maddrs 2026-08-27 20:43:25 -04:00
test_wg_inspection.py Read WireGuard iface keys through `pyroute2` 2026-08-27 20:54:24 -04:00