diff --git a/.github/workflows/cont_integration.yml b/.github/workflows/cont_integration.yml index 3088cd6e0..f06b69f8a 100644 --- a/.github/workflows/cont_integration.yml +++ b/.github/workflows/cont_integration.yml @@ -104,6 +104,9 @@ jobs: - name: esplora testprefix: esplora features: test-esplora,use-esplora-ureq,verify + - name: compact-filters + testprefix: blockchain::compact_filters::test + features: test-compact-filters steps: - name: Checkout uses: actions/checkout@v2 diff --git a/Cargo.toml b/Cargo.toml index 49d5359e5..81403aa7f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -92,6 +92,7 @@ test-electrum = ["electrum", "electrsd/electrs_0_8_10", "electrsd/bitcoind_22_0" test-rpc = ["rpc", "electrsd/electrs_0_8_10", "electrsd/bitcoind_22_0", "test-blockchains"] test-rpc-legacy = ["rpc", "electrsd/electrs_0_8_10", "electrsd/bitcoind_0_20_0", "test-blockchains"] test-esplora = ["electrsd/legacy", "electrsd/esplora_a33e97e1", "electrsd/bitcoind_22_0", "test-blockchains"] +test-compact-filters = ["compact_filters", "electrsd/electrs_0_8_10", "electrsd/bitcoind_22_0", "test-blockchains"] test-md-docs = ["electrum"] [dev-dependencies] diff --git a/src/blockchain/compact_filters/mod.rs b/src/blockchain/compact_filters/mod.rs index eb1720592..f04c70caa 100644 --- a/src/blockchain/compact_filters/mod.rs +++ b/src/blockchain/compact_filters/mod.rs @@ -580,3 +580,22 @@ impl From for CompactFiltersError { CompactFiltersError::Global(Box::new(err)) } } + +#[cfg(test)] +#[cfg(feature = "test-compact-filters")] +mod test { + + use super::*; + + crate::bdk_blockchain_tests! { + fn test_instance(test_client: &TestClient) -> CompactFiltersBlockchain { + let bitcoind_port = test_client.bitcoind.params.rpc_socket.port(); + let num_threads = 2; + let mempool = Arc::new(Mempool::default()); + let peers = (0..num_threads) + .map(|_| Peer::connect(format!("localhost:{}", bitcoind_port), Arc::clone(&mempool), Network::Regtest)) + .collect::>().unwrap(); + CompactFiltersBlockchain::new(peers, "./wallet-filters", Some(0)).unwrap() + } + } +}