From e53ee631f9eaa128912ada59d5538e00a526964b Mon Sep 17 00:00:00 2001 From: Michal Paszta Date: Fri, 16 Nov 2018 16:25:53 +0100 Subject: [PATCH] Greentea netsocket and network tests improvements Added smarter rounding of times in recv_timeout and increased the delta by one, to allow "off-by-one" errors. Reverted commit 88eea6a, reducing TESTS_TIMEOUT back to 480. Introduced a 100ms timeout for waiting on asynchronous DNS resolution. Improved error handling on disconnects. --- .../dns/asynchronous_dns_non_async_and_async.cpp | 2 +- TESTS/netsocket/tcp/tcp_tests.h | 2 +- TESTS/netsocket/tcp/tcpsocket_recv_timeout.cpp | 4 ++-- TESTS/network/interface/networkinterface_status.cpp | 9 ++++++--- 4 files changed, 10 insertions(+), 7 deletions(-) diff --git a/TESTS/netsocket/dns/asynchronous_dns_non_async_and_async.cpp b/TESTS/netsocket/dns/asynchronous_dns_non_async_and_async.cpp index 37831b511b..a565ed50b9 100644 --- a/TESTS/netsocket/dns/asynchronous_dns_non_async_and_async.cpp +++ b/TESTS/netsocket/dns/asynchronous_dns_non_async_and_async.cpp @@ -45,7 +45,7 @@ void ASYNCHRONOUS_DNS_NON_ASYNC_AND_ASYNC() TEST_ASSERT(strlen(addr.get_ip_address()) > 1); } - semaphore.wait(); + semaphore.wait(100); TEST_ASSERT(data.result == NSAPI_ERROR_OK); diff --git a/TESTS/netsocket/tcp/tcp_tests.h b/TESTS/netsocket/tcp/tcp_tests.h index c2e34e4bc4..2c694948f0 100644 --- a/TESTS/netsocket/tcp/tcp_tests.h +++ b/TESTS/netsocket/tcp/tcp_tests.h @@ -30,7 +30,7 @@ nsapi_error_t tcpsocket_connect_to_discard_srv(TCPSocket &sock); int split2half_rmng_tcp_test_time(); // [s] namespace tcp_global { -static const int TESTS_TIMEOUT = 960; +static const int TESTS_TIMEOUT = 480; static const int TCP_OS_STACK_SIZE = 2048; static const int RX_BUFF_SIZE = 1220; diff --git a/TESTS/netsocket/tcp/tcpsocket_recv_timeout.cpp b/TESTS/netsocket/tcp/tcpsocket_recv_timeout.cpp index 4fd0008c03..4254d06c86 100644 --- a/TESTS/netsocket/tcp/tcpsocket_recv_timeout.cpp +++ b/TESTS/netsocket/tcp/tcpsocket_recv_timeout.cpp @@ -66,8 +66,8 @@ void TCPSOCKET_RECV_TIMEOUT() TEST_FAIL(); goto CLEANUP; } - printf("MBED: recv() took: %dms\n", timer.read_ms()); - TEST_ASSERT_INT_WITHIN(50, 150, timer.read_ms()); + printf("MBED: recv() took: %dus\n", timer.read_us()); + TEST_ASSERT_INT_WITHIN(51, 150, (timer.read_us() + 500) / 1000); continue; } else if (recvd < 0) { printf("[pkt#%02d] network error %d\n", i, recvd); diff --git a/TESTS/network/interface/networkinterface_status.cpp b/TESTS/network/interface/networkinterface_status.cpp index c0d509d516..32d1a2bd8e 100644 --- a/TESTS/network/interface/networkinterface_status.cpp +++ b/TESTS/network/interface/networkinterface_status.cpp @@ -89,7 +89,8 @@ void NETWORKINTERFACE_STATUS() } TEST_ASSERT_EQUAL(NSAPI_STATUS_GLOBAL_UP, status); - net->disconnect(); + err = net->disconnect(); + TEST_ASSERT_EQUAL(NSAPI_ERROR_OK, err); status = wait_status_callback(); TEST_ASSERT_EQUAL(NSAPI_STATUS_DISCONNECTED, status); @@ -123,7 +124,8 @@ void NETWORKINTERFACE_STATUS_NONBLOCK() } TEST_ASSERT_EQUAL(NSAPI_STATUS_GLOBAL_UP, status); - net->disconnect(); + err = net->disconnect(); + TEST_ASSERT_EQUAL(NSAPI_ERROR_OK, err); status = wait_status_callback(); TEST_ASSERT_EQUAL(NSAPI_STATUS_DISCONNECTED, status); @@ -150,7 +152,8 @@ void NETWORKINTERFACE_STATUS_GET() wait(0.5); } - net->disconnect(); + err = net->disconnect(); + TEST_ASSERT_EQUAL(NSAPI_ERROR_OK, err); TEST_ASSERT_EQUAL(NSAPI_STATUS_DISCONNECTED, net->get_connection_status()); }