This is an automated email from the ASF dual-hosted git repository. pengzheng pushed a commit to branch feature/error_injector in repository https://gitbox.apache.org/repos/asf/celix.git
commit e7c89dca6f327c09442eb332b29a38778f5e4769 Author: PengZheng <[email protected]> AuthorDate: Tue Jan 24 16:05:53 2023 +0800 Project structure adjustments in compliance with existing convention. --- CMakeLists.txt | 5 ----- .../pubsub_protocol/pubsub_protocol_lib/gtest/CMakeLists.txt | 2 +- .../pubsub_protocol_lib/gtest/src/PS_WP_common_ei_tests.cc | 4 ++-- libs/CMakeLists.txt | 6 ++++++ {misc => libs}/error_injector/CMakeLists.txt | 6 ++++-- .../error_injector/api/celix_error_injector.h | 2 +- {misc => libs}/error_injector/celix_properties/CMakeLists.txt | 9 +++++---- .../celix_properties/include}/celix_properties_ei.h | 4 ++-- .../error_injector/celix_properties/src/celix_properties_ei.cc | 2 +- {misc => libs}/error_injector/malloc/CMakeLists.txt | 9 +++++---- .../malloc => libs/error_injector/malloc/include}/malloc_ei.h | 2 +- .../malloc_ei.cpp => libs/error_injector/malloc/src/malloc_ei.cc | 2 +- 12 files changed, 29 insertions(+), 24 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 85dc825d..321d1470 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -210,11 +210,6 @@ add_subdirectory(bundles) #Experimental Bundles/Libraries add_subdirectory(misc/experimental) -# Error Injectors -if (ENABLE_TESTING AND LINKER_WRAP_SUPPORTED) - add_subdirectory(misc/error_injector) -endif () - #Example as last, because some example will check if underlining options are enabled add_subdirectory(examples/celix-examples examples) diff --git a/bundles/pubsub/pubsub_protocol/pubsub_protocol_lib/gtest/CMakeLists.txt b/bundles/pubsub/pubsub_protocol/pubsub_protocol_lib/gtest/CMakeLists.txt index 12df1e93..1116e29a 100644 --- a/bundles/pubsub/pubsub_protocol/pubsub_protocol_lib/gtest/CMakeLists.txt +++ b/bundles/pubsub/pubsub_protocol/pubsub_protocol_lib/gtest/CMakeLists.txt @@ -25,7 +25,7 @@ setup_target_for_coverage(celix_pswp_common_tests SCAN_DIR ..) if (LINKER_WRAP_SUPPORTED) add_executable(celix_pswp_common_ei_tests src/PS_WP_common_ei_tests.cc) target_include_directories(celix_pswp_common_ei_tests PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../src) - target_link_libraries(celix_pswp_common_ei_tests PRIVATE celix_pubsub_protocol_lib GTest::gtest Celix::pubsub_spi GTest::gtest_main malloc_ei celix_properties_ei) + target_link_libraries(celix_pswp_common_ei_tests PRIVATE celix_pubsub_protocol_lib GTest::gtest Celix::pubsub_spi GTest::gtest_main Celix::malloc_ei Celix::properties_ei) add_test(NAME celix_pswp_common_ei_tests COMMAND celix_pswp_common_ei_tests) setup_target_for_coverage(celix_pswp_common_ei_tests SCAN_DIR ..) diff --git a/bundles/pubsub/pubsub_protocol/pubsub_protocol_lib/gtest/src/PS_WP_common_ei_tests.cc b/bundles/pubsub/pubsub_protocol/pubsub_protocol_lib/gtest/src/PS_WP_common_ei_tests.cc index ae43599a..aeccfc2a 100644 --- a/bundles/pubsub/pubsub_protocol/pubsub_protocol_lib/gtest/src/PS_WP_common_ei_tests.cc +++ b/bundles/pubsub/pubsub_protocol/pubsub_protocol_lib/gtest/src/PS_WP_common_ei_tests.cc @@ -22,8 +22,8 @@ #include <gtest/gtest.h> #include <iostream> #include <cstring> -#include <celix_properties_ei.h> -#include <malloc_ei.h> +#include "celix_properties_ei.h" +#include "malloc_ei.h" #include "pubsub_wire_protocol_common.h" diff --git a/libs/CMakeLists.txt b/libs/CMakeLists.txt index 13aaa8ea..feee84b7 100644 --- a/libs/CMakeLists.txt +++ b/libs/CMakeLists.txt @@ -33,3 +33,9 @@ add_subdirectory(dependency_manager) if (CELIX_CXX14) add_subdirectory(dependency_manager_cxx) endif () + +# Error Injectors +if (ENABLE_TESTING AND LINKER_WRAP_SUPPORTED) + add_subdirectory(error_injector) +endif () + diff --git a/misc/error_injector/CMakeLists.txt b/libs/error_injector/CMakeLists.txt similarity index 91% rename from misc/error_injector/CMakeLists.txt rename to libs/error_injector/CMakeLists.txt index 77d545e8..a13ba8a7 100644 --- a/misc/error_injector/CMakeLists.txt +++ b/libs/error_injector/CMakeLists.txt @@ -15,11 +15,13 @@ # specific language governing permissions and limitations # under the License. -add_library(error_injector INTERFACE error_injector.h) -target_include_directories(error_injector INTERFACE ${CMAKE_CURRENT_LIST_DIR}) +add_library(error_injector INTERFACE) +target_include_directories(error_injector INTERFACE ${CMAKE_CURRENT_LIST_DIR}/api) # get caller address of the target function, into which errors are injected target_link_libraries(error_injector INTERFACE dl) target_link_options(error_injector INTERFACE -rdynamic) target_compile_options(error_injector INTERFACE -Wno-frame-address) +add_library(Celix::error_injector ALIAS error_injector) + add_subdirectory(malloc) add_subdirectory(celix_properties) diff --git a/misc/error_injector/error_injector.h b/libs/error_injector/api/celix_error_injector.h similarity index 99% rename from misc/error_injector/error_injector.h rename to libs/error_injector/api/celix_error_injector.h index 6529ed20..440ce757 100644 --- a/misc/error_injector/error_injector.h +++ b/libs/error_injector/api/celix_error_injector.h @@ -30,7 +30,7 @@ extern "C" { #define CELIX_EI_GET_CALLER(addr, level) \ do { \ Dl_info dlinfo; \ - dladdr(__builtin_return_address(level), &dlinfo); \ + dladdr(__builtin_return_address(level), &dlinfo); \ (addr) = dlinfo.dli_saddr; \ } while(0) diff --git a/misc/error_injector/celix_properties/CMakeLists.txt b/libs/error_injector/celix_properties/CMakeLists.txt similarity index 69% rename from misc/error_injector/celix_properties/CMakeLists.txt rename to libs/error_injector/celix_properties/CMakeLists.txt index 03ddb235..27b9af07 100644 --- a/misc/error_injector/celix_properties/CMakeLists.txt +++ b/libs/error_injector/celix_properties/CMakeLists.txt @@ -15,9 +15,10 @@ # specific language governing permissions and limitations # under the License. -add_library(celix_properties_ei STATIC celix_properties_ei.cpp) +add_library(properties_ei STATIC src/celix_properties_ei.cc) -target_include_directories(celix_properties_ei PUBLIC ${CMAKE_CURRENT_LIST_DIR}) -target_link_libraries(celix_properties_ei PUBLIC error_injector Celix::utils) +target_include_directories(properties_ei PUBLIC ${CMAKE_CURRENT_LIST_DIR}/include) +target_link_libraries(properties_ei PUBLIC Celix::error_injector Celix::utils) # It plays nicely with address sanitizer this way. -target_link_options(celix_properties_ei INTERFACE LINKER:--wrap,celix_properties_create) \ No newline at end of file +target_link_options(properties_ei INTERFACE LINKER:--wrap,celix_properties_create) +add_library(Celix::properties_ei ALIAS properties_ei) diff --git a/misc/error_injector/celix_properties/celix_properties_ei.h b/libs/error_injector/celix_properties/include/celix_properties_ei.h similarity index 94% rename from misc/error_injector/celix_properties/celix_properties_ei.h rename to libs/error_injector/celix_properties/include/celix_properties_ei.h index f5b1c084..841c5c7c 100644 --- a/misc/error_injector/celix_properties/celix_properties_ei.h +++ b/libs/error_injector/celix_properties/include/celix_properties_ei.h @@ -23,8 +23,8 @@ extern "C" { #endif -#include <celix_properties.h> -#include <error_injector.h> +#include "celix_properties.h" +#include "celix_error_injector.h" CELIX_EI_DECLARE(celix_properties_create, celix_properties_t*); diff --git a/misc/error_injector/celix_properties/celix_properties_ei.cpp b/libs/error_injector/celix_properties/src/celix_properties_ei.cc similarity index 96% rename from misc/error_injector/celix_properties/celix_properties_ei.cpp rename to libs/error_injector/celix_properties/src/celix_properties_ei.cc index 213fbdf9..a9f973e2 100644 --- a/misc/error_injector/celix_properties/celix_properties_ei.cpp +++ b/libs/error_injector/celix_properties/src/celix_properties_ei.cc @@ -17,7 +17,7 @@ under the License. */ -#include <celix_properties_ei.h> +#include "celix_properties_ei.h" extern "C" { void *__real_celix_properties_create(void); diff --git a/misc/error_injector/malloc/CMakeLists.txt b/libs/error_injector/malloc/CMakeLists.txt similarity index 82% rename from misc/error_injector/malloc/CMakeLists.txt rename to libs/error_injector/malloc/CMakeLists.txt index f83027ac..0edc0b72 100644 --- a/misc/error_injector/malloc/CMakeLists.txt +++ b/libs/error_injector/malloc/CMakeLists.txt @@ -15,9 +15,10 @@ # specific language governing permissions and limitations # under the License. -add_library(malloc_ei STATIC malloc_ei.cpp) +add_library(malloc_ei STATIC src/malloc_ei.cc) -target_include_directories(malloc_ei PUBLIC ${CMAKE_CURRENT_LIST_DIR}) -target_link_libraries(malloc_ei PUBLIC error_injector) +target_include_directories(malloc_ei PUBLIC ${CMAKE_CURRENT_LIST_DIR}/include) +target_link_libraries(malloc_ei PUBLIC Celix::error_injector) # It plays nicely with address sanitizer this way. -target_link_options(malloc_ei INTERFACE LINKER:--wrap,malloc LINKER:--wrap,realloc LINKER:--wrap,calloc) \ No newline at end of file +target_link_options(malloc_ei INTERFACE LINKER:--wrap,malloc LINKER:--wrap,realloc LINKER:--wrap,calloc) +add_library(Celix::malloc_ei ALIAS malloc_ei) diff --git a/misc/error_injector/malloc/malloc_ei.h b/libs/error_injector/malloc/include/malloc_ei.h similarity index 96% rename from misc/error_injector/malloc/malloc_ei.h rename to libs/error_injector/malloc/include/malloc_ei.h index 8479af63..93c5a623 100644 --- a/misc/error_injector/malloc/malloc_ei.h +++ b/libs/error_injector/malloc/include/malloc_ei.h @@ -23,7 +23,7 @@ extern "C" { #endif -#include <error_injector.h> +#include "celix_error_injector.h" CELIX_EI_DECLARE(malloc, void *); CELIX_EI_DECLARE(realloc, void *); diff --git a/misc/error_injector/malloc/malloc_ei.cpp b/libs/error_injector/malloc/src/malloc_ei.cc similarity index 98% rename from misc/error_injector/malloc/malloc_ei.cpp rename to libs/error_injector/malloc/src/malloc_ei.cc index d760697c..5d222284 100644 --- a/misc/error_injector/malloc/malloc_ei.cpp +++ b/libs/error_injector/malloc/src/malloc_ei.cc @@ -17,7 +17,7 @@ under the License. */ -#include <malloc_ei.h> +#include "malloc_ei.h" extern "C" { void *__real_malloc(size_t);
