Files
rustytorch/crates/training/rtx-distributed/src/rdma_transport/tests.rs
T
2026-03-04 00:08:42 +00:00

90 lines
2.1 KiB
Rust

//! Tests for RDMA transport
use super::*;
#[test]
fn test_rdma_config_default() {
let config = RdmaConfig::default();
assert_eq!(config.port_num, 1);
assert!(config.enable_gdr);
assert_eq!(config.max_send_wr, 1024);
}
#[test]
fn test_rdma_gid_default() {
let gid = RdmaGid::default();
assert_eq!(gid.raw, [0u8; 16]);
}
#[test]
fn test_wc_status() {
assert!(WcStatus::Success.is_success());
assert!(!WcStatus::LocLenErr.is_success());
}
#[test]
fn test_rdma_context_creation() {
let config = RdmaConfig::default();
let context = RdmaContext::new(config);
assert!(context.is_ok());
}
#[test]
fn test_rdma_transport_creation() {
let config = RdmaConfig::default();
let transport = RdmaTransport::new(config);
assert!(transport.is_ok());
}
#[test]
fn test_rdma_transport_uninitialized() {
let config = RdmaConfig::default();
let transport = RdmaTransport::new(config).unwrap();
assert!(transport.rank().is_none());
assert!(transport.world_size().is_none());
}
#[tokio::test]
async fn test_rdma_transport_cleanup() {
let config = RdmaConfig::default();
let transport = RdmaTransport::new(config).unwrap();
let result = transport.cleanup().await;
assert!(result.is_ok());
}
#[test]
fn test_gpu_direct_config_default() {
let config = GpuDirectConfig::default();
assert!(config.enabled);
assert_eq!(config.cuda_device_id, 0);
}
#[test]
fn test_gpu_direct_transport_creation() {
let rdma_config = RdmaConfig::default();
let gdr_config = GpuDirectConfig::default();
let transport = GpuDirectRdmaTransport::new(rdma_config, gdr_config);
assert!(transport.is_ok());
}
#[test]
fn test_rdma_memory_region_creation() {
let mr = RdmaMemoryRegion::new(0x1000, 4096, false);
assert_eq!(mr.addr, 0x1000);
assert_eq!(mr.length, 4096);
assert!(!mr.is_gpu_memory);
}
#[test]
fn test_connection_info_serialization() {
let info = RdmaConnectionInfo {
qp_num: 123,
lid: 1,
gid: [0u8; 16],
psn: 456,
};
let json = serde_json::to_string(&info);
assert!(json.is_ok());
}