From 6bba367f8b966185f5c56c443887e98c985e58f1 Mon Sep 17 00:00:00 2001 From: crStiv Date: Fri, 7 Feb 2025 17:22:49 +0100 Subject: [PATCH] Create database_test.go --- triedb/hashdb/database_test.go | 36 ++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 triedb/hashdb/database_test.go diff --git a/triedb/hashdb/database_test.go b/triedb/hashdb/database_test.go new file mode 100644 index 0000000000..5d3b9efbae --- /dev/null +++ b/triedb/hashdb/database_test.go @@ -0,0 +1,36 @@ +package hashdb + +import ( + "testing" + + "github.com/ethereum/go-ethereum/common" + "github.com/ethereum/go-ethereum/triedb/rawdb" +) + +func TestCleanerDelete(t *testing.T) { + // Create a new database with clean cache enabled + db := New(rawdb.NewMemoryDatabase(), &Config{CleanCacheSize: 256 * 1024}) + defer db.Close() + + // Create a test node and add it to clean cache + hash := common.HexToHash("0x1234") + testData := []byte("test data") + db.cleans.Set(hash[:], testData) + + // Create cleaner and delete the node + c := &cleaner{db: db} + if err := c.Delete(hash[:]); err != nil { + t.Fatalf("failed to delete node: %v", err) + } + + // Verify node was deleted from clean cache + if data := db.cleans.Get(nil, hash[:]); data != nil { + t.Error("node was not deleted from clean cache") + } + + // Test delete with nil clean cache + db.cleans = nil + if err := c.Delete(hash[:]); err != nil { + t.Fatalf("failed to handle nil clean cache: %v", err) + } +}