[Insight-developers] STEP 1: Code coverage push

Luis Ibanez luis . ibanez at kitware . com
Wed, 06 Aug 2003 18:36:31 -0400


Hi Aaron,

Sorry for the explosive surprise,

(Beware that this is just "Step 1" of the
release process  :-/ )

---

Thanks for looking into the coverage list.

Please note that the critical files are the
ones marked in RED in the following report
http://www . itk . org/Testing/Sites/esopus . crd/SunOS-5 . 7-c++/20030806-0500-Nightly/CoverageByStatus . html


The file itkBinaryMedialNodeMetric.h is ok (green)
but the  itkBinaryMedialNodeMetric.txx is quite red with 0%
coverage = 80 lines of executable code untested.
http://www . itk . org/Testing/Sites/esopus . crd/SunOS-5 . 7-c++/Coverage/__Code_Algorithms_itkBinaryMedialNodeMetric_txx . html

Note that for templated classes, the "####" also
means "NEVER BEING COMPILED". Just for the record, we have
found surprises like the fact that the Set()/Get() method
in the Reverse Iterator have never been compiled,... and
of course... they were broken.

The file
­itkMedialNodePairCorrespondenceProcess.h is ok (yellow)

but
-itkMedialNodePairCorrespondenceProcess.txx is RED with
0% coverage and 220 of noncovered executable code.


itkMedialNodeTripletCorrespondenceProcess.txx has 0%
and 162 lines of uncovered code.

Note that it is not enough to instantiate the classes.
The test must exercise every single method of the class,
since otherwise the method don't even get compiled.


itkCorrespondenceDataStructure.h and .txx are yellow and green.
itkCorrespondingList.h and .txx are ok (green)
itkCorrespondingMedialNodeClique.h and .txx are ok (green)
itkNodeList.h and .txx are ok (green)
itkSecondaryNodeList.h and .txx are ok (green)



Please increase the coverage for the classes that are
listed in red.



Thanks a lot for helping in this process.



   Luis




------------------------
C. Aaron Cois wrote:
 > Hi Luis,
 >
 >    Sorry this is a few days late, but i just got back into town half an
 > hour ago (no internet access for 3 days, and your life explodes ;)  )
 >
 > Anyway, i wanted to confirm that the following classes are all tested in
 > the file itkMedialNodeCorrespondenceTest.cxx:
 >
 > ./­Code/­Algorithms/­itkBinaryMedialNodeMetric.h
 > ./­Code/­Algorithms/­itkBinaryMedialNodeMetric.txx
 > ./­Code/­Algorithms/­itkMedialNodePairCorrespondenceProcess.h
 > ./­Code/­Algorithms/­itkMedialNodePairCorrespondenceProcess.txx
 > ./­Code/­Algorithms/­itkMedialNodeTripletCorrespondenceProcess.h
 > ./­Code/­Algorithms/­itkMedialNodeTripletCorrespondenceProcess.txx
 > ./­Code/­Common/­itkCorrespondenceDataStructure.h
 > ./­Code/­Common/­itkCorrespondenceDataStructure.txx
 > ./­Code/­Common/­itkCorrespondingList.h
 > ./­Code/­Common/­itkCorrespondingList.txx
 > ./­Code/­Common/­itkCorrespondingMedialNodeClique.h
 > ./­Code/­Common/­itkCorrespondingMedialNodeClique.txx
 > ./­Code/­Common/­itkNodeList.txx
 > ./­Code/­Common/­itkSecondaryNodeList.h
 > ./­Code/­Common/­itkSecondaryNodeList.t
 >
 > They are all dependent on each other, and thus are tested together in
 > the same test.
 >
 >    -Aaron Cois
 >
 > Luis Ibanez wrote:
 >
 >>
 >> The files/classes in the list below will be removed
 >> from the Insight CVS repository on
 >>
 >>            Friday August 8  9:00 EST
 >>
 >> Reason for removal:
 >>
 >>              Code with 0% coverage
 >>
 >> Philosopical principle:
 >>
 >>      "If it is not tested, it is broken"
 >>
 >> If you have any professional or emotional attachements
 >> to any of the files in this list and would like to
 >> prevent its removal from the repository, please add
 >> a test for this code in the Insight/Testing directory.
 >>
 >> New testing must compile. CVS write access will be
 >> removed for anyone commiting non-compiling tests.
 >> The reason being that a non-compiling test prevents
 >> at least 100 other tests from running.
 >>
 >> No files should be added to Insigth/Code under the
 >> pretext of supporting testing. Code freezing is in
 >> effect on the Insight/Code directory.
 >>
 >> Abtract classes must be tested by instantiating one
 >> of their concrete derived classes and exercising on
 >> them the functionalities provided by the abtract class.
 >>
 >> -------------- THE LIST -----------------------------
 >>
 >> ./­Code/­Algorithms/­itkImageShapeModelEstimatorBase.h
 >> ./­Code/­Algorithms/­itkBinaryMedialNodeMetric.h
 >> ./­Code/­Algorithms/­itkBinaryMedialNodeMetric.txx
 >> ./­Code/­Algorithms/­itkMedialNodePairCorrespondenceProcess.h
 >> ./­Code/­Algorithms/­itkMedialNodePairCorrespondenceProcess.txx
 >> ./­Code/­Algorithms/­itkMedialNodeTripletCorrespondenceProcess.h
 >> ./­Code/­Algorithms/­itkMedialNodeTripletCorrespondenceProcess.txx
 >> 
./­Code/­Algorithms/­itkNarrowBandThresholdSegmentationLevelSetImageFilter.h 

 >>
 >> 
./­Code/­Algorithms/­itkNarrowBandThresholdSegmentationLevelSetImageFilter.txx 

 >>
 >> ./­Code/­BasicFilters/­itkImageToMeshFilter.h
 >> ./­Code/­BasicFilters/­itkGrayscaleFunctionDilateImageFilter.txx
 >> ./­Code/­BasicFilters/­itkGrayscaleFunctionErodeImageFilter.txx
 >> ./­Code/­BasicFilters/­itkExtractOrthogonalSwath2DImageFilter.txx
 >> ./­Code/­Common/­itkBloxBoundaryProfileItem.h
 >> ./­Code/­Common/­itkBloxBoundaryProfileItem.txx
 >> ./­Code/­Common/­itkBloxBoundaryProfilePixel.h
 >> ./­Code/­Common/­itkBloxBoundaryProfilePixel.txx
 >> ./­Code/­Common/­itkConceptChecking.h
 >> ./­Code/­Common/­itkConditionalConstIterator.h
 >> ./­Code/­Common/­itkDecisionRuleBase.h
 >> ./­Code/­Common/­itkDynamicLoader.cxx
 >> ./­Code/­Common/­itkEventObject.cxx
 >> ./­Code/­Common/­itkMetaDataObjectBase.h
 >> ./­Code/­Common/­itkInPlaceImageFilter.h
 >> ./­Code/­Common/­itkImageRegionReverseIterator.h
 >> ./­Code/­Common/­itkInteriorExteriorSpatialFunction.h
 >> ./­Code/­Common/­itkSmartPointerForwardReference.h
 >> ./­Code/­Common/­itkSpatialFunction.h
 >> ./­Code/­Common/­itkThinPlateR2LogRSplineKernelTransform.txx
 >> ./­Code/­Common/­itkVolumeSplineKernelTransform.txx
 >> ./­Code/­Common/­itkFiniteDifferenceSparseImageFunction.txx
 >> ./­Code/­Common/­itkCorrespondenceDataStructure.h
 >> ./­Code/­Common/­itkCorrespondenceDataStructure.txx
 >> ./­Code/­Common/­itkCorrespondingList.h
 >> ./­Code/­Common/­itkCorrespondingList.txx
 >> ./­Code/­Common/­itkCorrespondingMedialNodeClique.h
 >> ./­Code/­Common/­itkCorrespondingMedialNodeClique.txx
 >> ./­Code/­Common/­itkNodeList.txx
 >> ./­Code/­Common/­itkSecondaryNodeList.h
 >> ./­Code/­Common/­itkSecondaryNodeList.txx
 >> ./­Code/­IO/­itkVOLImageIOFactory.cxx
 >> ./­Code/­IO/­itkVOLImageIOFactory.h
 >> ./­Code/­IO/­itkIOCommon.cxx
 >> ./­Code/­IO/­itkIPLCommonImageIO.h
 >> ./­Code/­IO/­itkRegularExpressionSeriesFileNames.cxx
 >> ./­Code/­IO/­itkRegularExpressionSeriesFileNames.h
 >> ./­Code/­Numerics/­itkSingleValuedNonLinearVnlOptimizer.h
 >> ./­Utilities/­kwsys/­RegularExpression.cxx
 >> ./­Code/­Numerics/­FEM/­itkFEMElement2DC0QuadraticTriangular.cxx
 >> ./­Code/­Numerics/­FEM/­itkFEMElement2DC0QuadraticTriangular.h
 >> ./­Code/­Numerics/­FEM/­itkFEMElement2DMembrane.h
 >> ./­Code/­Numerics/­FEM/­itkFEMElement2DMembrane.txx
 >> ./­Code/­Numerics/­FEM/­itkFEMElement3DMembrane.h
 >> ./­Code/­Numerics/­FEM/­itkFEMElement3DMembrane.txx
 >> ./­Code/­Numerics/­FEM/­itkFEMException.cxx
 >> ./­Code/­Numerics/­FEM/­itkFEMException.h
 >> ./­Code/­Numerics/­FEM/­itkFEMGenerateMesh.cxx
 >> ./­Code/­Numerics/­FEM/­itkFEMImageMetricLoad.h
 >> ./­Code/­Numerics/­FEM/­itkFEMImageMetricLoad.txx
 >> ./­Code/­Numerics/­FEM/­itkFEMImageMetricLoadImplementation.h
 >> ./­Code/­Numerics/­FEM/­itkFEMLoadImplementationGenericLandmarkLoad.cxx
 >> ./­Code/­Numerics/­FEM/­itkFEMLoadImplementationGenericLandmarkLoad.h
 >> ./­Code/­Numerics/­FEM/­itkFEMSolverCrankNicolson.cxx
 >> ./­Code/­Numerics/­FEM/­itkFEMSolverCrankNicolson.h
 >> ./­Code/­Numerics/­FEM/­itkFEMElement2DStrain.h
 >> ./­Code/­Numerics/­FEM/­itkFEMElement2DStrain.txx
 >> ./­Code/­Numerics/­Statistics/­itkDecisionRuleBase.h
 >> ./­Code/­Algorithms/­itkBioGeneNetwork.h
 >> ./­Code/­Algorithms/­itkImageMomentsCalculator.h
 >> ./­Code/­Algorithms/­itkMeanSquaresPointSetToImageMetric.h
 >> ./­Code/­Algorithms/­itkMeanSquaresPointSetToImageMetric.txx
 >> ./­Code/­Algorithms/­itkMultiResolutionImagePyramid.txx
 >> ./­Code/­Algorithms/­itkRayCastInterpolateImageFunction.txx
 >> ./­Code/­Algorithms/­itkRegistrationMethod.h
 >> ./­Code/­Algorithms/­itkRegistrationMethod.txx
 >> ./­Code/­Algorithms/­itkVoronoiSegmentationRGBImageFilter.h
 >> ./­Code/­Algorithms/­itkVoronoiSegmentationRGBImageFilter.txx
 >> ./­Code/­Algorithms/­itkRayCastInterpolateImageFunction.h
 >> ./­Code/­Algorithms/­itkUnsharpMaskLevelSetImageFilter.h
 >> 
./­Code/­Algorithms/­itkMeanReciprocalSquareDifferencePointSetToImageMetric.h 

 >>
 >> 
./­Code/­Algorithms/­itkMeanReciprocalSquareDifferencePointSetToImageMetric.txx 

 >>
 >> ./­Code/­Algorithms/­itkAnisotropicFourthOrderLevelSetImageFilter.h
 >> ./­Code/­Algorithms/­itkAnisotropicFourthOrderLevelSetImageFilter.txx
 >> ./­Code/­Algorithms/­itkIsotropicFourthOrderLevelSetImageFilter.h
 >> ./­Code/­Algorithms/­itkIsotropicFourthOrderLevelSetImageFilter.txx
 >> ./­Code/­Algorithms/­itkUnsharpMaskLevelSetImageFilter.txx
 >> 
./­Code/­Algorithms/­itkCorrelationCoefficientHistogramImageToImageMetric.h
 >>
 >> 
./­Code/­Algorithms/­itkCorrelationCoefficientHistogramImageToImageMetric.txx 

 >>
 >> ./­Code/­Algorithms/­itkFEMFiniteDifferenceFunctionLoad.h
 >> ./­Code/­Algorithms/­itkFEMFiniteDifferenceFunctionLoad.txx
 >> ./­Code/­Algorithms/­itkHistogramImageToImageMetric.h
 >> ./­Code/­Algorithms/­itkHistogramImageToImageMetric.txx
 >> ./­Code/­Algorithms/­itkMIRegistrationFunction.h
 >> ./­Code/­Algorithms/­itkMIRegistrationFunction.txx
 >> ./­Code/­Algorithms/­itkMeanSquareRegistrationFunction.h
 >> ./­Code/­Algorithms/­itkMeanSquareRegistrationFunction.txx
 >> ./­Code/­Algorithms/­itkMeanSquaresHistogramImageToImageMetric.h
 >> ./­Code/­Algorithms/­itkMeanSquaresHistogramImageToImageMetric.txx
 >> ./­Code/­Algorithms/­itkNCCRegistrationFunction.h
 >> ./­Code/­Algorithms/­itkMutualInformationHistogramImageToImageMetric.h
 >> ./­Code/­Algorithms/­itkMutualInformationHistogramImageToImageMetric.txx
 >> ./­Code/­Algorithms/­itkNCCRegistrationFunction.txx
 >> 
./­Code/­Algorithms/­itkNormalizedMutualInformationHistogramImageToImageMetric.h 

 >>
 >> 
./­Code/­Algorithms/­itkNormalizedMutualInformationHistogramImageToImageMetric.txx 

 >>
 >> ./­Code/­BasicFilters/­itkNonThreadedShrinkImageFilter.h
 >> ./­Code/­BasicFilters/­itkNonThreadedShrinkImageFilter.txx
 >> ./­Code/­BasicFilters/­itkParametricSpaceToImageSpaceMeshFilter.h
 >> ./­Code/­BasicFilters/­itkParametricSpaceToImageSpaceMeshFilter.txx
 >> ./­Code/­BasicFilters/­itkChainCodeToFourierSeriesPathFilter.h
 >> ./­Code/­BasicFilters/­itkChainCodeToFourierSeriesPathFilter.txx
 >> ./­Code/­BasicFilters/­itkGetAverageSliceImageFilter.h
 >> ./­Code/­BasicFilters/­itkGetAverageSliceImageFilter.txx
 >> ./­Code/­BasicFilters/­itkLazyEdgeDetectionImageFilter3D.h
 >> ./­Code/­BasicFilters/­itkLazyEdgeDetectionImageFilter3D.txx
 >> ./­Code/­BasicFilters/­itkMidsagittalPlaneExtractionImageFilter.h
 >> ./­Code/­BasicFilters/­itkMidsagittalPlaneExtractionImageFilter.txx
 >> ./­Code/­BasicFilters/­itkParallelSparseFieldLevelSetImageFilter.h
 >> ./­Code/­BasicFilters/­itkParallelSparseFieldLevelSetImageFilter.txx
 >> ./­Code/­Common/­itkBloxBoundaryPointPixel.h
 >> ./­Code/­Common/­itkBloxItem.h
 >> ./­Code/­Common/­itkConditionalIterator.h
 >> ./­Code/­Common/­itkConditionalIterator.txx
 >> ./­Code/­Common/­itkDefaultDynamicMeshTraits.h
 >> ./­Code/­Common/­itkDefaultImageTraits.h
 >> ./­Code/­Common/­itkDefaultStaticMeshTraits.h
 >> ./­Code/­Common/­itkFiniteDifferenceFunction.txx
 >> ./­Code/­Common/­itkFloodFilledFunctionConditionalIterator.h
 >> ./­Code/­Common/­itkFloodFilledFunctionConditionalIterator.txx
 >> ./­Code/­Common/­itkFloodFilledImageFunctionConditionalIterator.txx
 >> ./­Code/­Common/­itkFloodFilledSpatialFunctionConditionalIterator.txx
 >> ./­Code/­Common/­itkHexahedronCellTopology.h
 >> ./­Code/­Common/­itkImageContainerInterface.h
 >> ./­Code/­Common/­itkImageIteratorWithIndex.h
 >> ./­Code/­Common/­itkImageIteratorWithIndex.txx
 >> ./­Code/­Common/­itkImageRandomIteratorWithIndex.h
 >> ./­Code/­Common/­itkImageReverseIterator.h
 >> ./­Code/­Common/­itkImageReverseIterator.txx
 >> ./­Code/­Common/­itkIndexedContainerInterface.h
 >> ./­Code/­Common/­itkIntTypes.h
 >> ./­Code/­Common/­itkMeshRegion.cxx
 >> ./­Code/­Common/­itkMeshRegion.h
 >> ./­Code/­Common/­itkNeighborhoodAlgorithm.h
 >> ./­Code/­Common/­itkNumericTraits.cxx
 >> ./­Code/­Common/­itkPixelAccessor.h
 >> ./­Code/­Common/­itkPixelTraits.h
 >> ./­Code/­Common/­itkQuadraticTriangleCellTopology.h
 >> ./­Code/­Common/­itkQuadrilateralCellTopology.h
 >> ./­Code/­Common/­itkScalarVector.h
 >> ./­Code/­Common/­itkSimpleFastMutexLock.h
 >> ./­Code/­Common/­itkTetrahedronCellTopology.h
 >> ./­Code/­Common/­itkTimeProbe.h
 >> ./­Code/­Common/­itkTimeProbesCollectorBase.h
 >>
 >>
 >> _______________________________________________
 >> Insight-developers mailing list
 >> Insight-developers at itk . org
 >> http://www . itk . org/mailman/listinfo/insight-developers
 >
 >
 >
 >
 >
 >