LLT_Example
main.cpp
#include "gtest.h"
#include <iostream>
#include "securec.h"
#include "GTestLLT/CMyTest.h"
TEST(securecfunTest, memcpyTest)
{
#define BUFF_LEN_EXAMPLE 20
int Buff[BUFF_LEN_EXAMPLE];
memset_s(&Buff, sizeof(int) * BUFF_LEN_EXAMPLE, 0xff, sizeof(int) * BUFF_LEN_EXAMPLE);
for (int i = 0; i < BUFF_LEN_EXAMPLE; ++i) {
if (i%4 == 0) {
printf("\n");
}
printf("0x%08x ", Buff[i]);
}
printf("\n ---------------------------------------\n ");
memset_s(&Buff, sizeof(int) * BUFF_LEN_EXAMPLE, 0, sizeof(int) * BUFF_LEN_EXAMPLE);
for (int i = 0; i < BUFF_LEN_EXAMPLE; ++i) {
if (i%4 == 0) {
printf("\n");
}
printf("0x%08x ", Buff[i]);
}
printf("\n ---------------------------------------\n ");
}
GTEST_API_ int main(int argc, char **argv)
{
CMyTest testobj;
testobj.RunTest();
testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
}
example.cpp
#include <stdio.h> #include "gtest.h" int add(int a, int b) { printf("show example\n"); return a + b; } TEST(test1, c1) { EXPECT_EQ(4, add(2, 2)); }
CMyTest.h
class CMyTest { public: void RunTest(); };
CMyTest.cpp
#include "CMyTest.h" using namespace std; void CMyTest::RunTest() { }
CMakeList.txt
cmake_minimum_required(VERSION 3.15) project(MyPractices) set(CMAKE_CXX_STANDARD 11) set(PROJ_MAIN_PATH ${CMAKE_SOURCE_DIR}) #platform securec set(PATH_SAFE_LIBS ${PROJ_MAIN_PATH}/platform/safelibs/libs) set(PATH_SAFE_INC ${PROJ_MAIN_PATH}/platform/safelibs/include) set(LIBS_LIST_SAFE ${PATH_SAFE_LIBS}/libdopra.a ${PATH_SAFE_LIBS}/libsecurec.a) ## googleTest set(GOOGLETEST_VERSION 3.15) set(PATH_GTEST_MAIN ${PROJ_MAIN_PATH}/googletest/googletest) set(PATH_GTEST_MOCK ${PROJ_MAIN_PATH}/googletest/googlemock) set(PATH_GTEST_INC_LIST ${PATH_GTEST_MAIN}/include ${PATH_GTEST_MAIN}/include/gtest ${PATH_GTEST_MOCK}/include ${PATH_GTEST_MOCK}/include/gmock) set(SRC_INC_LIST ${PROJ_MAIN_PATH}/inc ${PROJ_MAIN_PATH}/src) add_compile_options(-Wall) # google test begin include_directories(${PATH_GTEST_INC_LIST}) add_subdirectory(${PATH_GTEST_MOCK}) link_directories(${PATH_GTEST_MOCK}) set(GOOGLETESTLIB gtest gmock) ##gtest source files set(GTEST_SRC_PATH_LIST ${PROJECT_SOURCE_DIR}/GTestLLT) aux_source_directory(${GTEST_SRC_PATH_LIST} GTEST_SRC_LIST) ##google test end ##head files include_directories(${SRC_INC_LIST}) include_directories(${PATH_SAFE_INC}) ##souce files aux_source_directory(${PROJECT_SOURCE_DIR} SRC_LIST_ROOT) aux_source_directory(${PROJECT_SOURCE_DIR}/src SRC_LIST_MAIN) set(SRC_LIST_ALL ${GTEST_SRC_LIST} ${SRC_LIST_ROOT} ${SRC_LIST_MAIN}) link_libraries(${LIBS_LIST_SAFE}) add_executable(MyPractices ${SRC_LIST_ALL} ) target_link_libraries(MyPractices ${GOOGLETESTLIB})
直接连接,无需编译gtest
cmake_minimum_required(VERSION 3.15)
project(MyPractices)
set(CMAKE_CXX_STANDARD 11)
set(PROJ_MAIN_PATH ${CMAKE_SOURCE_DIR})
#platform securec
set(PATH_SAFE_LIBS ${PROJ_MAIN_PATH}/platform/safelibs/libs)
set(PATH_SAFE_INC ${PROJ_MAIN_PATH}/platform/safelibs/include)
set(LIBS_LIST_SAFE
${PATH_SAFE_LIBS}/libdopra.a
${PATH_SAFE_LIBS}/libsecurec.a
${PROJ_MAIN_PATH}/platform/gtest/libgmock_maind.a
${PROJ_MAIN_PATH}/platform/gtest/libgmockd.a
${PROJ_MAIN_PATH}/platform/gtest/libgtest_maind.a
${PROJ_MAIN_PATH}/platform/gtest/libgtestd.a)
## googleTest
set(GOOGLETEST_VERSION 3.15)
set(PATH_GTEST_MAIN ${PROJ_MAIN_PATH}/googletest/googletest)
set(PATH_GTEST_MOCK ${PROJ_MAIN_PATH}/googletest/googlemock)
set(PATH_GTEST_INC_LIST
${PATH_GTEST_MAIN}/include
${PATH_GTEST_MAIN}/include/gtest
${PATH_GTEST_MOCK}/include
${PATH_GTEST_MOCK}/include/gmock)
set(SRC_INC_LIST
${PROJ_MAIN_PATH}/inc
${PROJ_MAIN_PATH}/src)
add_compile_options(-Wall)
# google test begin
include_directories(${PATH_GTEST_INC_LIST})
#add_subdirectory(${PATH_GTEST_MOCK})
#link_directories(${PATH_GTEST_MOCK})
#set(GOOGLETESTLIB gtest gmock)
##gtest source files
set(GTEST_SRC_PATH_LIST ${PROJECT_SOURCE_DIR}/GTestLLT)
#aux_source_directory(${GTEST_SRC_PATH_LIST} GTEST_SRC_LIST)
##google test end
##head files
include_directories(${SRC_INC_LIST})
include_directories(${PATH_SAFE_INC})
##souce files
aux_source_directory(${PROJECT_SOURCE_DIR} SRC_LIST_ROOT)
aux_source_directory(${PROJECT_SOURCE_DIR}/src SRC_LIST_MAIN)
set(SRC_LIST_ALL
${GTEST_SRC_LIST}
${SRC_LIST_ROOT}
${SRC_LIST_MAIN})
link_libraries(${LIBS_LIST_SAFE})
add_executable(MyPractices ${SRC_LIST_ALL} )
#target_link_libraries(MyPractices ${GOOGLETESTLIB})
浙公网安备 33010602011771号