apache / apache/celix

Error Handling and Coverage Improvement of the Framework Library

Open
#686 0 comments 0 reactions 0 assignees View on GitHub
component/framework kind/improvement
Dominant language
C
Stars
193
Forks
99
Avg merge
1m
Merged PRs (30d)
1

Description

Currently, the overall coverage of the framework library is around 85%.
Utilizing error injector, we shall try to increase the code coverage to 90% or more.
This should happen after deprecated APIs have been removed.

I believe by increasing the overall coverage, we can eliminate many corner case bugs like the following:

```C
/**
* @brief Register a service to the Celix framework.
*
* Note: Please use the celix_bundleContext_registerServiceAsync instead.
*
* @param ctx The bundle context
* @param svc the service object. Normally a pointer to a service struct (i.e. a struct with function pointers)
* @param serviceName the service name, cannot be NULL
* @param properties The meta properties associated with the service. The service registration will take ownership of the properties (i.e. no destroy needed)
* @return The serviceId (>=0) or -1 if the registration was unsuccessful.
*/
CELIX_FRAMEWORK_EXPORT long celix_bundleContext_registerService(celix_bundle_context_t *ctx, void *svc, const char* serviceName, celix_properties_t *properties);
```

`celix_bundleContext_registerService` will leak `properties` when `serviceName == NULL`.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.