uds_integration.rs 2.54 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
// SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
// SPDX-License-Identifier: Apache-2.0

//! Integration tests for UDS transport

#![cfg(unix)]

mod common;

use common::{UdsFactory, scenarios};

#[tokio::test]
async fn test_single_message_round_trip() {
    scenarios::single_message_round_trip::<UdsFactory>().await;
}

#[tokio::test]
async fn test_bidirectional_messaging() {
    scenarios::bidirectional_messaging::<UdsFactory>().await;
}

#[tokio::test]
async fn test_multiple_messages_same_connection() {
    scenarios::multiple_messages_same_connection::<UdsFactory>().await;
}

#[tokio::test]
async fn test_response_message_type() {
    scenarios::response_message_type::<UdsFactory>().await;
}

#[tokio::test]
async fn test_event_message_type() {
    scenarios::event_message_type::<UdsFactory>().await;
}

#[tokio::test]
async fn test_ack_message_type() {
    scenarios::ack_message_type::<UdsFactory>().await;
}

#[tokio::test]
async fn test_mixed_message_types() {
    scenarios::mixed_message_types::<UdsFactory>().await;
}

#[tokio::test]
async fn test_large_payload() {
    scenarios::large_payload::<UdsFactory>().await;
}

#[tokio::test]
async fn test_empty_header_and_payload() {
    scenarios::empty_header_and_payload::<UdsFactory>().await;
}

#[tokio::test]
async fn test_cluster_mesh_communication() {
    scenarios::cluster_mesh_communication::<UdsFactory>().await;
}

#[tokio::test]
async fn test_concurrent_senders() {
    scenarios::concurrent_senders::<UdsFactory>().await;
}

#[tokio::test]
async fn test_send_to_unregistered_peer() {
    scenarios::send_to_unregistered_peer::<UdsFactory>().await;
}

#[tokio::test]
async fn test_connection_reuse() {
    scenarios::connection_reuse::<UdsFactory>().await;
}

#[tokio::test]
async fn test_graceful_shutdown() {
    scenarios::graceful_shutdown::<UdsFactory>().await;
}

#[tokio::test]
async fn test_high_throughput() {
    scenarios::high_throughput::<UdsFactory>().await;
}

#[tokio::test]
async fn test_zero_copy_efficiency() {
    scenarios::zero_copy_efficiency::<UdsFactory>().await;
}

#[tokio::test]
async fn test_drain_rejects_messages() {
    scenarios::drain_rejects_messages::<UdsFactory>().await;
}

#[tokio::test]
async fn test_drain_accepts_responses() {
    scenarios::drain_accepts_responses::<UdsFactory>().await;
}

#[tokio::test]
async fn test_drain_accepts_events() {
    scenarios::drain_accepts_events::<UdsFactory>().await;
}

#[tokio::test]
async fn test_health_during_drain() {
    scenarios::health_during_drain::<UdsFactory>().await;
}