From 659f26a5e34c344b7cf95f38c89099a6c36ba708 Mon Sep 17 00:00:00 2001 From: hantianfeng Date: Thu, 22 Aug 2024 18:31:26 +0800 Subject: [PATCH] fix core tests, --filter=[core] --- .github/workflows/core.yml | 2 +- CMakeLists.txt | 7 ++++++- core-tests/src/server/server.cpp | 2 ++ src/server/thread.cc | 4 ++++ 4 files changed, 13 insertions(+), 2 deletions(-) diff --git a/.github/workflows/core.yml b/.github/workflows/core.yml index eb4b9a36e21..bf32615e599 100644 --- a/.github/workflows/core.yml +++ b/.github/workflows/core.yml @@ -33,7 +33,7 @@ jobs: run: phpize && ./configure --enable-sockets --enable-mysqlnd --enable-openssl - name: make - run: cmake . -DCODE_COVERAGE=ON -DSW_THREAD=1 && + run: cmake . -DCODE_COVERAGE=ON -D enable_thread=1 && make VERBOSE=1 -j && sudo make install diff --git a/CMakeLists.txt b/CMakeLists.txt index e69065e8199..5ddc09cbac1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -127,7 +127,8 @@ link_directories(${LIBRARY_OUTPUT_PATH}) add_library(lib-swoole SHARED ${SRC_LIST}) set_target_properties(lib-swoole PROPERTIES OUTPUT_NAME "swoole" VERSION ${SWOOLE_VERSION}) target_link_libraries(lib-swoole ${SWOOLE_LINK_LIBRARIES}) -if(CODE_COVERAGE) + +if (CODE_COVERAGE) target_link_libraries(lib-swoole coverage_config gcov) endif(CODE_COVERAGE) @@ -166,6 +167,10 @@ set_target_properties(ext-swoole PROPERTIES PREFIX "") set_target_properties(ext-swoole PROPERTIES OUTPUT_NAME "swoole") add_dependencies(ext-swoole lib-swoole) +if (DEFINED enable_thread) + add_definitions(-DSW_THREAD) +endif() + # find libpq if (DEFINED libpq_dir) target_include_directories(ext-swoole BEFORE ${LIBPQ_INCLUDE_DIRS}) diff --git a/core-tests/src/server/server.cpp b/core-tests/src/server/server.cpp index 2a00bb8c284..583c324559e 100644 --- a/core-tests/src/server/server.cpp +++ b/core-tests/src/server/server.cpp @@ -163,6 +163,7 @@ TEST(server, process) { delete lock; } +#ifdef SW_THREAD TEST(server, thread) { Server serv(Server::MODE_THREAD); serv.worker_num = 2; @@ -206,6 +207,7 @@ TEST(server, thread) { serv.start(); t1.join(); } +#endif TEST(server, reload_all_workers) { Server serv(Server::MODE_PROCESS); diff --git a/src/server/thread.cc b/src/server/thread.cc index 784ab105362..d981c18dc6b 100644 --- a/src/server/thread.cc +++ b/src/server/thread.cc @@ -21,6 +21,10 @@ namespace swoole { using network::Socket; Factory *Server::create_thread_factory() { +#ifndef SW_THREAD + swoole_error("Thread support is not enabled, cannot create server with MODE_THREAD"); + return nullptr; +#endif reactor_num = worker_num; connection_list = (Connection *) sw_calloc(max_connection, sizeof(Connection)); if (connection_list == nullptr) {