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:
@@ -281,6 +281,67 @@ func TestConfigSaveAndReload(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestLoadConfigResolvesRelativeDataBeforeFileRead(t *testing.T) {
|
||||
cwd, err := os.Getwd()
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
repo := t.TempDir()
|
||||
if err := os.WriteFile(filepath.Join(repo, "LAUNCH.bat"), []byte(""), 0644); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
dataDir := filepath.Join(repo, "data")
|
||||
if err := os.MkdirAll(dataDir, 0755); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
fileCfg := DefaultConfig()
|
||||
fileCfg.Wallet.Address = "48fromrepo"
|
||||
data, err := json.Marshal(fileCfg)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if err := os.WriteFile(filepath.Join(dataDir, "config.json"), data, 0644); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
serverDir := filepath.Join(repo, "server")
|
||||
if err := os.MkdirAll(serverDir, 0755); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if err := os.Chdir(serverDir); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
defer func() { _ = os.Chdir(cwd) }()
|
||||
|
||||
resetConfigFlags([]string{"test", "-data", "data"})
|
||||
cfg := LoadConfig()
|
||||
wantData := filepath.Join(repo, "data")
|
||||
if cfg.DataDir != wantData {
|
||||
t.Fatalf("data dir: got %q want %q", cfg.DataDir, wantData)
|
||||
}
|
||||
if cfg.Wallet.Address != "48fromrepo" {
|
||||
t.Fatalf("expected config from repo data/, got wallet %q", cfg.Wallet.Address)
|
||||
}
|
||||
}
|
||||
|
||||
func TestLoadConfigFilePortWhenCLINotExplicit(t *testing.T) {
|
||||
dir := t.TempDir()
|
||||
fileCfg := DefaultConfig()
|
||||
fileCfg.Port = 9001
|
||||
data, err := json.Marshal(fileCfg)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if err := os.WriteFile(filepath.Join(dir, "config.json"), data, 0644); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
// No -port on CLI — only -data.
|
||||
resetConfigFlags([]string{"test", "-data", dir})
|
||||
cfg := LoadConfig()
|
||||
if cfg.Port != 9001 {
|
||||
t.Fatalf("file port when CLI omits -port: got %d", cfg.Port)
|
||||
}
|
||||
}
|
||||
|
||||
func TestLoadConfigCLIFlags(t *testing.T) {
|
||||
dir := t.TempDir()
|
||||
resetConfigFlags([]string{"test", "-port", "9999", "-data", dir})
|
||||
@@ -311,8 +372,8 @@ func TestLoadConfigMergesFileOverrides(t *testing.T) {
|
||||
resetConfigFlags([]string{"test", "-port", "8989", "-data", dir})
|
||||
cfg := LoadConfig()
|
||||
|
||||
if cfg.Port != 9001 {
|
||||
t.Fatalf("file port override: got %d", cfg.Port)
|
||||
if cfg.Port != 8989 {
|
||||
t.Fatalf("explicit CLI -port should win over file port: got %d", cfg.Port)
|
||||
}
|
||||
if cfg.Pool.Host != "custom.pool.example" {
|
||||
t.Fatalf("file pool host: got %q", cfg.Pool.Host)
|
||||
|
||||
Reference in New Issue
Block a user