@@ -47,53 +47,61 @@ int main() {
47
47
printf (" Got a uuid of %s\r\n " , uuid);
48
48
size_t uuid_len = strlen (uuid);
49
49
EthernetInterface eth;
50
- eth.connect ();
51
- printf (" UDP client IP Address is %s\n " , eth.get_ip_address ());
52
-
53
- greentea_send_kv (" target_ip" , eth.get_ip_address ());
54
-
55
- char recv_key[] = " host_port" ;
56
- char ipbuf[60 ] = {0 };
57
- char portbuf[16 ] = {0 };
58
- unsigned int port = 0 ;
59
-
60
- UDPSocket sock;
61
- sock.open (ð);
62
- sock.set_timeout (MBED_CFG_UDP_CLIENT_ECHO_TIMEOUT);
63
-
64
- greentea_send_kv (" host_ip" , " " );
65
- greentea_parse_kv (recv_key, ipbuf, sizeof (recv_key), sizeof (ipbuf));
66
-
67
- greentea_send_kv (" host_port" , " " );
68
- greentea_parse_kv (recv_key, portbuf, sizeof (recv_key), sizeof (ipbuf));
69
- sscanf (portbuf, " %u" , &port);
70
-
71
- printf (" MBED: UDP Server IP address received: %s:%d \n " , ipbuf, port);
72
- SocketAddress udp_addr (ipbuf, port);
73
-
74
- int success = 0 ;
75
- int i = 0 ;
76
- while (success < ECHO_LOOPS) {
77
- prep_buffer (uuid, uuid_len, tx_buffer, sizeof (tx_buffer));
78
- const int ret = sock.sendto (udp_addr, tx_buffer, sizeof (tx_buffer));
79
- printf (" [%02d] sent %d Bytes - %.*s \n " , i, ret, MBED_CFG_UDP_CLIENT_ECHO_BUFFER_SIZE, tx_buffer);
80
- SocketAddress temp_addr;
81
- const int n = sock.recvfrom (&temp_addr, rx_buffer, sizeof (rx_buffer));
82
- printf (" [%02d] recv %d Bytes - %.*s \n " , i, ret, MBED_CFG_UDP_CLIENT_ECHO_BUFFER_SIZE, rx_buffer);
83
-
84
- if ((temp_addr == udp_addr &&
85
- n == sizeof (tx_buffer) &&
86
- memcmp (rx_buffer, tx_buffer, sizeof (rx_buffer)) == 0 )) {
87
- success += 1 ;
88
-
89
- printf (" [%02d] success #%d\n " , i, success);
50
+
51
+ int err = eth.connect ();
52
+ TEST_ASSERT_EQUAL (0 , err);
53
+
54
+ if (err) {
55
+ printf (" MBED: failed to connect with an error of %d\r\n " , err);
56
+ GREENTEA_TESTSUITE_RESULT (false );
57
+ } else {
58
+ printf (" UDP client IP Address is %s\n " , eth.get_ip_address ());
59
+
60
+ greentea_send_kv (" target_ip" , eth.get_ip_address ());
61
+
62
+ char recv_key[] = " host_port" ;
63
+ char ipbuf[60 ] = {0 };
64
+ char portbuf[16 ] = {0 };
65
+ unsigned int port = 0 ;
66
+
67
+ UDPSocket sock;
68
+ sock.open (ð);
69
+ sock.set_timeout (MBED_CFG_UDP_CLIENT_ECHO_TIMEOUT);
70
+
71
+ greentea_send_kv (" host_ip" , " " );
72
+ greentea_parse_kv (recv_key, ipbuf, sizeof (recv_key), sizeof (ipbuf));
73
+
74
+ greentea_send_kv (" host_port" , " " );
75
+ greentea_parse_kv (recv_key, portbuf, sizeof (recv_key), sizeof (ipbuf));
76
+ sscanf (portbuf, " %u" , &port);
77
+
78
+ printf (" MBED: UDP Server IP address received: %s:%d \n " , ipbuf, port);
79
+ SocketAddress udp_addr (ipbuf, port);
80
+
81
+ int success = 0 ;
82
+ int i = 0 ;
83
+ while (success < ECHO_LOOPS) {
84
+ prep_buffer (uuid, uuid_len, tx_buffer, sizeof (tx_buffer));
85
+ const int ret = sock.sendto (udp_addr, tx_buffer, sizeof (tx_buffer));
86
+ printf (" [%02d] sent %d Bytes - %.*s \n " , i, ret, MBED_CFG_UDP_CLIENT_ECHO_BUFFER_SIZE, tx_buffer);
87
+ SocketAddress temp_addr;
88
+ const int n = sock.recvfrom (&temp_addr, rx_buffer, sizeof (rx_buffer));
89
+ printf (" [%02d] recv %d Bytes - %.*s \n " , i, ret, MBED_CFG_UDP_CLIENT_ECHO_BUFFER_SIZE, rx_buffer);
90
+
91
+ if ((temp_addr == udp_addr &&
92
+ n == sizeof (tx_buffer) &&
93
+ memcmp (rx_buffer, tx_buffer, sizeof (rx_buffer)) == 0 )) {
94
+ success += 1 ;
95
+
96
+ printf (" [%02d] success #%d\n " , i, success);
97
+ }
98
+ i++;
90
99
}
91
- i++;
92
- }
93
100
94
- bool result = success == ECHO_LOOPS;
101
+ bool result = success == ECHO_LOOPS;
95
102
96
- sock.close ();
97
- eth.disconnect ();
98
- GREENTEA_TESTSUITE_RESULT (result);
103
+ sock.close ();
104
+ eth.disconnect ();
105
+ GREENTEA_TESTSUITE_RESULT (result);
106
+ }
99
107
}
0 commit comments