Skip to content

Commit ffdd543

Browse files
authored
Merge pull request #11941 from michalpasztamobica/remove_internal_string_apis
Remove string-based API usage within mbed-os
2 parents 7b0a3dc + 71db612 commit ffdd543

File tree

48 files changed

+368
-403
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

48 files changed

+368
-403
lines changed

TESTS/netsocket/README.md

Lines changed: 0 additions & 93 deletions
Original file line numberDiff line numberDiff line change
@@ -221,8 +221,6 @@ Please refer to the following table for priorities of test cases. Priorities are
221221
| 4 | UDPSOCKET_OPEN_CLOSE_REPEAT | MUST |
222222
| 5 | UDPSOCKET_BIND_PORT | SHOULD |
223223
| 6 | UDPSOCKET_BIND_PORT_FAIL | SHOULD |
224-
| 7 | UDPSOCKET_BIND_ADDRESS_PORT | SHOULD |
225-
| 8 | UDPSOCKET_BIND_ADDRESS_NULL | SHOULD |
226224
| 9 | UDPSOCKET_BIND_ADDRESS_INVALID | SHOULD |
227225
| 10 | UDPSOCKET_BIND_WRONG_TYPE | SHOULD |
228226
| 11 | UDPSOCKET_BIND_ADDRESS | SHOULD |
@@ -239,8 +237,6 @@ Please refer to the following table for priorities of test cases. Priorities are
239237
| 22 | TCPSOCKET_OPEN_CLOSE_REPEAT | MUST |
240238
| 23 | TCPSOCKET_BIND_PORT | SHOULD |
241239
| 24 | TCPSOCKET_BIND_PORT_FAIL | SHOULD |
242-
| 25 | TCPSOCKET_BIND_ADDRESS_PORT | SHOULD |
243-
| 26 | TCPSOCKET_BIND_ADDRESS_NULL | SHOULD |
244240
| 27 | TCPSOCKET_BIND_ADDRESS_INVALID | SHOULD |
245241
| 28 | TCPSOCKET_BIND_WRONG_TYPE | SHOULD |
246242
| 29 | TCPSOCKET_BIND_ADDRESS | SHOULD |
@@ -617,51 +613,6 @@ Call `Socket::bind(port)` on a port number that is already used.
617613

618614
The second `Socket::bind()` returns `NSAPI_ERROR_PARAMETER`.
619615

620-
### SOCKET_BIND_ADDRESS_PORT
621-
622-
**Description:**
623-
624-
Call `Socket::bind(addr, port)`.
625-
626-
**Preconditions:**
627-
628-
1. Network interface and stack are initialized.
629-
1. Network connection is up.
630-
631-
**Test steps:**
632-
633-
1. Create an object by calling `new Socket()`.
634-
1. Call `Socket::open(stack)`.
635-
1. Get address by calling `NetworkInterface::get_ip_address()`.
636-
1. Call `Socket::bind(address, <any unused port number>);`.
637-
1. Destroy the socket.
638-
639-
**Expected result:**
640-
641-
All calls return `NSAPI_ERROR_OK`.
642-
643-
### SOCKET_BIND_ADDRESS_NULL
644-
645-
**Description:**
646-
647-
Call `Socket::bind(NULL, port)`.
648-
649-
**Preconditions:**
650-
651-
1. Network interface and stack are initialized.
652-
1. Network connection is up.
653-
654-
**Test steps:**
655-
656-
1. Create an object by calling `new Socket()`.
657-
1. Call `Socket::open(stack)`.
658-
1. Call `Socket::bind(NULL, <any unused port number>);`.
659-
1. Destroy the socket.
660-
661-
**Expected result:**
662-
663-
`Socket::bind()` returns `NSAPI_ERROR_OK`.
664-
665616
### SOCKET_BIND_ADDRESS_INVALID
666617

667618
**Description:**
@@ -783,14 +734,6 @@ Test cases for UDPSocket class
783734

784735
**Description:** Run `SOCKET_BIND_PORT_FAIL` for UDPSocket.
785736

786-
### UDPSOCKET_BIND_ADDRESS_PORT
787-
788-
**Description:** Run `SOCKET_BIND_ADDRESS_PORT` for UDPSocket.
789-
790-
### UDPSOCKET_BIND_ADDRESS_NULL
791-
792-
**Description:** Run `SOCKET_BIND_ADDRESS_NULL` for UDPSocket.
793-
794737
### UDPSOCKET_BIND_ADDRESS_INVALID
795738

796739
**Description:** Run `SOCKET_BIND_ADDRESS_INVALID` for UDPSocket.
@@ -807,34 +750,6 @@ Test cases for UDPSocket class
807750

808751
**Description:** Run `SOCKET_BIND_UNOPENED` for UDPSocket.
809752

810-
### UDPSOCKET_SENDTO_INVALID
811-
812-
**Description:**
813-
814-
Call `UDPSocket::sendto()` with invalid parameters.
815-
816-
**Preconditions:**
817-
818-
1. Network interface and stack are initialized.
819-
1. Network connection is up.
820-
1. UDPSocket is open.
821-
822-
**Test steps:**
823-
824-
1. Call `UDPSocket:sendto( NULL, 9, NULL, 0);`.
825-
1. Call `UDPSocket:sendto( "", 9, NULL, 0);`.
826-
1. Call `UDPSocket:sendto( "", 0, NULL, 0);`.
827-
1. Call `UDPSocket:sendto("echo.mbedcloudtesting.com", 9,NULL, 0);`.
828-
1. Call `UDPSocket:sendto("echo.mbedcloudtesting.com", 9, "hello", 5);`.
829-
1. Destroy the socket.
830-
831-
**Expected result:**
832-
833-
All `sendto()` calls return an error code except:
834-
835-
- Step 4 returns 0.
836-
- Step 5 returns 5.
837-
838753
### UDPSOCKET_SENDTO_REPEAT
839754

840755
**Description:**
@@ -1000,14 +915,6 @@ Test cases for TCPSocket class
1000915

1001916
**Description:** Run `SOCKET_BIND_PORT_FAIL` for TCPSocket.
1002917

1003-
### TCPSOCKET_BIND_ADDRESS_PORT
1004-
1005-
**Description:** Run `SOCKET_BIND_ADDRESS_PORT` for TCPSocket.
1006-
1007-
### TCPSOCKET_BIND_ADDRESS_NULL
1008-
1009-
**Description:** Run `SOCKET_BIND_ADDRESS_NULL` for TCPSocket.
1010-
1011918
### TCPSOCKET_BIND_ADDRESS_INVALID
1012919

1013920
**Description:** Run `SOCKET_BIND_ADDRESS_INVALID` for TCPSocket.

TESTS/netsocket/dns/main.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,8 @@ static void net_bringup()
166166
net = NetworkInterface::get_default_instance();
167167
nsapi_error_t err = net->connect();
168168
TEST_ASSERT_EQUAL(NSAPI_ERROR_OK, err);
169-
const char *address = net->get_ip_address();
169+
SocketAddress address;
170+
net->get_ip_address(&address);
170171

171172
#define MESH 3
172173
#if MBED_CONF_TARGET_NETWORK_DEFAULT_INTERFACE_TYPE == MESH
@@ -175,7 +176,7 @@ static void net_bringup()
175176
ThisThread::sleep_for(500);
176177
}
177178
#endif
178-
printf("MBED: IP address is '%s'\n", address ? address : "null");
179+
printf("MBED: IP address is '%s'\n", address ? address.get_ip_address() : "null");
179180
}
180181

181182
static void net_bringdown()

TESTS/netsocket/tcp/main.cpp

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ void drop_bad_packets(TCPSocket &sock, int orig_timeout)
6666
nsapi_version_t get_ip_version()
6767
{
6868
SocketAddress test;
69-
if (!test.set_ip_address(NetworkInterface::get_default_instance()->get_ip_address())) {
69+
if (NetworkInterface::get_default_instance()->get_ip_address(&test) != NSAPI_ERROR_OK) {
7070
return NSAPI_UNSPEC;
7171
}
7272
return test.get_ip_version();
@@ -77,7 +77,8 @@ static void _ifup()
7777
NetworkInterface *net = NetworkInterface::get_default_instance();
7878
nsapi_error_t err = net->connect();
7979
TEST_ASSERT_EQUAL(NSAPI_ERROR_OK, err);
80-
const char *address = net->get_ip_address();
80+
SocketAddress address;
81+
net->get_ip_address(&address);
8182

8283
#define MESH 3
8384
#if MBED_CONF_TARGET_NETWORK_DEFAULT_INTERFACE_TYPE == MESH
@@ -86,7 +87,7 @@ static void _ifup()
8687
ThisThread::sleep_for(500);
8788
}
8889
#endif
89-
printf("MBED: TCPClient IP address is '%s'\n", address ? address : "null");
90+
printf("MBED: TCPClient IP address is '%s'\n", address ? address.get_ip_address() : "null");
9091
}
9192

9293
static void _ifdown()
@@ -221,8 +222,6 @@ Case cases[] = {
221222
Case("TCPSOCKET_OPEN_TWICE", TCPSOCKET_OPEN_TWICE),
222223
Case("TCPSOCKET_BIND_PORT", TCPSOCKET_BIND_PORT),
223224
Case("TCPSOCKET_BIND_PORT_FAIL", TCPSOCKET_BIND_PORT_FAIL),
224-
Case("TCPSOCKET_BIND_ADDRESS_PORT", TCPSOCKET_BIND_ADDRESS_PORT),
225-
Case("TCPSOCKET_BIND_ADDRESS_NULL", TCPSOCKET_BIND_ADDRESS_NULL),
226225
Case("TCPSOCKET_BIND_ADDRESS_INVALID", TCPSOCKET_BIND_ADDRESS_INVALID),
227226
Case("TCPSOCKET_BIND_ADDRESS", TCPSOCKET_BIND_ADDRESS),
228227
Case("TCPSOCKET_BIND_WRONG_TYPE", TCPSOCKET_BIND_WRONG_TYPE),

TESTS/netsocket/tcp/tcpsocket_bind_address.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,9 @@ void TCPSOCKET_BIND_ADDRESS()
3434
return;
3535
}
3636
TEST_ASSERT_EQUAL(NSAPI_ERROR_OK, sock->open(NetworkInterface::get_default_instance()));
37-
SocketAddress sockAddr = SocketAddress(NetworkInterface::get_default_instance()->get_ip_address(), 80);
37+
SocketAddress sockAddr;
38+
NetworkInterface::get_default_instance()->get_ip_address(&sockAddr);
39+
sockAddr.set_port(80);
3840
nsapi_error_t bind_result = sock->bind(sockAddr);
3941
if (bind_result == NSAPI_ERROR_UNSUPPORTED) {
4042
TEST_IGNORE_MESSAGE("bind() not supported");

TESTS/netsocket/tcp/tcpsocket_bind_address_invalid.cpp

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -29,17 +29,16 @@ using namespace utest::v1;
2929
void TCPSOCKET_BIND_ADDRESS_INVALID()
3030
{
3131
SKIP_IF_TCP_UNSUPPORTED();
32-
TCPSocket *sock = new TCPSocket;
33-
if (!sock) {
34-
TEST_FAIL();
35-
return;
36-
}
37-
TEST_ASSERT_EQUAL(NSAPI_ERROR_OK, sock->open(NetworkInterface::get_default_instance()));
32+
TCPSocket sock;
33+
34+
TEST_ASSERT_EQUAL(NSAPI_ERROR_OK, sock.open(NetworkInterface::get_default_instance()));
3835
nsapi_error_t bind_result = NSAPI_ERROR_OK;
3936
if (get_ip_version() == NSAPI_IPv4) {
40-
bind_result = sock->bind("190.2.3.4", 1024);
37+
SocketAddress a("190.2.3.4", 1024);
38+
bind_result = sock.bind(a);
4139
} else if (get_ip_version() == NSAPI_IPv6) {
42-
bind_result = sock->bind("fe80::ff01", 1024);
40+
SocketAddress a("fe80::ff01", 1024);
41+
bind_result = sock.bind(a);
4342
} else {
4443
TEST_FAIL_MESSAGE("This stack is neither IPv4 nor IPv6");
4544
}
@@ -48,7 +47,5 @@ void TCPSOCKET_BIND_ADDRESS_INVALID()
4847
} else {
4948
TEST_ASSERT_EQUAL(NSAPI_ERROR_PARAMETER, bind_result);
5049
}
51-
52-
delete sock;
5350
}
5451
#endif // defined(MBED_CONF_RTOS_PRESENT)

TESTS/netsocket/tcp/tcpsocket_bind_address_null.cpp

Lines changed: 0 additions & 46 deletions
This file was deleted.

TESTS/netsocket/tcp/tcpsocket_bind_address_port.cpp

Lines changed: 0 additions & 46 deletions
This file was deleted.

TESTS/netsocket/tcp/tcpsocket_bind_wrong_type.cpp

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -28,12 +28,9 @@ using namespace utest::v1;
2828
void TCPSOCKET_BIND_WRONG_TYPE()
2929
{
3030
SKIP_IF_TCP_UNSUPPORTED();
31-
TCPSocket *sock = new TCPSocket;
32-
if (!sock) {
33-
TEST_FAIL();
34-
return;
35-
}
36-
TEST_ASSERT_EQUAL(NSAPI_ERROR_OK, sock->open(NetworkInterface::get_default_instance()));
31+
TCPSocket sock;
32+
33+
TEST_ASSERT_EQUAL(NSAPI_ERROR_OK, sock.open(NetworkInterface::get_default_instance()));
3734
char addr_bytes[16] = {0xfe, 0x80, 0xff, 0x1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
3835
SocketAddress sockAddr;
3936
if (get_ip_version() == NSAPI_IPv4) {
@@ -43,13 +40,11 @@ void TCPSOCKET_BIND_WRONG_TYPE()
4340
} else {
4441
TEST_FAIL_MESSAGE("This stack is neither IPv4 nor IPv6");
4542
}
46-
nsapi_error_t bind_result = sock->bind(sockAddr);
43+
nsapi_error_t bind_result = sock.bind(sockAddr);
4744
if (bind_result == NSAPI_ERROR_UNSUPPORTED) {
4845
TEST_IGNORE_MESSAGE("bind() not supported");
4946
} else {
5047
TEST_ASSERT_EQUAL(NSAPI_ERROR_PARAMETER, bind_result);
5148
}
52-
53-
delete sock;
5449
}
5550
#endif // defined(MBED_CONF_RTOS_PRESENT)

TESTS/netsocket/tcp/tcpsocket_connect_invalid.cpp

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,15 @@ void TCPSOCKET_CONNECT_INVALID()
3131
TCPSocket sock;
3232
TEST_ASSERT_EQUAL(NSAPI_ERROR_OK, sock.open(NetworkInterface::get_default_instance()));
3333

34-
TEST_ASSERT(sock.connect(NULL, 9) < 0);
35-
TEST_ASSERT(sock.connect("", 9) < 0);
36-
TEST_ASSERT(sock.connect("", 0) < 0);
37-
TEST_ASSERT_EQUAL(NSAPI_ERROR_OK, sock.connect(ECHO_SERVER_ADDR, ECHO_SERVER_DISCARD_PORT));
34+
SocketAddress address;
35+
address.set_port(9);
36+
37+
TEST_ASSERT_FALSE(address.set_ip_address(NULL));
38+
39+
// Valid address for the final check
40+
TEST_ASSERT_EQUAL(NSAPI_ERROR_OK, NetworkInterface::get_default_instance()->gethostbyname(ECHO_SERVER_ADDR, &address));
41+
address.set_port(ECHO_SERVER_DISCARD_PORT);
42+
TEST_ASSERT_EQUAL(NSAPI_ERROR_OK, sock.connect(address));
3843

3944
TEST_ASSERT_EQUAL(NSAPI_ERROR_OK, sock.close());
4045
}

TESTS/netsocket/tcp/tcpsocket_setsockopt_keepalive_valid.cpp

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,10 @@ void TCPSOCKET_SETSOCKOPT_KEEPALIVE_VALID()
4141
}
4242

4343
TEST_ASSERT_EQUAL(NSAPI_ERROR_OK, ret);
44-
TEST_ASSERT_EQUAL(NSAPI_ERROR_OK, sock.connect(ECHO_SERVER_ADDR, 9));
44+
SocketAddress address;
45+
TEST_ASSERT_EQUAL(NSAPI_ERROR_OK, NetworkInterface::get_default_instance()->gethostbyname(ECHO_SERVER_ADDR, &address));
46+
address.set_port(9);
47+
TEST_ASSERT_EQUAL(NSAPI_ERROR_OK, sock.connect(address));
4548
// LWIP stack does not support getsockopt so the part below is commented out
4649
// int32_t optval;
4750
// unsigned int optlen;

0 commit comments

Comments
 (0)