Game detection: foreign GPU holders take an external lock hold (GAME_PROCS, GPU_FOREIGN_VRAM_MB)
This commit is contained in:
@@ -157,6 +157,8 @@ func TestLoadErrors(t *testing.T) {
|
||||
{"LLM_BUSY_MODE", "bogus"},
|
||||
{"LLM_BUSY_STATUS", "200"},
|
||||
{"BUSY_RETRY_AFTER", "0"},
|
||||
{"GPU_FOREIGN_VRAM_MB", "-1"},
|
||||
{"GAME_POLL_INTERVAL", "bogus"},
|
||||
} {
|
||||
_, err := Load(func(k string) string {
|
||||
if k == tc.key {
|
||||
@@ -172,3 +174,51 @@ func TestLoadErrors(t *testing.T) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestGameDetectionSettings(t *testing.T) {
|
||||
cfg, err := Load(func(k string) string {
|
||||
switch k {
|
||||
case "OLLAMA_URL":
|
||||
return "http://127.0.0.1:11435"
|
||||
case "GAME_PROCS":
|
||||
return " cyberpunk2077.exe, hl2.exe ,, "
|
||||
case "GPU_FOREIGN_VRAM_MB":
|
||||
return "1024"
|
||||
case "GPU_IGNORE_PROCS":
|
||||
return "ollama, my-trainer"
|
||||
}
|
||||
return ""
|
||||
})
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if len(cfg.GameProcs) != 2 || cfg.GameProcs[0] != "cyberpunk2077.exe" || cfg.GameProcs[1] != "hl2.exe" {
|
||||
t.Fatalf("GameProcs = %v", cfg.GameProcs)
|
||||
}
|
||||
if cfg.GPUForeignVRAMMB != 1024 {
|
||||
t.Fatalf("GPUForeignVRAMMB = %d", cfg.GPUForeignVRAMMB)
|
||||
}
|
||||
if len(cfg.GPUIgnoreProcs) != 2 || cfg.GPUIgnoreProcs[1] != "my-trainer" {
|
||||
t.Fatalf("GPUIgnoreProcs = %v", cfg.GPUIgnoreProcs)
|
||||
}
|
||||
if cfg.GamePollInterval != 5*time.Second {
|
||||
t.Fatalf("GamePollInterval = %v, want 5s default", cfg.GamePollInterval)
|
||||
}
|
||||
|
||||
// Defaults: both detection paths off, ignore list covers our consumers.
|
||||
cfg, err = Load(func(k string) string {
|
||||
if k == "OLLAMA_URL" {
|
||||
return "http://127.0.0.1:11435"
|
||||
}
|
||||
return ""
|
||||
})
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if len(cfg.GameProcs) != 0 || cfg.GPUForeignVRAMMB != 0 {
|
||||
t.Fatalf("detection must be off by default: %v %d", cfg.GameProcs, cfg.GPUForeignVRAMMB)
|
||||
}
|
||||
if len(cfg.GPUIgnoreProcs) == 0 {
|
||||
t.Fatal("GPUIgnoreProcs default must not be empty")
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user