Skip to content

Commit 0f51b83

Browse files
committed
fix(tests): ensure storage persistence test properly flushes and releases sled lock
The test was flaky due to potential race condition in nextest parallel execution. Added explicit flush() call and drop() to ensure sled database is properly flushed and the lock is released before reopening.
1 parent 15077d5 commit 0f51b83

1 file changed

Lines changed: 7 additions & 2 deletions

File tree

tests/storage_tests.rs

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -110,18 +110,23 @@ mod main_storage {
110110
#[test]
111111
fn test_storage_persistence() {
112112
let dir = tempdir().unwrap();
113+
let path = dir.path().to_path_buf();
113114

114115
// Create and save
115116
{
116-
let storage = Storage::open(dir.path()).unwrap();
117+
let storage = Storage::open(&path).unwrap();
117118
let sudo = Keypair::generate();
118119
let state = ChainState::new(sudo.hotkey(), NetworkConfig::default());
119120
storage.save_state(&state).unwrap();
121+
// Explicit flush before dropping to ensure persistence
122+
storage.flush().unwrap();
123+
// Explicitly drop storage to release sled lock before reopening
124+
drop(storage);
120125
}
121126

122127
// Reopen and verify
123128
{
124-
let storage = Storage::open(dir.path()).unwrap();
129+
let storage = Storage::open(&path).unwrap();
125130
let loaded = storage.load_state().unwrap();
126131
assert!(loaded.is_some());
127132
}

0 commit comments

Comments
 (0)