90 lines
2.1 KiB
Rust
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());
|
|
}
|