diff --git a/.github/workflows/test_child.yml b/.github/workflows/test_child.yml index 6e1a8a4e88..c5db6b82b2 100644 --- a/.github/workflows/test_child.yml +++ b/.github/workflows/test_child.yml @@ -56,7 +56,7 @@ jobs: export RESERVATION_NAME="https://github.com/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID#rvc2-${{ inputs.flavor }}" exec hil_runner --capabilities depthai-core-hil --platforms 'rvc2 and rvc2' --reservation-name $RESERVATION_NAME --wait --docker-image ${{ secrets.CONTAINER_REGISTRY }}/depthai-core-hil:${{ needs.build_docker_container.outputs.tag }} --commands "./tests/run_tests_entrypoint.sh rvc2" - # Testing + # Testing linux_rvc4_test: needs: [build_docker_container] strategy: diff --git a/CMakeLists.txt b/CMakeLists.txt index 7aa5654e8d..d4ef7e6856 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,12 @@ cmake_minimum_required(VERSION 3.20) include(cmake/depthaiOptions.cmake) +if(CMAKE_TOOLCHAIN_FILE) + message(STATUS "Including toolchain file: ${CMAKE_TOOLCHAIN_FILE}") + include("${CMAKE_TOOLCHAIN_FILE}") +else() + message(STATUS "No toolchain file specified, skipping include.") +endif() if(WIN32) add_compile_options(/MP) @@ -64,7 +70,6 @@ else() message(STATUS "Using toolchain file: ${CMAKE_TOOLCHAIN_FILE}") endif() - # Create depthai project project(depthai VERSION "3.1.0" LANGUAGES CXX C) set(DEPTHAI_PRE_RELEASE_TYPE "") # Valid options are "alpha", "beta", "rc", "" @@ -1106,8 +1111,6 @@ endif() # Sanitizers ######################## if(DEPTHAI_SANITIZE) - set(SANITIZE_ADDRESS ON CACHE BOOL "Enable AddressSanitizer for sanitized targets.") - set(SANITIZE_UNDEFINED ON CACHE BOOL "Enable UndefinedBehaviorSanitizer for sanitized targets.") find_package(Sanitizers) add_sanitizers(${TARGET_CORE_NAME}) if(DEPTHAI_HAVE_OPENCV_SUPPORT AND NOT DEPTHAI_MERGED_TARGET) diff --git a/cmake/sanitizers/FindASan.cmake b/cmake/sanitizers/FindASan.cmake index 98ea7cb311..6aad8295c5 100644 --- a/cmake/sanitizers/FindASan.cmake +++ b/cmake/sanitizers/FindASan.cmake @@ -35,6 +35,8 @@ set(FLAG_CANDIDATES if (SANITIZE_ADDRESS AND (SANITIZE_THREAD OR SANITIZE_MEMORY)) + message(STATUS "SANITIZE_THREAD = ${SANITIZE_THREAD}") + message(STATUS "SANITIZE_ADDRESS = ${SANITIZE_ADDRESS}") message(FATAL_ERROR "AddressSanitizer is not compatible with " "ThreadSanitizer or MemorySanitizer.") endif () diff --git a/cmake/sanitizers/FindTSan.cmake b/cmake/sanitizers/FindTSan.cmake index 3cba3c03b6..57e54a8a1c 100644 --- a/cmake/sanitizers/FindTSan.cmake +++ b/cmake/sanitizers/FindTSan.cmake @@ -28,7 +28,6 @@ set(FLAG_CANDIDATES "-g -fsanitize=thread" ) - # ThreadSanitizer is not compatible with MemorySanitizer. if (SANITIZE_THREAD AND SANITIZE_MEMORY) message(FATAL_ERROR "ThreadSanitizer is not compatible with " diff --git a/cmake/toolchain/asan-ubsan.cmake b/cmake/toolchain/asan-ubsan.cmake index 309ca69ce9..41cbad1b9b 100644 --- a/cmake/toolchain/asan-ubsan.cmake +++ b/cmake/toolchain/asan-ubsan.cmake @@ -9,4 +9,8 @@ set(CMAKE_SHARED_LINKER_FLAGS ${_internal_flags_sanitizer}) set(CMAKE_SHARED_LINKER_FLAGS_INIT ${_internal_flags_sanitizer}) set(CMAKE_MODULE_LINKER_FLAGS ${_internal_flags_sanitizer}) set(CMAKE_MODULE_LINKER_FLAGS_INIT ${_internal_flags_sanitizer}) +set(DEPTHAI_SANITIZE ON) +set(SANITIZE_ADDRESS ON) +set(SANITIZE_UNDEFINED ON) +set(SANITIZE_THREAD OFF) set(_internal_flags_sanitizer) diff --git a/cmake/toolchain/tsan.cmake b/cmake/toolchain/tsan.cmake index 7af0a18f7a..5847d43dbd 100644 --- a/cmake/toolchain/tsan.cmake +++ b/cmake/toolchain/tsan.cmake @@ -1,3 +1,4 @@ +message(STATUS ">>> Toolchain loaded: ${CMAKE_CURRENT_LIST_FILE}") set(_internal_flags_sanitizer "-fno-omit-frame-pointer -fsanitize=thread") set(CMAKE_C_FLAGS ${_internal_flags_sanitizer}) set(CMAKE_CXX_FLAGS ${_internal_flags_sanitizer}) @@ -9,4 +10,8 @@ set(CMAKE_SHARED_LINKER_FLAGS ${_internal_flags_sanitizer}) set(CMAKE_SHARED_LINKER_FLAGS_INIT ${_internal_flags_sanitizer}) set(CMAKE_MODULE_LINKER_FLAGS ${_internal_flags_sanitizer}) set(CMAKE_MODULE_LINKER_FLAGS_INIT ${_internal_flags_sanitizer}) +set(DEPTHAI_SANITIZE ON) +set(SANITIZE_ADDRESS OFF) +set(SANITIZE_UNDEFINED OFF) +set(SANITIZE_THREAD ON) set(_internal_flags_sanitizer) \ No newline at end of file diff --git a/tests/Dockerfile b/tests/Dockerfile index c7aed0276d..6eba35b133 100644 --- a/tests/Dockerfile +++ b/tests/Dockerfile @@ -101,10 +101,9 @@ RUN python3 -m venv venv && \ ENV PATH="/workspace/venv/bin:$PATH" -# Set toolchain path only if flavor != vanilla RUN if [ "$FLAVOR" != "vanilla" ]; then \ - export CMAKE_TOOLCHAIN_PATH=/workspace/cmake/toolchain/${FLAVOR}.cmake && \ - echo "Using toolchain: $CMAKE_TOOLCHAIN_PATH"; \ + export CMAKE_TOOLCHAIN_FILE=/workspace/cmake/toolchain/${FLAVOR}.cmake && \ + echo "Using toolchain: $CMAKE_TOOLCHAIN_FILE"; \ else \ echo "Using vanilla flavor (no toolchain)"; \ fi && \