From 62dcb881fc3051b72ae8cf7a5dbf08e21bf97c21 Mon Sep 17 00:00:00 2001 From: Philip O'Toole Date: Sun, 10 Dec 2023 00:45:53 -0500 Subject: [PATCH] More DB and Checkpoint tests --- db/db_test.go | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/db/db_test.go b/db/db_test.go index a80046ce..2a41f010 100644 --- a/db/db_test.go +++ b/db/db_test.go @@ -492,6 +492,8 @@ func Test_WALDatabaseCreatedOK(t *testing.T) { } } +// Test_WALDatabaseCheckpointOKNoWAL tests that a checkpoint succeeds +// even when no WAL file exists. func Test_WALDatabaseCheckpointOKNoWAL(t *testing.T) { path := mustTempFile() defer os.Remove(path) @@ -512,6 +514,25 @@ func Test_WALDatabaseCheckpointOKNoWAL(t *testing.T) { } } +// Test_WALDatabaseCheckpointOKDelete tests that a checkpoint returns no error +// even when the database is opened in DELETE mode. +func Test_WALDatabaseCheckpointOKDelete(t *testing.T) { + path := mustTempFile() + defer os.Remove(path) + + db, err := Open(path, false, false) + if err != nil { + t.Fatalf("failed to open database in DELETE mode: %s", err.Error()) + } + if db.WALEnabled() { + t.Fatalf("WAL mode enabled") + } + defer db.Close() + if err := db.Checkpoint(); err != nil { + t.Fatalf("failed to checkpoint database in DELETE mode: %s", err.Error()) + } +} + // Test_WALDatabaseCreatedOKFromDELETE tests that a WAL database is created properly, // even when supplied with a DELETE-mode database. func Test_WALDatabaseCreatedOKFromDELETE(t *testing.T) {