What changed, and why it matters
This commit is a routine code reorganization: it moves a set of existing tests from one crate to another and removes an empty test module. No production code, APIs, or security behavior changed.
No security action needed. This is a non-functional test relocation.
Security signals we found
No strong security signals were identified.
Evidence from the diff
The patch relocates bitcoin/tests/network.rs to network/tests/network.rs, updating the import from bitcoin::network::{Network, NetworkKind, TestnetVersion} to bitcoin_network_kind::{Network, NetworkKind, TestnetVersion}. It also deletes an empty #[cfg(test)] mod tests {} block in bitcoin/src/network/mod.rs. The test logic is identical. There are no functional changes to the library.
Changed components
bitcoin/src/network/mod.rsbitcoin/tests/network.rsnetwork/tests/network.rsInspect captured patch +65 / −68
diff --git a/bitcoin/src/network/mod.rs b/bitcoin/src/network/mod.rs
index a1798454..ea781eae 100644
--- a/bitcoin/src/network/mod.rs
+++ b/bitcoin/src/network/mod.rs
@@ -118,6 +118,3 @@ pub mod error {
}
}
}
-
-#[cfg(test)]
-mod tests {}
diff --git a/bitcoin/tests/network.rs b/bitcoin/tests/network.rs
deleted file mode 100644
index 33ae115e..00000000
--- a/bitcoin/tests/network.rs
+++ /dev/null
@@ -1,65 +0,0 @@
-//! Tests what a user can do when pattern matching on `Network` and associated types.
-
-use bitcoin::network::{Network, NetworkKind, TestnetVersion};
-
-#[test]
-fn can_match_exhaustively_on_network() {
- // Returns true if `n` is mainnet.
- fn is_mainnet(n: Network) -> bool { matches!(n, Network::Bitcoin) }
-
- assert!(is_mainnet(Network::Bitcoin));
-}
-
-#[test]
-fn can_match_exhaustively_on_testnet() {
- // Returns true if `n` is any testnet.
- fn is_testnet(n: Network) -> bool { matches!(n, Network::Testnet(_)) }
-
- assert!(is_testnet(Network::Testnet(TestnetVersion::V3)));
-}
-
-#[test]
-fn can_use_network_kind() {
- // Returns true if `n` is any mainnet.
- fn is_mainnet(n: Network) -> bool { NetworkKind::from(n).is_mainnet() }
-
- // Returns true if `n` is any testnet.
- fn is_testnet(n: Network) -> bool { !NetworkKind::from(n).is_mainnet() }
-
- assert!(is_mainnet(Network::Bitcoin));
- assert!(!is_testnet(Network::Bitcoin));
-
- assert!(is_testnet(Network::Testnet(TestnetVersion::V3)));
- assert!(!is_mainnet(Network::Testnet(TestnetVersion::V3)));
-}
-
-#[test]
-fn can_not_match_exhaustively_on_testnet_version() {
- // Returns true if `n` is testnet version 3.
- fn is_testnet_v3(n: Network) -> bool {
- match n {
- Network::Testnet(TestnetVersion::V3) => true,
- Network::Testnet(TestnetVersion::V4) => false,
- // Catchall because of `non_exhaustive` attribute.
- Network::Testnet(_) => false,
- _ => false,
- }
- }
-
- assert!(is_testnet_v3(Network::Testnet(TestnetVersion::V3)));
-}
-
-#[test]
-fn can_match_on_testnet_version_3_only() {
- // Returns true if `n` is testnet version 3.
- fn is_testnet_v3(n: Network) -> bool {
- match n {
- Network::Testnet(TestnetVersion::V3) => true,
- // Catchall because its logically correct to do so.
- Network::Testnet(_) => false,
- _ => false,
- }
- }
-
- assert!(is_testnet_v3(Network::Testnet(TestnetVersion::V3)));
-}
diff --git a/network/tests/network.rs b/network/tests/network.rs
new file mode 100644
index 00000000..ecb99449
--- /dev/null
+++ b/network/tests/network.rs
@@ -0,0 +1,65 @@
+//! Tests what a user can do when pattern matching on `Network` and associated types.
+
+use bitcoin_network_kind::{Network, NetworkKind, TestnetVersion};
+
+#[test]
+fn can_match_exhaustively_on_network() {
+ // Returns true if `n` is mainnet.
+ fn is_mainnet(n: Network) -> bool { matches!(n, Network::Bitcoin) }
+
+ assert!(is_mainnet(Network::Bitcoin));
+}
+
+#[test]
+fn can_match_exhaustively_on_testnet() {
+ // Returns true if `n` is any testnet.
+ fn is_testnet(n: Network) -> bool { matches!(n, Network::Testnet(_)) }
+
+ assert!(is_testnet(Network::Testnet(TestnetVersion::V3)));
+}
+
+#[test]
+fn can_use_network_kind() {
+ // Returns true if `n` is any mainnet.
+ fn is_mainnet(n: Network) -> bool { NetworkKind::from(n).is_mainnet() }
+
+ // Returns true if `n` is any testnet.
+ fn is_testnet(n: Network) -> bool { !NetworkKind::from(n).is_mainnet() }
+
+ assert!(is_mainnet(Network::Bitcoin));
+ assert!(!is_testnet(Network::Bitcoin));
+
+ assert!(is_testnet(Network::Testnet(TestnetVersion::V3)));
+ assert!(!is_mainnet(Network::Testnet(TestnetVersion::V3)));
+}
+
+#[test]
+fn can_not_match_exhaustively_on_testnet_version() {
+ // Returns true if `n` is testnet version 3.
+ fn is_testnet_v3(n: Network) -> bool {
+ match n {
+ Network::Testnet(TestnetVersion::V3) => true,
+ Network::Testnet(TestnetVersion::V4) => false,
+ // Catchall because of `non_exhaustive` attribute.
+ Network::Testnet(_) => false,
+ _ => false,
+ }
+ }
+
+ assert!(is_testnet_v3(Network::Testnet(TestnetVersion::V3)));
+}
+
+#[test]
+fn can_match_on_testnet_version_3_only() {
+ // Returns true if `n` is testnet version 3.
+ fn is_testnet_v3(n: Network) -> bool {
+ match n {
+ Network::Testnet(TestnetVersion::V3) => true,
+ // Catchall because its logically correct to do so.
+ Network::Testnet(_) => false,
+ _ => false,
+ }
+ }
+
+ assert!(is_testnet_v3(Network::Testnet(TestnetVersion::V3)));
+}
Why this scored 15/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.