mirror of
https://github.com/sogou/workflow.git
synced 2026-02-08 01:33:17 +08:00
Merge pull request #1188 from holmes1412/master
UnitTest use c++14 if Gtest version >= 1.13.0
This commit is contained in:
@@ -18,14 +18,29 @@ set(memcheck_command ${CMAKE_MEMORYCHECK_COMMAND} ${CMAKE_MEMORYCHECK_COMMAND_OP
|
||||
add_custom_target(check COMMAND ${CMAKE_CTEST_COMMAND})
|
||||
|
||||
enable_testing()
|
||||
|
||||
set(CXX_STD "c++11")
|
||||
|
||||
find_package(GTest REQUIRED)
|
||||
get_filename_component(GTEST_PATH ${GTEST_LIBRARY} DIRECTORY)
|
||||
execute_process(COMMAND grep Version "${GTEST_PATH}/pkgconfig/gtest.pc"
|
||||
RESULT_VARIABLE GTEST_VERSION_RESULT
|
||||
OUTPUT_VARIABLE GTEST_VERSION_OUTPUT)
|
||||
if (${GTEST_VERSION_RESULT} EQUAL "0")
|
||||
string(REPLACE " " ";" GTEST_VERSION_STR ${GTEST_VERSION_OUTPUT})
|
||||
list(GET GTEST_VERSION_STR 1 GTEST_VERSION)
|
||||
|
||||
if (${GTEST_VERSION} VERSION_GREATER_EQUAL "1.13.0")
|
||||
set(CXX_STD "c++14")
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
if (WIN32)
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /MP /wd4200")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP /wd4200 /std:c++14")
|
||||
else ()
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -fPIC -pipe -std=gnu90")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -fPIC -pipe -std=c++11 -fno-exceptions")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -fPIC -pipe -std=${CXX_STD} -fno-exceptions")
|
||||
endif ()
|
||||
|
||||
set(TEST_LIST
|
||||
@@ -56,7 +71,8 @@ foreach(src ${TEST_LIST})
|
||||
add_dependencies(check ${src})
|
||||
endforeach()
|
||||
|
||||
foreach(src ${TEST_LIST})
|
||||
add_test(${src}-memory-check ${memcheck_command} ./${src})
|
||||
endforeach()
|
||||
|
||||
if (NOT ${CMAKE_MEMORYCHECK_COMMAND} STREQUAL "CMAKE_MEMORYCHECK_COMMAND-NOTFOUND")
|
||||
foreach(src ${TEST_LIST})
|
||||
add_test(${src}-memory-check ${memcheck_command} ./${src})
|
||||
endforeach()
|
||||
endif ()
|
||||
|
||||
@@ -158,6 +158,11 @@ TEST(redis_unittest, WFRedisTask2)
|
||||
std::mutex mutex;
|
||||
std::condition_variable cond;
|
||||
bool done = false;
|
||||
bool server_started = false;
|
||||
|
||||
WFRedisServer server(__redis_process);
|
||||
if (server.start("127.0.0.1", 6379) == 0)
|
||||
server_started = true;
|
||||
|
||||
test_client("redis://127.0.0.1/6", mutex, cond, done);
|
||||
std::unique_lock<std::mutex> lock(mutex);
|
||||
@@ -165,5 +170,7 @@ TEST(redis_unittest, WFRedisTask2)
|
||||
cond.wait(lock);
|
||||
|
||||
lock.unlock();
|
||||
if (server_started)
|
||||
server.stop();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user