@@ -56,9 +56,11 @@ static void on_collision_stub(udpard_rx_t* const rx, udpard_rx_port_t* const por
5656static void test_mem_endpoint_list_guards (void )
5757{
5858 // mem_same covers identical and divergent resources.
59- const udpard_mem_resource_t mem_a = make_mem ((void * )1 );
60- const udpard_mem_resource_t mem_b = make_mem ((void * )2 );
61- const udpard_mem_resource_t mem_c = { .user = (void * )1 , .free = free_noop , .alloc = alloc_alt };
59+ static char tag_a ;
60+ static char tag_b ;
61+ const udpard_mem_resource_t mem_a = make_mem (& tag_a );
62+ const udpard_mem_resource_t mem_b = make_mem (& tag_b );
63+ const udpard_mem_resource_t mem_c = { .user = & tag_a , .free = free_noop , .alloc = alloc_alt };
6264 TEST_ASSERT_TRUE (mem_same (mem_a , mem_a ));
6365 TEST_ASSERT_FALSE (mem_same (mem_a , mem_b ));
6466 TEST_ASSERT_FALSE (mem_same (mem_a , mem_c ));
@@ -116,9 +118,11 @@ static void test_header_guard(void)
116118static void test_tx_guards (void )
117119{
118120 // Prepare reusable TX resources.
119- udpard_tx_mem_resources_t mem = { .transfer = make_mem ((void * )11 ) };
121+ static char tx_tag ;
122+ static char payload_tags [UDPARD_IFACE_COUNT_MAX ];
123+ udpard_tx_mem_resources_t mem = { .transfer = make_mem (& tx_tag ) };
120124 for (size_t i = 0 ; i < UDPARD_IFACE_COUNT_MAX ; i ++ ) {
121- mem .payload [i ] = make_mem (( void * )( 20 + i ) );
125+ mem .payload [i ] = make_mem (& payload_tags [ i ] );
122126 }
123127 const udpard_tx_vtable_t vt_ok = { .eject = eject_stub };
124128
@@ -156,8 +160,9 @@ static void test_tx_guards(void)
156160static void test_tx_predictor_sharing (void )
157161{
158162 // Shared spool suppresses duplicate frame counts.
159- const udpard_mem_resource_t mem_shared = make_mem ((void * )42 );
160- const udpard_mem_resource_t mem_arr [UDPARD_IFACE_COUNT_MAX ] = { mem_shared , mem_shared , make_mem ((void * )77 ) };
163+ static char shared_tag [2 ];
164+ const udpard_mem_resource_t mem_shared = make_mem (& shared_tag [0 ]);
165+ const udpard_mem_resource_t mem_arr [UDPARD_IFACE_COUNT_MAX ] = { mem_shared , mem_shared , make_mem (& shared_tag [1 ]) };
161166 const udpard_udpip_ep_t ep [UDPARD_IFACE_COUNT_MAX ] = { { .ip = 1U , .port = UDP_PORT },
162167 { .ip = 2U , .port = UDP_PORT },
163168 { 0U , 0U } };
@@ -168,7 +173,9 @@ static void test_tx_predictor_sharing(void)
168173static void test_rx_guards (void )
169174{
170175 // RX port creation guards reject invalid parameters.
171- const udpard_rx_mem_resources_t rx_mem = { .session = make_mem ((void * )5 ), .fragment = make_mem ((void * )6 ) };
176+ static char rx_tag_a ;
177+ static char rx_tag_b ;
178+ const udpard_rx_mem_resources_t rx_mem = { .session = make_mem (& rx_tag_a ), .fragment = make_mem (& rx_tag_b ) };
172179 const udpard_rx_port_vtable_t rx_vtb = { .on_message = on_message_stub , .on_collision = on_collision_stub };
173180 udpard_rx_port_t port ;
174181 TEST_ASSERT_FALSE (udpard_rx_port_new (NULL , 0 , 0 , 0 , rx_mem , & rx_vtb ));
@@ -196,13 +203,14 @@ static void test_rx_guards(void)
196203 udpard_rx_port_free (NULL , & port );
197204
198205 // Fragments past extent are discarded early.
199- udpard_tree_t * root = NULL ;
200- byte_t buf [1 ] = { 0 };
201- size_t covered = 0 ;
202- const rx_frame_base_t frame = { .offset = 1U ,
203- .payload = { .size = sizeof (buf ), .data = buf },
204- .origin = { .size = sizeof (buf ), .data = buf } };
205- const udpard_mem_resource_t frag_mem = make_mem ((void * )7 );
206+ udpard_tree_t * root = NULL ;
207+ byte_t buf [1 ] = { 0 };
208+ size_t covered = 0 ;
209+ const rx_frame_base_t frame = { .offset = 1U ,
210+ .payload = { .size = sizeof (buf ), .data = buf },
211+ .origin = { .size = sizeof (buf ), .data = buf } };
212+ static char frag_tag ;
213+ const udpard_mem_resource_t frag_mem = make_mem (& frag_tag );
206214 const udpard_mem_deleter_t deleter = { .user = NULL , .free = free_noop };
207215 TEST_ASSERT_EQUAL (rx_fragment_tree_rejected ,
208216 rx_fragment_tree_update (& root , frag_mem , deleter , frame , 0U , 0U , & covered ));
0 commit comments