diff --git a/libs/utils/error_injector/celix_array_list/CMakeLists.txt b/libs/utils/error_injector/celix_array_list/CMakeLists.txt index 7414db49b..2962dba59 100644 --- a/libs/utils/error_injector/celix_array_list/CMakeLists.txt +++ b/libs/utils/error_injector/celix_array_list/CMakeLists.txt @@ -23,6 +23,7 @@ target_link_options(array_list_ei INTERFACE LINKER:--wrap,celix_arrayList_create LINKER:--wrap,celix_arrayList_createWithOptions LINKER:--wrap,celix_arrayList_createStringArray + LINKER:--wrap,celix_arrayList_createLongArray LINKER:--wrap,celix_arrayList_copy LINKER:--wrap,celix_arrayList_add LINKER:--wrap,celix_arrayList_addString diff --git a/libs/utils/error_injector/celix_array_list/include/celix_array_list_ei.h b/libs/utils/error_injector/celix_array_list/include/celix_array_list_ei.h index d2124fa4f..3a6067a6e 100644 --- a/libs/utils/error_injector/celix_array_list/include/celix_array_list_ei.h +++ b/libs/utils/error_injector/celix_array_list/include/celix_array_list_ei.h @@ -32,6 +32,8 @@ CELIX_EI_DECLARE(celix_arrayList_createWithOptions, celix_array_list_t*); CELIX_EI_DECLARE(celix_arrayList_createStringArray, celix_array_list_t*); +CELIX_EI_DECLARE(celix_arrayList_createLongArray, celix_array_list_t*); + CELIX_EI_DECLARE(celix_arrayList_copy, celix_array_list_t*); CELIX_EI_DECLARE(celix_arrayList_add, celix_status_t); diff --git a/libs/utils/error_injector/celix_array_list/src/celix_array_list_ei.cc b/libs/utils/error_injector/celix_array_list/src/celix_array_list_ei.cc index d3b356e18..c7d02c055 100644 --- a/libs/utils/error_injector/celix_array_list/src/celix_array_list_ei.cc +++ b/libs/utils/error_injector/celix_array_list/src/celix_array_list_ei.cc @@ -50,6 +50,13 @@ void *__wrap_celix_arrayList_createStringArray() { return __real_celix_arrayList_createStringArray(); } +void *__real_celix_arrayList_createLongArray(); +CELIX_EI_DEFINE(celix_arrayList_createLongArray, celix_array_list_t*) +void *__wrap_celix_arrayList_createLongArray() { + CELIX_EI_IMPL(celix_arrayList_createLongArray); + return __real_celix_arrayList_createLongArray(); +} + celix_status_t __real_celix_arrayList_add(celix_array_list_t* list, void* value); CELIX_EI_DEFINE(celix_arrayList_add, celix_status_t) celix_status_t __wrap_celix_arrayList_add(celix_array_list_t* list, void* value) { diff --git a/libs/utils/gtest/src/ConvertUtilsErrorInjectionTestSuite.cc b/libs/utils/gtest/src/ConvertUtilsErrorInjectionTestSuite.cc index 958a0b404..6705acb15 100644 --- a/libs/utils/gtest/src/ConvertUtilsErrorInjectionTestSuite.cc +++ b/libs/utils/gtest/src/ConvertUtilsErrorInjectionTestSuite.cc @@ -31,6 +31,7 @@ class ConvertUtilsWithErrorInjectionTestSuite : public ::testing::Test { celix_ei_expect_celix_version_copy(nullptr, 0, nullptr); celix_ei_expect_celix_version_createVersionFromString(nullptr, 0, CELIX_SUCCESS); celix_ei_expect_celix_arrayList_createWithOptions(nullptr, 0, nullptr); + celix_ei_expect_celix_arrayList_createLongArray(nullptr, 0, nullptr); celix_ei_expect_celix_arrayList_addLong(nullptr, 0, CELIX_SUCCESS); celix_ei_expect_open_memstream(nullptr, 0, nullptr); celix_ei_expect_fputs(nullptr, 0, 0); @@ -67,7 +68,7 @@ TEST_F(ConvertUtilsWithErrorInjectionTestSuite, ConvertToVersionTest) { TEST_F(ConvertUtilsWithErrorInjectionTestSuite, ConvertToLongArrayTest) { //Given an error injection for celix_arrayList_create - celix_ei_expect_celix_arrayList_createWithOptions((void*)celix_utils_convertStringToLongArrayList, 1, nullptr); + celix_ei_expect_celix_arrayList_createLongArray((void*)celix_utils_convertStringToLongArrayList, 0, nullptr); //When calling celix_utils_convertStringToLongArrayList celix_array_list_t* result; celix_status_t status = celix_utils_convertStringToLongArrayList("1,2,3", nullptr, &result); @@ -100,7 +101,7 @@ TEST_F(ConvertUtilsWithErrorInjectionTestSuite, ConvertToLongArrayTest) { } TEST_F(ConvertUtilsWithErrorInjectionTestSuite, LongArrayToStringTest) { - celix_autoptr(celix_array_list_t) list = celix_arrayList_create(); + celix_autoptr(celix_array_list_t) list = celix_arrayList_createLongArray(); celix_arrayList_addLong(list, 1L); celix_arrayList_addLong(list, 2L); diff --git a/libs/utils/gtest/src/PropertiesErrorInjectionTestSuite.cc b/libs/utils/gtest/src/PropertiesErrorInjectionTestSuite.cc index 1f1e20435..f1dbd9c3d 100644 --- a/libs/utils/gtest/src/PropertiesErrorInjectionTestSuite.cc +++ b/libs/utils/gtest/src/PropertiesErrorInjectionTestSuite.cc @@ -42,6 +42,7 @@ class PropertiesErrorInjectionTestSuite : public ::testing::Test { celix_err_resetErrors(); celix_ei_expect_malloc(nullptr, 0, nullptr); celix_ei_expect_celix_stringHashMap_createWithOptions(nullptr, 0, nullptr); + celix_ei_expect_celix_arrayList_copy(nullptr, 0, nullptr); celix_ei_expect_celix_utils_strdup(nullptr, 0, nullptr); celix_ei_expect_fopen(nullptr, 0, nullptr); celix_ei_expect_fputc(nullptr, 0, 0); @@ -286,8 +287,8 @@ TEST_F(PropertiesErrorInjectionTestSuite, GetAsArrayWithArrayListCopyFailedTest) const char* str1 = "string1"; const char* str2 = "string2"; celix_autoptr(celix_array_list_t) stringList = celix_arrayList_createStringArray(); - celix_arrayList_add(stringList, (void*)str1); - celix_arrayList_add(stringList, (void*)str2); + celix_arrayList_addString(stringList, str1); + celix_arrayList_addString(stringList, str2); celix_autoptr(celix_array_list_t) longList = celix_arrayList_createLongArray(); celix_arrayList_addLong(longList, 1); celix_arrayList_addLong(longList, 2); @@ -299,8 +300,8 @@ TEST_F(PropertiesErrorInjectionTestSuite, GetAsArrayWithArrayListCopyFailedTest) celix_arrayList_addBool(boolList, false); celix_autoptr(celix_version_t) v = celix_version_create(1, 2, 3, "qualifier"); celix_autoptr(celix_array_list_t) versionList = celix_arrayList_createVersionArray(); - celix_arrayList_add(versionList, v); - celix_arrayList_add(versionList, v); + celix_arrayList_addVersion(versionList, v); + celix_arrayList_addVersion(versionList, v); celix_autoptr(celix_properties_t) props = celix_properties_create(); celix_properties_setArrayList(props, "stringArray", stringList); @@ -310,7 +311,7 @@ TEST_F(PropertiesErrorInjectionTestSuite, GetAsArrayWithArrayListCopyFailedTest) celix_properties_setArrayList(props, "versionArray", versionList); // When a celix_arrayList_createWithOptions error injection is set for celix_properties_getAsStringArrayList - celix_ei_expect_celix_arrayList_createWithOptions((void*)celix_properties_getAsStringArrayList, 1, nullptr); + celix_ei_expect_celix_arrayList_copy((void*)celix_properties_getAsStringArrayList, 0, nullptr); // Then the celix_properties_getAsStringArrayList call fails celix_array_list_t* strings = nullptr; @@ -346,7 +347,7 @@ TEST_F(PropertiesErrorInjectionTestSuite, GetAsArrayWithArrayListCopyFailedTest) ASSERT_EQ(nullptr, bools); //When a celix_arrayList_createWithOptions error injection is set for celix_properties_getAsVersionArrayList - celix_ei_expect_celix_arrayList_createWithOptions((void*)celix_properties_getAsVersionArrayList, 1, nullptr); + celix_ei_expect_celix_arrayList_copy((void*)celix_properties_getAsVersionArrayList, 0, nullptr); // Then the celix_properties_getAsVersionArrayList call fails celix_array_list_t* versions = nullptr; @@ -360,7 +361,7 @@ TEST_F(PropertiesErrorInjectionTestSuite, SetArrayWithArrayListCopyFailedTest) { celix_autoptr(celix_properties_t) props = celix_properties_create(); //And a (empty) array list - celix_autoptr(celix_array_list_t) list = celix_arrayList_create(); + celix_autoptr(celix_array_list_t) list = celix_arrayList_createLongArray(); // When a celix_arrayList_copy error injection is set for celix_properties_setArrayList celix_ei_expect_celix_arrayList_copy((void*)celix_properties_setArrayList, 0, nullptr);