@@ -86,6 +86,7 @@ void UDPSOCKET_ECHOTEST_impl(bool use_sendto)
86
86
87
87
fill_tx_buffer_ascii (tx_buffer, BUFF_SIZE);
88
88
int packets_sent_prev = packets_sent;
89
+ bool is_oversized;
89
90
90
91
for (int retry_cnt = 0 ; retry_cnt <= 2 ; retry_cnt++) {
91
92
memset (rx_buffer, 0 , BUFF_SIZE);
@@ -94,8 +95,10 @@ void UDPSOCKET_ECHOTEST_impl(bool use_sendto)
94
95
} else {
95
96
sent = sock.send (tx_buffer, pkt_s);
96
97
}
97
- if (check_oversized_packets (sent, pkt_s)) {
98
+ is_oversized = check_oversized_packets (sent, pkt_s);
99
+ if (is_oversized) {
98
100
TEST_IGNORE_MESSAGE (" This device does not handle oversized packets" );
101
+ break ;
99
102
} else if (sent == pkt_s) {
100
103
packets_sent++;
101
104
} else {
@@ -127,6 +130,9 @@ void UDPSOCKET_ECHOTEST_impl(bool use_sendto)
127
130
}
128
131
}
129
132
133
+ if (is_oversized) {
134
+ continue ;
135
+ }
130
136
if (use_sendto) {
131
137
// Verify received address is correct
132
138
TEST_ASSERT (udp_addr == recv_addr);
@@ -188,6 +194,8 @@ void UDPSOCKET_ECHOTEST_NONBLOCK_impl(bool use_sendto)
188
194
for (unsigned int s_idx = 0 ; s_idx < sizeof (pkt_sizes) / sizeof (*pkt_sizes); ++s_idx) {
189
195
int pkt_s = pkt_sizes[s_idx];
190
196
int packets_sent_prev = packets_sent;
197
+ bool is_oversized;
198
+
191
199
for (int retry_cnt = 0 ; retry_cnt <= RETRIES; retry_cnt++) {
192
200
fill_tx_buffer_ascii (tx_buffer, pkt_s);
193
201
@@ -197,7 +205,11 @@ void UDPSOCKET_ECHOTEST_NONBLOCK_impl(bool use_sendto)
197
205
sent = sock->send (tx_buffer, pkt_s);
198
206
}
199
207
200
- if (sent == pkt_s) {
208
+ is_oversized = check_oversized_packets (sent, pkt_s);
209
+ if (is_oversized) {
210
+ TEST_IGNORE_MESSAGE (" This device does not handle oversized packets" );
211
+ break ;
212
+ } else if (sent == pkt_s) {
201
213
packets_sent++;
202
214
} else if (sent == NSAPI_ERROR_WOULD_BLOCK) {
203
215
if (tc_exec_time.read () >= time_allotted ||
@@ -239,6 +251,10 @@ void UDPSOCKET_ECHOTEST_NONBLOCK_impl(bool use_sendto)
239
251
break ;
240
252
}
241
253
}
254
+
255
+ if (is_oversized) {
256
+ continue ;
257
+ }
242
258
// Make sure that at least one packet of every size was sent.
243
259
TEST_ASSERT_TRUE (packets_sent > packets_sent_prev);
244
260
if (memcmp (tx_buffer, rx_buffer, pkt_s) == 0 ) {
0 commit comments