fix: 2026-06-04 audit pass — README, USB pack, multi-area fixes
WS ticket dashboard auth, builder universal signing/size limits/fusion obfuscation/dropper bundles, Path Tracer WireGuard topology, SessionGate degraded mode and download timeouts, server bootstrap (data dir, cloudflared dedupe, config port precedence), agent mesh/miner/spread fixes. README refreshed; usb bundle repacked; PROBLEMS.md audit log updated.
This commit is contained in:
49
agent/client/mesh_p2p_test.go
Normal file
49
agent/client/mesh_p2p_test.go
Normal file
@@ -0,0 +1,49 @@
|
||||
//go:build p2p
|
||||
|
||||
package client
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"crypto-miner-agent/config"
|
||||
)
|
||||
|
||||
func TestMeshNodeStartStop(t *testing.T) {
|
||||
c := NewAgentClient(config.RuntimeConfig{})
|
||||
m := NewMeshNode(c)
|
||||
if err := m.Start(); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if m.PeerCount() < 0 {
|
||||
t.Fatal("peer count must be non-negative")
|
||||
}
|
||||
m.Stop()
|
||||
if m.PeerCount() != 0 {
|
||||
t.Fatalf("peer count after stop = %d, want 0", m.PeerCount())
|
||||
}
|
||||
m.Stop() // idempotent
|
||||
}
|
||||
|
||||
func TestMeshNodeStartIdempotent(t *testing.T) {
|
||||
c := NewAgentClient(config.RuntimeConfig{})
|
||||
m := NewMeshNode(c)
|
||||
if err := m.Start(); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if err := m.Start(); err != nil {
|
||||
t.Fatalf("second Start: %v", err)
|
||||
}
|
||||
m.Stop()
|
||||
}
|
||||
|
||||
func TestMeshRelayToHubUsesWritePath(t *testing.T) {
|
||||
c := NewAgentClient(config.RuntimeConfig{})
|
||||
m := NewMeshNode(c)
|
||||
err := m.relayToHub(Message{Type: "stats"})
|
||||
if err == nil {
|
||||
t.Fatal("expected not-connected error without hub session")
|
||||
}
|
||||
if err.Error() != "not connected" {
|
||||
t.Fatalf("write path error: %v", err)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user