@@ -27,7 +27,7 @@ ExternalProject_Add(gtest_build | |||
URL ${REQ_URL} | |||
TLS_VERIFY OFF | |||
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) | |||
INSTALL_COMMAND $(MAKE) install | |||
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_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_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}) | |||
add_dependencies(gtest gtest_build) | |||
@@ -1028,7 +1028,8 @@ target_compile_definitions(ut_libge_multiparts_utest PRIVATE | |||
target_link_libraries(ut_libge_multiparts_utest | |||
$<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 | |||
@@ -1047,7 +1048,8 @@ target_compile_options(ut_libge_others_utest PRIVATE | |||
target_link_libraries(ut_libge_others_utest | |||
$<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 | |||
@@ -1065,7 +1067,8 @@ target_compile_options(ut_libge_kernel_utest PRIVATE | |||
target_link_libraries(ut_libge_kernel_utest | |||
$<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 | |||
@@ -1090,10 +1093,10 @@ target_compile_definitions(ut_libge_distinct_load_utest PRIVATE | |||
) | |||
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 <gmock/gmock.h> | |||
#define private public | |||
#define protected public | |||
@@ -897,4 +898,48 @@ TEST_F(UtestDavinciModel, Sink_time_profile) { | |||
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 |