Files
weichen 86e9d3706b feat(sysadmin): admin env settings + maintenance FD handoff
Persist agent/secrets settings with masked secrets and runner hot-reload;
add maintenance windows, maintpage binary, and zero-downtime listener handoff.
2026-09-24 23:20:20 +00:00

48 lines
928 B
Go

package handoff_test
import (
"net"
"os"
"testing"
"chat-agent-system/internal/handoff"
)
func TestListenOrAdoptFresh(t *testing.T) {
_ = os.Unsetenv(handoff.EnvInheritFD)
ln, err := handoff.ListenOrAdopt("127.0.0.1:0")
if err != nil {
t.Fatal(err)
}
defer ln.Close()
tcp, ok := ln.(*net.TCPListener)
if !ok {
t.Fatal("expected TCPListener")
}
f, err := tcp.File()
if err != nil {
t.Fatal(err)
}
defer f.Close()
adopted, err := net.FileListener(f)
if err != nil {
t.Fatal(err)
}
defer adopted.Close()
}
func TestSignalReadyNoopWithoutEnv(t *testing.T) {
_ = os.Unsetenv(handoff.EnvReadyPipeFD)
if err := handoff.SignalReady(); err != nil {
t.Fatal(err)
}
}
func TestAdoptFromEnvMissing(t *testing.T) {
_ = os.Unsetenv(handoff.EnvInheritFD)
ln, ok, err := handoff.AdoptFromEnv()
if ok || ln != nil || err != nil {
t.Fatalf("expected no adopt, got ok=%v ln=%v err=%v", ok, ln, err)
}
}