Check memory leaks in all tests, and fix 3 detected memory leaks #26
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
In PR #24 I started removing memory leaks by checking them when the utility function
with_db
was used in unit tests.This PR finalizes that process.
It contains a new utility class
LeakChecker
that checks the leaks for a unit test.LeakChecker
is added to the utility classesReplicationTwoDbsTester
andReplicationThreeDbsTester
, used to test replication use cases.LeakChecker
is also added to all tests that do not use one of the three utility function & classes.Three new sources of memory leaks were discovered this time:
src/encryptable.rs
,reference
was used instead oftake_ownership
when creating a newEncryptable
src/replicator.rs
, the structEndpoint
was not implementingDrop
src/replicator.rs
, when aReplicator
was created we were not giving ownership of theCBLDatabase
object to theCBLReplicatorConfiguration
object