Skip to content

Commit 6090b7a

Browse files
committed
gh-674: Fix some wrong array element type issues
1 parent c56cd21 commit 6090b7a

File tree

4 files changed

+4
-49
lines changed

4 files changed

+4
-49
lines changed

CHANGES.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@ limitations under the License.
8080
- The manifest format has been changed to JSON, and the manifest attribute names have been changed.
8181
The old manifest format is no longer supported.
8282
The old manifest attribute names are also no longer defined in `celix_constants.h`.
83+
- The funnction `celix_arrayList_create` has been removed, use the element type specific create functions instead.
8384

8485
## New Features
8586

libs/framework/src/framework.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -497,7 +497,7 @@ celix_status_t framework_start(celix_framework_t* framework) {
497497
static celix_status_t framework_autoStartConfiguredBundles(celix_framework_t* fw, bool *startedAllBundles) {
498498
celix_status_t status = CELIX_SUCCESS;
499499
const char* const celixKeys[] = {CELIX_AUTO_START_0, CELIX_AUTO_START_1, CELIX_AUTO_START_2, CELIX_AUTO_START_3, CELIX_AUTO_START_4, CELIX_AUTO_START_5, CELIX_AUTO_START_6, NULL};
500-
celix_autoptr(celix_array_list_t) installedBundles = celix_arrayList_createPointerArray();
500+
celix_autoptr(celix_array_list_t) installedBundles = celix_arrayList_createLongArray();
501501
if (!installedBundles) {
502502
celix_framework_logTssErrors(fw->logger, CELIX_LOG_LEVEL_ERROR);
503503
return ENOMEM;

libs/utils/gtest/src/ArrayListTestSuite.cc

Lines changed: 1 addition & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -380,35 +380,10 @@ TEST_F(ArrayListTestSuite, SimpleRemovedCallbacksForArrayListTest) {
380380
celix_arrayList_destroy(list); //will call free for every entry
381381
}
382382

383-
TEST_F(ArrayListTestSuite, AddStringToArrayListOfUndefinedTypeTest) {
384-
celix_array_list_create_options_t opts{};
385-
opts.simpleRemovedCallback = free;
386-
auto* list = celix_arrayList_createWithOptions(&opts);
387-
celix_arrayList_addString(list, celix_utils_strdup("value"));
388-
celix_arrayList_addString(list, celix_utils_strdup("value"));
389-
celix_arrayList_addString(list, celix_utils_strdup("value"));
390-
celix_arrayList_addString(list, celix_utils_strdup("value"));
391-
EXPECT_EQ(celix_arrayList_size(list), 4);
392-
celix_arrayList_destroy(list); //will call free for every entry
393-
}
394-
395-
TEST_F(ArrayListTestSuite, AddVersionToArrayListOfUndefinedTypeTest) {
396-
celix_array_list_create_options_t opts{};
397-
opts.simpleRemovedCallback = [](void* data) {
398-
celix_version_destroy((celix_version_t*)data);
399-
};
400-
auto* list = celix_arrayList_createWithOptions(&opts);
401-
celix_arrayList_addVersion(list, celix_version_create(1, 3, 0, nullptr));
402-
celix_arrayList_addVersion(list, celix_version_create(1, 3, 0, nullptr));
403-
celix_arrayList_addVersion(list, celix_version_create(1, 3, 0, nullptr));
404-
celix_arrayList_addVersion(list, celix_version_create(1, 3, 0, nullptr));
405-
EXPECT_EQ(celix_arrayList_size(list), 4);
406-
celix_arrayList_destroy(list); //will call free for every entry
407-
}
408-
409383
TEST_F(ArrayListTestSuite, RemovedCallbacksForArrayListTest) {
410384
int count = 0 ;
411385
celix_array_list_create_options_t opts{};
386+
opts.elementType = CELIX_ARRAY_LIST_ELEMENT_TYPE_LONG;
412387
opts.removedCallbackData = &count;
413388
opts.removedCallback = [](void *data, celix_array_list_entry_t entry) {
414389
int* c = (int*)data;
@@ -454,27 +429,6 @@ TEST_F(ArrayListTestSuite, SortForArrayListTest) {
454429
celix_arrayList_destroy(list);
455430
}
456431

457-
TEST_F(ArrayListTestSuite, ReturnStatusAddFunctionsTest) {
458-
auto* list = celix_arrayList_createLongArray();
459-
ASSERT_TRUE(list != nullptr);
460-
EXPECT_EQ(0, celix_arrayList_size(list));
461-
462-
//no error, return status is CELIX_SUCCESS
463-
EXPECT_EQ(CELIX_SUCCESS, celix_arrayList_addLong(list, 2L));
464-
EXPECT_EQ(1, celix_arrayList_size(list));
465-
466-
EXPECT_EQ(CELIX_SUCCESS, celix_arrayList_addDouble(list, 4.0));
467-
EXPECT_EQ(2, celix_arrayList_size(list));
468-
469-
EXPECT_EQ(CELIX_SUCCESS, celix_arrayList_addBool(list, true));
470-
EXPECT_EQ(3, celix_arrayList_size(list));
471-
472-
EXPECT_EQ(CELIX_SUCCESS, celix_arrayList_add(list, (void*)0x42));
473-
EXPECT_EQ(4, celix_arrayList_size(list));
474-
475-
celix_arrayList_destroy(list);
476-
}
477-
478432
TEST_F(ArrayListTestSuite, AutoCleanupTest) {
479433
celix_autoptr(celix_array_list_t) list = celix_arrayList_createPointerArray();
480434
EXPECT_NE(nullptr, list);

libs/utils/include/celix_array_list.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,7 @@ celix_array_list_t* celix_arrayList_createVersionArray();
170170
*/
171171
typedef struct celix_array_list_create_options {
172172
/**
173-
* The element type of the array list. Default is CELIX_ARRAY_LIST_ELEMENT_TYPE_UNDEFINED.
173+
* The element type of the array list. Default is CELIX_ARRAY_LIST_ELEMENT_TYPE_POINTER.
174174
*/
175175
celix_array_list_element_type_t elementType CELIX_OPTS_INIT;
176176

0 commit comments

Comments
 (0)