//! 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()); }