1# ==================== Define your project name (edit) ======================== 2set(project_name "mqtt_agent") 3 4# ===================== Create your mock here (edit) ======================== 5 6# list the files to mock here 7list(APPEND mock_list 8 "${MODULE_ROOT_DIR}/source/dependency/coreMQTT/source/include/core_mqtt.h" 9 "${MODULE_ROOT_DIR}/source/dependency/coreMQTT/source/include/core_mqtt_state.h" 10 "${MODULE_ROOT_DIR}/source/include/core_mqtt_agent_command_functions.h" 11 ) 12 13list(APPEND mock_list_command_functions 14 "${MODULE_ROOT_DIR}/source/dependency/coreMQTT/source/include/core_mqtt.h" 15 "${MODULE_ROOT_DIR}/source/dependency/coreMQTT/source/include/core_mqtt_state.h" 16 "${MODULE_ROOT_DIR}/source/include/core_mqtt_agent.h" 17 ) 18 19# list the directories your mocks need 20list(APPEND mock_include_list 21 . 22 ${CMAKE_CURRENT_LIST_DIR}/logging 23 ${CMAKE_CURRENT_LIST_DIR}/config 24 ${MQTT_AGENT_INCLUDE_PUBLIC_DIRS} 25 ${MQTT_INCLUDE_PUBLIC_DIRS} 26 ) 27 28#list the definitions of your mocks to control what to be included 29list(APPEND mock_define_list 30 "" 31 ) 32 33# ================= Create the library under test here (edit) ================== 34 35# list the files you would like to test here 36list(APPEND real_source_files 37 ${MQTT_AGENT_SOURCES} 38 ) 39# list the directories the module under test includes 40list(APPEND real_include_directories 41 . 42 ${CMAKE_CURRENT_LIST_DIR}/logging 43 ${CMAKE_CURRENT_LIST_DIR}/config 44 ${MQTT_AGENT_INCLUDE_PUBLIC_DIRS} 45 ${MQTT_INCLUDE_PUBLIC_DIRS} 46 ) 47 48# ===================== Create UnitTest Code here (edit) ===================== 49 50# list the directories your test needs to include 51list(APPEND test_include_directories 52 . 53 ${MQTT_AGENT_INCLUDE_PUBLIC_DIRS} 54 ) 55 56# ============================= (end edit) =================================== 57 58set(mock_name "${project_name}_mock") 59set(real_name "${project_name}_real") 60 61create_mock_list(${mock_name} 62 "${mock_list}" 63 "${MODULE_ROOT_DIR}/tools/cmock/project.yml" 64 "${mock_include_list}" 65 "${mock_define_list}" 66 ) 67 68create_real_library(${real_name} 69 "${real_source_files}" 70 "${real_include_directories}" 71 "${mock_name}" 72 ) 73 74list(APPEND utest_link_list 75 -l${mock_name} 76 lib${real_name}.a 77 ) 78 79list(APPEND utest_dep_list 80 ${real_name} 81 ) 82 83 84# mqtt_agent_utest 85set(utest_name "${project_name}_utest") 86set(utest_source "${project_name}_utest.c") 87create_test(${utest_name} 88 ${utest_source} 89 "${utest_link_list}" 90 "${utest_dep_list}" 91 "${test_include_directories}" 92 ) 93 94# mqtt_agent_command_functions_utest 95set(mock_name "${project_name}_command_functions_mock") 96set(real_name "${project_name}_command_functions_real") 97create_mock_list(${mock_name} 98 "${mock_list_command_functions}" 99 "${MODULE_ROOT_DIR}/tools/cmock/project.yml" 100 "${mock_include_list}" 101 "${mock_define_list}" 102 ) 103 104create_real_library(${real_name} 105 "${real_source_files}" 106 "${real_include_directories}" 107 "${mock_name}" 108 ) 109 110set(utest_link_list "") 111list(APPEND utest_link_list 112 -l${mock_name} 113 lib${real_name}.a 114 ) 115 116set(utest_dep_list "") 117list(APPEND utest_dep_list 118 ${real_name} 119 ) 120set(utest_name "${project_name}_command_functions_utest") 121set(utest_source "${project_name}_command_functions_utest.c") 122create_test(${utest_name} 123 ${utest_source} 124 "${utest_link_list}" 125 "${utest_dep_list}" 126 "${test_include_directories}" 127 ) 128