package cli import ( "os" "testing" "gitea.mynodes.xyz/ilker/llmgw/internal/preflight" ) func TestTheMemoryAMachineNeedsCountsWhatItServes(t *testing.T) { in := &serverInit{} mb, what := in.servingMemoryMB(false) need := preflight.Needs[preflight.RoleControl].MemoryMB + mb if what == "" || need <= 7941 || need > 11961 { t.Errorf("node, starter and judges here: need %d MB (%q); an 8 GB machine must fail and a 12 GB one pass", need, what) } // Judges on machines of their own take their share off this one. if mb2, _ := in.servingMemoryMB(true); mb2 >= mb { t.Errorf("with judge machines %d MB, without %d", mb2, mb) } // A control plane that serves nothing needs only its own. if mb, what := (&serverInit{noNode: true}).servingMemoryMB(false); mb != 0 || what != "" { t.Errorf("no node: %d %q", mb, what) } if mb, _ := (&serverInit{noModel: true, noGuardModel: true}).servingMemoryMB(false); mb != 0 { t.Errorf("nothing served: %d", mb) } // Without a mirror no judge is fetched, so none is counted. if mb, what := (&serverInit{noMirror: true}).servingMemoryMB(false); mb != 0 { t.Errorf("no mirror, nothing to fetch: %d %q", mb, what) } } func TestSetupRunAgainOnAMachineAlreadySetUpIsNotRefusedItsMemory(t *testing.T) { // The docs fix a certificate with server init --host on a machine set up // before the check: it installs nothing it does not already serve. dir := t.TempDir() cfg := dir + "/server.yaml" if err := os.WriteFile(cfg, []byte("listen: :8080\n"), 0o600); err != nil { t.Fatal(err) } in := &serverInit{unitPath: dir + "/llmgw-server.service", etcDir: dir} if err := in.checkMemory(); err != nil { t.Errorf("refused: %v", err) } }