Skip to content

Commit 7c9ba3c

Browse files
committed
chore(electrum,testenv): move test_reorg_is_detected_in_electrsd
1 parent 2462e90 commit 7c9ba3c

File tree

2 files changed

+41
-33
lines changed

2 files changed

+41
-33
lines changed

crates/electrum/tests/test_electrum.rs

Lines changed: 0 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -86,39 +86,6 @@ fn scan_detects_confirmed_tx() -> Result<()> {
8686
Ok(())
8787
}
8888

89-
#[test]
90-
fn test_reorg_is_detected_in_electrsd() -> Result<()> {
91-
let env = TestEnv::new()?;
92-
93-
// Mine some blocks.
94-
env.mine_blocks(101, None)?;
95-
env.wait_until_electrum_sees_block()?;
96-
let height = env.bitcoind.client.get_block_count()?;
97-
let blocks = (0..=height)
98-
.map(|i| env.bitcoind.client.get_block_hash(i))
99-
.collect::<Result<Vec<_>, _>>()?;
100-
101-
// Perform reorg on six blocks.
102-
env.reorg(6)?;
103-
env.wait_until_electrum_sees_block()?;
104-
let reorged_height = env.bitcoind.client.get_block_count()?;
105-
let reorged_blocks = (0..=height)
106-
.map(|i| env.bitcoind.client.get_block_hash(i))
107-
.collect::<Result<Vec<_>, _>>()?;
108-
109-
assert_eq!(height, reorged_height);
110-
111-
// Block hashes should not be equal on the six reorged blocks.
112-
for (i, (block, reorged_block)) in blocks.iter().zip(reorged_blocks.iter()).enumerate() {
113-
match i <= height as usize - 6 {
114-
true => assert_eq!(block, reorged_block),
115-
false => assert_ne!(block, reorged_block),
116-
}
117-
}
118-
119-
Ok(())
120-
}
121-
12289
/// Ensure that confirmed txs that are reorged become unconfirmed.
12390
///
12491
/// 1. Mine 101 blocks.

crates/testenv/src/lib.rs

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -235,3 +235,44 @@ impl TestEnv {
235235
Ok(txid)
236236
}
237237
}
238+
239+
#[cfg(test)]
240+
mod test {
241+
use crate::TestEnv;
242+
use anyhow::Result;
243+
use bitcoincore_rpc::RpcApi;
244+
245+
/// This checks that reorgs initiated by `bitcoind` is detected by our `electrsd` instance.
246+
#[test]
247+
fn test_reorg_is_detected_in_electrsd() -> Result<()> {
248+
let env = TestEnv::new()?;
249+
250+
// Mine some blocks.
251+
env.mine_blocks(101, None)?;
252+
env.wait_until_electrum_sees_block()?;
253+
let height = env.bitcoind.client.get_block_count()?;
254+
let blocks = (0..=height)
255+
.map(|i| env.bitcoind.client.get_block_hash(i))
256+
.collect::<Result<Vec<_>, _>>()?;
257+
258+
// Perform reorg on six blocks.
259+
env.reorg(6)?;
260+
env.wait_until_electrum_sees_block()?;
261+
let reorged_height = env.bitcoind.client.get_block_count()?;
262+
let reorged_blocks = (0..=height)
263+
.map(|i| env.bitcoind.client.get_block_hash(i))
264+
.collect::<Result<Vec<_>, _>>()?;
265+
266+
assert_eq!(height, reorged_height);
267+
268+
// Block hashes should not be equal on the six reorged blocks.
269+
for (i, (block, reorged_block)) in blocks.iter().zip(reorged_blocks.iter()).enumerate() {
270+
match i <= height as usize - 6 {
271+
true => assert_eq!(block, reorged_block),
272+
false => assert_ne!(block, reorged_block),
273+
}
274+
}
275+
276+
Ok(())
277+
}
278+
}

0 commit comments

Comments
 (0)