* fix(unix): handle Statfs field types for disk space check Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com> * fix(freebsd): build disk space check without type mismatch Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com> --------- Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
48 lines
1.1 KiB
Go
48 lines
1.1 KiB
Go
package rpc
|
|
|
|
import (
|
|
"context"
|
|
"os"
|
|
"path/filepath"
|
|
"runtime"
|
|
"testing"
|
|
|
|
"github.com/steveyegge/beads/internal/storage/sqlite"
|
|
)
|
|
|
|
// newTestStore creates a SQLite store with issue_prefix configured (bd-166)
|
|
// This prevents "database not initialized" errors in tests
|
|
func newTestStore(t *testing.T, dbPath string) *sqlite.SQLiteStorage {
|
|
t.Helper()
|
|
|
|
ctx := context.Background()
|
|
store, err := sqlite.New(ctx, dbPath)
|
|
if err != nil {
|
|
t.Fatalf("Failed to create test database: %v", err)
|
|
}
|
|
|
|
// CRITICAL (bd-166): Set issue_prefix to prevent "database not initialized" errors
|
|
if err := store.SetConfig(ctx, "issue_prefix", "bd"); err != nil {
|
|
_ = store.Close()
|
|
t.Fatalf("Failed to set issue_prefix: %v", err)
|
|
}
|
|
|
|
return store
|
|
}
|
|
|
|
func newTestSocketPath(t *testing.T) string {
|
|
t.Helper()
|
|
|
|
// On unix, AF_UNIX socket paths have small length limits (notably on darwin).
|
|
// Prefer a short base dir when available.
|
|
if runtime.GOOS != "windows" {
|
|
d, err := os.MkdirTemp("/tmp", "beads-sock-")
|
|
if err == nil {
|
|
t.Cleanup(func() { _ = os.RemoveAll(d) })
|
|
return filepath.Join(d, "rpc.sock")
|
|
}
|
|
}
|
|
|
|
return filepath.Join(t.TempDir(), "rpc.sock")
|
|
}
|