You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@celix.apache.org by pn...@apache.org on 2016/10/18 19:26:51 UTC
[49/50] [abbrv] celix git commit: CELIX-282: Updates the service
registry tests. Only prints reference info from the service registry if the
reference is still allocated
CELIX-282: Updates the service registry tests. Only prints reference info from the service registry if the reference is still allocated
Project: http://git-wip-us.apache.org/repos/asf/celix/repo
Commit: http://git-wip-us.apache.org/repos/asf/celix/commit/d9fcff8e
Tree: http://git-wip-us.apache.org/repos/asf/celix/tree/d9fcff8e
Diff: http://git-wip-us.apache.org/repos/asf/celix/diff/d9fcff8e
Branch: refs/heads/release/celix-2.0.0
Commit: d9fcff8e3ead42baf63016883f69f1750aa0eec0
Parents: 6959571
Author: Pepijn Noltes <pe...@gmail.com>
Authored: Mon Oct 17 10:58:27 2016 +0200
Committer: Pepijn Noltes <pe...@gmail.com>
Committed: Mon Oct 17 10:58:27 2016 +0200
----------------------------------------------------------------------
framework/private/src/service_registry.c | 3 +-
.../private/test/service_registry_test.cpp | 76 ++++++++++++--------
.../remote_service_admin_dfi/CMakeLists.txt | 2 +-
3 files changed, 48 insertions(+), 33 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/celix/blob/d9fcff8e/framework/private/src/service_registry.c
----------------------------------------------------------------------
diff --git a/framework/private/src/service_registry.c b/framework/private/src/service_registry.c
index 1f1d8b7..8df355f 100644
--- a/framework/private/src/service_registry.c
+++ b/framework/private/src/service_registry.c
@@ -543,9 +543,8 @@ static void serviceRegistry_logWarningServiceReferenceUsageCount(service_registr
const char* service_name = "unknown";
const char* bundle_provider_name = "unknown";
- if (ref != NULL) {
+ if (refCount > 0 && ref != NULL) {
serviceReference_getProperty(ref, OSGI_FRAMEWORK_OBJECTCLASS, &service_name);
-
service_registration_pt reg = NULL;
bundle_pt bundle = NULL;
module_pt mod = NULL;
http://git-wip-us.apache.org/repos/asf/celix/blob/d9fcff8e/framework/private/test/service_registry_test.cpp
----------------------------------------------------------------------
diff --git a/framework/private/test/service_registry_test.cpp b/framework/private/test/service_registry_test.cpp
index 95017ae..87e7998 100644
--- a/framework/private/test/service_registry_test.cpp
+++ b/framework/private/test/service_registry_test.cpp
@@ -701,22 +701,12 @@ TEST(service_registry, ungetServiceReference){
mock().expectOneCall("serviceReference_release")
.withParameter("ref", reference)
.withOutputParameterReturning("destroyed", &destroyed, sizeof(destroyed));
- mock().expectNCalls(2, "bundle_getCurrentModule")
+ mock().expectNCalls(1, "bundle_getCurrentModule")
.withParameter("bundle", bundle)
.withOutputParameterReturning("module", &module, sizeof(module));
- mock().expectNCalls(2, "module_getSymbolicName")
+ mock().expectNCalls(1, "module_getSymbolicName")
.withParameter("module", module)
.withOutputParameterReturning("symbolicName", &mod_name, sizeof(mod_name));
- mock().expectOneCall("serviceReference_getProperty")
- .withParameter("reference", reference)
- .withParameter("key", OSGI_FRAMEWORK_OBJECTCLASS)
- .withOutputParameterReturning("value", &srv_name, sizeof(srv_name));
- mock().expectOneCall("serviceReference_getServiceRegistration")
- .withParameter("reference", reference)
- .withOutputParameterReturning("registration", ®istration, sizeof(registration));
- mock().expectOneCall("serviceRegistration_getBundle")
- .withParameter("registration", registration)
- .withOutputParameterReturning("bundle", &bundle, sizeof(bundle));
mock().expectNCalls(2, "framework_log");
serviceRegistry_ungetServiceReference(registry, bundle, reference);
@@ -751,30 +741,25 @@ TEST(service_registry, ungetServiceReference){
serviceRegistry_destroy(registry);
}
-/*TODO FIX
-TEST(service_registry, clearReferencesFor){
+TEST(service_registry, clearReferencesFor_1){
service_registry_pt registry = NULL;
framework_pt framework = (framework_pt) 0x01;
serviceRegistry_create(framework,serviceRegistryTest_serviceChanged, ®istry);
service_registration_pt registration = (service_registration_pt) 0x10;
- service_registration_pt registration2 = (service_registration_pt) 0x20;
service_reference_pt reference = (service_reference_pt) 0x40;
- service_reference_pt reference2 = (service_reference_pt) 0x50;
bundle_pt bundle = (bundle_pt) 0x70;
module_pt module = (module_pt) 0x80;
const char* modName = "mod name";
hash_map_pt references = hashMap_create(NULL, NULL, NULL, NULL);
hashMap_put(references, registration, reference);
- hashMap_put(references, registration2, reference2);
hashMap_put(registry->serviceReferences, bundle, references);
size_t useCount = 0;
size_t refCount = 0;
bool destroyed = true;
hashMap_put(registry->deletedServiceReferences, reference, (void*) false);
- hashMap_put(registry->deletedServiceReferences, reference2, (void*) false);
//expected calls for removing reference1
mock().expectOneCall("serviceReference_getUsageCount")
@@ -787,36 +772,67 @@ TEST(service_registry, clearReferencesFor){
.withParameter("ref", reference)
.withOutputParameterReturning("destroyed", &destroyed, sizeof(destroyed));
+ serviceRegistry_clearReferencesFor(registry, bundle);
+
+ serviceRegistry_destroy(registry);
+}
+
+TEST(service_registry, clearReferencesFor_2){
+ service_registry_pt registry = NULL;
+ framework_pt framework = (framework_pt) 0x01;
+ serviceRegistry_create(framework,serviceRegistryTest_serviceChanged, ®istry);
+
+ service_registration_pt registration = (service_registration_pt) 0x10;
+ service_reference_pt reference = (service_reference_pt) 0x40;
+ bundle_pt bundle = (bundle_pt) 0x70;
+ module_pt module = (module_pt) 0x80;
+ const char* modName = "mod name";
+ const char* srvName = "srv name";
+
+ hash_map_pt references = hashMap_create(NULL, NULL, NULL, NULL);
+ hashMap_put(references, registration, reference);
+ hashMap_put(registry->serviceReferences, bundle, references);
+
//expected calls for removing reference2 (including count error logging)
- size_t useCount2 = 1;
- size_t refCount2 = 1;
+ size_t useCount = 1;
+ size_t refCount = 1;
+ bool destroyed = true;
mock().expectOneCall("serviceReference_getUsageCount")
- .withParameter("reference", reference2)
- .withOutputParameterReturning("count", &useCount2, sizeof(useCount2));
+ .withParameter("reference", reference)
+ .withOutputParameterReturning("count", &useCount, sizeof(useCount));
mock().expectOneCall("serviceReference_getReferenceCount")
- .withParameter("reference", reference2)
- .withOutputParameterReturning("count", &refCount2, sizeof(refCount2));
+ .withParameter("reference", reference)
+ .withOutputParameterReturning("count", &refCount, sizeof(refCount));
mock().expectNCalls(2, "framework_log");
size_t updatedUseCount = 0;
mock().expectOneCall("serviceReference_decreaseUsage")
- .withParameter("ref", reference2)
+ .withParameter("ref", reference)
.withOutputParameterReturning("updatedCount", &updatedUseCount, sizeof(updatedUseCount));
- mock().expectOneCall("serviceReference_release")
- .withParameter("ref", reference2)
+ mock().expectNCalls(1, "serviceReference_release")
+ .withParameter("ref", reference)
.withOutputParameterReturning("destroyed", &destroyed, sizeof(destroyed));
- mock().expectOneCall("bundle_getCurrentModule")
+ mock().expectNCalls(2, "bundle_getCurrentModule")
.withParameter("bundle", bundle)
.withOutputParameterReturning("module", &module, sizeof(module));
- mock().expectOneCall("module_getSymbolicName")
+ mock().expectNCalls(2, "module_getSymbolicName")
.withParameter("module", module)
.withOutputParameterReturning("symbolicName", &modName, sizeof(modName));
+ mock().expectOneCall("serviceReference_getProperty")
+ .withParameter("reference", reference)
+ .withParameter("key", OSGI_FRAMEWORK_OBJECTCLASS)
+ .withOutputParameterReturning("value", &srvName, sizeof(srvName));
+ mock().expectOneCall("serviceReference_getServiceRegistration")
+ .withParameter("reference", reference)
+ .withOutputParameterReturning("registration", ®istration, sizeof(registration));
+ mock().expectOneCall("serviceRegistration_getBundle")
+ .withParameter("registration", registration)
+ .withOutputParameterReturning("bundle", &bundle, sizeof(bundle));
mock().expectOneCall("framework_log");
serviceRegistry_clearReferencesFor(registry, bundle);
serviceRegistry_destroy(registry);
}
-*/
TEST(service_registry, getService) {
http://git-wip-us.apache.org/repos/asf/celix/blob/d9fcff8e/remote_services/remote_service_admin_dfi/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/remote_services/remote_service_admin_dfi/CMakeLists.txt b/remote_services/remote_service_admin_dfi/CMakeLists.txt
index c3b3449..4b28231 100644
--- a/remote_services/remote_service_admin_dfi/CMakeLists.txt
+++ b/remote_services/remote_service_admin_dfi/CMakeLists.txt
@@ -16,7 +16,7 @@
# under the License.
-celix_subproject(RSA_REMOTE_SERVICE_ADMIN_DFI "Option to enable building the Remote Service Admin Service DFI" OFF DEPS TOPOLOGY_MANAGER)
+celix_subproject(RSA_REMOTE_SERVICE_ADMIN_DFI "Option to enable building the Remote Service Admin Service DFI" ON DEPS TOPOLOGY_MANAGER)
if (RSA_REMOTE_SERVICE_ADMIN_DFI)