Skip to content

Commit bcab727

Browse files
committed
Add testing to Mac OS workflow
1 parent c64273f commit bcab727

File tree

5 files changed

+32
-13
lines changed

5 files changed

+32
-13
lines changed

.github/workflows/macos.yml

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ jobs:
4343
cunit \
4444
docbook-xsl \
4545
gcc \
46+
googletest \
4647
libedit \
4748
libmicrohttpd \
4849
make \
@@ -52,18 +53,21 @@ jobs:
5253
- name: Configure CMake
5354
run: |
5455
EDITLINE_PREFIX=$(brew --prefix libedit)
55-
cmake -B ${{github.workspace}}/build64 \
56+
cmake -B ${{github.workspace}}/build \
5657
-G Ninja \
5758
-DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} \
5859
-DDOCUMENTATION=OFF \
5960
-DWITH_WEBSOCKETS=ON \
60-
-DWITH_TESTS=OFF \
61-
-DCMAKE_INCLUDE_PATH="$EDITLINE_PREFIX/include" \
62-
-DCMAKE_LIBRARY_PATH="$EDITLINE_PREFIX/lib" \
6361
-DCMAKE_C_FLAGS="-I$EDITLINE_PREFIX/include" \
62+
-DCMAKE_CXX_FLAGS="-I$EDITLINE_PREFIX/include" \
6463
-DCMAKE_EXE_LINKER_FLAGS="-L$EDITLINE_PREFIX/lib" \
6564
-DOPENSSL_ROOT_DIR=$(brew --prefix openssl@3)
65+
6666
- name: Build
6767
run: |
68-
cmake --build ${{github.workspace}}/build64 \
68+
cmake --build ${{github.workspace}}/build \
6969
--config ${{env.BUILD_TYPE}}
70+
71+
- name: Test
72+
working-directory: ${{github.workspace}}/build/
73+
run: ctest --output-on-failure --repeat until-pass:5

test/lib/cpp/03-publish-loop-manual.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
#include <cstdio>
33
#include <cstdlib>
44
#include <cstring>
5+
#include <sys/select.h>
56

67
#include <mosquitto/libmosquittopp.h>
78

test/mock/CMakeLists.txt

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,20 @@
11
add_subdirectory(lib)
22
add_subdirectory(apps)
33

4-
if(EDITLINE_FOUND)
5-
add_library(editline_mock OBJECT editline_mock.cpp)
6-
target_include_directories(editline_mock
4+
function(add_mosquitto_mock MOCK_NAME)
5+
add_library(${MOCK_NAME}_mock OBJECT ${MOCK_NAME}_mock.cpp)
6+
target_include_directories(${MOCK_NAME}_mock
77
PUBLIC
88
${mosquitto_SOURCE_DIR}/test/mock
99
)
10+
target_link_libraries(${MOCK_NAME}_mock
11+
PUBLIC
12+
GTest::gmock
13+
)
14+
endfunction()
15+
16+
if(EDITLINE_FOUND)
17+
add_mosquitto_mock(editline)
1018
endif()
1119

12-
add_library(pthread_mock OBJECT pthread_mock.cpp)
13-
target_include_directories(pthread_mock
14-
PUBLIC
15-
${mosquitto_SOURCE_DIR}/test/mock
16-
)
20+
add_mosquitto_mock(pthread)

test/mock/apps/mosquitto_ctrl/CMakeLists.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,4 +13,10 @@ if(EDITLINE_FOUND)
1313
${mosquitto_SOURCE_DIR}/test/mock
1414
${mosquitto_SOURCE_DIR}/test/mock/apps/mosquitto_ctrl
1515
)
16+
17+
target_link_libraries(ctrl_shell_mock
18+
PUBLIC
19+
GTest::gmock
20+
"${EDITLINE_LIBRARIES}"
21+
)
1622
endif()

test/mock/lib/CMakeLists.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,3 +25,7 @@ target_include_directories(libmosquitto_mock
2525
${mosquitto_SOURCE_DIR}/test/mock
2626
${mosquitto_SOURCE_DIR}/test/mock/lib
2727
)
28+
target_link_libraries(libmosquitto_mock
29+
PUBLIC
30+
GTest::gmock
31+
)

0 commit comments

Comments
 (0)