fix(opencode): x-opencode-directory, Content-Length, warmup /api/model; serve без явного Env
Some checks failed
CI / test (push) Failing after 2m13s
CI / build-and-package (amd64, linux) (push) Failing after 1m3s
CI / build-and-package (amd64, windows) (push) Successful in 29s

This commit is contained in:
ki.sagidullin
2026-08-24 08:38:59 +05:00
parent 88b455203f
commit c9ab753c1e
6 changed files with 32 additions and 55 deletions

View File

@@ -200,29 +200,19 @@ func atoiOrZero(s string) int {
return n
}
func TestServeCmd_SetsOpenCodeConfig(t *testing.T) {
// serveCmd должен всегда передавать OPENCODE_CONFIG: без него serve может
// не подхватить модель/провайдеров из глобального конфига.
func TestServeCmd_NoCustomEnv(t *testing.T) {
// serveCmd не должен задавать свой Env: serve наследует окружение родителя
// и сам резолвит конфиг/БД/пароль как обычно.
s := &Server{}
s.defaults()
cmd := s.serveCmd(context.Background())
if cmd.Env == nil {
t.Fatal("serveCmd: Env не задан")
}
prefix := "OPENCODE_CONFIG="
path := ""
for _, kv := range cmd.Env {
if strings.HasPrefix(kv, prefix) {
path = strings.TrimPrefix(kv, prefix)
break
if cmd.Env != nil {
for _, kv := range cmd.Env {
if strings.HasPrefix(kv, "OPENCODE_") {
t.Errorf("serveCmd: не ожидал env %q", kv)
}
}
}
if path == "" {
t.Fatal("serveCmd: OPENCODE_CONFIG не выставлен")
}
if want := s.ConfigPath; path != want {
t.Errorf("OPENCODE_CONFIG = %q, want %q", path, want)
}
}
func TestServerCmd_CustomOpenCodeConfig(t *testing.T) {