Skip to content

Commit 0a26318

Browse files
tests green
1 parent f1295e5 commit 0a26318

File tree

4 files changed

+631
-1462
lines changed

4 files changed

+631
-1462
lines changed

libudpard/udpard.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -757,6 +757,7 @@ static void tx_send_ack(udpard_rx_t* const rx,
757757
ptr = serialize_u64(ptr, topic_hash);
758758
ptr = serialize_u64(ptr, transfer_id);
759759
UDPARD_ASSERT((ptr - header) == UDPARD_P2P_HEADER_BYTES);
760+
(void)ptr;
760761
const udpard_bytes_t payload = { .size = UDPARD_P2P_HEADER_BYTES, .data = header };
761762

762763
// Enqueue the ack transfer.
@@ -1734,6 +1735,7 @@ static void rx_p2p_on_message(udpard_rx_t* const rx, udpard_rx_port_t* const por
17341735
ptr = deserialize_u64(ptr, &topic_hash);
17351736
ptr = deserialize_u64(ptr, &transfer_id);
17361737
UDPARD_ASSERT((ptr == (UDPARD_P2P_HEADER_BYTES + (byte_t*)frag0->view.data)));
1738+
(void)ptr;
17371739

17381740
// Remove the header from the view.
17391741
frag0->view.size -= UDPARD_P2P_HEADER_BYTES;
@@ -1770,7 +1772,7 @@ bool udpard_rx_port_new_p2p(udpard_rx_port_p2p_t* const self,
17701772
.on_collision = rx_p2p_on_collision };
17711773
if ((self != NULL) && (vtable != NULL) && (vtable->on_message != NULL)) {
17721774
self->vtable = vtable;
1773-
return udpard_rx_port_new((udpard_rx_port_t*)&self, //
1775+
return udpard_rx_port_new((udpard_rx_port_t*)self, //
17741776
local_uid,
17751777
extent + UDPARD_P2P_HEADER_BYTES,
17761778
UDPARD_RX_REORDERING_WINDOW_UNORDERED,

tests/src/test_e2e_edge.cpp

Lines changed: 3 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,12 @@ namespace {
1515

1616
void on_message(udpard_rx_t* rx, udpard_rx_port_t* port, udpard_rx_transfer_t transfer);
1717
void on_collision(udpard_rx_t* rx, udpard_rx_port_t* port, udpard_remote_t remote);
18-
void on_ack_mandate(udpard_rx_t* rx, udpard_rx_port_t* port, udpard_rx_ack_mandate_t am);
19-
constexpr udpard_rx_port_vtable_t callbacks{ &on_message, &on_collision, &on_ack_mandate };
18+
constexpr udpard_rx_port_vtable_t callbacks{ &on_message, &on_collision };
2019

2120
struct Context
2221
{
2322
std::vector<uint64_t> ids;
2423
size_t collisions = 0;
25-
size_t ack_mandates = 0;
2624
uint64_t expected_uid = 0;
2725
udpard_udpip_ep_t source = {};
2826
};
@@ -62,7 +60,8 @@ struct Fixture
6260
dest = udpard_make_subject_endpoint(222U);
6361

6462
TEST_ASSERT_TRUE(udpard_tx_new(&tx, 0x0A0B0C0D0E0F1011ULL, 16, tx_mem));
65-
udpard_rx_new(&rx);
63+
std::array<udpard_tx_t*, UDPARD_NETWORK_INTERFACE_COUNT_MAX> rx_tx{};
64+
udpard_rx_new(&rx, rx_tx.data(), 0);
6665
ctx.expected_uid = tx.local_uid;
6766
ctx.source = source;
6867
rx.user = &ctx;
@@ -122,12 +121,6 @@ void on_collision(udpard_rx_t* const rx, udpard_rx_port_t* const /*port*/, const
122121
ctx->collisions++;
123122
}
124123

125-
void on_ack_mandate(udpard_rx_t* const rx, udpard_rx_port_t* const /*port*/, const udpard_rx_ack_mandate_t /*am*/)
126-
{
127-
auto* const ctx = static_cast<Context*>(rx->user);
128-
ctx->ack_mandates++;
129-
}
130-
131124
/// UNORDERED mode should drop duplicates while keeping arrival order.
132125
void test_udpard_rx_unordered_duplicates()
133126
{
@@ -148,7 +141,6 @@ void test_udpard_rx_unordered_duplicates()
148141
TEST_ASSERT_EQUAL_UINT64(expected[i], fix.ctx.ids[i]);
149142
}
150143
TEST_ASSERT_EQUAL_size_t(0, fix.ctx.collisions);
151-
TEST_ASSERT_EQUAL_size_t(0, fix.ctx.ack_mandates);
152144
}
153145

154146
/// ORDERED mode waits for the window, then rejects late arrivals.
@@ -190,7 +182,6 @@ void test_udpard_rx_ordered_out_of_order()
190182
TEST_ASSERT_EQUAL_UINT64(expected[i], fix.ctx.ids[i]);
191183
}
192184
TEST_ASSERT_EQUAL_size_t(0, fix.ctx.collisions);
193-
TEST_ASSERT_EQUAL_size_t(0, fix.ctx.ack_mandates);
194185
}
195186

196187
/// ORDERED mode after head advance should reject late IDs arriving after window expiry.
@@ -226,7 +217,6 @@ void test_udpard_rx_ordered_head_advanced_late()
226217
TEST_ASSERT_EQUAL_UINT64(expected[i], fix.ctx.ids[i]);
227218
}
228219
TEST_ASSERT_EQUAL_size_t(0, fix.ctx.collisions);
229-
TEST_ASSERT_EQUAL_size_t(0, fix.ctx.ack_mandates);
230220
}
231221

232222
} // namespace

tests/src/test_e2e_random.cpp

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,6 @@ struct Context
4444
std::unordered_map<TransferKey, ExpectedPayload, TransferKeyHash> expected;
4545
size_t received = 0;
4646
size_t collisions = 0;
47-
size_t ack_mandates = 0;
4847
size_t truncated = 0;
4948
uint64_t remote_uid = 0;
5049
std::array<udpard_udpip_ep_t, UDPARD_NETWORK_INTERFACE_COUNT_MAX> remote_endpoints = {};
@@ -122,15 +121,7 @@ void on_collision(udpard_rx_t* const rx, udpard_rx_port_t* const port, const udp
122121
(void)remote;
123122
ctx->collisions++;
124123
}
125-
126-
void on_ack_mandate(udpard_rx_t* const rx, udpard_rx_port_t* const port, const udpard_rx_ack_mandate_t mandate)
127-
{
128-
auto* ctx = static_cast<Context*>(rx->user);
129-
(void)port;
130-
(void)mandate;
131-
ctx->ack_mandates++;
132-
}
133-
constexpr udpard_rx_port_vtable_t callbacks{ &on_message, &on_collision, &on_ack_mandate };
124+
constexpr udpard_rx_port_vtable_t callbacks{ &on_message, &on_collision };
134125

135126
/// Randomized end-to-end TX/RX covering fragmentation, reordering, and extent-driven truncation.
136127
void test_udpard_tx_rx_end_to_end()
@@ -156,7 +147,8 @@ void test_udpard_tx_rx_end_to_end()
156147
const udpard_rx_mem_resources_t rx_mem{ .session = instrumented_allocator_make_resource(&rx_alloc_session),
157148
.fragment = instrumented_allocator_make_resource(&rx_alloc_frag) };
158149
udpard_rx_t rx;
159-
udpard_rx_new(&rx);
150+
std::array<udpard_tx_t*, UDPARD_NETWORK_INTERFACE_COUNT_MAX> rx_tx{};
151+
udpard_rx_new(&rx, rx_tx.data(), 0);
160152

161153
// Test parameters.
162154
constexpr std::array<uint64_t, 3> topic_hashes{ 0x123456789ABCDEF0ULL,
@@ -266,7 +258,6 @@ void test_udpard_tx_rx_end_to_end()
266258
TEST_ASSERT_EQUAL_size_t(1000, ctx.received);
267259
TEST_ASSERT_TRUE(ctx.truncated > 0);
268260
TEST_ASSERT_EQUAL_size_t(0, ctx.collisions);
269-
TEST_ASSERT_EQUAL_size_t(0, ctx.ack_mandates);
270261
for (auto& port : ports) {
271262
udpard_rx_port_free(&rx, &port);
272263
}

0 commit comments

Comments
 (0)