Skip to content

Commit 2ef2bd1

Browse files
committed
Added tests [2] --filter=[core] --verbose
1 parent b826119 commit 2ef2bd1

File tree

4 files changed

+29
-7
lines changed

4 files changed

+29
-7
lines changed

core-tests/src/coroutine/socket.cpp

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1526,3 +1526,17 @@ TEST(coroutine_socket, shutdown) {
15261526
ASSERT_ERREQ(ENOTCONN);
15271527
});
15281528
}
1529+
1530+
TEST(coroutine_socket, recv_packet) {
1531+
coroutine::run([](void *arg) {
1532+
Socket sock(SW_SOCK_TCP);
1533+
ASSERT_TRUE(sock.connect(TEST_HTTP_DOMAIN, 80));
1534+
auto req = swoole::test::http_get_request(TEST_HTTP_DOMAIN, "/");
1535+
ASSERT_EQ(sock.send(req.c_str(), req.length()), req.length());
1536+
ASSERT_TRUE(sock.check_liveness());
1537+
auto n = sock.recv_packet();
1538+
ASSERT_GT(n, 0);
1539+
auto buf = sock.get_read_buffer();
1540+
ASSERT_TRUE(buf->contains(TEST_HTTP_EXPECT));
1541+
});
1542+
}

core-tests/src/protocol/ssl.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@
2424
#include <openssl/evp.h>
2525
#include <openssl/buffer.h>
2626

27-
using swoole::String;
2827
using swoole::SSLContext;
28+
using swoole::String;
2929

3030
TEST(ssl, destroy) {
3131
swoole_ssl_init();
@@ -38,7 +38,8 @@ TEST(ssl, get_error) {
3838
const char *error_str = swoole_ssl_get_error();
3939
EXPECT_NE(error_str, nullptr);
4040
String str(error_str);
41-
ASSERT_TRUE(str.contains("SSL routines:func(195):reason(134)"));
41+
DEBUG() << str.to_std_string() << std::endl;
42+
ASSERT_TRUE(str.contains("reason(134)"));
4243
}
4344

4445
TEST(ssl, password) {

core-tests/src/server/server.cpp

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1941,7 +1941,7 @@ TEST(server, reactor_thread_pipe_writable) {
19411941
port->protocol.package_max_length = 8 * 1024 * 1024;
19421942
network::Stream::set_protocol(&port->protocol);
19431943

1944-
swoole::Mutex lock(swoole::Mutex::PROCESS_SHARED);
1944+
Mutex lock(Mutex::PROCESS_SHARED);
19451945
lock.lock();
19461946

19471947
ASSERT_EQ(serv.create(), SW_OK);
@@ -1986,8 +1986,11 @@ TEST(server, reactor_thread_pipe_writable) {
19861986

19871987
serv.onReceive = [&](Server *serv, RecvData *req) -> int {
19881988
uint32_t len = htonl(rdata.length);
1989-
serv->send(req->info.fd, &len, sizeof(len));
1990-
serv->send(req->info.fd, rdata.str, rdata.length);
1989+
EXPECT_TRUE(req->info.flags & SW_EVENT_DATA_OBJ_PTR);
1990+
EXPECT_TRUE(serv->send(req->info.fd, &len, sizeof(len)));
1991+
EXPECT_TRUE(serv->send(req->info.fd, rdata.str, rdata.length));
1992+
EXPECT_MEMEQ(req->data + 4, rdata.str, rdata.length);
1993+
EXPECT_NE(serv->get_worker_message_bus()->move_packet(), nullptr);
19911994
return SW_OK;
19921995
};
19931996

include/swoole_coroutine_socket.h

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -97,14 +97,18 @@ class Socket {
9797
return send(buf.c_str(), buf.length());
9898
}
9999

100+
/**
101+
* The read()/write()/recvmsg()/sendmsg() functions currently does not support SSL
102+
*/
100103
ssize_t read(void *__buf, size_t __n);
101104
ssize_t write(const void *__buf, size_t __n);
105+
ssize_t recvmsg(msghdr *msg, int flags);
106+
ssize_t sendmsg(const msghdr *msg, int flags);
107+
102108
ssize_t readv(network::IOVector *io_vector);
103109
ssize_t readv_all(network::IOVector *io_vector);
104110
ssize_t writev(network::IOVector *io_vector);
105111
ssize_t writev_all(network::IOVector *io_vector);
106-
ssize_t recvmsg(struct msghdr *msg, int flags);
107-
ssize_t sendmsg(const struct msghdr *msg, int flags);
108112
ssize_t recv_all(void *__buf, size_t __n);
109113
ssize_t send_all(const void *__buf, size_t __n);
110114
ssize_t recv_packet(double timeout = 0);

0 commit comments

Comments
 (0)