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})

  

 

posted on 2022-05-03 19:48  蜀山菜鸟  阅读(137)  评论(0)    收藏  举报