doctor: add fs fault injection and lock contention coverage

Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
This commit is contained in:
Jordan Hubbard
2025-12-26 09:22:45 -04:00
parent 8166207eb4
commit 7af3106610
15 changed files with 357 additions and 68 deletions

View File

@@ -106,7 +106,7 @@ func CheckPermissions(path string) DoctorCheck {
dbPath := filepath.Join(beadsDir, beads.CanonicalDatabaseName)
if _, err := os.Stat(dbPath); err == nil {
// Try to open database
db, err := sql.Open("sqlite3", dbPath)
db, err := sql.Open("sqlite3", sqliteConnString(dbPath, true))
if err != nil {
return DoctorCheck{
Name: "Permissions",
@@ -118,7 +118,7 @@ func CheckPermissions(path string) DoctorCheck {
_ = db.Close() // Intentionally ignore close error
// Try a write test
db, err = sql.Open("sqlite", dbPath)
db, err = sql.Open("sqlite", sqliteConnString(dbPath, true))
if err == nil {
_, err = db.Exec("SELECT 1")
_ = db.Close() // Intentionally ignore close error