Skip to content

Commit 7b6884f

Browse files
authoredFeb 3, 2025··
refactor!: remove iroh-test crate (#3162)
## Description These testutils we are using, actually can be replaced through either simpler code or other crates. See the individual commits for the alternatives ## Breaking Changes - `iroh-test` crate is gone ## Notes & open questions <!-- Any notes, remarks or open questions you have to make about the PR. --> ## Change checklist - [ ] Self-review. - [ ] Documentation updates following the [style guide](https://rust-lang.github.io/rfcs/1574-more-api-documentation-conventions.html#appendix-a-full-conventions-text), if relevant. - [ ] Tests if relevant. - [ ] All breaking changes documented.
1 parent 243a04a commit 7b6884f

38 files changed

+169
-572
lines changed
 

‎.github/workflows/tests.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ env:
2323
RUSTFLAGS: -Dwarnings
2424
RUSTDOCFLAGS: -Dwarnings
2525
SCCACHE_CACHE_SIZE: "10G"
26-
CRATES_LIST: "iroh,iroh-bench,iroh-test,iroh-dns-server,iroh-relay,iroh-net-report"
26+
CRATES_LIST: "iroh,iroh-bench,iroh-dns-server,iroh-relay,iroh-net-report"
2727
IROH_FORCE_STAGING_RELAYS: "1"
2828

2929
jobs:

‎Cargo.lock

+25-27
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎Cargo.toml

-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ members = [
33
"iroh-base",
44
"iroh-dns-server",
55
"iroh",
6-
"iroh-test",
76
"iroh/bench",
87
"iroh-relay",
98
"iroh-net-report",

‎README.md

-1
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,6 @@ This repository contains a workspace of crates:
132132
- `iroh`: The core library for hole-punching & communicating with relays.
133133
- `iroh-relay`: The relay server implementation. This is the code we run in production (and you can, too!).
134134
- `iroh-base`: Common types like `Hash`, key types or `RelayUrl`.
135-
- `iroh-test`: Test utilities.
136135
- `iroh-dns-server`: DNS server implementation powering the `n0_discovery` for NodeIds, running at dns.iroh.link.
137136
- `iroh-net-report`: Analyzes your host's networking ability & NAT.
138137

‎iroh-base/Cargo.toml

-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ thiserror = { version = "2", optional = true }
2929
getrandom = { version = "0.2", default-features = false, optional = true }
3030

3131
[dev-dependencies]
32-
iroh-test = "0.28.0"
3332
postcard = { version = "1", features = ["use-std"] }
3433
proptest = "1.0.0"
3534
rand = "0.8"

‎iroh-base/src/key.rs

+5-5
Original file line numberDiff line numberDiff line change
@@ -350,7 +350,7 @@ fn decode_base32_hex(s: &str) -> Result<[u8; 32], KeyParsingError> {
350350

351351
#[cfg(test)]
352352
mod tests {
353-
use iroh_test::{assert_eq_hex, hexdump::parse_hexdump};
353+
use data_encoding::HEXLOWER;
354354

355355
use super::*;
356356

@@ -360,10 +360,10 @@ mod tests {
360360
PublicKey::from_str("ae58ff8833241ac82d6ff7611046ed67b5072d142c588d0063e942d9a75502b6")
361361
.unwrap();
362362
let bytes = postcard::to_stdvec(&public_key).unwrap();
363-
let expected =
364-
parse_hexdump("ae58ff8833241ac82d6ff7611046ed67b5072d142c588d0063e942d9a75502b6")
365-
.unwrap();
366-
assert_eq_hex!(bytes, expected);
363+
let expected = HEXLOWER
364+
.decode(b"ae58ff8833241ac82d6ff7611046ed67b5072d142c588d0063e942d9a75502b6")
365+
.unwrap();
366+
assert_eq!(bytes, expected);
367367
}
368368

369369
#[test]

‎iroh-base/src/ticket/node.rs

+20-11
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ impl<'de> Deserialize<'de> for NodeTicket {
135135
mod tests {
136136
use std::net::{Ipv4Addr, SocketAddr};
137137

138-
use iroh_test::{assert_eq_hex, hexdump::parse_hexdump};
138+
use data_encoding::HEXLOWER;
139139

140140
use super::*;
141141
use crate::key::{PublicKey, SecretKey};
@@ -188,15 +188,24 @@ mod tests {
188188
.as_bytes(),
189189
)
190190
.unwrap();
191-
let expected = parse_hexdump("
192-
00 # variant
193-
ae58ff8833241ac82d6ff7611046ed67b5072d142c588d0063e942d9a75502b6 # node id, 32 bytes, see above
194-
01 # relay url present
195-
10 687474703a2f2f646572702e6d652e2f # relay url, 16 bytes, see above
196-
01 # one direct address
197-
00 # ipv4
198-
7f000001 8008 # address, see above
199-
").unwrap();
200-
assert_eq_hex!(base32, expected);
191+
let expected = [
192+
// variant
193+
"00",
194+
// node id, 32 bytes, see above
195+
"ae58ff8833241ac82d6ff7611046ed67b5072d142c588d0063e942d9a75502b6",
196+
// relay url present
197+
"01",
198+
// relay url, 16 bytes, see above
199+
"10",
200+
"687474703a2f2f646572702e6d652e2f",
201+
// one direct address
202+
"01",
203+
// ipv4
204+
"00",
205+
// address, see above
206+
"7f0000018008",
207+
];
208+
let expected = HEXLOWER.decode(expected.concat().as_bytes()).unwrap();
209+
assert_eq!(base32, expected);
201210
}
202211
}

‎iroh-dns-server/Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -61,11 +61,11 @@ z32 = "1.1.1"
6161
criterion = "0.5.1"
6262
hickory-resolver = "=0.25.0-alpha.4"
6363
iroh = { path = "../iroh" }
64-
iroh-test = { path = "../iroh-test" }
6564
pkarr = { version = "2.3.1", features = ["rand"] }
6665
rand = "0.8"
6766
rand_chacha = "0.3.1"
6867
testresult = "0.4.1"
68+
tracing-test = "0.2.5"
6969

7070
[[bench]]
7171
name = "write"

‎iroh-dns-server/src/lib.rs

+5-5
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ mod tests {
3434
};
3535
use pkarr::{PkarrClient, SignedPacket};
3636
use testresult::TestResult;
37+
use tracing_test::traced_test;
3738
use url::Url;
3839

3940
use crate::{
@@ -45,8 +46,8 @@ mod tests {
4546
};
4647

4748
#[tokio::test]
49+
#[traced_test]
4850
async fn pkarr_publish_dns_resolve() -> Result<()> {
49-
iroh_test::logging::setup_multithreaded();
5051
let (server, nameserver, http_url) = Server::spawn_for_tests().await?;
5152
let pkarr_relay_url = {
5253
let mut url = http_url.clone();
@@ -158,8 +159,8 @@ mod tests {
158159
}
159160

160161
#[tokio::test]
162+
#[traced_test]
161163
async fn integration_smoke() -> Result<()> {
162-
iroh_test::logging::setup_multithreaded();
163164
let (server, nameserver, http_url) = Server::spawn_for_tests().await?;
164165

165166
let pkarr_relay = {
@@ -190,8 +191,8 @@ mod tests {
190191
}
191192

192193
#[tokio::test]
194+
#[traced_test]
193195
async fn store_eviction() -> TestResult<()> {
194-
iroh_test::logging::setup_multithreaded();
195196
let options = ZoneStoreOptions {
196197
eviction: Duration::from_millis(100),
197198
eviction_interval: Duration::from_millis(100),
@@ -220,9 +221,8 @@ mod tests {
220221
}
221222

222223
#[tokio::test]
224+
#[traced_test]
223225
async fn integration_mainline() -> Result<()> {
224-
iroh_test::logging::setup_multithreaded();
225-
226226
// run a mainline testnet
227227
let testnet = pkarr::mainline::dht::Testnet::new(5);
228228
let bootstrap = testnet.bootstrap.clone();

‎iroh-net-report/Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -39,10 +39,10 @@ url = { version = "2.4" }
3939

4040
[dev-dependencies]
4141
iroh-relay = { path = "../iroh-relay", features = ["test-utils", "server"] }
42-
iroh-test = { path = "../iroh-test" }
4342
pretty_assertions = "1.4"
4443
testresult = "0.4.0"
4544
tokio = { version = "1", default-features = false, features = ["test-util"] }
45+
tracing-test = "0.2.5"
4646

4747
[features]
4848
default = ["metrics"]

‎iroh-net-report/src/dns.rs

+3-1
Original file line numberDiff line numberDiff line change
@@ -187,6 +187,8 @@ pub(crate) mod tests {
187187
sync::{atomic::AtomicUsize, OnceLock},
188188
};
189189

190+
use tracing_test::traced_test;
191+
190192
use super::*;
191193

192194
static DNS_RESOLVER: OnceLock<TokioResolver> = OnceLock::new();
@@ -243,8 +245,8 @@ pub(crate) mod tests {
243245
}
244246

245247
#[tokio::test]
248+
#[traced_test]
246249
async fn stagger_basic() {
247-
let _logging = iroh_test::logging::setup();
248250
const CALL_RESULTS: &[Result<u8, u8>] = &[Err(2), Ok(3), Ok(5), Ok(7)];
249251
static DONE_CALL: AtomicUsize = AtomicUsize::new(0);
250252
let f = || {

‎iroh-net-report/src/lib.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -1006,6 +1006,7 @@ mod tests {
10061006
use netwatch::IpFamily;
10071007
use tokio_util::sync::CancellationToken;
10081008
use tracing::info;
1009+
use tracing_test::traced_test;
10091010

10101011
use super::*;
10111012
use crate::{ping::Pinger, stun_utils::bind_local_stun_socket};
@@ -1143,8 +1144,8 @@ mod tests {
11431144
}
11441145

11451146
#[tokio::test]
1147+
#[traced_test]
11461148
async fn test_basic() -> Result<()> {
1147-
let _guard = iroh_test::logging::setup();
11481149
let (stun_addr, stun_stats, _cleanup_guard) =
11491150
stun_utils::serve("127.0.0.1".parse().unwrap()).await?;
11501151

@@ -1186,9 +1187,8 @@ mod tests {
11861187
}
11871188

11881189
#[tokio::test]
1190+
#[traced_test]
11891191
async fn test_udp_blocked() -> Result<()> {
1190-
let _guard = iroh_test::logging::setup();
1191-
11921192
// Create a "STUN server", which will never respond to anything. This is how UDP to
11931193
// the STUN server being blocked will look like from the client's perspective.
11941194
let blackhole = tokio::net::UdpSocket::bind("127.0.0.1:0").await?;

‎iroh-net-report/src/ping.rs

+3-4
Original file line numberDiff line numberDiff line change
@@ -124,14 +124,14 @@ mod tests {
124124
use std::net::{Ipv4Addr, Ipv6Addr};
125125

126126
use tracing::error;
127+
use tracing_test::traced_test;
127128

128129
use super::*;
129130

130131
#[tokio::test]
131132
#[ignore] // Doesn't work in CI
133+
#[traced_test]
132134
async fn test_ping_google() -> Result<()> {
133-
let _guard = iroh_test::logging::setup();
134-
135135
// Public DNS addrs from google based on
136136
// https://developers.google.com/speed/public-dns/docs/using
137137

@@ -159,9 +159,8 @@ mod tests {
159159

160160
// See net_report::reportgen::tests::test_icmp_probe_eu_relay for permissions to ping.
161161
#[tokio::test]
162+
#[traced_test]
162163
async fn test_ping_localhost() {
163-
let _guard = iroh_test::logging::setup();
164-
165164
let pinger = Pinger::new();
166165

167166
match pinger.send(Ipv4Addr::LOCALHOST.into(), b"data").await {

‎iroh-net-report/src/reportgen.rs

+5-5
Original file line numberDiff line numberDiff line change
@@ -1356,12 +1356,13 @@ mod tests {
13561356
use std::net::{Ipv4Addr, Ipv6Addr};
13571357

13581358
use testresult::TestResult;
1359+
use tracing_test::traced_test;
13591360

13601361
use super::{super::test_utils, *};
13611362

13621363
#[tokio::test]
1364+
#[traced_test]
13631365
async fn test_update_report_stun_working() {
1364-
let _logging = iroh_test::logging::setup();
13651366
let (_server_a, relay_a) = test_utils::relay().await;
13661367
let (_server_b, relay_b) = test_utils::relay().await;
13671368

@@ -1446,8 +1447,8 @@ mod tests {
14461447
}
14471448

14481449
#[tokio::test]
1450+
#[traced_test]
14491451
async fn test_update_report_icmp() {
1450-
let _logging = iroh_test::logging::setup();
14511452
let (_server_a, relay_a) = test_utils::relay().await;
14521453
let (_server_b, relay_b) = test_utils::relay().await;
14531454

@@ -1556,8 +1557,8 @@ mod tests {
15561557
//
15571558
// TODO: Not sure what about IPv6 pings using sysctl.
15581559
#[tokio::test]
1560+
#[traced_test]
15591561
async fn test_icmpk_probe() {
1560-
let _logging_guard = iroh_test::logging::setup();
15611562
let pinger = Pinger::new();
15621563
let (server, node) = test_utils::relay().await;
15631564
let addr = server.stun_addr().expect("test relay serves stun");
@@ -1607,7 +1608,6 @@ mod tests {
16071608

16081609
#[tokio::test]
16091610
async fn test_measure_https_latency() -> TestResult {
1610-
let _logging_guard = iroh_test::logging::setup();
16111611
let (server, relay) = test_utils::relay().await;
16121612
let dns_resolver = crate::dns::tests::resolver();
16131613
tracing::info!(relay_url = ?relay.url , "RELAY_URL");
@@ -1626,8 +1626,8 @@ mod tests {
16261626
}
16271627

16281628
#[tokio::test]
1629+
#[traced_test]
16291630
async fn test_quic_probe() -> TestResult {
1630-
let _logging_guard = iroh_test::logging::setup();
16311631
let (server, relay) = test_utils::relay().await;
16321632
let client_config = iroh_relay::client::make_dangerous_client_config();
16331633
let ep = quinn::Endpoint::client(SocketAddr::new(Ipv4Addr::LOCALHOST.into(), 0))?;

‎iroh-net-report/src/reportgen/hairpin.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -181,10 +181,12 @@ mod tests {
181181
use bytes::BytesMut;
182182
use tokio::sync::mpsc;
183183
use tracing::info;
184+
use tracing_test::traced_test;
184185

185186
use super::*;
186187

187188
#[tokio::test]
189+
#[traced_test]
188190
async fn test_hairpin_success() {
189191
for i in 0..100 {
190192
let now = Instant::now();
@@ -194,13 +196,12 @@ mod tests {
194196
}
195197

196198
#[tokio::test]
199+
#[traced_test]
197200
async fn test_hairpin_failure() {
198201
test_hairpin(false).await;
199202
}
200203

201204
async fn test_hairpin(hairpinning_works: bool) {
202-
let _guard = iroh_test::logging::setup();
203-
204205
// Setup fake net_report and reportstate actors, hairpinning interacts with them.
205206
let (net_report_tx, mut net_report_rx) = mpsc::channel(32);
206207
let net_report_addr = net_report::Addr {
@@ -275,9 +276,8 @@ mod tests {
275276
}
276277

277278
#[tokio::test]
279+
#[traced_test]
278280
async fn test_client_drop() {
279-
let _guard = iroh_test::logging::setup();
280-
281281
// Setup fake net_report and reportstate actors, hairpinning interacts with them.
282282
let (net_report_tx, _net_report_rx) = mpsc::channel(32);
283283
let net_report_addr = net_report::Addr {

‎iroh-net-report/src/reportgen/probes.rs

+5-4
Original file line numberDiff line numberDiff line change
@@ -566,6 +566,7 @@ fn sort_relays<'a>(
566566
#[cfg(test)]
567567
mod tests {
568568
use pretty_assertions::assert_eq;
569+
use tracing_test::traced_test;
569570

570571
use super::*;
571572
use crate::{test_utils, RelayLatencies};
@@ -796,8 +797,8 @@ mod tests {
796797
}
797798

798799
#[tokio::test]
800+
#[traced_test]
799801
async fn test_plan_with_report() {
800-
let _logging = iroh_test::logging::setup();
801802
let (_servers, relay_map) = test_utils::relay_map(2).await;
802803
let relay_node_1 = relay_map.nodes().next().unwrap().clone();
803804
let relay_node_2 = relay_map.nodes().nth(1).unwrap().clone();
@@ -988,8 +989,8 @@ mod tests {
988989
}
989990

990991
#[tokio::test]
992+
#[traced_test]
991993
async fn test_relay_sort_two_latencies() {
992-
let _logging = iroh_test::logging::setup();
993994
let (_servers, relay_map) = test_utils::relay_map(2).await;
994995
let r1 = relay_map.nodes().next().unwrap();
995996
let r2 = relay_map.nodes().nth(1).unwrap();
@@ -1007,8 +1008,8 @@ mod tests {
10071008
}
10081009

10091010
#[tokio::test]
1011+
#[traced_test]
10101012
async fn test_relay_sort_equal_latencies() {
1011-
let _logging = iroh_test::logging::setup();
10121013
let (_servers, relay_map) = test_utils::relay_map(2).await;
10131014
let r1 = relay_map.nodes().next().unwrap();
10141015
let r2 = relay_map.nodes().nth(1).unwrap();
@@ -1049,8 +1050,8 @@ mod tests {
10491050
}
10501051

10511052
#[tokio::test]
1053+
#[traced_test]
10521054
async fn test_relay_sort_no_latency() {
1053-
let _logging = iroh_test::logging::setup();
10541055
let (_servers, relay_map) = test_utils::relay_map(2).await;
10551056
let r1 = relay_map.nodes().next().unwrap();
10561057
let r2 = relay_map.nodes().nth(1).unwrap();

‎iroh-relay/Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -116,8 +116,8 @@ tokio = { version = "1", features = [
116116
"test-util",
117117
] }
118118
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
119-
iroh-test = { path = "../iroh-test" }
120119
serde_json = "1"
120+
tracing-test = "0.2.5"
121121

122122
[build-dependencies]
123123
cfg_aliases = { version = "0.2" }

‎iroh-relay/src/client/connect_relay.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -369,13 +369,13 @@ mod tests {
369369
use std::str::FromStr;
370370

371371
use anyhow::Result;
372+
use tracing_test::traced_test;
372373

373374
use super::*;
374375

375376
#[test]
377+
#[traced_test]
376378
fn test_host_header_value() -> Result<()> {
377-
let _guard = iroh_test::logging::setup();
378-
379379
let cases = [
380380
(
381381
"https://euw1-1.relay.iroh.network.",

‎iroh-relay/src/protos/relay.rs

+12-4
Original file line numberDiff line numberDiff line change
@@ -604,6 +604,7 @@ pub(crate) async fn recv_frame<S: Stream<Item = anyhow::Result<Frame>> + Unpin>(
604604

605605
#[cfg(test)]
606606
mod tests {
607+
use data_encoding::HEXLOWER;
607608
use tokio_util::codec::{FramedRead, FramedWrite};
608609

609610
use super::*;
@@ -726,10 +727,17 @@ mod tests {
726727

727728
for (frame, expected_hex) in frames {
728729
let bytes = frame.encode_for_ws_msg();
729-
// To regenerate the hexdumps:
730-
// let hexdump = iroh_test::hexdump::print_hexdump(bytes, []);
731-
// println!("{hexdump}");
732-
let expected_bytes = iroh_test::hexdump::parse_hexdump(expected_hex)?;
730+
let stripped: Vec<u8> = expected_hex
731+
.chars()
732+
.filter_map(|s| {
733+
if s.is_ascii_whitespace() {
734+
None
735+
} else {
736+
Some(s as u8)
737+
}
738+
})
739+
.collect();
740+
let expected_bytes = HEXLOWER.decode(&stripped).unwrap();
733741
assert_eq!(bytes, expected_bytes);
734742
}
735743

‎iroh-relay/src/quic.rs

+3-2
Original file line numberDiff line numberDiff line change
@@ -272,16 +272,17 @@ impl QuicClient {
272272
mod tests {
273273
use std::net::Ipv4Addr;
274274

275+
use tracing_test::traced_test;
276+
275277
use super::{
276278
server::{QuicConfig, QuicServer},
277279
*,
278280
};
279281

280282
#[tokio::test]
283+
#[traced_test]
281284
async fn quic_endpoint_basic() -> anyhow::Result<()> {
282285
let host: Ipv4Addr = "127.0.0.1".parse()?;
283-
let _guard = iroh_test::logging::setup();
284-
285286
// create a server config with self signed certificates
286287
let (_, server_config) = super::super::server::testing::self_signed_tls_certs_and_config();
287288
let bind_addr = SocketAddr::new(host.into(), 0);

‎iroh-relay/src/server.rs

+11-11
Original file line numberDiff line numberDiff line change
@@ -812,6 +812,7 @@ mod tests {
812812
use iroh_base::{NodeId, SecretKey};
813813
use n0_future::{FutureExt, SinkExt};
814814
use testresult::TestResult;
815+
use tracing_test::traced_test;
815816

816817
use super::*;
817818
use crate::{
@@ -856,8 +857,8 @@ mod tests {
856857
}
857858

858859
#[tokio::test]
860+
#[traced_test]
859861
async fn test_no_services() {
860-
let _guard = iroh_test::logging::setup();
861862
let mut server = Server::spawn(ServerConfig::<(), ()>::default())
862863
.await
863864
.unwrap();
@@ -869,8 +870,8 @@ mod tests {
869870
}
870871

871872
#[tokio::test]
873+
#[traced_test]
872874
async fn test_conflicting_bind() {
873-
let _guard = iroh_test::logging::setup();
874875
let mut server = Server::spawn(ServerConfig::<(), ()> {
875876
relay: Some(RelayConfig {
876877
http_bind_addr: (Ipv4Addr::LOCALHOST, 1234).into(),
@@ -893,8 +894,8 @@ mod tests {
893894
}
894895

895896
#[tokio::test]
897+
#[traced_test]
896898
async fn test_root_handler() {
897-
let _guard = iroh_test::logging::setup();
898899
let server = spawn_local_relay().await.unwrap();
899900
let url = format!("http://{}", server.http_addr().unwrap());
900901

@@ -905,8 +906,8 @@ mod tests {
905906
}
906907

907908
#[tokio::test]
909+
#[traced_test]
908910
async fn test_captive_portal_service() {
909-
let _guard = iroh_test::logging::setup();
910911
let server = spawn_local_relay().await.unwrap();
911912
let url = format!("http://{}/generate_204", server.http_addr().unwrap());
912913
let challenge = "123az__.";
@@ -926,8 +927,8 @@ mod tests {
926927
}
927928

928929
#[tokio::test]
930+
#[traced_test]
929931
async fn test_relay_client_legacy_route() {
930-
let _guard = iroh_test::logging::setup();
931932
let server = spawn_local_relay().await.unwrap();
932933
// We're testing the legacy endpoint at `/derp`
933934
let endpoint_url = format!("http://{}/derp", server.http_addr().unwrap());
@@ -944,8 +945,8 @@ mod tests {
944945
}
945946

946947
#[tokio::test]
948+
#[traced_test]
947949
async fn test_relay_clients_both_relay() -> TestResult<()> {
948-
let _guard = iroh_test::logging::setup();
949950
let server = spawn_local_relay().await.unwrap();
950951
let relay_url = format!("http://{}", server.http_addr().unwrap());
951952
let relay_url: RelayUrl = relay_url.parse().unwrap();
@@ -996,8 +997,8 @@ mod tests {
996997
}
997998

998999
#[tokio::test]
1000+
#[traced_test]
9991001
async fn test_relay_clients_both_websockets() -> TestResult<()> {
1000-
let _guard = iroh_test::logging::setup();
10011002
let server = spawn_local_relay().await?;
10021003

10031004
let relay_url = format!("http://{}", server.http_addr().unwrap());
@@ -1058,8 +1059,8 @@ mod tests {
10581059
}
10591060

10601061
#[tokio::test]
1062+
#[traced_test]
10611063
async fn test_relay_clients_websocket_and_relay() -> TestResult<()> {
1062-
let _guard = iroh_test::logging::setup();
10631064
let server = spawn_local_relay().await.unwrap();
10641065

10651066
let relay_url = format!("http://{}", server.http_addr().unwrap());
@@ -1114,8 +1115,8 @@ mod tests {
11141115
}
11151116

11161117
#[tokio::test]
1118+
#[traced_test]
11171119
async fn test_stun() {
1118-
let _guard = iroh_test::logging::setup();
11191120
let server = Server::spawn(ServerConfig::<(), ()> {
11201121
relay: None,
11211122
stun: Some(StunConfig {
@@ -1146,9 +1147,8 @@ mod tests {
11461147
}
11471148

11481149
#[tokio::test]
1150+
#[traced_test]
11491151
async fn test_relay_access_control() -> Result<()> {
1150-
let _guard = iroh_test::logging::setup();
1151-
11521152
let a_secret_key = SecretKey::generate(rand::thread_rng());
11531153
let a_key = a_secret_key.public();
11541154

‎iroh-relay/src/server/client.rs

+3-4
Original file line numberDiff line numberDiff line change
@@ -559,6 +559,7 @@ mod tests {
559559
use testresult::TestResult;
560560
use tokio_util::codec::Framed;
561561
use tracing::info;
562+
use tracing_test::traced_test;
562563

563564
use super::*;
564565
use crate::{
@@ -567,9 +568,8 @@ mod tests {
567568
};
568569

569570
#[tokio::test]
571+
#[traced_test]
570572
async fn test_client_actor_basic() -> Result<()> {
571-
let _logging = iroh_test::logging::setup();
572-
573573
let (send_queue_s, send_queue_r) = mpsc::channel(10);
574574
let (disco_send_queue_s, disco_send_queue_r) = mpsc::channel(10);
575575
let (peer_gone_s, peer_gone_r) = mpsc::channel(10);
@@ -678,9 +678,8 @@ mod tests {
678678
}
679679

680680
#[tokio::test]
681+
#[traced_test]
681682
async fn test_rate_limit() -> TestResult {
682-
let _logging = iroh_test::logging::setup();
683-
684683
const LIMIT: u32 = 50;
685684
const MAX_FRAMES: u32 = 100;
686685

‎iroh-relay/src/server/http_server.rs

+4-13
Original file line numberDiff line numberDiff line change
@@ -706,7 +706,7 @@ mod tests {
706706
use n0_future::{SinkExt, StreamExt};
707707
use reqwest::Url;
708708
use tracing::info;
709-
use tracing_subscriber::{prelude::*, EnvFilter};
709+
use tracing_test::traced_test;
710710

711711
use super::*;
712712
use crate::client::{
@@ -740,9 +740,8 @@ mod tests {
740740
}
741741

742742
#[tokio::test]
743+
#[traced_test]
743744
async fn test_http_clients_and_server() -> Result<()> {
744-
let _guard = iroh_test::logging::setup();
745-
746745
let a_key = SecretKey::generate(rand::thread_rng());
747746
let b_key = SecretKey::generate(rand::thread_rng());
748747

@@ -846,9 +845,8 @@ mod tests {
846845
}
847846

848847
#[tokio::test]
848+
#[traced_test]
849849
async fn test_https_clients_and_server() -> Result<()> {
850-
let _logging = iroh_test::logging::setup();
851-
852850
let a_key = SecretKey::generate(rand::thread_rng());
853851
let b_key = SecretKey::generate(rand::thread_rng());
854852

@@ -929,9 +927,8 @@ mod tests {
929927
}
930928

931929
#[tokio::test]
930+
#[traced_test]
932931
async fn test_server_basic() -> Result<()> {
933-
let _guard = iroh_test::logging::setup();
934-
935932
info!("Create the server.");
936933
let service = RelayService::new(
937934
Default::default(),
@@ -1019,12 +1016,6 @@ mod tests {
10191016

10201017
#[tokio::test]
10211018
async fn test_server_replace_client() -> Result<()> {
1022-
tracing_subscriber::registry()
1023-
.with(tracing_subscriber::fmt::layer().with_writer(std::io::stderr))
1024-
.with(EnvFilter::from_default_env())
1025-
.try_init()
1026-
.ok();
1027-
10281019
info!("Create the server.");
10291020
let service = RelayService::new(
10301021
Default::default(),

‎iroh-test/Cargo.toml

-25
This file was deleted.

‎iroh-test/README.md

-21
This file was deleted.

‎iroh-test/src/hexdump.rs

-180
This file was deleted.

‎iroh-test/src/lib.rs

-22
This file was deleted.

‎iroh-test/src/logging.rs

-133
This file was deleted.

‎iroh/Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -125,10 +125,10 @@ tokio = { version = "1", features = [
125125
"test-util",
126126
] }
127127
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
128-
iroh-test = { path = "../iroh-test" }
129128
serde_json = "1"
130129
testresult = "0.4.0"
131130
iroh-relay = { path = "../iroh-relay", default-features = false, features = ["test-utils", "server"] }
131+
tracing-test = "0.2.5"
132132

133133
[features]
134134
default = ["metrics"]

‎iroh/src/discovery.rs

+10-11
Original file line numberDiff line numberDiff line change
@@ -446,6 +446,7 @@ mod tests {
446446
use rand::Rng;
447447
use testresult::TestResult;
448448
use tokio_util::task::AbortOnDropHandle;
449+
use tracing_test::traced_test;
449450

450451
use super::*;
451452
use crate::RelayMode;
@@ -563,8 +564,8 @@ mod tests {
563564

564565
/// This is a smoke test for our discovery mechanism.
565566
#[tokio::test]
567+
#[traced_test]
566568
async fn endpoint_discovery_simple_shared() -> anyhow::Result<()> {
567-
let _guard = iroh_test::logging::setup();
568569
let disco_shared = TestDiscoveryShared::default();
569570
let (ep1, _guard1) = {
570571
let secret = SecretKey::generate(rand::thread_rng());
@@ -585,8 +586,8 @@ mod tests {
585586

586587
/// This test adds an empty discovery which provides no addresses.
587588
#[tokio::test]
589+
#[traced_test]
588590
async fn endpoint_discovery_combined_with_empty() -> anyhow::Result<()> {
589-
let _guard = iroh_test::logging::setup();
590591
let disco_shared = TestDiscoveryShared::default();
591592
let (ep1, _guard1) = {
592593
let secret = SecretKey::generate(rand::thread_rng());
@@ -616,8 +617,8 @@ mod tests {
616617
/// This is to make sure that as long as one of the discoveries returns a working address, we
617618
/// will connect successfully.
618619
#[tokio::test]
620+
#[traced_test]
619621
async fn endpoint_discovery_combined_with_empty_and_wrong() -> anyhow::Result<()> {
620-
let _guard = iroh_test::logging::setup();
621622
let disco_shared = TestDiscoveryShared::default();
622623
let (ep1, _guard1) = {
623624
let secret = SecretKey::generate(rand::thread_rng());
@@ -644,8 +645,8 @@ mod tests {
644645

645646
/// This test only has the "lying" discovery. It is here to make sure that this actually fails.
646647
#[tokio::test]
648+
#[traced_test]
647649
async fn endpoint_discovery_combined_wrong_only() -> anyhow::Result<()> {
648-
let _guard = iroh_test::logging::setup();
649650
let disco_shared = TestDiscoveryShared::default();
650651
let (ep1, _guard1) = {
651652
let secret = SecretKey::generate(rand::thread_rng());
@@ -669,8 +670,8 @@ mod tests {
669670
/// This test first adds a wrong address manually (e.g. from an outdated&node_id ticket).
670671
/// Connect should still succeed because the discovery service will be invoked (after a delay).
671672
#[tokio::test]
673+
#[traced_test]
672674
async fn endpoint_discovery_with_wrong_existing_addr() -> anyhow::Result<()> {
673-
let _guard = iroh_test::logging::setup();
674675
let disco_shared = TestDiscoveryShared::default();
675676
let (ep1, _guard1) = {
676677
let secret = SecretKey::generate(rand::thread_rng());
@@ -759,6 +760,7 @@ mod test_dns_pkarr {
759760
use iroh_relay::RelayMap;
760761
use n0_future::time::Duration;
761762
use tokio_util::task::AbortOnDropHandle;
763+
use tracing_test::traced_test;
762764

763765
use crate::{
764766
discovery::pkarr::PkarrPublisher,
@@ -774,9 +776,8 @@ mod test_dns_pkarr {
774776
const PUBLISH_TIMEOUT: Duration = Duration::from_secs(10);
775777

776778
#[tokio::test]
779+
#[traced_test]
777780
async fn dns_resolve() -> Result<()> {
778-
let _logging_guard = iroh_test::logging::setup();
779-
780781
let origin = "testdns.example".to_string();
781782
let state = State::new(origin.clone());
782783
let (nameserver, _dns_drop_guard) = run_dns_server(state.clone()).await?;
@@ -799,9 +800,8 @@ mod test_dns_pkarr {
799800
}
800801

801802
#[tokio::test]
803+
#[traced_test]
802804
async fn pkarr_publish_dns_resolve() -> Result<()> {
803-
let _logging_guard = iroh_test::logging::setup();
804-
805805
let origin = "testdns.example".to_string();
806806

807807
let dns_pkarr_server = DnsPkarrServer::run_with_origin(origin.clone()).await?;
@@ -832,9 +832,8 @@ mod test_dns_pkarr {
832832
const TEST_ALPN: &[u8] = b"TEST";
833833

834834
#[tokio::test]
835+
#[traced_test]
835836
async fn pkarr_publish_dns_discover() -> Result<()> {
836-
let _logging_guard = iroh_test::logging::setup();
837-
838837
let dns_pkarr_server = DnsPkarrServer::run().await?;
839838
let (relay_map, _relay_url, _relay_guard) = run_relay_server().await?;
840839

‎iroh/src/discovery/local_swarm_discovery.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -404,12 +404,13 @@ mod tests {
404404
use iroh_base::SecretKey;
405405
use n0_future::StreamExt;
406406
use testresult::TestResult;
407+
use tracing_test::traced_test;
407408

408409
use super::super::*;
409410

410411
#[tokio::test]
412+
#[traced_test]
411413
async fn local_swarm_discovery_publish_resolve() -> TestResult {
412-
let _guard = iroh_test::logging::setup();
413414
let (_, discovery_a) = make_discoverer()?;
414415
let (node_id_b, discovery_b) = make_discoverer()?;
415416

@@ -441,9 +442,8 @@ mod tests {
441442
}
442443

443444
#[tokio::test]
445+
#[traced_test]
444446
async fn local_swarm_discovery_subscribe() -> TestResult {
445-
let _guard = iroh_test::logging::setup();
446-
447447
let num_nodes = 5;
448448
let mut node_ids = BTreeSet::new();
449449
let mut discoverers = vec![];

‎iroh/src/discovery/pkarr/dht.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -410,13 +410,14 @@ mod tests {
410410
use iroh_base::RelayUrl;
411411
use pkarr::mainline::dht::DhtSettings;
412412
use testresult::TestResult;
413+
use tracing_test::traced_test;
413414

414415
use super::*;
415416

416417
#[tokio::test]
417418
#[ignore = "flaky"]
419+
#[traced_test]
418420
async fn dht_discovery_smoke() -> TestResult {
419-
let _logging_guard = iroh_test::logging::setup();
420421
let ep = crate::Endpoint::builder().bind().await?;
421422
let secret = ep.secret_key().clone();
422423
let testnet = pkarr::mainline::dht::Testnet::new(2);

‎iroh/src/dns.rs

+4-2
Original file line numberDiff line numberDiff line change
@@ -383,14 +383,16 @@ async fn stagger_call<T, F: Fn() -> Fut, Fut: Future<Output = Result<T>>>(
383383
pub(crate) mod tests {
384384
use std::sync::atomic::AtomicUsize;
385385

386+
use tracing_test::traced_test;
387+
386388
use super::*;
387389
use crate::defaults::staging::NA_RELAY_HOSTNAME;
388390
const TIMEOUT: Duration = Duration::from_secs(5);
389391
const STAGGERING_DELAYS: &[u64] = &[200, 300];
390392

391393
#[tokio::test]
394+
#[traced_test]
392395
async fn test_dns_lookup_ipv4_ipv6() {
393-
let _logging = iroh_test::logging::setup();
394396
let resolver = default_resolver();
395397
let res: Vec<_> = resolver
396398
.lookup_ipv4_ipv6_staggered(NA_RELAY_HOSTNAME, TIMEOUT, STAGGERING_DELAYS)
@@ -402,8 +404,8 @@ pub(crate) mod tests {
402404
}
403405

404406
#[tokio::test]
407+
#[traced_test]
405408
async fn stagger_basic() {
406-
let _logging = iroh_test::logging::setup();
407409
const CALL_RESULTS: &[Result<u8, u8>] = &[Err(2), Ok(3), Ok(5), Ok(7)];
408410
static DONE_CALL: AtomicUsize = AtomicUsize::new(0);
409411
let f = || {

‎iroh/src/endpoint.rs

+8-23
Original file line numberDiff line numberDiff line change
@@ -1724,19 +1724,19 @@ mod tests {
17241724

17251725
use std::time::Instant;
17261726

1727-
use iroh_test::CallOnDrop;
17281727
use n0_future::StreamExt;
17291728
use rand::SeedableRng;
17301729
use tracing::{error_span, info, info_span, Instrument};
1730+
use tracing_test::traced_test;
17311731

17321732
use super::*;
17331733
use crate::test_utils::{run_relay_server, run_relay_server_with};
17341734

17351735
const TEST_ALPN: &[u8] = b"n0/iroh/test";
17361736

17371737
#[tokio::test]
1738+
#[traced_test]
17381739
async fn test_connect_self() {
1739-
let _guard = iroh_test::logging::setup();
17401740
let ep = Endpoint::builder()
17411741
.alpns(vec![TEST_ALPN.to_vec()])
17421742
.bind()
@@ -1755,8 +1755,8 @@ mod tests {
17551755
}
17561756

17571757
#[tokio::test]
1758+
#[traced_test]
17581759
async fn endpoint_connect_close() {
1759-
let _guard = iroh_test::logging::setup();
17601760
let (relay_map, relay_url, _guard) = run_relay_server().await.unwrap();
17611761
let server_secret_key = SecretKey::generate(rand::thread_rng());
17621762
let server_peer_id = server_secret_key.public();
@@ -1849,9 +1849,8 @@ mod tests {
18491849

18501850
/// Test that peers are properly restored
18511851
#[tokio::test]
1852+
#[traced_test]
18521853
async fn restore_peers() {
1853-
let _guard = iroh_test::logging::setup();
1854-
18551854
let secret_key = SecretKey::generate(rand::thread_rng());
18561855

18571856
/// Create an endpoint for the test.
@@ -1903,8 +1902,8 @@ mod tests {
19031902
}
19041903

19051904
#[tokio::test]
1905+
#[traced_test]
19061906
async fn endpoint_relay_connect_loop() {
1907-
let _logging_guard = iroh_test::logging::setup();
19081907
let start = Instant::now();
19091908
let n_clients = 5;
19101909
let n_chunks_per_client = 2;
@@ -1952,10 +1951,6 @@ mod tests {
19521951
.instrument(error_span!("server")),
19531952
)
19541953
};
1955-
let abort_handle = server.abort_handle();
1956-
let _server_guard = CallOnDrop::new(move || {
1957-
abort_handle.abort();
1958-
});
19591954

19601955
for i in 0..n_clients {
19611956
let round_start = Instant::now();
@@ -2010,8 +2005,8 @@ mod tests {
20102005
}
20112006

20122007
#[tokio::test]
2008+
#[traced_test]
20132009
async fn endpoint_bidi_send_recv() {
2014-
let _logging_guard = iroh_test::logging::setup();
20152010
let ep1 = Endpoint::builder()
20162011
.alpns(vec![TEST_ALPN.to_vec()])
20172012
.relay_mode(RelayMode::Disabled)
@@ -2100,9 +2095,9 @@ mod tests {
21002095
}
21012096

21022097
#[tokio::test]
2098+
#[traced_test]
21032099
async fn endpoint_conn_type_stream() {
21042100
const TIMEOUT: Duration = std::time::Duration::from_secs(15);
2105-
let _logging_guard = iroh_test::logging::setup();
21062101
let (relay_map, _relay_url, _relay_guard) = run_relay_server().await.unwrap();
21072102
let mut rng = rand_chacha::ChaCha8Rng::seed_from_u64(42);
21082103
let ep1_secret_key = SecretKey::generate(&mut rng);
@@ -2166,26 +2161,16 @@ mod tests {
21662161
};
21672162

21682163
let res_ep1 = tokio::spawn(tokio::time::timeout(TIMEOUT, ep1_side));
2169-
2170-
let ep1_abort_handle = res_ep1.abort_handle();
2171-
let _ep1_guard = CallOnDrop::new(move || {
2172-
ep1_abort_handle.abort();
2173-
});
2174-
21752164
let res_ep2 = tokio::spawn(tokio::time::timeout(TIMEOUT, ep2_side));
2176-
let ep2_abort_handle = res_ep2.abort_handle();
2177-
let _ep2_guard = CallOnDrop::new(move || {
2178-
ep2_abort_handle.abort();
2179-
});
21802165

21812166
let (r1, r2) = tokio::try_join!(res_ep1, res_ep2).unwrap();
21822167
r1.expect("ep1 timeout").unwrap();
21832168
r2.expect("ep2 timeout").unwrap();
21842169
}
21852170

21862171
#[tokio::test]
2172+
#[traced_test]
21872173
async fn test_direct_addresses_no_stun_relay() {
2188-
let _guard = iroh_test::logging::setup();
21892174
let (relay_map, _, _guard) = run_relay_server_with(None, false).await.unwrap();
21902175

21912176
let ep = Endpoint::builder()

‎iroh/src/magicsock.rs

+15-30
Original file line numberDiff line numberDiff line change
@@ -3138,9 +3138,9 @@ impl NetInfo {
31383138
#[cfg(test)]
31393139
mod tests {
31403140
use anyhow::Context;
3141-
use iroh_test::CallOnDrop;
31423141
use rand::RngCore;
31433142
use tokio_util::task::AbortOnDropHandle;
3143+
use tracing_test::traced_test;
31443144

31453145
use super::*;
31463146
use crate::{
@@ -3214,7 +3214,7 @@ mod tests {
32143214
///
32153215
/// When the returned drop guard is dropped, the tasks doing this updating are stopped.
32163216
#[instrument(skip_all)]
3217-
async fn mesh_stacks(stacks: Vec<MagicStack>) -> Result<CallOnDrop> {
3217+
async fn mesh_stacks(stacks: Vec<MagicStack>) -> Result<JoinSet<()>> {
32183218
/// Registers endpoint addresses of a node to all other nodes.
32193219
fn update_direct_addrs(
32203220
stacks: &[MagicStack],
@@ -3251,9 +3251,6 @@ mod tests {
32513251
}
32523252
});
32533253
}
3254-
let guard = CallOnDrop::new(move || {
3255-
tasks.abort_all();
3256-
});
32573254

32583255
// Wait for all nodes to be registered with each other.
32593256
time::timeout(Duration::from_secs(10), async move {
@@ -3278,7 +3275,7 @@ mod tests {
32783275
.await
32793276
.context("failed to connect nodes")?;
32803277
info!("all nodes meshed");
3281-
Ok(guard)
3278+
Ok(tasks)
32823279
}
32833280

32843281
#[instrument(skip_all, fields(me = %ep.endpoint.node_id().fmt_short()))]
@@ -3426,9 +3423,8 @@ mod tests {
34263423
}
34273424

34283425
#[tokio::test(flavor = "multi_thread")]
3426+
#[traced_test]
34293427
async fn test_two_devices_roundtrip_quinn_magic() -> Result<()> {
3430-
iroh_test::logging::setup_multithreaded();
3431-
34323428
let m1 = MagicStack::new(RelayMode::Disabled).await?;
34333429
let m2 = MagicStack::new(RelayMode::Disabled).await?;
34343430

@@ -3462,9 +3458,9 @@ mod tests {
34623458
}
34633459

34643460
#[tokio::test]
3461+
#[traced_test]
34653462
async fn test_regression_network_change_rebind_wakes_connection_driver(
34663463
) -> testresult::TestResult {
3467-
let _ = iroh_test::logging::setup();
34683464
let m1 = MagicStack::new(RelayMode::Disabled).await?;
34693465
let m2 = MagicStack::new(RelayMode::Disabled).await?;
34703466

@@ -3501,6 +3497,7 @@ mod tests {
35013497
}
35023498

35033499
#[tokio::test(flavor = "multi_thread")]
3500+
#[traced_test]
35043501
async fn test_two_devices_roundtrip_network_change() -> Result<()> {
35053502
time::timeout(
35063503
Duration::from_secs(90),
@@ -3512,8 +3509,6 @@ mod tests {
35123509
/// Same structure as `test_two_devices_roundtrip_quinn_magic`, but interrupts regularly
35133510
/// with (simulated) network changes.
35143511
async fn test_two_devices_roundtrip_network_change_impl() -> Result<()> {
3515-
iroh_test::logging::setup_multithreaded();
3516-
35173512
let m1 = MagicStack::new(RelayMode::Disabled).await?;
35183513
let m2 = MagicStack::new(RelayMode::Disabled).await?;
35193514

@@ -3535,9 +3530,7 @@ mod tests {
35353530
time::sleep(offset()).await;
35363531
}
35373532
});
3538-
CallOnDrop::new(move || {
3539-
task.abort();
3540-
})
3533+
AbortOnDropHandle::new(task)
35413534
};
35423535

35433536
for i in 0..rounds {
@@ -3564,9 +3557,7 @@ mod tests {
35643557
time::sleep(offset()).await;
35653558
}
35663559
});
3567-
CallOnDrop::new(move || {
3568-
task.abort();
3569-
})
3560+
AbortOnDropHandle::new(task)
35703561
};
35713562

35723563
for i in 0..rounds {
@@ -3594,9 +3585,7 @@ mod tests {
35943585
m2.endpoint.magic_sock().force_network_change(true).await;
35953586
time::sleep(offset()).await;
35963587
});
3597-
CallOnDrop::new(move || {
3598-
task.abort();
3599-
})
3588+
AbortOnDropHandle::new(task)
36003589
};
36013590

36023591
for i in 0..rounds {
@@ -3616,8 +3605,8 @@ mod tests {
36163605
}
36173606

36183607
#[tokio::test(flavor = "multi_thread")]
3608+
#[traced_test]
36193609
async fn test_two_devices_setup_teardown() -> Result<()> {
3620-
iroh_test::logging::setup_multithreaded();
36213610
for i in 0..10 {
36223611
println!("-- round {i}");
36233612
println!("setting up magic stack");
@@ -3639,9 +3628,8 @@ mod tests {
36393628
}
36403629

36413630
#[tokio::test]
3631+
#[traced_test]
36423632
async fn test_two_devices_roundtrip_quinn_raw() -> Result<()> {
3643-
let _guard = iroh_test::logging::setup();
3644-
36453633
let make_conn = |addr: SocketAddr| -> anyhow::Result<quinn::Endpoint> {
36463634
let key = SecretKey::generate(rand::thread_rng());
36473635
let conn = std::net::UdpSocket::bind(addr)?;
@@ -3788,9 +3776,8 @@ mod tests {
37883776
}
37893777

37903778
#[tokio::test]
3779+
#[traced_test]
37913780
async fn test_two_devices_roundtrip_quinn_rebinding_conn() -> Result<()> {
3792-
let _guard = iroh_test::logging::setup();
3793-
37943781
fn make_conn(addr: SocketAddr) -> anyhow::Result<quinn::Endpoint> {
37953782
let key = SecretKey::generate(rand::thread_rng());
37963783
let conn = UdpConn::bind(addr)?;
@@ -3981,8 +3968,8 @@ mod tests {
39813968
}
39823969

39833970
#[tokio::test]
3971+
#[traced_test]
39843972
async fn test_local_endpoints() {
3985-
let _guard = iroh_test::logging::setup();
39863973
let ms = Handle::new(Default::default()).await.unwrap();
39873974

39883975
// See if we can get endpoints.
@@ -4105,11 +4092,10 @@ mod tests {
41054092
}
41064093

41074094
#[tokio::test]
4095+
#[traced_test]
41084096
async fn test_try_send_no_send_addr() {
41094097
// Regression test: if there is no send_addr we should keep being able to use the
41104098
// Endpoint.
4111-
let _guard = iroh_test::logging::setup();
4112-
41134099
let secret_key_1 = SecretKey::from_bytes(&[1u8; 32]);
41144100
let secret_key_2 = SecretKey::from_bytes(&[2u8; 32]);
41154101
let node_id_2 = secret_key_2.public();
@@ -4196,11 +4182,10 @@ mod tests {
41964182
}
41974183

41984184
#[tokio::test]
4185+
#[traced_test]
41994186
async fn test_try_send_no_udp_addr_or_relay_url() {
42004187
// This specifically tests the `if udp_addr.is_none() && relay_url.is_none()`
42014188
// behaviour of MagicSock::try_send.
4202-
let _logging_guard = iroh_test::logging::setup();
4203-
42044189
let secret_key_1 = SecretKey::from_bytes(&[1u8; 32]);
42054190
let secret_key_2 = SecretKey::from_bytes(&[2u8; 32]);
42064191
let node_id_2 = secret_key_2.public();

‎iroh/src/magicsock/node_map.rs

+3-4
Original file line numberDiff line numberDiff line change
@@ -698,6 +698,7 @@ mod tests {
698698
use std::net::Ipv4Addr;
699699

700700
use iroh_base::SecretKey;
701+
use tracing_test::traced_test;
701702

702703
use super::{node_state::MAX_INACTIVE_DIRECT_ADDRESSES, *};
703704

@@ -715,9 +716,8 @@ mod tests {
715716

716717
/// Test persisting and loading of known nodes.
717718
#[tokio::test]
719+
#[traced_test]
718720
async fn restore_from_vec() {
719-
let _guard = iroh_test::logging::setup();
720-
721721
let node_map = NodeMap::default();
722722

723723
let mut rng = rand::thread_rng();
@@ -781,9 +781,8 @@ mod tests {
781781
}
782782

783783
#[test]
784+
#[traced_test]
784785
fn test_prune_direct_addresses() {
785-
let _guard = iroh_test::logging::setup();
786-
787786
let node_map = NodeMap::default();
788787
let public_key = SecretKey::generate(rand::thread_rng()).public();
789788
let id = node_map

‎iroh/src/magicsock/relay_actor.rs

+3-2
Original file line numberDiff line numberDiff line change
@@ -1200,6 +1200,7 @@ mod tests {
12001200
use testresult::TestResult;
12011201
use tokio_util::task::AbortOnDropHandle;
12021202
use tracing::info;
1203+
use tracing_test::traced_test;
12031204

12041205
use super::*;
12051206
use crate::test_utils;
@@ -1360,8 +1361,8 @@ mod tests {
13601361
}
13611362

13621363
#[tokio::test]
1364+
#[traced_test]
13631365
async fn test_active_relay_reconnect() -> TestResult {
1364-
let _guard = iroh_test::logging::setup();
13651366
let (_relay_map, relay_url, _server) = test_utils::run_relay_server().await?;
13661367
let (peer_node, _echo_node_task) = start_echo_node(relay_url.clone());
13671368

@@ -1447,8 +1448,8 @@ mod tests {
14471448
}
14481449

14491450
#[tokio::test]
1451+
#[traced_test]
14501452
async fn test_active_relay_inactive() -> TestResult {
1451-
let _guard = iroh_test::logging::setup();
14521453
let (_relay_map, relay_url, _server) = test_utils::run_relay_server().await?;
14531454

14541455
let secret_key = SecretKey::from_bytes(&[1u8; 32]);

‎iroh/src/magicsock/udp_conn.rs

+3-2
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,7 @@ mod tests {
136136
use netwatch::IpFamily;
137137
use tokio::sync::mpsc;
138138
use tracing::{info_span, Instrument};
139+
use tracing_test::traced_test;
139140

140141
use super::*;
141142
use crate::tls;
@@ -160,14 +161,14 @@ mod tests {
160161
}
161162

162163
#[tokio::test]
164+
#[traced_test]
163165
async fn test_rebinding_conn_send_recv_ipv4() -> Result<()> {
164-
let _guard = iroh_test::logging::setup();
165166
rebinding_conn_send_recv(IpFamily::V4).await
166167
}
167168

168169
#[tokio::test]
170+
#[traced_test]
169171
async fn test_rebinding_conn_send_recv_ipv6() -> Result<()> {
170-
let _guard = iroh_test::logging::setup();
171172
if !net_report::os_has_ipv6() {
172173
return Ok(());
173174
}

0 commit comments

Comments
 (0)
Please sign in to comment.