Skip to content

Commit 04f0f2b

Browse files
authored
Merge pull request #5604 from betzw/betzw_tests_netsocket_wb
TESTS/NETSOCKET: Refinement of `netsocket` tests
2 parents 9f6eb14 + d6cb385 commit 04f0f2b

File tree

1 file changed

+10
-9
lines changed

1 file changed

+10
-9
lines changed

TESTS/netsocket/socket_sigio/main.cpp

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -67,16 +67,17 @@ bool find_substring(const char *first, const char *last, const char *s_first, co
6767
void get_data(TCPSocket* sock){
6868
bool result = false;
6969
// Server will respond with HTTP GET's success code
70-
const int ret = sock->recv(buffer, sizeof(buffer) - 1);
71-
if(ret <= 0)
72-
return;
73-
74-
buffer[ret] = '\0';
70+
int len = 0;
71+
int ret;
72+
while((ret = sock->recv(buffer+len, sizeof(buffer) - 1 - len)) > 0) {
73+
len += ret;
74+
}
75+
buffer[len] = '\0';
7576

7677
// Find 200 OK HTTP status in reply
77-
bool found_200_ok = find_substring(buffer, buffer + ret, HTTP_OK_STR, HTTP_OK_STR + strlen(HTTP_OK_STR));
78+
bool found_200_ok = find_substring(buffer, buffer + len, HTTP_OK_STR, HTTP_OK_STR + strlen(HTTP_OK_STR));
7879
// Find "Hello World!" string in reply
79-
bool found_hello = find_substring(buffer, buffer + ret, HTTP_HELLO_STR, HTTP_HELLO_STR + strlen(HTTP_HELLO_STR));
80+
bool found_hello = find_substring(buffer, buffer + len, HTTP_HELLO_STR, HTTP_HELLO_STR + strlen(HTTP_HELLO_STR));
8081

8182
TEST_ASSERT_TRUE(found_200_ok);
8283
TEST_ASSERT_TRUE(found_hello);
@@ -85,7 +86,7 @@ void get_data(TCPSocket* sock){
8586

8687
TEST_ASSERT_EQUAL(result, true);
8788

88-
printf("HTTP: Received %d chars from server\r\n", ret);
89+
printf("HTTP: Received %d chars from server\r\n", len);
8990
printf("HTTP: Received 200 OK status ... %s\r\n", found_200_ok ? "[OK]" : "[FAIL]");
9091
printf("HTTP: Received '%s' status ... %s\r\n", HTTP_HELLO_STR, found_hello ? "[OK]" : "[FAIL]");
9192
printf("HTTP: Received message:\r\n");
@@ -109,7 +110,7 @@ void test_socket_attach() {
109110

110111
// Dispatch event queue
111112
Thread eventThread;
112-
EventQueue queue(4*EVENTS_EVENT_SIZE);
113+
EventQueue queue(10*EVENTS_EVENT_SIZE);
113114
eventThread.start(callback(&queue, &EventQueue::dispatch_forever));
114115

115116
printf("TCP client IP Address is %s\r\n", net->get_ip_address());

0 commit comments

Comments
 (0)