• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1include(FetchContent)
2
3# enable testing
4enable_testing()
5
6set(FETCHCONTENT_QUIET FALSE)
7
8# fetch googletest
9FetchContent_Declare(
10  googletest
11  GIT_REPOSITORY https://gitee.com/openharmony/third_party_googletest.git
12  GIT_TAG f92157de8552e7b4e01d059b2d9a6999c635ab2e
13  GIT_PROGRESS TRUE
14)
15FetchContent_MakeAvailable(googletest)
16
17# fetch all cpp files
18file(GLOB_RECURSE UT_TESTS "ut/*.cpp")
19
20# fetch all util files used by the tests
21file(GLOB_RECURSE UTILS "testfunc/*.cpp")
22include_directories(${CMAKE_CURRENT_SOURCE_DIR}/testfunc)
23
24# Executable/target name
25set(TEST_NAME ffrt_ut)
26
27add_executable(${TEST_NAME} ${UT_TESTS} ${UTILS})
28
29set(COMPILE_DEFS FFRT_GITEE USE_GTEST WITH_NO_MOCKER)
30
31if(NOT EXISTS "/proc/self/sched_rtg_ctrl")
32  set(COMPILE_DEFS ${COMPILE_DEFS} SCHED_RGT_CTRL_DNE)
33endif()
34
35if(NOT EXISTS "/proc/thread-self/sched_qos_ctrl")
36  set(COMPILE_DEFS ${COMPILE_DEFS} SCHED_QOS_CTRL_DNE)
37endif()
38
39if(NOT EXISTS "/dev/auth_ctrl")
40  set(COMPILE_DEFS ${COMPILE_DEFS} AUTH_CTRL_DNE)
41endif()
42
43if(NOT EXISTS "/lib/libeventhandler.z.so")
44  set(COMPILE_DEFS ${COMPILE_DEFS} LIB_EVENT_HANDLER_DNE)
45endif()
46
47# add compile definitions/macros
48add_compile_definitions(${TEST_NAME} ${COMPILE_DEFS})
49
50# link with gtest
51target_link_libraries(
52  ${TEST_NAME}
53  GTest::gtest_main
54  ffrt securec
55  gmock
56)
57
58# add ctests using google-test
59include(GoogleTest)
60gtest_discover_tests(${TEST_NAME})
61