Skip to content

Commit e609e2f

Browse files
michalpasztamobicaSeppo Takalo
authored andcommitted
unittests: Check NULL pointer scenario in TCPSocket::recvfrom
1 parent 5a74481 commit e609e2f

File tree

1 file changed

+22
-4
lines changed

1 file changed

+22
-4
lines changed

UNITTESTS/features/netsocket/TCPSocket/test_TCPSocket.cpp

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -214,13 +214,33 @@ TEST_F(TestTCPSocket, recv_would_block)
214214
EXPECT_EQ(socket->recv(dataBuf, dataSize), NSAPI_ERROR_WOULD_BLOCK);
215215
}
216216

217-
TEST_F(TestTCPSocket, recv_from)
217+
TEST_F(TestTCPSocket, recv_from_no_socket)
218218
{
219219
stack.return_value = NSAPI_ERROR_OK;
220220
SocketAddress a("127.0.0.1", 1024);
221221
EXPECT_EQ(socket->recvfrom(&a, dataBuf, dataSize), NSAPI_ERROR_NO_SOCKET);
222222
}
223223

224+
TEST_F(TestTCPSocket, recv_from)
225+
{
226+
stack.return_value = NSAPI_ERROR_OK;
227+
SocketAddress a("127.0.0.1", 1024);
228+
EXPECT_EQ(socket->open((NetworkStack *)&stack), NSAPI_ERROR_OK);
229+
EXPECT_EQ(socket->connect(a), NSAPI_ERROR_OK);
230+
SocketAddress b;
231+
EXPECT_EQ(socket->recvfrom(&b, dataBuf, dataSize), NSAPI_ERROR_OK);
232+
EXPECT_EQ(a, b);
233+
}
234+
235+
TEST_F(TestTCPSocket, recv_from_null)
236+
{
237+
stack.return_value = NSAPI_ERROR_OK;
238+
SocketAddress a("127.0.0.1", 1024);
239+
EXPECT_EQ(socket->open((NetworkStack *)&stack), NSAPI_ERROR_OK);
240+
EXPECT_EQ(socket->connect(a), NSAPI_ERROR_OK);
241+
EXPECT_EQ(socket->recvfrom(NULL, dataBuf, dataSize), NSAPI_ERROR_OK);
242+
}
243+
224244
/* listen */
225245

226246
TEST_F(TestTCPSocket, listen_no_open)
@@ -236,9 +256,7 @@ TEST_F(TestTCPSocket, listen)
236256
EXPECT_EQ(socket->listen(1), NSAPI_ERROR_OK);
237257
}
238258

239-
/* accept - will accept ever be used on TCPSocket, or is it just meant for TCPServer?
240-
* accept currently always returns NULL - is this intended? Memory leak
241-
* Perhaps we should make it return UNSUPPORTED ? */
259+
/* these tests will have to be readjusted after TCPServer is deprecated. */
242260

243261
TEST_F(TestTCPSocket, accept_no_open)
244262
{

0 commit comments

Comments
 (0)