Răsfoiți Sursa

chore(db): cleanup DB in tests and remove OpenTemp (#10282)

Filled up my tmpfs with test DBs when running benchmarks :)
Simon Frei 1 lună în urmă
părinte
comite
e54f51c9c5

+ 2 - 2
internal/db/sqlite/db_bench_test.go

@@ -21,7 +21,7 @@ import (
 var globalFi protocol.FileInfo
 
 func BenchmarkUpdate(b *testing.B) {
-	db, err := OpenTemp()
+	db, err := Open(b.TempDir())
 	if err != nil {
 		b.Fatal(err)
 	}
@@ -202,7 +202,7 @@ func TestBenchmarkDropAllRemote(t *testing.T) {
 		t.Skip("slow test")
 	}
 
-	db, err := OpenTemp()
+	db, err := Open(t.TempDir())
 	if err != nil {
 		t.Fatal(err)
 	}

+ 11 - 11
internal/db/sqlite/db_global_test.go

@@ -17,7 +17,7 @@ import (
 func TestNeed(t *testing.T) {
 	t.Helper()
 
-	db, err := OpenTemp()
+	db, err := Open(t.TempDir())
 	if err != nil {
 		t.Fatal(err)
 	}
@@ -115,7 +115,7 @@ func TestDropRecalcsGlobal(t *testing.T) {
 func testDropWithDropper(t *testing.T, dropper func(t *testing.T, db *DB)) {
 	t.Helper()
 
-	db, err := OpenTemp()
+	db, err := Open(t.TempDir())
 	if err != nil {
 		t.Fatal(err)
 	}
@@ -181,7 +181,7 @@ func testDropWithDropper(t *testing.T, dropper func(t *testing.T, db *DB)) {
 func TestNeedDeleted(t *testing.T) {
 	t.Parallel()
 
-	db, err := OpenTemp()
+	db, err := Open(t.TempDir())
 	if err != nil {
 		t.Fatal(err)
 	}
@@ -224,7 +224,7 @@ func TestNeedDeleted(t *testing.T) {
 func TestDontNeedIgnored(t *testing.T) {
 	t.Parallel()
 
-	db, err := OpenTemp()
+	db, err := Open(t.TempDir())
 	if err != nil {
 		t.Fatal(err)
 	}
@@ -271,7 +271,7 @@ func TestDontNeedIgnored(t *testing.T) {
 func TestDontNeedRemoteInvalid(t *testing.T) {
 	t.Parallel()
 
-	db, err := OpenTemp()
+	db, err := Open(t.TempDir())
 	if err != nil {
 		t.Fatal(err)
 	}
@@ -322,7 +322,7 @@ func TestDontNeedRemoteInvalid(t *testing.T) {
 func TestRemoteDontNeedLocalIgnored(t *testing.T) {
 	t.Parallel()
 
-	db, err := OpenTemp()
+	db, err := Open(t.TempDir())
 	if err != nil {
 		t.Fatal(err)
 	}
@@ -364,7 +364,7 @@ func TestRemoteDontNeedLocalIgnored(t *testing.T) {
 func TestLocalDontNeedDeletedMissing(t *testing.T) {
 	t.Parallel()
 
-	db, err := OpenTemp()
+	db, err := Open(t.TempDir())
 	if err != nil {
 		t.Fatal(err)
 	}
@@ -406,7 +406,7 @@ func TestLocalDontNeedDeletedMissing(t *testing.T) {
 func TestRemoteDontNeedDeletedMissing(t *testing.T) {
 	t.Parallel()
 
-	db, err := OpenTemp()
+	db, err := Open(t.TempDir())
 	if err != nil {
 		t.Fatal(err)
 	}
@@ -474,7 +474,7 @@ func TestRemoteDontNeedDeletedMissing(t *testing.T) {
 func TestNeedRemoteSymlinkAndDir(t *testing.T) {
 	t.Parallel()
 
-	db, err := OpenTemp()
+	db, err := Open(t.TempDir())
 	if err != nil {
 		t.Fatal(err)
 	}
@@ -517,7 +517,7 @@ func TestNeedRemoteSymlinkAndDir(t *testing.T) {
 func TestNeedPagination(t *testing.T) {
 	t.Parallel()
 
-	db, err := OpenTemp()
+	db, err := Open(t.TempDir())
 	if err != nil {
 		t.Fatal(err)
 	}
@@ -583,7 +583,7 @@ func TestDeletedAfterConflict(t *testing.T) {
 	// 23NHXGS  FILE  TreeSizeFreeSetup.exe  445       ---      2025-06-23T03:16:10.2804841Z  13832808  -nG----  HZJYWFM:1751507473                     7B4kLitF
 	// JKX6ZDN  FILE  TreeSizeFreeSetup.exe  320       ---      2025-06-23T03:16:10.2804841Z  13832808  -------  JKX6ZDN:1750992570                     7B4kLitF
 
-	db, err := OpenTemp()
+	db, err := Open(t.TempDir())
 	if err != nil {
 		t.Fatal(err)
 	}

+ 1 - 1
internal/db/sqlite/db_indexid_test.go

@@ -15,7 +15,7 @@ import (
 func TestIndexIDs(t *testing.T) {
 	t.Parallel()
 
-	db, err := OpenTemp()
+	db, err := Open(t.TempDir())
 	if err != nil {
 		t.Fatal()
 	}

+ 3 - 3
internal/db/sqlite/db_local_test.go

@@ -16,7 +16,7 @@ import (
 func TestBlocks(t *testing.T) {
 	t.Parallel()
 
-	db, err := OpenTemp()
+	db, err := Open(t.TempDir())
 	if err != nil {
 		t.Fatal()
 	}
@@ -89,7 +89,7 @@ func TestBlocks(t *testing.T) {
 func TestBlocksDeleted(t *testing.T) {
 	t.Parallel()
 
-	sdb, err := OpenTemp()
+	sdb, err := Open(t.TempDir())
 	if err != nil {
 		t.Fatal()
 	}
@@ -141,7 +141,7 @@ func TestBlocksDeleted(t *testing.T) {
 func TestRemoteSequence(t *testing.T) {
 	t.Parallel()
 
-	sdb, err := OpenTemp()
+	sdb, err := Open(t.TempDir())
 	if err != nil {
 		t.Fatal()
 	}

+ 1 - 1
internal/db/sqlite/db_mtimes_test.go

@@ -14,7 +14,7 @@ import (
 func TestMtimePairs(t *testing.T) {
 	t.Parallel()
 
-	db, err := OpenTemp()
+	db, err := Open(t.TempDir())
 	if err != nil {
 		t.Fatal()
 	}

+ 0 - 13
internal/db/sqlite/db_open.go

@@ -131,19 +131,6 @@ func OpenForMigration(path string) (*DB, error) {
 	return db, nil
 }
 
-func OpenTemp() (*DB, error) {
-	// SQLite has a memory mode, but it works differently with concurrency
-	// compared to what we need with the WAL mode. So, no memory databases
-	// for now.
-	dir, err := os.MkdirTemp("", "syncthing-db")
-	if err != nil {
-		return nil, wrap(err)
-	}
-	path := filepath.Join(dir, "db")
-	slog.Debug("Test DB", slogutil.FilePath(path))
-	return Open(path)
-}
-
 func (s *DB) Close() error {
 	s.folderDBsMut.Lock()
 	defer s.folderDBsMut.Unlock()

+ 12 - 12
internal/db/sqlite/db_test.go

@@ -36,7 +36,7 @@ const (
 func TestBasics(t *testing.T) {
 	t.Parallel()
 
-	sdb, err := OpenTemp()
+	sdb, err := Open(t.TempDir())
 	if err != nil {
 		t.Fatal(err)
 	}
@@ -427,7 +427,7 @@ func TestBasics(t *testing.T) {
 func TestPrefixGlobbing(t *testing.T) {
 	t.Parallel()
 
-	sdb, err := OpenTemp()
+	sdb, err := Open(t.TempDir())
 	if err != nil {
 		t.Fatal(err)
 	}
@@ -496,7 +496,7 @@ func TestPrefixGlobbing(t *testing.T) {
 func TestPrefixGlobbingStar(t *testing.T) {
 	t.Parallel()
 
-	sdb, err := OpenTemp()
+	sdb, err := Open(t.TempDir())
 	if err != nil {
 		t.Fatal(err)
 	}
@@ -529,7 +529,7 @@ func TestPrefixGlobbingStar(t *testing.T) {
 }
 
 func TestAvailability(t *testing.T) {
-	db, err := OpenTemp()
+	db, err := Open(t.TempDir())
 	if err != nil {
 		t.Fatal(err)
 	}
@@ -596,7 +596,7 @@ func TestAvailability(t *testing.T) {
 }
 
 func TestDropFilesNamed(t *testing.T) {
-	db, err := OpenTemp()
+	db, err := Open(t.TempDir())
 	if err != nil {
 		t.Fatal(err)
 	}
@@ -640,7 +640,7 @@ func TestDropFilesNamed(t *testing.T) {
 }
 
 func TestDropFolder(t *testing.T) {
-	db, err := OpenTemp()
+	db, err := Open(t.TempDir())
 	if err != nil {
 		t.Fatal(err)
 	}
@@ -700,7 +700,7 @@ func TestDropFolder(t *testing.T) {
 }
 
 func TestDropDevice(t *testing.T) {
-	db, err := OpenTemp()
+	db, err := Open(t.TempDir())
 	if err != nil {
 		t.Fatal(err)
 	}
@@ -764,7 +764,7 @@ func TestDropDevice(t *testing.T) {
 }
 
 func TestDropAllFiles(t *testing.T) {
-	db, err := OpenTemp()
+	db, err := Open(t.TempDir())
 	if err != nil {
 		t.Fatal(err)
 	}
@@ -926,7 +926,7 @@ func TestConcurrentUpdateSelect(t *testing.T) {
 func TestAllForBlocksHash(t *testing.T) {
 	t.Parallel()
 
-	sdb, err := OpenTemp()
+	sdb, err := Open(t.TempDir())
 	if err != nil {
 		t.Fatal(err)
 	}
@@ -988,7 +988,7 @@ func TestAllForBlocksHash(t *testing.T) {
 func TestBlocklistGarbageCollection(t *testing.T) {
 	t.Parallel()
 
-	sdb, err := OpenTemp()
+	sdb, err := Open(t.TempDir())
 	if err != nil {
 		t.Fatal(err)
 	}
@@ -1067,7 +1067,7 @@ func TestBlocklistGarbageCollection(t *testing.T) {
 func TestInsertLargeFile(t *testing.T) {
 	t.Parallel()
 
-	sdb, err := OpenTemp()
+	sdb, err := Open(t.TempDir())
 	if err != nil {
 		t.Fatal(err)
 	}
@@ -1119,7 +1119,7 @@ func TestStrangeDeletedGlobalBug(t *testing.T) {
 
 	t.Parallel()
 
-	sdb, err := OpenTemp()
+	sdb, err := Open(t.TempDir())
 	if err != nil {
 		t.Fatal(err)
 	}

+ 1 - 1
internal/db/typed_test.go

@@ -17,7 +17,7 @@ import (
 func TestNamespacedInt(t *testing.T) {
 	t.Parallel()
 
-	ldb, err := sqlite.OpenTemp()
+	ldb, err := sqlite.Open(t.TempDir())
 	if err != nil {
 		t.Fatal(err)
 	}

+ 1 - 1
lib/api/api_auth_test.go

@@ -130,7 +130,7 @@ func (c *mockClock) wind(t time.Duration) {
 func TestTokenManager(t *testing.T) {
 	t.Parallel()
 
-	mdb, err := sqlite.OpenTemp()
+	mdb, err := sqlite.Open(t.TempDir())
 	if err != nil {
 		t.Fatal(err)
 	}

+ 3 - 3
lib/api/api_test.go

@@ -82,7 +82,7 @@ func TestStopAfterBrokenConfig(t *testing.T) {
 	}
 	w := config.Wrap("/dev/null", cfg, protocol.LocalDeviceID, events.NoopLogger)
 
-	mdb, err := sqlite.OpenTemp()
+	mdb, err := sqlite.Open(t.TempDir())
 	if err != nil {
 		t.Fatal(err)
 	}
@@ -1049,7 +1049,7 @@ func startHTTPWithShutdownTimeout(t *testing.T, cfg config.Wrapper, shutdownTime
 
 	// Instantiate the API service
 	urService := ur.New(cfg, m, connections, false)
-	mdb, err := sqlite.OpenTemp()
+	mdb, err := sqlite.Open(t.TempDir())
 	if err != nil {
 		t.Fatal(err)
 	}
@@ -1567,7 +1567,7 @@ func TestEventMasks(t *testing.T) {
 	cfg := newMockedConfig()
 	defSub := new(eventmocks.BufferedSubscription)
 	diskSub := new(eventmocks.BufferedSubscription)
-	mdb, err := sqlite.OpenTemp()
+	mdb, err := sqlite.Open(t.TempDir())
 	if err != nil {
 		t.Fatal(err)
 	}

+ 1 - 1
lib/model/testutils_test.go

@@ -149,7 +149,7 @@ type testModel struct {
 func newModel(t testing.TB, cfg config.Wrapper, id protocol.DeviceID, protectedFiles []string) *testModel {
 	t.Helper()
 	evLogger := events.NewLogger()
-	mdb, err := sqlite.OpenTemp()
+	mdb, err := sqlite.Open(t.TempDir())
 	if err != nil {
 		t.Fatal(err)
 	}

+ 1 - 1
lib/stats/stats_test.go

@@ -18,7 +18,7 @@ import (
 )
 
 func TestDeviceStat(t *testing.T) {
-	sdb, err := sqlite.OpenTemp()
+	sdb, err := sqlite.Open(t.TempDir())
 	if err != nil {
 		t.Fatal(err)
 	}

+ 1 - 1
lib/syncthing/syncthing_test.go

@@ -72,7 +72,7 @@ func TestStartupFail(t *testing.T) {
 	}, protocol.LocalDeviceID, events.NoopLogger)
 	defer os.Remove(cfg.ConfigPath())
 
-	sdb, err := sqlite.OpenTemp()
+	sdb, err := sqlite.Open(t.TempDir())
 	if err != nil {
 		t.Fatal(err)
 	}