diff --git a/TODO.md b/TODO.md index 721fc15..b0fd82b 100644 --- a/TODO.md +++ b/TODO.md @@ -29,6 +29,9 @@ # Completed Steps +- test that `scan` refuses a database with another schema version + (2026-10-04, https://git.eeqj.de/sneak/sfdupes/issues/64) + - test the `-x` filesystem-boundary rules in `subdirJob` (2026-10-04, https://git.eeqj.de/sneak/sfdupes/issues/17) diff --git a/db_test.go b/db_test.go index 2fc6df5..ef7e833 100644 --- a/db_test.go +++ b/db_test.go @@ -157,9 +157,11 @@ func TestOpenReportDatabaseMissing(t *testing.T) { } } -func TestOpenReportDatabaseVersionMismatch(t *testing.T) { +func TestOpenDatabaseVersionMismatch(t *testing.T) { t.Parallel() + // A database stamped with a schema version other than 0 and + // schemaVersion. report, trees and scan must all refuse it. path := testDBPath(t) db, err := openScanDatabase(t.Context(), path) @@ -176,7 +178,12 @@ func TestOpenReportDatabaseVersionMismatch(t *testing.T) { _, err = openReportDatabase(t.Context(), path) if !errors.Is(err, errSchemaVersion) { - t.Fatalf("err = %v, want errSchemaVersion", err) + t.Fatalf("report: err = %v, want errSchemaVersion", err) + } + + _, err = openScanDatabase(t.Context(), path) + if !errors.Is(err, errSchemaVersion) { + t.Fatalf("scan: err = %v, want errSchemaVersion", err) } }