Test that scan refuses another schema version (closes #64)
check / check (push) Waiting to run
check / check (push) Waiting to run
The version-mismatch test only opened its database through openReportDatabase, so nothing exercised the branch of initSchema that stops scan on a database stamped with an unknown schema version. The test now opens the same database through openScanDatabase too and requires errSchemaVersion, and is renamed to match the unversioned-file test beside it, which also covers both paths. Model: opus-5-5
This commit is contained in:
@@ -29,6 +29,9 @@
|
|||||||
|
|
||||||
# Completed Steps
|
# Completed Steps
|
||||||
|
|
||||||
|
- test that `scan` refuses a database with another schema version
|
||||||
|
(2026-10-04, https://git.eeqj.de/sneak/sfdupes/issues/64)
|
||||||
|
|
||||||
- correct four inaccurate comments in `cancel_test.go` and rename
|
- correct four inaccurate comments in `cancel_test.go` and rename
|
||||||
`walkCancelInFlightDirs` to `walkCancelInFlightFiles` (2026-10-04,
|
`walkCancelInFlightDirs` to `walkCancelInFlightFiles` (2026-10-04,
|
||||||
https://git.eeqj.de/sneak/sfdupes/issues/33)
|
https://git.eeqj.de/sneak/sfdupes/issues/33)
|
||||||
|
|||||||
+9
-2
@@ -157,9 +157,11 @@ func TestOpenReportDatabaseMissing(t *testing.T) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestOpenReportDatabaseVersionMismatch(t *testing.T) {
|
func TestOpenDatabaseVersionMismatch(t *testing.T) {
|
||||||
t.Parallel()
|
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)
|
path := testDBPath(t)
|
||||||
|
|
||||||
db, err := openScanDatabase(t.Context(), path)
|
db, err := openScanDatabase(t.Context(), path)
|
||||||
@@ -176,7 +178,12 @@ func TestOpenReportDatabaseVersionMismatch(t *testing.T) {
|
|||||||
|
|
||||||
_, err = openReportDatabase(t.Context(), path)
|
_, err = openReportDatabase(t.Context(), path)
|
||||||
if !errors.Is(err, errSchemaVersion) {
|
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)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user