Skip to content

Commit 6744119

Browse files
committed
Add some basic sanity tests for feature flags
1 parent 2d49ff1 commit 6744119

File tree

1 file changed

+35
-0
lines changed

1 file changed

+35
-0
lines changed

lightning/src/ln/features.rs

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -292,3 +292,38 @@ impl<R: ::std::io::Read, T: sealed::Context> Readable<R> for Features<T> {
292292
})
293293
}
294294
}
295+
296+
#[cfg(test)]
297+
mod tests {
298+
use super::{ChannelFeatures, InitFeatures, NodeFeatures};
299+
300+
#[test]
301+
fn sanity_test_our_features() {
302+
assert!(!ChannelFeatures::our_features().requires_unknown_bits());
303+
assert!(!ChannelFeatures::our_features().supports_unknown_bits());
304+
assert!(!InitFeatures::our_features().requires_unknown_bits());
305+
assert!(!InitFeatures::our_features().supports_unknown_bits());
306+
assert!(!NodeFeatures::our_features().requires_unknown_bits());
307+
assert!(!NodeFeatures::our_features().supports_unknown_bits());
308+
309+
assert!(InitFeatures::our_features().supports_upfront_shutdown_script());
310+
assert!(NodeFeatures::our_features().supports_upfront_shutdown_script());
311+
312+
assert!(InitFeatures::our_features().supports_data_loss_protect());
313+
assert!(NodeFeatures::our_features().supports_data_loss_protect());
314+
315+
let mut init_features = InitFeatures::our_features();
316+
init_features.set_initial_routing_sync();
317+
assert!(!init_features.requires_unknown_bits());
318+
assert!(!init_features.supports_unknown_bits());
319+
}
320+
321+
#[test]
322+
fn sanity_test_unkown_bits_testing() {
323+
let mut features = ChannelFeatures::our_features();
324+
features.set_require_unknown_bits();
325+
assert!(features.requires_unknown_bits());
326+
features.clear_require_unknown_bits();
327+
assert!(!features.requires_unknown_bits());
328+
}
329+
}

0 commit comments

Comments
 (0)