- packages/p2p: identity (peer_id from sha256 of RSA pubkey), TLS cert generation with SHA-256 fingerprint, GossipClient (WSS PubSub with per-topic handlers, dedup by msg_id, auto-reconnect), MdnsDiscovery (zeroconf optional dependency, graceful no-op fallback) - packages/relay: new meshnet-relay package — RelayServer (asyncio + websockets) with gossip fanout hub, circuit relay proxy for NAT traversal, peer registry; meshnet-relay CLI - packages/p2p/relay_bootstrap.json: team relay bootstrap list - Tracker: _NodeEntry gains relay_addr, cert_fingerprint, peer_id; both register and heartbeat handlers read and store these optional fields - docs/adr/0010 already written (previous commit) - conftest.py: packages/relay added to sys.path - 18 new tests; 115 passed total, 1 skipped (no regressions) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
22 lines
473 B
Python
22 lines
473 B
Python
"""Root conftest: add all package source directories to sys.path for pytest discovery."""
|
|
|
|
import pathlib
|
|
import sys
|
|
|
|
_root = pathlib.Path(__file__).parent
|
|
_packages = [
|
|
"packages/node",
|
|
"packages/gateway",
|
|
"packages/tracker",
|
|
"packages/sdk",
|
|
"packages/contracts",
|
|
"packages/p2p",
|
|
"packages/relay",
|
|
"packages/validator",
|
|
]
|
|
|
|
for _pkg in _packages:
|
|
_path = str(_root / _pkg)
|
|
if _path not in sys.path:
|
|
sys.path.insert(0, _path)
|