测试:GoogleTest 全面单测(10工况设备表/故障检测/协议/消息/SQLite读回)+ UDP→SQLite 集成测试,src 零改动
build-test-deploy / ci (push) Failing after 11m45s
build-test-deploy / ci (push) Failing after 11m45s
This commit is contained in:
+84
-4
@@ -5,10 +5,12 @@ project(H100PowerMangerTests)
|
||||
set(CMAKE_CXX_STANDARD 11)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
|
||||
# 需要 GoogleTest(由 CI Dockerfile 或本地安装,提供 GTestConfig/库)
|
||||
find_package(GTest REQUIRED)
|
||||
|
||||
################################################SQLiteTest####################################################################
|
||||
################################################SQLiteTest(保留原有)#######
|
||||
# 添加 SQLite 测试可执行文件(不使用第三方测试库)
|
||||
add_executable(SQLiteTest
|
||||
add_executable(SQLiteTest
|
||||
until/testSqlitdb.cpp
|
||||
${CMAKE_SOURCE_DIR}/src/pPowerManger/sqlit3/SQLite.cpp
|
||||
${CMAKE_SOURCE_DIR}/src/pPowerManger/sqlit3/sqlite3.c
|
||||
@@ -16,7 +18,7 @@ add_executable(SQLiteTest
|
||||
)
|
||||
|
||||
# 包含目录
|
||||
target_include_directories(SQLiteTest PRIVATE
|
||||
target_include_directories(SQLiteTest PRIVATE
|
||||
${CMAKE_SOURCE_DIR}/src/pPowerManger
|
||||
${CMAKE_SOURCE_DIR}/src/pPowerManger/sqlit3
|
||||
)
|
||||
@@ -27,4 +29,82 @@ target_link_libraries(SQLiteTest
|
||||
dl
|
||||
)
|
||||
|
||||
################################################PowerMangerTest####################################################################
|
||||
################################################PowerMangerTests(gtest)####
|
||||
# 综合单元测试:Driver / SystemData / FaultMap / Upmsg / UdpComm /
|
||||
# PmSysvariable / SQLite 读回。仅链接现有 src 源码,不改动生产代码。
|
||||
set(PM_SRC_DIR ${CMAKE_SOURCE_DIR}/src/pPowerManger)
|
||||
|
||||
set(PM_TEST_SOURCES
|
||||
until/DriverTest.cpp
|
||||
until/SystemDataTest.cpp
|
||||
until/FaultMapTest.cpp
|
||||
until/UpmsgTest.cpp
|
||||
until/UdpCommTest.cpp
|
||||
until/PmSysvariableTest.cpp
|
||||
until/SqliteTest.cpp
|
||||
)
|
||||
|
||||
add_executable(PowerMangerTests ${PM_TEST_SOURCES}
|
||||
${PM_SRC_DIR}/driver.cpp
|
||||
${PM_SRC_DIR}/udpcomm/udpComm.cpp
|
||||
${PM_SRC_DIR}/upmsg/upmsg_definitions.cpp
|
||||
${PM_SRC_DIR}/sqlit3/SQLite.cpp
|
||||
${PM_SRC_DIR}/sqlit3/sqlite3.c
|
||||
${PM_SRC_DIR}/logc/loguru.cpp
|
||||
)
|
||||
|
||||
target_include_directories(PowerMangerTests PRIVATE
|
||||
${PM_SRC_DIR}
|
||||
${PM_SRC_DIR}/sqlit3
|
||||
${PM_SRC_DIR}/upmsg
|
||||
${PM_SRC_DIR}/udpcomm
|
||||
${PM_SRC_DIR}/logc
|
||||
)
|
||||
|
||||
# gtest 需要 C++14+
|
||||
set_target_properties(PowerMangerTests PROPERTIES
|
||||
CXX_STANDARD 14
|
||||
CXX_STANDARD_REQUIRED ON
|
||||
)
|
||||
|
||||
# 兼容两种 gtest 安装方式:镜像安装(提供 GTest::gtest_main) 或 apt(仅 GTest_LIBRARIES)
|
||||
if(TARGET GTest::gtest_main)
|
||||
set(GTEST_LIBS GTest::gtest_main GTest::gtest)
|
||||
else()
|
||||
set(GTEST_LIBS ${GTest_LIBRARIES})
|
||||
target_include_directories(PowerMangerTests PRIVATE ${GTest_INCLUDE_DIRS})
|
||||
endif()
|
||||
|
||||
target_link_libraries(PowerMangerTests
|
||||
${GTEST_LIBS}
|
||||
${MOOS_LIBRARIES}
|
||||
mbutil
|
||||
jsoncpp
|
||||
m
|
||||
pthread
|
||||
dl
|
||||
)
|
||||
|
||||
################################################udpFeeder(集成测试用)#######
|
||||
# 集成测试辅助:向 pPowerManger 发送真实 CCU 状态反馈 UDP 消息(字节级一致)
|
||||
add_executable(udpFeeder
|
||||
integration/udp_feeder.cpp
|
||||
${PM_SRC_DIR}/udpcomm/udpComm.cpp
|
||||
${PM_SRC_DIR}/logc/loguru.cpp
|
||||
)
|
||||
target_include_directories(udpFeeder PRIVATE
|
||||
${PM_SRC_DIR}
|
||||
${PM_SRC_DIR}/udpcomm
|
||||
${PM_SRC_DIR}/logc
|
||||
)
|
||||
set_target_properties(udpFeeder PROPERTIES
|
||||
CXX_STANDARD 11
|
||||
CXX_STANDARD_REQUIRED ON
|
||||
)
|
||||
target_link_libraries(udpFeeder
|
||||
${MOOS_LIBRARIES}
|
||||
mbutil
|
||||
m
|
||||
pthread
|
||||
dl
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user