Page MenuHomePhabricator

Force any unit test with VTK memory leaks to fail
Closed, ResolvedPublic

Description

... by enabling VTK_DEBUG_LEAKS for debug builds.

Now that all Core unit tests are VTK-leak-free the only exceptions that need to be made are in a few modules. These exceptions are made using:

vtkDebugLeaks::SetExitError(0);

Event Timeline

Thanks, we discussed this and are happy to integrate it. We will make it optional on superbuild level though. We tried to enable this only for debug builds on windows using CMake generator expressions ( -DVTK_DEBUG_LEAKS:BOOL=$<CONFIG:Debug> ) but since it is also affecting VTK headers it probably won't work like this.

Sounds good! The CMake generator expressions are a good idea if they'll work here.

User nolden has pushed new remote branch:

bug-18099-enable-vtk-debug-leaks

No real core modification, only tests

[350d31]: Merge branch 'bug-18099-enable-vtk-debug-leaks'

Merged commits:

2014-09-17 18:02:26 Marco Nolden [3df6ae]
Enable MITK_VTK_DEBUG_LEAKS by default in dartclients


2014-09-17 18:07:05 Marco Nolden [ce5d35]
Add option MITK_VTK_DEBUG_LEAKS in superbuild

This builds VTK with VTK_DEBUG_LEAKS enabled and forces unit tests to
fail if they have any unfreed vtkObjects left at application exit.

Contributed by Taylor Braun-Jones <taylor.braun-jones@ge.com>, see
previous commits


2014-09-15 18:23:09 Taylor Braun-Jones [071fe9]
Temporary workaround for remaining unit tests with VTK leaks

The following bugs have been filed to track these temporary workarounds:

Signed-off-by: Taylor Braun-Jones <taylor.braun-jones@ge.com>


2014-09-15 20:17:40 Taylor Braun-Jones [3e746f]
Add some very basic tests for ProgressBar and ProportionalTimeGeometry

Just minimal tests that were useful in memory leak debugging.

Signed-off-by: Taylor Braun-Jones <taylor.braun-jones@ge.com>


2014-09-15 18:21:52 Taylor Braun-Jones [ca26be]
Fix for memory leak in SurfaceInterpolationControllerTest

Signed-off-by: Taylor Braun-Jones <taylor.braun-jones@ge.com>


2014-09-15 17:44:02 Taylor Braun-Jones [2df74a]
Fix two memory leaks in SurfaceInterpolationController

The first due to creation of New vtkPoints without corresponding Delete.

The second due to unfreed singleton instance.

Signed-off-by: Taylor Braun-Jones <taylor.braun-jones@ge.com>


2014-09-15 17:17:36 Taylor Braun-Jones [178117]
Fix memory leak in ReduceContourSetFilter

... due to invalid vtkSmartPointer usage.

Signed-off-by: Taylor Braun-Jones <taylor.braun-jones@ge.com>


2014-09-15 16:52:12 Taylor Braun-Jones [1f5ea6]
Fix memory leak in mitkPointSetDataInteractorTest

Signed-off-by: Taylor Braun-Jones <taylor.braun-jones@ge.com>