This is an automated email from the ASF dual-hosted git repository.

pnoltes pushed a commit to branch feature/refactor_c_dep_man_service_trackers
in repository https://gitbox.apache.org/repos/asf/celix.git

commit 758e19fee99f1f2b0f0357ebe38916e72d8c6491
Author: Pepijn Noltes <[email protected]>
AuthorDate: Sun Jan 3 13:35:46 2021 +0100

    Adds additional dm test based on coverage results
---
 .../gtest/src/DependencyManagerTestSuite.cc        | 42 ++++++++++++++++++++++
 libs/utils/CMakeLists.txt                          |  1 -
 2 files changed, 42 insertions(+), 1 deletion(-)

diff --git a/libs/framework/gtest/src/DependencyManagerTestSuite.cc 
b/libs/framework/gtest/src/DependencyManagerTestSuite.cc
index 419eb61..7cfab64 100644
--- a/libs/framework/gtest/src/DependencyManagerTestSuite.cc
+++ b/libs/framework/gtest/src/DependencyManagerTestSuite.cc
@@ -63,6 +63,48 @@ TEST_F(DependencyManagerTestSuite, DmCreateComponent) {
     ASSERT_TRUE(celix_dependencyManager_allComponentsActive(mng));
 }
 
+TEST_F(DependencyManagerTestSuite, DmComponentAddRemove) {
+    auto *mng = celix_bundleContext_getDependencyManager(ctx);
+    auto *cmp = celix_dmComponent_create(ctx, "test1");
+    celix_dependencyManager_add(mng, cmp);
+    ASSERT_EQ(1, celix_dependencyManager_nrOfComponents(mng));
+
+    celix_dependencyManager_remove(mng, cmp);
+    ASSERT_EQ(0, celix_dependencyManager_nrOfComponents(mng));
+
+    auto *cmp2 = celix_dmComponent_create(ctx, "test2");
+    auto *cmp3 = celix_dmComponent_create(ctx, "test3");
+    celix_dependencyManager_add(mng, cmp2);
+    celix_dependencyManager_add(mng, cmp3);
+    ASSERT_EQ(2, celix_dependencyManager_nrOfComponents(mng));
+
+    celix_dependencyManager_removeAllComponents(mng);
+    ASSERT_EQ(0, celix_dependencyManager_nrOfComponents(mng));
+}
+
+TEST_F(DependencyManagerTestSuite, DmGetInfo) {
+    auto* mng = celix_bundleContext_getDependencyManager(ctx);
+    auto* cmp = celix_dmComponent_create(ctx, "test1");
+
+    auto* p = celix_properties_create();
+    celix_properties_set(p, "key", "value");
+    celix_dmComponent_addInterface(cmp, "test-interface", nullptr, 
(void*)0x42, p);
+
+    auto* dep = celix_dmServiceDependency_create();
+    celix_dmServiceDependency_setService(dep, "test-interface", nullptr, 
nullptr);
+    celix_dmComponent_addServiceDependency(cmp, dep);
+
+    celix_dependencyManager_add(mng, cmp);
+
+    auto* infos = celix_dependencyManager_createInfos(mng);
+    EXPECT_EQ(1, celix_arrayList_size(infos));
+    auto* info = (celix_dm_component_info_t*)celix_arrayList_get(infos, 0);
+    EXPECT_EQ(1, celix_arrayList_size(info->interfaces));
+    EXPECT_EQ(1, celix_arrayList_size(info->dependency_list));
+    celix_dependencyManager_destroyInfos(mng, infos);
+}
+
+
 TEST_F(DependencyManagerTestSuite, TestCheckActive) {
     auto *mng = celix_bundleContext_getDependencyManager(ctx);
     auto *cmp = celix_dmComponent_create(ctx, "test1");
diff --git a/libs/utils/CMakeLists.txt b/libs/utils/CMakeLists.txt
index 6cc5825..ffb247b 100644
--- a/libs/utils/CMakeLists.txt
+++ b/libs/utils/CMakeLists.txt
@@ -133,7 +133,6 @@ if (ENABLE_TESTING)
     setup_target_for_coverage(utils_test)
     setup_target_for_coverage(ip_utils_test)
     setup_target_for_coverage(filter_test)
-    setup_target_for_coverage(version_range_test)
     setup_target_for_coverage(version_test)
 
 endif ()

Reply via email to