mirror of https://github.com/ARMmbed/mbed-os.git
				
				
				
			
						commit
						b15d09173e
					
				| 
						 | 
				
			
			@ -175,13 +175,13 @@ TEST_F(TestAT_CellularStack, test_AT_CellularStack_get_ip_address)
 | 
			
		|||
    ATHandler at(&fh1, que, 0, ",");
 | 
			
		||||
 | 
			
		||||
    MyStack st(at, 0, IPV6_STACK);
 | 
			
		||||
    EXPECT_TRUE(0 == strlen(st.get_ip_address()));
 | 
			
		||||
    EXPECT_EQ(strlen(st.get_ip_address()), 0);
 | 
			
		||||
 | 
			
		||||
    char table[] = "1.2.3.4.5.65.7.8.9.10.11\0";
 | 
			
		||||
    ATHandler_stub::ssize_value = -1;
 | 
			
		||||
    ATHandler_stub::bool_value = true;
 | 
			
		||||
    ATHandler_stub::read_string_value = table;
 | 
			
		||||
    EXPECT_TRUE(NULL == st.get_ip_address());
 | 
			
		||||
    EXPECT_TRUE(st.get_ip_address() == NULL);
 | 
			
		||||
 | 
			
		||||
    ATHandler_stub::ssize_value = strlen(table);
 | 
			
		||||
    ATHandler_stub::bool_value = true;
 | 
			
		||||
| 
						 | 
				
			
			@ -197,18 +197,18 @@ TEST_F(TestAT_CellularStack, test_AT_CellularStack_socket_open)
 | 
			
		|||
 | 
			
		||||
    MyStack st(at, 0, IPV6_STACK);
 | 
			
		||||
    st.bool_value = false;
 | 
			
		||||
    EXPECT_TRUE(NSAPI_ERROR_UNSUPPORTED == st.socket_open(NULL, NSAPI_TCP));
 | 
			
		||||
    EXPECT_EQ(st.socket_open(NULL, NSAPI_TCP), NSAPI_ERROR_UNSUPPORTED);
 | 
			
		||||
 | 
			
		||||
    st.bool_value = true;
 | 
			
		||||
    st.max_sock_value = 0;
 | 
			
		||||
    nsapi_socket_t sock = &st.socket;
 | 
			
		||||
    EXPECT_TRUE(NSAPI_ERROR_NO_SOCKET == st.socket_open(&sock, NSAPI_TCP));
 | 
			
		||||
    EXPECT_EQ(st.socket_open(&sock, NSAPI_TCP), NSAPI_ERROR_NO_SOCKET);
 | 
			
		||||
 | 
			
		||||
    MyStack st2(at, 0, IPV6_STACK);
 | 
			
		||||
    st2.bool_value = true;
 | 
			
		||||
    st2.max_sock_value = 1;
 | 
			
		||||
    sock = &st2.socket;
 | 
			
		||||
    EXPECT_TRUE(NSAPI_ERROR_OK == st2.socket_open(&sock, NSAPI_TCP));
 | 
			
		||||
    EXPECT_EQ(st2.socket_open(&sock, NSAPI_TCP), NSAPI_ERROR_OK);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
TEST_F(TestAT_CellularStack, test_AT_CellularStack_socket_close)
 | 
			
		||||
| 
						 | 
				
			
			@ -218,21 +218,21 @@ TEST_F(TestAT_CellularStack, test_AT_CellularStack_socket_close)
 | 
			
		|||
    ATHandler at(&fh1, que, 0, ",");
 | 
			
		||||
 | 
			
		||||
    MyStack st(at, 0, IPV6_STACK);
 | 
			
		||||
    EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == st.socket_close(&st.socket));
 | 
			
		||||
    EXPECT_EQ(st.socket_close(&st.socket), NSAPI_ERROR_DEVICE_ERROR);
 | 
			
		||||
 | 
			
		||||
    nsapi_socket_t sock = &st.socket;
 | 
			
		||||
    st.bool_value = true;
 | 
			
		||||
    st.max_sock_value = 1;
 | 
			
		||||
    EXPECT_TRUE(NSAPI_ERROR_OK == st.socket_open(&sock, NSAPI_TCP));
 | 
			
		||||
    EXPECT_EQ(st.socket_open(&sock, NSAPI_TCP), NSAPI_ERROR_OK);
 | 
			
		||||
    st.max_sock_value = 0;
 | 
			
		||||
    EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == st.socket_close(sock));
 | 
			
		||||
    EXPECT_EQ(st.socket_close(sock), NSAPI_ERROR_DEVICE_ERROR);
 | 
			
		||||
 | 
			
		||||
    MyStack st2(at, 0, IPV6_STACK);
 | 
			
		||||
    st2.max_sock_value = 1;
 | 
			
		||||
    st2.bool_value = true;
 | 
			
		||||
    sock = &st2.socket;
 | 
			
		||||
    EXPECT_TRUE(NSAPI_ERROR_OK == st2.socket_open(&sock, NSAPI_TCP));
 | 
			
		||||
    EXPECT_TRUE(NSAPI_ERROR_OK == st2.socket_close(sock));
 | 
			
		||||
    EXPECT_EQ(st2.socket_open(&sock, NSAPI_TCP), NSAPI_ERROR_OK);
 | 
			
		||||
    EXPECT_EQ(st2.socket_close(sock), NSAPI_ERROR_OK);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
TEST_F(TestAT_CellularStack, test_AT_CellularStack_socket_bind)
 | 
			
		||||
| 
						 | 
				
			
			@ -244,9 +244,9 @@ TEST_F(TestAT_CellularStack, test_AT_CellularStack_socket_bind)
 | 
			
		|||
    MyStack st(at, 0, IPV6_STACK);
 | 
			
		||||
    SocketAddress addr;
 | 
			
		||||
    ATHandler_stub::nsapi_error_value = NSAPI_ERROR_ALREADY;
 | 
			
		||||
    EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == st.socket_bind(NULL, addr));
 | 
			
		||||
    EXPECT_EQ(st.socket_bind(NULL, addr), NSAPI_ERROR_DEVICE_ERROR);
 | 
			
		||||
 | 
			
		||||
    EXPECT_TRUE(NSAPI_ERROR_ALREADY == st.socket_bind(&st.socket, addr));
 | 
			
		||||
    EXPECT_EQ(st.socket_bind(&st.socket, addr), NSAPI_ERROR_ALREADY);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
TEST_F(TestAT_CellularStack, test_AT_CellularStack_socket_listen)
 | 
			
		||||
| 
						 | 
				
			
			@ -256,7 +256,7 @@ TEST_F(TestAT_CellularStack, test_AT_CellularStack_socket_listen)
 | 
			
		|||
    ATHandler at(&fh1, que, 0, ",");
 | 
			
		||||
 | 
			
		||||
    MyStack st(at, 0, IPV6_STACK);
 | 
			
		||||
    EXPECT_TRUE(NSAPI_ERROR_UNSUPPORTED == st.socket_listen(&st.socket, 4));
 | 
			
		||||
    EXPECT_EQ(st.socket_listen(&st.socket, 4), NSAPI_ERROR_UNSUPPORTED);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
TEST_F(TestAT_CellularStack, test_AT_CellularStack_socket_connect)
 | 
			
		||||
| 
						 | 
				
			
			@ -267,9 +267,9 @@ TEST_F(TestAT_CellularStack, test_AT_CellularStack_socket_connect)
 | 
			
		|||
 | 
			
		||||
    MyStack st(at, 0, IPV6_STACK);
 | 
			
		||||
    SocketAddress addr;
 | 
			
		||||
    EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == st.socket_connect(NULL, addr));
 | 
			
		||||
    EXPECT_EQ(st.socket_connect(NULL, addr), NSAPI_ERROR_DEVICE_ERROR);
 | 
			
		||||
 | 
			
		||||
    EXPECT_TRUE(NSAPI_ERROR_OK == st.socket_connect(&st.socket, addr));
 | 
			
		||||
    EXPECT_EQ(st.socket_connect(&st.socket, addr), NSAPI_ERROR_OK);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
TEST_F(TestAT_CellularStack, test_AT_CellularStack_socket_accept)
 | 
			
		||||
| 
						 | 
				
			
			@ -280,7 +280,7 @@ TEST_F(TestAT_CellularStack, test_AT_CellularStack_socket_accept)
 | 
			
		|||
 | 
			
		||||
    MyStack st(at, 0, IPV6_STACK);
 | 
			
		||||
    nsapi_socket_t sock = &st.socket;
 | 
			
		||||
    EXPECT_TRUE(NSAPI_ERROR_UNSUPPORTED == st.socket_accept(NULL, &sock));
 | 
			
		||||
    EXPECT_EQ(st.socket_accept(NULL, &sock), NSAPI_ERROR_UNSUPPORTED);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
TEST_F(TestAT_CellularStack, test_AT_CellularStack_socket_send)
 | 
			
		||||
| 
						 | 
				
			
			@ -290,9 +290,9 @@ TEST_F(TestAT_CellularStack, test_AT_CellularStack_socket_send)
 | 
			
		|||
    ATHandler at(&fh1, que, 0, ",");
 | 
			
		||||
 | 
			
		||||
    MyStack st(at, 0, IPV6_STACK);
 | 
			
		||||
    EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == st.socket_send(NULL, "addr", 4));
 | 
			
		||||
    EXPECT_EQ(st.socket_send(NULL, "addr", 4), NSAPI_ERROR_DEVICE_ERROR);
 | 
			
		||||
 | 
			
		||||
    EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == st.socket_send(&st.socket, "addr", 4));
 | 
			
		||||
    EXPECT_EQ(st.socket_send(&st.socket, "addr", 4), NSAPI_ERROR_DEVICE_ERROR);
 | 
			
		||||
 | 
			
		||||
    SocketAddress addr;
 | 
			
		||||
    st.max_sock_value = 1;
 | 
			
		||||
| 
						 | 
				
			
			@ -300,7 +300,7 @@ TEST_F(TestAT_CellularStack, test_AT_CellularStack_socket_send)
 | 
			
		|||
    nsapi_socket_t sock = &st.socket;
 | 
			
		||||
    st.socket_open(&sock, NSAPI_TCP);
 | 
			
		||||
    st.socket_connect(sock, addr);
 | 
			
		||||
    EXPECT_TRUE(NSAPI_ERROR_OK == st.socket_send(sock, "addr", 4));
 | 
			
		||||
    EXPECT_EQ(st.socket_send(sock, "addr", 4), NSAPI_ERROR_OK);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
TEST_F(TestAT_CellularStack, test_AT_CellularStack_socket_sendto)
 | 
			
		||||
| 
						 | 
				
			
			@ -312,7 +312,7 @@ TEST_F(TestAT_CellularStack, test_AT_CellularStack_socket_sendto)
 | 
			
		|||
    MyStack st(at, 0, IPV6_STACK);
 | 
			
		||||
 | 
			
		||||
    SocketAddress addr;
 | 
			
		||||
    EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == st.socket_sendto(NULL, addr, "addr", 4));
 | 
			
		||||
    EXPECT_EQ(st.socket_sendto(NULL, addr, "addr", 4), NSAPI_ERROR_DEVICE_ERROR);
 | 
			
		||||
 | 
			
		||||
    st.max_sock_value = 1;
 | 
			
		||||
    st.bool_value = true;
 | 
			
		||||
| 
						 | 
				
			
			@ -320,10 +320,10 @@ TEST_F(TestAT_CellularStack, test_AT_CellularStack_socket_sendto)
 | 
			
		|||
    st.socket_open(&sock, NSAPI_TCP);
 | 
			
		||||
    st.socket_connect(sock, addr);
 | 
			
		||||
    st.create_error = NSAPI_ERROR_CONNECTION_LOST;
 | 
			
		||||
    EXPECT_TRUE(NSAPI_ERROR_CONNECTION_LOST == st.socket_sendto(sock, addr, "addr", 4));
 | 
			
		||||
    EXPECT_EQ(st.socket_sendto(sock, addr, "addr", 4), NSAPI_ERROR_CONNECTION_LOST);
 | 
			
		||||
 | 
			
		||||
    st.create_error = NSAPI_ERROR_OK;
 | 
			
		||||
    EXPECT_TRUE(NSAPI_ERROR_OK == st.socket_sendto(sock, addr, "addr", 4));
 | 
			
		||||
    EXPECT_EQ(st.socket_sendto(sock, addr, "addr", 4), NSAPI_ERROR_OK);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
TEST_F(TestAT_CellularStack, test_AT_CellularStack_socket_recv)
 | 
			
		||||
| 
						 | 
				
			
			@ -334,7 +334,7 @@ TEST_F(TestAT_CellularStack, test_AT_CellularStack_socket_recv)
 | 
			
		|||
 | 
			
		||||
    MyStack st(at, 0, IPV6_STACK);
 | 
			
		||||
    char table[4];
 | 
			
		||||
    EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == st.socket_recv(NULL, table, 4));
 | 
			
		||||
    EXPECT_EQ(st.socket_recv(NULL, table, 4), NSAPI_ERROR_DEVICE_ERROR);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
TEST_F(TestAT_CellularStack, test_AT_CellularStack_socket_recvfrom)
 | 
			
		||||
| 
						 | 
				
			
			@ -345,7 +345,7 @@ TEST_F(TestAT_CellularStack, test_AT_CellularStack_socket_recvfrom)
 | 
			
		|||
 | 
			
		||||
    MyStack st(at, 0, IPV6_STACK);
 | 
			
		||||
    char table[4];
 | 
			
		||||
    EXPECT_TRUE(NSAPI_ERROR_DEVICE_ERROR == st.socket_recvfrom(NULL, NULL, table, 4));
 | 
			
		||||
    EXPECT_EQ(st.socket_recvfrom(NULL, NULL, table, 4), NSAPI_ERROR_DEVICE_ERROR);
 | 
			
		||||
 | 
			
		||||
    SocketAddress addr;
 | 
			
		||||
    st.max_sock_value = 1;
 | 
			
		||||
| 
						 | 
				
			
			@ -354,10 +354,10 @@ TEST_F(TestAT_CellularStack, test_AT_CellularStack_socket_recvfrom)
 | 
			
		|||
    st.socket_open(&sock, NSAPI_TCP);
 | 
			
		||||
    st.socket_connect(sock, addr);
 | 
			
		||||
    st.create_error = NSAPI_ERROR_CONNECTION_LOST;
 | 
			
		||||
    EXPECT_TRUE(NSAPI_ERROR_CONNECTION_LOST == st.socket_recvfrom(sock, &addr, table, 4));
 | 
			
		||||
    EXPECT_EQ(st.socket_recvfrom(sock, &addr, table, 4), NSAPI_ERROR_CONNECTION_LOST);
 | 
			
		||||
 | 
			
		||||
    st.create_error = NSAPI_ERROR_OK;
 | 
			
		||||
    EXPECT_TRUE(NSAPI_ERROR_OK == st.socket_recvfrom(sock, &addr, table, 4));
 | 
			
		||||
    EXPECT_EQ(st.socket_recvfrom(sock, &addr, table, 4), NSAPI_ERROR_OK);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
TEST_F(TestAT_CellularStack, test_AT_CellularStack_socket_attach)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -36,7 +36,7 @@ int ATHandler_stub::timeout = 0;
 | 
			
		|||
bool ATHandler_stub::default_timeout = 0;
 | 
			
		||||
bool ATHandler_stub::debug_on = 0;
 | 
			
		||||
ssize_t ATHandler_stub::ssize_value = 0;
 | 
			
		||||
char *ATHandler_stub::read_string_value = NULL;
 | 
			
		||||
const char *ATHandler_stub::read_string_value = NULL;
 | 
			
		||||
size_t ATHandler_stub::size_value = 0;
 | 
			
		||||
size_t ATHandler_stub::return_given_size = false;
 | 
			
		||||
bool ATHandler_stub::bool_value = false;
 | 
			
		||||
| 
						 | 
				
			
			@ -51,7 +51,7 @@ int ATHandler_stub::int_valid_count_table[kRead_int_table_size];
 | 
			
		|||
int ATHandler_stub::int_count = kRead_int_table_size;
 | 
			
		||||
 | 
			
		||||
int ATHandler_stub::read_string_index = kRead_string_table_size;
 | 
			
		||||
char *ATHandler_stub::read_string_table[kRead_string_table_size];
 | 
			
		||||
const char *ATHandler_stub::read_string_table[kRead_string_table_size];
 | 
			
		||||
int ATHandler_stub::resp_stop_success_count = kResp_stop_count_default;
 | 
			
		||||
 | 
			
		||||
ATHandler::ATHandler(FileHandle *fh, EventQueue &queue, int timeout, const char *output_delimiter, uint16_t send_delay) :
 | 
			
		||||
| 
						 | 
				
			
			@ -176,7 +176,7 @@ ssize_t ATHandler::read_string(char *buf, size_t size, bool read_even_stop_tag)
 | 
			
		|||
 | 
			
		||||
    ATHandler_stub::read_string_index--;
 | 
			
		||||
    if (ATHandler_stub::read_string_index >= 0) {
 | 
			
		||||
        char *tmp = ATHandler_stub::read_string_table[ATHandler_stub::read_string_index];
 | 
			
		||||
        const char *tmp = ATHandler_stub::read_string_table[ATHandler_stub::read_string_index];
 | 
			
		||||
        ssize_t len = strlen(tmp);
 | 
			
		||||
        memcpy(buf, tmp, len + 1);
 | 
			
		||||
        return len;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -41,7 +41,7 @@ extern int timeout;
 | 
			
		|||
extern bool default_timeout;
 | 
			
		||||
extern bool debug_on;
 | 
			
		||||
extern ssize_t ssize_value;
 | 
			
		||||
extern char *read_string_value;
 | 
			
		||||
extern const char *read_string_value;
 | 
			
		||||
extern size_t size_value;
 | 
			
		||||
extern size_t return_given_size;
 | 
			
		||||
extern bool bool_value;
 | 
			
		||||
| 
						 | 
				
			
			@ -52,7 +52,7 @@ extern mbed::FileHandle_stub *fh_value;
 | 
			
		|||
extern mbed::device_err_t device_err_value;
 | 
			
		||||
extern mbed::Callback<void()> callback;
 | 
			
		||||
extern bool call_immediately;
 | 
			
		||||
extern char *read_string_table[kRead_string_table_size];
 | 
			
		||||
extern const char *read_string_table[kRead_string_table_size];
 | 
			
		||||
extern int read_string_index;
 | 
			
		||||
extern int int_valid_count_table[kRead_int_table_size];
 | 
			
		||||
extern int int_count;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -83,6 +83,21 @@ protected:
 | 
			
		|||
 | 
			
		||||
    class CellularSocket {
 | 
			
		||||
    public:
 | 
			
		||||
        CellularSocket() :
 | 
			
		||||
            id(-1),
 | 
			
		||||
            connected(false),
 | 
			
		||||
            proto(NSAPI_UDP),
 | 
			
		||||
            remoteAddress("", 0),
 | 
			
		||||
            localAddress("", 0),
 | 
			
		||||
            _cb(NULL),
 | 
			
		||||
            _data(NULL),
 | 
			
		||||
            created(false),
 | 
			
		||||
            started(false),
 | 
			
		||||
            tx_ready(false),
 | 
			
		||||
            rx_avail(false),
 | 
			
		||||
            pending_bytes(0)
 | 
			
		||||
        {
 | 
			
		||||
        }
 | 
			
		||||
        // Socket id from cellular device
 | 
			
		||||
        int id;
 | 
			
		||||
        // Being connected means remote ip address and port are set
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue