Import 2017-06-07 23:51:09: master d58ba3b4

Author Committer Branch Timestamp Parent
lassoan lassoan master 2015-12-23 16:26:28 master 4e2764bd
Changeset

ENH: Improved MRML tests

  • Added output check to MRML core cxx methods (if any MRML node logs an unexpected error or warning during a test then it makes the test return with failure).
  • Changed very long test macros to regular methods. It allows step-by-step debugging, getting exact error location (not just where the macro was called), simpler editing of the code (no need to put backslashes at the end of every line).
  • Created a test macro for exercising all applicable MRML methods (ExerciseAllBasicMRMLMethods), which determines which methods should be tested by dynamic casting. Changed all MRML tests to use this single macro. It is still a macro to be able to run the function and log the line number in a single line using a simple syntax.
  • Separated test macros (vtkMRMLCoreTestingMacros) and functions (vtkMRMLCoreTestingUtilities.h/txx/cxx) for clarity.
  • Replaced several-line checks by CHECK_... macros for shorter code and simpler syntax. The check macros just gather the line number, call a check method, and return in case of an error: problems can still be analyzed using step-by-step debugging.
  • Replaced bool return values by int (EXIT_FAILURE/EXITSUCCESS) at many places. It allows propagating the same error code from any level back to the main() function, using the same CHECK... macros at every level.
  • Re-enabled and fixed old tests that did not work in the core MRML library because they depended on classes that are not in MRML core. Moved tests to the module where the corresponding MRML node was defined. Updated obsolete scene files.
  • Added thorough testing of node references between singleton and non-singleton nodes.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@24826 3bd1e089-480b-0410-8dfb-8563597acbee

mod - Base/Logic/Testing/vtkDataIOManagerLogicTest1.cxx Diff File
mod - Libs/MRML/Core/CMakeLists.txt Diff File
mod - Libs/MRML/Core/Testing/CMakeLists.txt Diff File
mod - Libs/MRML/Core/Testing/diffusionEditor.mrml Diff File
rm - Libs/MRML/Core/Testing/fiducial_tract.mrml Diff File
mod - Libs/MRML/Core/Testing/helixGlyphs.mrml Diff File
rm - Libs/MRML/Core/Testing/volRender.mrml Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLBSplineTransformNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLCameraNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLClipModelsNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLColorNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLColorTableNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLColorTableStorageNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLCrosshairNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLDiffusionImageVolumeNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLDiffusionTensorDisplayPropertiesNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLDiffusionTensorVolumeDisplayNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLDiffusionTensorVolumeNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLDiffusionTensorVolumeSliceDisplayNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLDiffusionWeightedVolumeDisplayNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLDiffusionWeightedVolumeNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLDisplayNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLDisplayableHierarchyNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLDisplayableHierarchyNodeTest3.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLDisplayableNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLDoubleArrayNodeTest1.cxx Diff File
rm - Libs/MRML/Core/Testing/vtkMRMLFiberBundleNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLFiducialListNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLFiducialListStorageNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLFreeSurferModelOverlayStorageNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLFreeSurferModelStorageNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLFreeSurferProceduralColorNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLGlyphVolumeDisplayPropertiesNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLGlyphableVolumeDisplayNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLGlyphableVolumeSliceDisplayNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLGridTransformNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLHierarchyNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLInteractionNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLLabelMapVolumeDisplayNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLLayoutNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLLinearTransformNodeEventsTest.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLLinearTransformNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLModelDisplayNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLModelHierarchyNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLModelNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLModelStorageNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLNRRDStorageNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLPETProceduralColorNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLProceduralColorNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLProceduralColorStorageNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLROIListNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLROINodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLScalarVolumeDisplayNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLScalarVolumeNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLSceneAddSingletonTest.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLSceneImportIDConflictTest.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLSceneImportIDModelHierarchyConflictTest.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLSceneImportIDModelHierarchyParentIDConflictTest.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLSceneImportTest.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLSceneTest2.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLSceneViewNodeImportSceneTest.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLSceneViewNodeRestoreSceneTest.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLSceneViewNodeStoreSceneTest.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLSceneViewNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLSceneViewStorageNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLSelectionNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLSliceCompositeNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLSliceNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLSnapshotClipNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLStorableNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLStorageNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLTableNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLTableStorageNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLTableViewNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLTensorVolumeNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLTransformDisplayNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLTransformNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLTransformStorageNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLTransformableNodeOnNodeReferenceAddTest.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLTransformableNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLUnitNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLUnstructuredGridDisplayNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLUnstructuredGridNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLUnstructuredGridStorageNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLVectorVolumeDisplayNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLVectorVolumeNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLViewNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLVolumeArchetypeStorageNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLVolumeDisplayNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLVolumeHeaderlessStorageNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLVolumeNodeEventsTest.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLVolumeNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkMRMLdGEMRICProceduralColorNodeTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkObserverManagerTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkOrientedBSplineTransformTest1.cxx Diff File
mod - Libs/MRML/Core/Testing/vtkOrientedGridTransformTest1.cxx Diff File
rm - Libs/MRML/Core/vtkMRMLCoreTestingMacros.cxx Diff File
mod - Libs/MRML/Core/vtkMRMLCoreTestingMacros.h Diff File
mod - Libs/MRML/Core/vtkMRMLCoreTestingUtilities.cxx Diff File
mod - Libs/MRML/Core/vtkMRMLCoreTestingUtilities.h Diff File
mod - Libs/MRML/Core/vtkMRMLCoreTestingUtilities.txx Diff File
mod - Libs/MRML/Logic/Testing/Cxx/vtkMRMLColorLogicTest2.cxx Diff File
mod - Libs/MRML/Logic/Testing/Cxx/vtkMRMLLayoutLogicCompareTest.cxx Diff File
mod - Libs/MRML/Logic/Testing/Cxx/vtkMRMLLayoutLogicTest2.cxx Diff File
mod - Libs/MRML/Logic/Testing/Cxx/vtkMRMLSliceLayerLogicTest.cxx Diff File
mod - Libs/MRML/Logic/Testing/Cxx/vtkMRMLSliceLogicTest1.cxx Diff File
mod - Modules/Loadable/Annotations/Testing/Cxx/vtkMRMLAnnotationAngleNodeTest1.cxx Diff File
mod - Modules/Loadable/Annotations/Testing/Cxx/vtkMRMLAnnotationAngleStorageNodeTest1.cxx Diff File
mod - Modules/Loadable/Annotations/Testing/Cxx/vtkMRMLAnnotationControlPointsNodeTest1.cxx Diff File
mod - Modules/Loadable/Annotations/Testing/Cxx/vtkMRMLAnnotationControlPointsStorageNodeTest1.cxx Diff File
mod - Modules/Loadable/Annotations/Testing/Cxx/vtkMRMLAnnotationDisplayNodeTest1.cxx Diff File
mod - Modules/Loadable/Annotations/Testing/Cxx/vtkMRMLAnnotationFiducialNodeTest1.cxx Diff File
mod - Modules/Loadable/Annotations/Testing/Cxx/vtkMRMLAnnotationFiducialsStorageNodeTest1.cxx Diff File
mod - Modules/Loadable/Annotations/Testing/Cxx/vtkMRMLAnnotationLineDisplayNodeTest1.cxx Diff File
mod - Modules/Loadable/Annotations/Testing/Cxx/vtkMRMLAnnotationLinesNodeTest1.cxx Diff File
mod - Modules/Loadable/Annotations/Testing/Cxx/vtkMRMLAnnotationLinesStorageNodeTest1.cxx Diff File
mod - Modules/Loadable/Annotations/Testing/Cxx/vtkMRMLAnnotationNodeTest1.cxx Diff File
mod - Modules/Loadable/Annotations/Testing/Cxx/vtkMRMLAnnotationPointDisplayNodeTest1.cxx Diff File
mod - Modules/Loadable/Annotations/Testing/Cxx/vtkMRMLAnnotationROINodeTest1.cxx Diff File
mod - Modules/Loadable/Annotations/Testing/Cxx/vtkMRMLAnnotationRulerNodeTest1.cxx Diff File
mod - Modules/Loadable/Annotations/Testing/Cxx/vtkMRMLAnnotationRulerStorageNodeTest1.cxx Diff File
mod - Modules/Loadable/Annotations/Testing/Cxx/vtkMRMLAnnotationStorageNodeTest1.cxx Diff File
mod - Modules/Loadable/Annotations/Testing/Cxx/vtkMRMLAnnotationTextDisplayNodeTest1.cxx Diff File
mod - Modules/Loadable/Annotations/Testing/Cxx/vtkSlicerAnnotationModuleLogicTest1.cxx Diff File
mod - Modules/Loadable/Colors/Logic/Testing/Cxx/vtkSlicerColorLogicTest1.cxx Diff File
mod - Modules/Loadable/CropVolume/Testing/vtkMRMLCropVolumeParametersNodeTest1.cxx Diff File
mod - Modules/Loadable/Markups/Testing/Cxx/vtkMRMLMarkupsDisplayNodeTest1.cxx Diff File
mod - Modules/Loadable/Markups/Testing/Cxx/vtkMRMLMarkupsFiducialNodeTest1.cxx Diff File
mod - Modules/Loadable/Markups/Testing/Cxx/vtkMRMLMarkupsFiducialStorageNodeTest1.cxx Diff File
mod - Modules/Loadable/Markups/Testing/Cxx/vtkMRMLMarkupsNodeTest1.cxx Diff File
mod - Modules/Loadable/Markups/Testing/Cxx/vtkMRMLMarkupsStorageNodeTest1.cxx Diff File
mod - Modules/Loadable/SceneViews/Testing/Cxx/vtkSlicerSceneViewsModuleLogicTest1.cxx Diff File
mod - Modules/Loadable/TractographyDisplay/Testing/Cxx/CMakeLists.txt Diff File
add - Modules/Loadable/TractographyDisplay/Testing/Cxx/vtkMRMLFiberBundleNodeTest1.cxx Diff File
mod - Modules/Loadable/VolumeRendering/Testing/Cxx/CMakeLists.txt Diff File
mod - Modules/Loadable/VolumeRendering/Testing/Cxx/vtkMRMLVolumePropertyNodeTest1.cxx Diff File
mod - Modules/Loadable/VolumeRendering/Testing/Cxx/vtkMRMLVolumePropertyStorageNodeTest1.cxx Diff File
add - Modules/Loadable/VolumeRendering/Testing/Data/Input/AnnotationROI.acsv Diff File
add - Modules/Loadable/VolumeRendering/Testing/Data/Input/VolumeProperty.vp Diff File
add - Modules/Loadable/VolumeRendering/Testing/Data/Input/volRender.mrml Diff File