mirror of
https://github.com/lightningdevkit/rust-lightning.git
synced 2025-03-15 15:39:09 +01:00
Restrict ChannelManager
persist in fuzzing to when we're told to
In the `chanmon_consistency` fuzz, we currently "persist" the `ChannelManager` on each loop iteration. With the new logic in the past few commits to reduce the frequency of `ChannelManager` persistences, this behavior now leaves a gap in our test coverage - missing persistence notifications. In order to cath (common-case) persistence misses, we update the `chanmon_consistency` fuzzer to no longer persist the `ChannelManager` unless the waker was woken and signaled to persist, possibly reloading with a previous `ChannelManager` if we were not signaled.
This commit is contained in:
parent
5c3fa553a1
commit
32e5903ef2
1 changed files with 12 additions and 6 deletions
|
@ -1296,12 +1296,18 @@ pub fn do_test<Out: Output>(data: &[u8], underlying_out: Out) {
|
|||
_ => test_return!(),
|
||||
}
|
||||
|
||||
node_a_ser.0.clear();
|
||||
nodes[0].write(&mut node_a_ser).unwrap();
|
||||
node_b_ser.0.clear();
|
||||
nodes[1].write(&mut node_b_ser).unwrap();
|
||||
node_c_ser.0.clear();
|
||||
nodes[2].write(&mut node_c_ser).unwrap();
|
||||
if nodes[0].get_and_clear_needs_persistence() == true {
|
||||
node_a_ser.0.clear();
|
||||
nodes[0].write(&mut node_a_ser).unwrap();
|
||||
}
|
||||
if nodes[1].get_and_clear_needs_persistence() == true {
|
||||
node_b_ser.0.clear();
|
||||
nodes[1].write(&mut node_b_ser).unwrap();
|
||||
}
|
||||
if nodes[2].get_and_clear_needs_persistence() == true {
|
||||
node_c_ser.0.clear();
|
||||
nodes[2].write(&mut node_c_ser).unwrap();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue