diff --git a/cli/src/lib.rs b/cli/src/lib.rs index d21dfdbca53..d51f4b61c0d 100644 --- a/cli/src/lib.rs +++ b/cli/src/lib.rs @@ -659,8 +659,14 @@ pub fn read_config_and_genesis( fn validate_config(config: &Config, submit_genesis: bool) -> Result<(), ConfigError> { let mut emitter = Emitter::new(); - validate_try_bind_address(&mut emitter, &config.network.address); - validate_try_bind_address(&mut emitter, &config.torii.address); + // These cause race condition in tests, due to them actually binding TCP listeners + // Since these validations are primarily for the convenience of the end user, + // it seems a fine compromise to run it only in release mode + #[cfg(release)] + { + validate_try_bind_address(&mut emitter, &config.network.address); + validate_try_bind_address(&mut emitter, &config.torii.address); + } validate_directory_path(&mut emitter, &config.kura.store_dir); // maybe validate only if snapshot mode is enabled validate_directory_path(&mut emitter, &config.snapshot.store_dir); @@ -738,6 +744,7 @@ fn validate_directory_path(emitter: &mut Emitter, path: &WithOrigin } } +#[cfg(release)] fn validate_try_bind_address(emitter: &mut Emitter, value: &WithOrigin) { use std::net::TcpListener; @@ -935,7 +942,6 @@ mod tests { } #[test] - #[ignore] // FIXME fn fails_with_no_trusted_peers_and_submit_role() -> eyre::Result<()> { // Given