mirror of https://github.com/ARMmbed/mbed-os.git
Fix UDP socket test cases
Fix UDP socket test cases to check more strictly on failure, and lower trace levels to not print errors on successful cases.pull/12267/head
parent
b710066671
commit
031d90a3ce
|
@ -69,12 +69,12 @@ static void _ifup()
|
|||
|
||||
#define MESH 3
|
||||
#if MBED_CONF_TARGET_NETWORK_DEFAULT_INTERFACE_TYPE == MESH
|
||||
printf("Waiting for GLOBAL_UP\n");
|
||||
tr_info("Waiting for GLOBAL_UP\n");
|
||||
while (net->get_connection_status() != NSAPI_STATUS_GLOBAL_UP) {
|
||||
ThisThread::sleep_for(500);
|
||||
}
|
||||
#endif
|
||||
printf("MBED: UDPClient IP address is '%s'\n", address ? address.get_ip_address() : "null");
|
||||
tr_info("MBED: UDPClient IP address is '%s'\n", address ? address.get_ip_address() : "null");
|
||||
}
|
||||
|
||||
static void _ifdown()
|
||||
|
|
|
@ -99,7 +99,7 @@ void UDPSOCKET_ECHOTEST_impl(bool use_sendto)
|
|||
} else if (sent == pkt_s) {
|
||||
packets_sent++;
|
||||
} else {
|
||||
tr_error("[Round#%02d - Sender] error, returned %d", s_idx, sent);
|
||||
tr_warn("[Round#%02d - Sender] error, returned %d", s_idx, sent);
|
||||
continue;
|
||||
}
|
||||
|
||||
|
@ -113,7 +113,7 @@ void UDPSOCKET_ECHOTEST_impl(bool use_sendto)
|
|||
//Check if received duplicated packet
|
||||
for (unsigned int d_idx = 0; d_idx < PKTS; ++d_idx) {
|
||||
if (pkt_received[d_idx] && d_idx != s_idx && recvd == pkt_sizes[d_idx]) {
|
||||
printf("[Round#%02d - Receiver] info, received duplicate packet %d\n", s_idx, d_idx);
|
||||
tr_warn("[Round#%02d - Receiver] info, received duplicate packet %d\n", s_idx, d_idx);
|
||||
received_duplicate_packet = true;
|
||||
break;
|
||||
}
|
||||
|
@ -123,7 +123,7 @@ void UDPSOCKET_ECHOTEST_impl(bool use_sendto)
|
|||
if (recvd == pkt_s) {
|
||||
break;
|
||||
} else {
|
||||
tr_error("[Round#%02d - Receiver] error, returned %d", s_idx, recvd);
|
||||
tr_warn("[Round#%02d - Receiver] error, returned %d", s_idx, recvd);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -206,7 +206,7 @@ void UDPSOCKET_ECHOTEST_NONBLOCK_impl(bool use_sendto)
|
|||
}
|
||||
--retry_cnt;
|
||||
} else {
|
||||
tr_error("[Round#%02d - Sender] error, returned %d", s_idx, sent);
|
||||
tr_warn("[Round#%02d - Sender] error, returned %d", s_idx, sent);
|
||||
continue;
|
||||
}
|
||||
|
||||
|
@ -227,7 +227,7 @@ void UDPSOCKET_ECHOTEST_NONBLOCK_impl(bool use_sendto)
|
|||
--retry_recv;
|
||||
continue;
|
||||
} else if (recvd < 0) {
|
||||
tr_error("sock.recvfrom returned %d", recvd);
|
||||
tr_warn("sock.recvfrom returned %d", recvd);
|
||||
TEST_FAIL();
|
||||
break;
|
||||
} else if (recvd == pkt_s) {
|
||||
|
|
|
@ -116,7 +116,7 @@ void UDPSOCKET_ECHOTEST_BURST()
|
|||
}
|
||||
} else if (recvd < 0) {
|
||||
pkg_fail += BURST_PKTS - j; // Assume all the following packets of the burst to be lost
|
||||
tr_error("[%02d] network error %d", i, recvd);
|
||||
tr_warn("[%02d] network error %d", i, recvd);
|
||||
ThisThread::sleep_for(recv_timeout * 1000);
|
||||
recv_timeout *= 2; // Back off,
|
||||
break;
|
||||
|
@ -141,7 +141,7 @@ void UDPSOCKET_ECHOTEST_BURST()
|
|||
ok_bursts++;
|
||||
} else {
|
||||
drop_bad_packets(sock, TIMEOUT);
|
||||
tr_error("[%02d] burst failure, rcv %d", i, bt_total);
|
||||
tr_warn("[%02d] burst failure, rcv %d", i, bt_total);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -217,7 +217,7 @@ void UDPSOCKET_ECHOTEST_BURST_NONBLOCK()
|
|||
goto PKT_OK;
|
||||
}
|
||||
}
|
||||
tr_error("[bt#%02d] corrupted packet...", i);
|
||||
tr_warn("[bt#%02d] corrupted packet...", i);
|
||||
pkg_fail++;
|
||||
break;
|
||||
PKT_OK:
|
||||
|
|
|
@ -49,7 +49,7 @@ void UDPSOCKET_OPEN_LIMIT()
|
|||
}
|
||||
ret = sock->open(NetworkInterface::get_default_instance());
|
||||
if (ret == NSAPI_ERROR_NO_MEMORY || ret == NSAPI_ERROR_NO_SOCKET) {
|
||||
tr_error("[round#%02d] unable to open new socket, error: %d", i, ret);
|
||||
tr_info("[round#%02d] unable to open new socket, error: %d", i, ret);
|
||||
delete sock;
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -70,10 +70,10 @@ void UDPSOCKET_RECV_TIMEOUT()
|
|||
}
|
||||
continue;
|
||||
} else if (recvd < 0) {
|
||||
tr_error("[bt#%02d] network error %d", i, recvd);
|
||||
tr_warn("[bt#%02d] network error %d", i, recvd);
|
||||
continue;
|
||||
} else if (temp_addr != udp_addr) {
|
||||
tr_info("[bt#%02d] packet from wrong address", i);
|
||||
tr_warn("[bt#%02d] packet from wrong address", i);
|
||||
continue;
|
||||
}
|
||||
TEST_ASSERT_EQUAL(DATA_LEN, recvd);
|
||||
|
|
|
@ -84,7 +84,7 @@ void MULTIHOMING_UDPSOCKET_ECHOTEST()
|
|||
packets_sent++;
|
||||
}
|
||||
if (sent != pkt_s) {
|
||||
printf("[Round#%02d - Sender] error, returned %d\n", s_idx, sent);
|
||||
tr_warn("[Round#%02d - Sender] error, returned %d\n", s_idx, sent);
|
||||
continue;
|
||||
}
|
||||
recvd = sock.recvfrom(NULL, rx_buffer, pkt_s);
|
||||
|
@ -99,8 +99,10 @@ void MULTIHOMING_UDPSOCKET_ECHOTEST()
|
|||
// Packet loss up to 30% tolerated
|
||||
if (packets_sent > 0) {
|
||||
double loss_ratio = 1 - ((double)packets_recv / (double)packets_sent);
|
||||
printf("Interface %s, packets sent: %d, packets received %d, loss ratio %.2lf\r\n", interface_name[j], packets_sent, packets_recv, loss_ratio);
|
||||
tr_warn("Interface %s, packets sent: %d, packets received %d, loss ratio %.2lf\r\n", interface_name[j], packets_sent, packets_recv, loss_ratio);
|
||||
TEST_ASSERT_DOUBLE_WITHIN(TOLERATED_LOSS_RATIO, EXPECTED_LOSS_RATIO, loss_ratio);
|
||||
} else {
|
||||
TEST_FAIL();
|
||||
}
|
||||
}
|
||||
TEST_ASSERT_EQUAL(NSAPI_ERROR_OK, sock.close());
|
||||
|
@ -177,7 +179,7 @@ void MULTIHOMING_UDPSOCKET_ECHOTEST_NONBLOCK()
|
|||
}
|
||||
--retry_cnt;
|
||||
} else if (sent != pkt_s) {
|
||||
printf("[Round#%02d - Sender] error, returned %d\n", s_idx, sent);
|
||||
tr_warn("[Round#%02d - Sender] error, returned %d\n", s_idx, sent);
|
||||
continue;
|
||||
}
|
||||
if (!tx_sem.try_acquire_for(WAIT2RECV_TIMEOUT * 2)) { // RX might wait up to WAIT2RECV_TIMEOUT before recvfrom
|
||||
|
@ -196,7 +198,7 @@ void MULTIHOMING_UDPSOCKET_ECHOTEST_NONBLOCK()
|
|||
// Packet loss up to 30% tolerated
|
||||
if (packets_sent > 0) {
|
||||
double loss_ratio = 1 - ((double)packets_recv / (double)packets_sent);
|
||||
printf("Interface %s, Packets sent: %d, packets received %d, loss ratio %.2lf\r\n", interface_name[j], packets_sent, packets_recv, loss_ratio);
|
||||
tr_info("Interface %s, Packets sent: %d, packets received %d, loss ratio %.2lf\r\n", interface_name[j], packets_sent, packets_recv, loss_ratio);
|
||||
TEST_ASSERT_DOUBLE_WITHIN(TOLERATED_LOSS_RATIO, EXPECTED_LOSS_RATIO, loss_ratio);
|
||||
|
||||
#if MBED_CONF_NSAPI_SOCKET_STATS_ENABLED
|
||||
|
@ -209,10 +211,12 @@ void MULTIHOMING_UDPSOCKET_ECHOTEST_NONBLOCK()
|
|||
}
|
||||
}
|
||||
loss_ratio = 1 - ((double)udp_stats[j].recv_bytes / (double)udp_stats[j].sent_bytes);
|
||||
printf("Bytes sent: %d, bytes received %d, loss ratio %.2lf\r\n", udp_stats[j].sent_bytes, udp_stats[j].recv_bytes, loss_ratio);
|
||||
tr_info("Bytes sent: %d, bytes received %d, loss ratio %.2lf\r\n", udp_stats[j].sent_bytes, udp_stats[j].recv_bytes, loss_ratio);
|
||||
TEST_ASSERT_DOUBLE_WITHIN(TOLERATED_LOSS_RATIO, EXPECTED_LOSS_RATIO, loss_ratio);
|
||||
|
||||
#endif
|
||||
} else {
|
||||
TEST_FAIL();
|
||||
}
|
||||
}
|
||||
TEST_ASSERT_EQUAL(NSAPI_ERROR_OK, sock.close());
|
||||
|
|
|
@ -181,7 +181,7 @@ nsapi_error_t AT_CellularStack::socket_open(nsapi_socket_t *handle, nsapi_protoc
|
|||
|
||||
int index = find_socket_index(0);
|
||||
if (index == -1) {
|
||||
tr_error("No free sockets!");
|
||||
tr_warn("No free sockets!");
|
||||
_socket_mutex.unlock();
|
||||
return NSAPI_ERROR_NO_SOCKET;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue