Files
Agent-System-Backend/internal/store/durability_unix_test.go
T
agent-exec-transport 7b379d28e7
governance / governance (pull_request) Successful in 17s
ci / vet-and-test (pull_request) Successful in 1m6s
agent-exec transport d2c63b4a83821a5716997a28174233b1/d6e403e1e778
2026-10-18 09:20:03 +00:00

36 lines
800 B
Go

//go:build unix
package store
import (
"os/signal"
"path/filepath"
"strings"
"syscall"
"testing"
)
func TestWriteFailureIsReturned(t *testing.T) {
st, err := OpenSQLite(filepath.Join(t.TempDir(), "agent-system.db"))
if err != nil {
t.Fatal(err)
}
defer st.Close()
signal.Ignore(syscall.SIGXFSZ)
t.Cleanup(func() { signal.Reset(syscall.SIGXFSZ) })
var lim syscall.Rlimit
if err := syscall.Getrlimit(syscall.RLIMIT_FSIZE, &lim); err != nil {
t.Fatal(err)
}
old := lim
lim.Cur = 4096
if err := syscall.Setrlimit(syscall.RLIMIT_FSIZE, &lim); err != nil {
t.Fatal(err)
}
t.Cleanup(func() { _ = syscall.Setrlimit(syscall.RLIMIT_FSIZE, &old) })
_, err = st.CreateProject("owner", strings.Repeat("x", 64*1024))
if err == nil {
t.Fatal("oversized write returned success")
}
}