X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=fuzz%2Fsrc%2Ffull_stack.rs;fp=fuzz%2Fsrc%2Ffull_stack.rs;h=0613d3a0aca965b3a47caf99068d1701bb46d69c;hb=a53764a58b8b9e412aa5f66eb4789954c6afc963;hp=52b37a10f23bac6ad4cd8330ea47f7346cc7be84;hpb=f8450a7c2cd6d31b0691e771c1b36ea857c26c2a;p=rust-lightning diff --git a/fuzz/src/full_stack.rs b/fuzz/src/full_stack.rs index 52b37a10..0613d3a0 100644 --- a/fuzz/src/full_stack.rs +++ b/fuzz/src/full_stack.rs @@ -39,6 +39,7 @@ use lightning::ln::msgs::DecodeError; use lightning::routing::router::get_route; use lightning::routing::network_graph::NetGraphMsgHandler; use lightning::util::config::UserConfig; +use lightning::util::errors::APIError; use lightning::util::events::Event; use lightning::util::enforcing_trait_impls::EnforcingSigner; use lightning::util::logger::Logger; @@ -531,7 +532,13 @@ pub fn do_test(data: &[u8], logger: &Arc) { continue 'outer_loop; } }; - channelmanager.funding_transaction_generated(&funding_generation.0, tx.clone()).unwrap(); + if let Err(e) = channelmanager.funding_transaction_generated(&funding_generation.0, tx.clone()) { + // It's possible the channel has been closed in the mean time, but any other + // failure may be a bug. + if let APIError::ChannelUnavailable { err } = e { + assert_eq!(err, "No such channel"); + } else { panic!(); } + } pending_funding_signatures.insert(funding_output, tx); } },