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 ()
