@@ -27,7 +27,7 @@ ExternalProject_Add(gtest_build | |||||
URL ${REQ_URL} | URL ${REQ_URL} | ||||
TLS_VERIFY OFF | TLS_VERIFY OFF | ||||
CONFIGURE_COMMAND ${CMAKE_COMMAND} -DCMAKE_CXX_FLAGS=${gtest_CXXFLAGS} -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}/gtest <SOURCE_DIR> | CONFIGURE_COMMAND ${CMAKE_COMMAND} -DCMAKE_CXX_FLAGS=${gtest_CXXFLAGS} -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}/gtest <SOURCE_DIR> | ||||
-DBUILD_TESTING=OFF -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DBUILD_SHARED_LIBS=ON -DCMAKE_MACOSX_RPATH=TRUE -Dgtest_disable_pthreads=ON | |||||
-DBUILD_TESTING=OFF -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DBUILD_SHARED_LIBS=ON -DCMAKE_MACOSX_RPATH=TRUE | |||||
BUILD_COMMAND $(MAKE) | BUILD_COMMAND $(MAKE) | ||||
INSTALL_COMMAND $(MAKE) install | INSTALL_COMMAND $(MAKE) install | ||||
EXCLUDE_FROM_ALL TRUE | EXCLUDE_FROM_ALL TRUE | ||||
@@ -52,10 +52,27 @@ set_target_properties(gtest_main PROPERTIES | |||||
target_include_directories(gtest INTERFACE ${GTEST_PKG_DIR}/include) | target_include_directories(gtest INTERFACE ${GTEST_PKG_DIR}/include) | ||||
target_include_directories(gtest_main INTERFACE ${GTEST_PKG_DIR}/include) | target_include_directories(gtest_main INTERFACE ${GTEST_PKG_DIR}/include) | ||||
add_library(gmock SHARED IMPORTED) | |||||
set_target_properties(gmock PROPERTIES | |||||
IMPORTED_LOCATION ${GTEST_PKG_DIR}/lib/libgmock.so | |||||
) | |||||
add_library(gmock_main SHARED IMPORTED) | |||||
set_target_properties(gmock_main PROPERTIES | |||||
IMPORTED_LOCATION ${GTEST_PKG_DIR}/lib/libgmock_main.so | |||||
) | |||||
target_include_directories(gmock INTERFACE ${GTEST_PKG_DIR}/include) | |||||
target_include_directories(gmock_main INTERFACE ${GTEST_PKG_DIR}/include) | |||||
set(INSTALL_BASE_DIR "") | set(INSTALL_BASE_DIR "") | ||||
set(INSTALL_LIBRARY_DIR lib) | set(INSTALL_LIBRARY_DIR lib) | ||||
install(FILES ${GTEST_PKG_DIR}/lib/libgtest.so ${GTEST_PKG_DIR}/lib/libgtest_main.so OPTIONAL | |||||
install(FILES ${GTEST_PKG_DIR}/lib/libgtest.so ${GTEST_PKG_DIR}/lib/libgtest_main.so ${GTEST_PKG_DIR}/lib/libgmock.so ${GTEST_PKG_DIR}/lib/libgmock_main.so OPTIONAL | |||||
DESTINATION ${INSTALL_LIBRARY_DIR}) | DESTINATION ${INSTALL_LIBRARY_DIR}) | ||||
add_dependencies(gtest gtest_build) | add_dependencies(gtest gtest_build) | ||||
@@ -1028,7 +1028,8 @@ target_compile_definitions(ut_libge_multiparts_utest PRIVATE | |||||
target_link_libraries(ut_libge_multiparts_utest | target_link_libraries(ut_libge_multiparts_utest | ||||
$<BUILD_INTERFACE:intf_pub> | $<BUILD_INTERFACE:intf_pub> | ||||
ge_build_common ge_load_common ge_execute_common ge_optimize_common ge_partition_common ge_prepare_common ge_single_op ge_ut_common gtest gtest_main ascend_protobuf ${COMMON_SHARED_LIBRARIES} json -lrt -ldl -lgcov | |||||
ge_build_common ge_load_common ge_execute_common ge_optimize_common ge_partition_common ge_prepare_common ge_single_op ge_ut_common | |||||
gtest gtest_main gmock gmock_main ascend_protobuf ${COMMON_SHARED_LIBRARIES} json -lrt -ldl -lgcov | |||||
) | ) | ||||
# libge_others_utest | # libge_others_utest | ||||
@@ -1047,7 +1048,8 @@ target_compile_options(ut_libge_others_utest PRIVATE | |||||
target_link_libraries(ut_libge_others_utest | target_link_libraries(ut_libge_others_utest | ||||
$<BUILD_INTERFACE:intf_pub> | $<BUILD_INTERFACE:intf_pub> | ||||
ge_load_common ge_execute_common ge_ut_common gtest gtest_main ascend_protobuf ${COMMON_SHARED_LIBRARIES} json -lrt -ldl -lgcov | |||||
ge_load_common ge_execute_common ge_ut_common | |||||
gtest gtest_main gmock gmock_main ascend_protobuf ${COMMON_SHARED_LIBRARIES} json -lrt -ldl -lgcov | |||||
) | ) | ||||
# libge_kernel_utest | # libge_kernel_utest | ||||
@@ -1065,7 +1067,8 @@ target_compile_options(ut_libge_kernel_utest PRIVATE | |||||
target_link_libraries(ut_libge_kernel_utest | target_link_libraries(ut_libge_kernel_utest | ||||
$<BUILD_INTERFACE:intf_pub> | $<BUILD_INTERFACE:intf_pub> | ||||
ge_load_common ge_ut_common gtest gtest_main ascend_protobuf ${COMMON_SHARED_LIBRARIES} json -lrt -ldl -lgcov | |||||
ge_load_common ge_ut_common | |||||
gtest gtest_main gmock gmock_main ascend_protobuf ${COMMON_SHARED_LIBRARIES} json -lrt -ldl -lgcov | |||||
) | ) | ||||
# libge_distinct_load_utest | # libge_distinct_load_utest | ||||
@@ -1090,10 +1093,10 @@ target_compile_definitions(ut_libge_distinct_load_utest PRIVATE | |||||
) | ) | ||||
target_link_libraries(ut_libge_distinct_load_utest | target_link_libraries(ut_libge_distinct_load_utest | ||||
${COMMON_SHARED_LIBRARIES} | |||||
$<BUILD_INTERFACE:intf_pub> | |||||
ge_execute_common ge_ut_common_format ge_load_common | |||||
ge_single_op ge_prepare_common | |||||
ge_optimize_common ge_build_common ge_partition_common ge_ut_common | |||||
gtest gtest_main ascend_protobuf json c_sec -lrt -ldl -lpthread -lgcov | |||||
${COMMON_SHARED_LIBRARIES} | |||||
$<BUILD_INTERFACE:intf_pub> | |||||
ge_execute_common ge_ut_common_format ge_load_common | |||||
ge_single_op ge_prepare_common | |||||
ge_optimize_common ge_build_common ge_partition_common ge_ut_common | |||||
gtest gtest_main gmock gmock_main ascend_protobuf json c_sec -lrt -ldl -lpthread -lgcov | |||||
) | ) |
@@ -15,6 +15,7 @@ | |||||
*/ | */ | ||||
#include <gtest/gtest.h> | #include <gtest/gtest.h> | ||||
#include <gmock/gmock.h> | |||||
#define private public | #define private public | ||||
#define protected public | #define protected public | ||||
@@ -897,4 +898,48 @@ TEST_F(UtestDavinciModel, Sink_time_profile) { | |||||
model.SinkTimeProfile(current_data); | model.SinkTimeProfile(current_data); | ||||
} | } | ||||
class ClassTest { | |||||
public: | |||||
virtual ~ClassTest() {} | |||||
virtual int func0() { | |||||
return 0; | |||||
} | |||||
virtual int func1(int a) { | |||||
return a; | |||||
} | |||||
virtual int func2(int a, int b) { | |||||
return a + b; | |||||
} | |||||
virtual int func3(int a, int b) const { | |||||
return a - b; | |||||
} | |||||
}; | |||||
class MockTest : public ClassTest { | |||||
public: | |||||
MOCK_METHOD0(func0, int()); | |||||
MOCK_METHOD1(func1, int(int a)); | |||||
MOCK_METHOD2(func2, int(int a, int b)); | |||||
MOCK_CONST_METHOD2(func3, int(int a, int b)); | |||||
}; | |||||
TEST_F(UtestDavinciModel, simple_test_gmock) { | |||||
MockTest mock_stub; | |||||
ON_CALL(mock_stub, func0()).WillByDefault(testing::Return(250)); | |||||
EXPECT_EQ(mock_stub.func0(), 250); | |||||
EXPECT_EQ(mock_stub.func0(), 250); | |||||
EXPECT_EQ(mock_stub.func0(), 250); | |||||
EXPECT_CALL(mock_stub, func1(testing::_)).Times(2).WillOnce(testing::Return(1024)).WillOnce(testing::Return(250)); | |||||
EXPECT_EQ(mock_stub.func1(1), 1024); | |||||
EXPECT_EQ(mock_stub.func1(1), 250); | |||||
EXPECT_CALL(mock_stub, func2(testing::_, 5)).Times(3).WillRepeatedly(testing::Return(1023)); | |||||
EXPECT_EQ(mock_stub.func2(1, 5), 1023); | |||||
EXPECT_EQ(mock_stub.func2(2, 5), 1023); | |||||
EXPECT_EQ(mock_stub.func2(3, 5), 1023); | |||||
} | |||||
} // namespace ge | } // namespace ge |