Skip to content

Commit dcbab9e

Browse files
committed
add-ons: add troubleshoot add-on
1 parent 5c33d2a commit dcbab9e

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+4768
-312
lines changed

.clang-format-ignore

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,43 @@
11
tests/mocks/esp-idf/include/esp_crt_bundle.h
22
tests/mocks/esp-idf/include/esp_err.h
3+
tests/mocks/esp-idf/include/esp_event.h
4+
tests/mocks/esp-idf/include/esp_event_base.h
35
tests/mocks/esp-idf/include/esp_flash_partitions.h
46
tests/mocks/esp-idf/include/esp_http_client.h
57
tests/mocks/esp-idf/include/esp_log.h
68
tests/mocks/esp-idf/include/esp_ota_ops.h
79
tests/mocks/esp-idf/include/esp_partition.h
10+
tests/mocks/esp-idf/include/esp_transport.h
11+
tests/mocks/esp-idf/include/esp_transport_ws.h
12+
tests/mocks/esp-idf/include/esp_websocket_client.h
813
tests/mocks/esp-idf/include/nvs.h
914
tests/mocks/esp-idf/include/nvs_flash.h
1015
tests/mocks/esp-idf/src/esp_crt_bundle.c
1116
tests/mocks/esp-idf/src/esp_err.c
1217
tests/mocks/esp-idf/src/esp_http_client.c
1318
tests/mocks/esp-idf/src/esp_ota_ops.c
19+
tests/mocks/esp-idf/src/esp_websocket_client.c
1420
tests/mocks/esp-idf/src/nvs.c
1521
tests/mocks/freertos/include/FreeRTOSConfig.h
1622
tests/mocks/zephyr/include/zephyr/device.h
1723
tests/mocks/zephyr/include/zephyr/dfu/flash_img.h
1824
tests/mocks/zephyr/include/zephyr/dfu/mcuboot.h
1925
tests/mocks/zephyr/include/zephyr/drivers/flash.h
2026
tests/mocks/zephyr/include/zephyr/fs/nvs.h
27+
tests/mocks/zephyr/include/zephyr/init.h
2128
tests/mocks/zephyr/include/zephyr/kernel.h
2229
tests/mocks/zephyr/include/zephyr/logging/log.h
30+
tests/mocks/zephyr/include/zephyr/logging/log_core.h
2331
tests/mocks/zephyr/include/zephyr/net/http/client.h
2432
tests/mocks/zephyr/include/zephyr/net/net_ip.h
2533
tests/mocks/zephyr/include/zephyr/net/socket.h
2634
tests/mocks/zephyr/include/zephyr/net/tls_credentials.h
35+
tests/mocks/zephyr/include/zephyr/net/websocket.h
36+
tests/mocks/zephyr/include/zephyr/shell/shell.h
2737
tests/mocks/zephyr/include/zephyr/storage/flash_map.h
2838
tests/mocks/zephyr/include/zephyr/sys/reboot.h
39+
tests/mocks/zephyr/include/zephyr/sys/ring_buffer.h
40+
tests/mocks/zephyr/include/zephyr/sys/time_units.h
2941
tests/mocks/zephyr/include/zephyr/sys/util.h
3042
tests/mocks/zephyr/include/zephyr/sys/util_macro.h
3143
tests/mocks/zephyr/include/zephyr/sys_clock.h
@@ -37,4 +49,7 @@ tests/mocks/zephyr/src/kernel.c
3749
tests/mocks/zephyr/src/mcuboot.c
3850
tests/mocks/zephyr/src/nvs.c
3951
tests/mocks/zephyr/src/reboot.c
52+
tests/mocks/zephyr/src/ring_buffer.c
53+
tests/mocks/zephyr/src/shell.c
4054
tests/mocks/zephyr/src/socket.c
55+
tests/mocks/zephyr/src/websocket.c

.github/workflows/build_tests.sh

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -29,19 +29,19 @@ mkdir build
2929
cd build
3030

3131
# Build ESP-IDF use case
32-
cmake .. -G "Unix Makefiles" -DCONFIG_MENDER_MCU_CLIENT_BOARD_TYPE="esp-idf" -DCONFIG_MENDER_MCU_CLIENT_NET_TYPE="esp-idf" -DCONFIG_MENDER_MCU_CLIENT_RTOS_TYPE="freertos" -DCONFIG_MENDER_MCU_CLIENT_TLS_TYPE="mbedtls" -DCONFIG_MENDER_CLIENT_ADD_ON_CONFIGURE=ON -DCONFIG_MENDER_CLIENT_CONFIGURE_STORAGE=ON -DCONFIG_MENDER_CLIENT_ADD_ON_INVENTORY=ON
32+
cmake .. -G "Unix Makefiles" -DCONFIG_MENDER_MCU_CLIENT_BOARD_TYPE="esp-idf" -DCONFIG_MENDER_MCU_CLIENT_NET_TYPE="esp-idf" -DCONFIG_MENDER_MCU_CLIENT_RTOS_TYPE="freertos" -DCONFIG_MENDER_MCU_CLIENT_TLS_TYPE="mbedtls" -DCONFIG_MENDER_CLIENT_ADD_ON_CONFIGURE=ON -DCONFIG_MENDER_CLIENT_CONFIGURE_STORAGE=ON -DCONFIG_MENDER_CLIENT_ADD_ON_INVENTORY=ON -DCONFIG_MENDER_CLIENT_ADD_ON_TROUBLESHOOT=ON
3333
make -j$(nproc)
34-
cmake .. -G "Unix Makefiles" -DCONFIG_MENDER_MCU_CLIENT_BOARD_TYPE="esp-idf" -DCONFIG_MENDER_MCU_CLIENT_NET_TYPE="esp-idf" -DCONFIG_MENDER_MCU_CLIENT_RTOS_TYPE="freertos" -DCONFIG_MENDER_MCU_CLIENT_TLS_TYPE="mbedtls" -DCONFIG_MENDER_CLIENT_ADD_ON_CONFIGURE=ON -DCONFIG_MENDER_CLIENT_CONFIGURE_STORAGE=OFF -DCONFIG_MENDER_CLIENT_ADD_ON_INVENTORY=ON
34+
cmake .. -G "Unix Makefiles" -DCONFIG_MENDER_MCU_CLIENT_BOARD_TYPE="esp-idf" -DCONFIG_MENDER_MCU_CLIENT_NET_TYPE="esp-idf" -DCONFIG_MENDER_MCU_CLIENT_RTOS_TYPE="freertos" -DCONFIG_MENDER_MCU_CLIENT_TLS_TYPE="mbedtls" -DCONFIG_MENDER_CLIENT_ADD_ON_CONFIGURE=ON -DCONFIG_MENDER_CLIENT_CONFIGURE_STORAGE=OFF -DCONFIG_MENDER_CLIENT_ADD_ON_INVENTORY=ON -DCONFIG_MENDER_CLIENT_ADD_ON_TROUBLESHOOT=ON
3535
make -j$(nproc)
3636

3737
# Build Zephyr use case
38-
cmake .. -G "Unix Makefiles" -DCONFIG_MENDER_MCU_CLIENT_BOARD_TYPE="zephyr" -DCONFIG_MENDER_MCU_CLIENT_NET_TYPE="zephyr" -DCONFIG_MENDER_MCU_CLIENT_RTOS_TYPE="zephyr" -DCONFIG_MENDER_MCU_CLIENT_TLS_TYPE="mbedtls" -DCONFIG_MENDER_CLIENT_ADD_ON_CONFIGURE=ON -DCONFIG_MENDER_CLIENT_CONFIGURE_STORAGE=ON -DCONFIG_MENDER_CLIENT_ADD_ON_INVENTORY=ON
38+
cmake .. -G "Unix Makefiles" -DCONFIG_MENDER_MCU_CLIENT_BOARD_TYPE="zephyr" -DCONFIG_MENDER_MCU_CLIENT_NET_TYPE="zephyr" -DCONFIG_MENDER_MCU_CLIENT_RTOS_TYPE="zephyr" -DCONFIG_MENDER_MCU_CLIENT_TLS_TYPE="mbedtls" -DCONFIG_MENDER_CLIENT_ADD_ON_CONFIGURE=ON -DCONFIG_MENDER_CLIENT_CONFIGURE_STORAGE=ON -DCONFIG_MENDER_CLIENT_ADD_ON_INVENTORY=ON -DCONFIG_MENDER_CLIENT_ADD_ON_TROUBLESHOOT=ON
3939
make -j$(nproc)
40-
cmake .. -G "Unix Makefiles" -DCONFIG_MENDER_MCU_CLIENT_BOARD_TYPE="zephyr" -DCONFIG_MENDER_MCU_CLIENT_NET_TYPE="zephyr" -DCONFIG_MENDER_MCU_CLIENT_RTOS_TYPE="zephyr" -DCONFIG_MENDER_MCU_CLIENT_TLS_TYPE="mbedtls" -DCONFIG_MENDER_CLIENT_ADD_ON_CONFIGURE=ON -DCONFIG_MENDER_CLIENT_CONFIGURE_STORAGE=OFF -DCONFIG_MENDER_CLIENT_ADD_ON_INVENTORY=ON
40+
cmake .. -G "Unix Makefiles" -DCONFIG_MENDER_MCU_CLIENT_BOARD_TYPE="zephyr" -DCONFIG_MENDER_MCU_CLIENT_NET_TYPE="zephyr" -DCONFIG_MENDER_MCU_CLIENT_RTOS_TYPE="zephyr" -DCONFIG_MENDER_MCU_CLIENT_TLS_TYPE="mbedtls" -DCONFIG_MENDER_CLIENT_ADD_ON_CONFIGURE=ON -DCONFIG_MENDER_CLIENT_CONFIGURE_STORAGE=OFF -DCONFIG_MENDER_CLIENT_ADD_ON_INVENTORY=ON -DCONFIG_MENDER_CLIENT_ADD_ON_TROUBLESHOOT=ON
4141
make -j$(nproc)
4242

4343
# Build Posix use case
44-
cmake .. -G "Unix Makefiles" -DCONFIG_MENDER_MCU_CLIENT_BOARD_TYPE="posix" -DCONFIG_MENDER_MCU_CLIENT_NET_TYPE="curl" -DCONFIG_MENDER_MCU_CLIENT_RTOS_TYPE="posix" -DCONFIG_MENDER_MCU_CLIENT_TLS_TYPE="mbedtls" -DCONFIG_MENDER_CLIENT_ADD_ON_CONFIGURE=ON -DCONFIG_MENDER_CLIENT_CONFIGURE_STORAGE=ON -DCONFIG_MENDER_CLIENT_ADD_ON_INVENTORY=ON
44+
cmake .. -G "Unix Makefiles" -DCONFIG_MENDER_MCU_CLIENT_BOARD_TYPE="posix" -DCONFIG_MENDER_MCU_CLIENT_NET_TYPE="curl" -DCONFIG_MENDER_MCU_CLIENT_RTOS_TYPE="posix" -DCONFIG_MENDER_MCU_CLIENT_TLS_TYPE="mbedtls" -DCONFIG_MENDER_CLIENT_ADD_ON_CONFIGURE=ON -DCONFIG_MENDER_CLIENT_CONFIGURE_STORAGE=ON -DCONFIG_MENDER_CLIENT_ADD_ON_INVENTORY=ON -DCONFIG_MENDER_CLIENT_ADD_ON_TROUBLESHOOT=ON
4545
make -j$(nproc)
46-
cmake .. -G "Unix Makefiles" -DCONFIG_MENDER_MCU_CLIENT_BOARD_TYPE="posix" -DCONFIG_MENDER_MCU_CLIENT_NET_TYPE="curl" -DCONFIG_MENDER_MCU_CLIENT_RTOS_TYPE="posix" -DCONFIG_MENDER_MCU_CLIENT_TLS_TYPE="mbedtls" -DCONFIG_MENDER_CLIENT_ADD_ON_CONFIGURE=ON -DCONFIG_MENDER_CLIENT_CONFIGURE_STORAGE=OFF -DCONFIG_MENDER_CLIENT_ADD_ON_INVENTORY=ON
46+
cmake .. -G "Unix Makefiles" -DCONFIG_MENDER_MCU_CLIENT_BOARD_TYPE="posix" -DCONFIG_MENDER_MCU_CLIENT_NET_TYPE="curl" -DCONFIG_MENDER_MCU_CLIENT_RTOS_TYPE="posix" -DCONFIG_MENDER_MCU_CLIENT_TLS_TYPE="mbedtls" -DCONFIG_MENDER_CLIENT_ADD_ON_CONFIGURE=ON -DCONFIG_MENDER_CLIENT_CONFIGURE_STORAGE=OFF -DCONFIG_MENDER_CLIENT_ADD_ON_INVENTORY=ON -DCONFIG_MENDER_CLIENT_ADD_ON_TROUBLESHOOT=ON
4747
make -j$(nproc)

.github/workflows/ci.yml

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,14 @@ jobs:
6767
- name: Install libcurl
6868
run: |
6969
wget -q -O - https://github.com/curl/curl/archive/refs/tags/curl-8_1_2.tar.gz | tar xz
70-
cd curl-curl-8_1_2 && autoreconf -fi && ./configure --with-openssl && make && sudo make install
70+
cd curl-curl-8_1_2 && autoreconf -fi && ./configure --with-openssl --enable-websockets && make -j$(nproc) && sudo make install
71+
- name: Install msgpack-c
72+
run: |
73+
wget -q -O - https://github.com/msgpack/msgpack-c/archive/refs/tags/c-6.0.0.tar.gz | tar xz
74+
cd msgpack-c-c-6.0.0 && cmake . -DMSGPACK_BUILD_TESTS=OFF -DMSGPACK_BUILD_EXAMPLES=OFF && make -j$(nproc) && sudo make install
75+
- name: Refresh the dynamic linker cache
76+
run: |
77+
sudo ldconfig
7178
- name: Run build-wrapper
7279
run: |
7380
build-wrapper-linux-x86-64 --out-dir bw_output ./.github/workflows/build_tests.sh

CMakeLists.txt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,12 @@ file(GLOB SOURCES_TEMP
3535
"${CMAKE_CURRENT_LIST_DIR}/add-ons/src/*.c"
3636
)
3737

38-
# Add include directory
38+
# Add include directories
3939
include_directories(${CMAKE_CURRENT_LIST_DIR}/include)
40+
include_directories(${CMAKE_CURRENT_LIST_DIR}/platform/board/${CONFIG_MENDER_MCU_CLIENT_BOARD_TYPE}/include)
41+
include_directories(${CMAKE_CURRENT_LIST_DIR}/platform/net/${CONFIG_MENDER_MCU_CLIENT_NET_TYPE}/include)
42+
include_directories(${CMAKE_CURRENT_LIST_DIR}/platform/rtos/${CONFIG_MENDER_MCU_CLIENT_RTOS_TYPE}/include)
43+
include_directories(${CMAKE_CURRENT_LIST_DIR}/platform/tls/${CONFIG_MENDER_MCU_CLIENT_TLS_TYPE}/include)
4044

4145
# Creation of the library
4246
add_library(mender-mcu-client STATIC ${SOURCES_TEMP})

0 commit comments

Comments
 (0)