[CMake] Coverage Woes

Mathieu Malaterre mathieu.malaterre at gmail.com
Mon Dec 22 10:47:39 EST 2008


On Mon, Dec 22, 2008 at 4:44 PM, Mathieu Malaterre
<mathieu.malaterre at gmail.com> wrote:
> On Mon, Dec 22, 2008 at 4:36 PM, Bill Hoffman <bill.hoffman at kitware.com> wrote:
>> Mathieu Malaterre wrote:
>>>
>>> On Mon, Dec 22, 2008 at 4:17 PM, Bill Hoffman <bill.hoffman at kitware.com>
>>> wrote:
>>>>
>>>> Blezek, Daniel J. wrote:
>>>>>
>>>>> Hi,
>>>>>
>>>>>  We're ramping up our testing using CDash, CTest, and CMake.  I started
>>>>> a
>>>>> coverage build but get no coverage information. I'm not sure how to
>>>>> debug
>>>>> ctest as it doesn't produce coverage information properly.  Long post,
>>>>> sorry.
>>>
>>> Dan,
>>>
>>>  I am also experiencing the same issue here (gdcm dashboard). What I
>>> found out is simply doing:
>>>
>>> cat dashboard.sh
>>> ...
>>> ctest -S main_dashboard_with_coverage.cmake
>>> # extra steps to submit coverage properly (almost):
>>> cd $HOME/Dashboards/MyTests/gdcm-2-0-nightly-cov
>>> make NightlyCoverage && make NightlySubmit
>>> ...
>>>
>>>  not nice, but at least give the results I was looking for
>>> (coverage). Until someone with lots of free time, figure out the real
>>> issue, I'll continue this way.
>>>
>>
>> CMake, and several other projects at Kitware are submitting coverage just
>> fine....   Exactly what is in the main_dashboard_with_coverage.cmake that
>> does not work???
>>
>
> Here you go.
> http://www.cdash.org/CDash/viewNotes.php?buildid=235370
>
> I do not remember all the details, but I *think* gcov was complaining
> about some files not being found. While the second time I would be
> running make *Coverage, it would work.

I forgot I was redirecting the output of the ctest script to a file.
Here is the part that looks suspicious (from yesterday dashboard).

Run dashboard with model Nightly
   Source directory: /home/mmalaterre/Dashboards/MyTests/gdcm-2-0
   Build directory: /home/mmalaterre/Dashboards/MyTests/gdcm-2-0-nightly-cov
   Reading ctest configuration file:
/home/mmalaterre/Dashboards/MyTests/gdcm-2-0/CTestConfig.cmake
   Site: zorglub
   Build name: GDCM2-0-Linux-gcc43-Coverage-SVN
Determine Nightly Start Time
   Specified time: 21:00:00 EDT
   Use Nightly tag: 20081222-0100
Updating the repository
   First perform the initial checkout: /usr/bin/svn co
https://gdcm.svn.sourceforge.net/svnroot/gdcm/branches/gdcm-2-0
gdcm-2-0
   Perform checkout in directory: /home/mmalaterre/Dashboards/MyTests
   Updating the repository: /home/mmalaterre/Dashboards/MyTests/gdcm-2-0
   Use SVN repository type
Determine Nightly Start Time
   Specified time: 21:00:00 EDT
   Old revision of repository is: 4949
   Current revision of repository is: 4941
   Gathering version information (each . represents one updated file):
   Project is up-to-date
Configure project
   Each . represents 1024 bytes of output
    .... Size of output: 3K
Build project
   Each symbol represents 1024 bytes of output.
   '!' represents an error and '*' a warning.
    ..................................................  Size: 50K
    .. Size of output: 51K
   0 Compiler errors
   0 Compiler warnings
Test project /home/mmalaterre/Dashboards/MyTests/gdcm-2-0-nightly-cov
  1/138 Testing TestVersion                      Passed
  2/138 Testing TestTesting                      Passed
  3/138 Testing TestSwapper                      Passed
  4/138 Testing TestByteSwap                     Passed
  5/138 Testing TestString                       Passed
  6/138 Testing TestString2                      Passed
  7/138 Testing TestTerminal                     Passed
  8/138 Testing TestFilenameGenerator            Passed
  9/138 Testing TestObject                       Passed
 10/138 Testing TestSmartPointer                 Passed
 11/138 Testing TestSwapCode                     Passed
 12/138 Testing TestSystem                       Passed
 13/138 Testing TestTrace                        Passed
 14/138 Testing TestUnpacker12Bits               Passed
 15/138 Testing TestDirectory                    Passed
 16/138 Testing TestFilename                     Passed
 17/138 Testing TestDictEntry                    Passed
 18/138 Testing TestDict                         Passed
 19/138 Testing TestGlobal                       Passed
 20/138 Testing TestUIDs                         Passed
 21/138 Testing TestDicts                        Passed
 22/138 Testing TestGroupDict                    Passed
 23/138 Testing TestTagToType                    Passed
 24/138 Testing TestSOPClassUIDToIOD             Passed
 25/138 Testing TestAttribute                    Passed
 26/138 Testing TestAttribute7                   Passed
 27/138 Testing TestLO                           Passed
 28/138 Testing TestCSAElement                   Passed
 29/138 Testing TestPreamble                     Passed
 30/138 Testing TestLCNumeric                    Passed
 31/138 Testing TestReader                       Passed
 32/138 Testing TestWriter                       Passed
 33/138 Testing TestWriter2                   ***Exception: Other
 34/138 Testing TestCSAHeader                    Passed
 35/138 Testing TestByteSwapFilter               Passed
 36/138 Testing TestBasicOffsetTable             Passed
 37/138 Testing TestComposite                    Passed
 38/138 Testing TestDataSet                      Passed
 39/138 Testing TestVRDS                         Passed
 40/138 Testing TestElement                      Passed
 41/138 Testing TestFileMetaInformation          Passed
 42/138 Testing TestFile                         Passed
 43/138 Testing TestFileSet                      Passed
 44/138 Testing TestFragment                     Passed
 45/138 Testing TestSequenceOfFragments          Passed
 46/138 Testing TestSequenceOfItems              Passed
 47/138 Testing TestTag                          Passed
 48/138 Testing TestPrivateTag                   Passed
 49/138 Testing TestTransferSyntax               Passed
 50/138 Testing TestMediaStorage                 Passed
 51/138 Testing TestVL                           Passed
 52/138 Testing TestVM                           Passed
 53/138 Testing TestVR                           Passed
 54/138 Testing TestElement2                     Passed
 55/138 Testing TestElement4                     Passed
 56/138 Testing TestElement5                     Passed
 57/138 Testing TestReader2                      Passed
 58/138 Testing TestReader3                      Passed
 59/138 Testing TestTableReader                  Passed
 60/138 Testing TestTable                        Passed
 61/138 Testing TestTableEntry                   Passed
 62/138 Testing TestType                         Passed
 63/138 Testing TestModule                       Passed
 64/138 Testing TestModules                      Passed
 65/138 Testing TestModuleEntry                  Passed
 66/138 Testing TestNestedModuleEntries          Passed
 67/138 Testing TestIODEntry                     Passed
 68/138 Testing TestIOD                          Passed
 69/138 Testing TestIODs                         Passed
 70/138 Testing TestDefs                         Passed
 71/138 Testing TestPatient                      Passed
 72/138 Testing TestSeries                       Passed
 73/138 Testing TestStudy                        Passed
 74/138 Testing TestDefinedTerms                 Passed
 75/138 Testing TestEnumeratedValues             Passed
 76/138 Testing TestAnonymizer                   Passed
 77/138 Testing TestFileExplicitFilter           Passed
 78/138 Testing TestImageFragmentSplitter        Passed
 79/138 Testing TestTagPath                      Passed
 80/138 Testing TestOrientation                  Passed
 81/138 Testing TestIconImage                    Passed
 82/138 Testing TestImageHelper                  Passed
 83/138 Testing TestImageToImageFilter           Passed
 84/138 Testing TestImageChangeTransferSyntax ***Exception: Other
 85/138 Testing TestImageChangePhotometricInte   Passed
 86/138 Testing TestImageChangePhotometricInte***Failed
 87/138 Testing TestImageChangeTransferSyntax2***Exception: Other
 88/138 Testing TestImageChangeTransferSyntax3***Exception: Other
 89/138 Testing TestImageChangeTransferSyntax4***Exception: Other
 90/138 Testing TestImageChangeTransferSyntax6***Exception: Other
 91/138 Testing TestImageChangeTransferSyntax7***Exception: Other
 92/138 Testing TestImageApplyLookupTable        Passed
 93/138 Testing TestImageChangePlanarConfigura   Passed
 94/138 Testing TestCoder                        Passed
 95/138 Testing TestDecoder                      Passed
 96/138 Testing TestRescaler                     Passed
 97/138 Testing TestDumper                       Passed
 98/138 Testing TestDictPrinter                  Passed
 99/138 Testing TestApplicationEntity            Passed
100/138 Testing TestStringFilter                 Passed
101/138 Testing TestUIDGenerator                 Passed
102/138 Testing TestPrinter                   ***Exception: Other
103/138 Testing TestPrint                        Passed
104/138 Testing TestSorter                       Passed
105/138 Testing TestImageReader               ***Failed
106/138 Testing TestDirectionCosines             Passed
107/138 Testing TestImageWriter               ***Failed
108/138 Testing TestCodec                        Passed
109/138 Testing TestPDFCodec                     Passed
110/138 Testing TestRLECodec                     Passed
111/138 Testing TestAudioCodec                   Passed
112/138 Testing TestImage                        Passed
113/138 Testing TestPhotometricInterpretation    Passed
114/138 Testing TestLookupTable                  Passed
115/138 Testing TestOverlay                      Passed
116/138 Testing TestCurve                        Passed
117/138 Testing TestPixelFormat                  Passed
118/138 Testing TestPersonName                   Passed
119/138 Testing TestImageCodec                   Passed
120/138 Testing TestImageConverter               Passed
121/138 Testing TestJPEGCodec                    Passed
122/138 Testing TestRAWCodec                     Passed
123/138 Testing TestDICOMDIR                     Passed
124/138 Testing TestWaveform                     Passed
125/138 Testing TestFiducials                    Passed
126/138 Testing TestEncapsulatedDocument         Passed
127/138 Testing TestSpectroscopy                 Passed
128/138 Testing TestScanner                      Passed
129/138 Testing TestIPPSorter                    Passed
130/138 Testing TestCopyDataSet                  Passed
131/138 Testing TestUIDGenerator2                Passed
132/138 Testing TestvtkGDCMImageReader           Passed
133/138 Testing TestvtkGDCMImageReader2          Passed
134/138 Testing TestvtkGDCMImageReader4       ***Exception: Other
135/138 Testing TestvtkGDCMImageWriter        ***Exception: Other
136/138 Testing TestvtkGDCMImageWriter2       ***Exception: Other
137/138 Testing TestvtkGDCMThreadedImageReader   Passed
138/138 Testing TestvtkGDCMThreadedImageReader   Passed

90% tests passed, 14 tests failed out of 138

The following tests FAILED:
	 33 - TestWriter2 (OTHER_FAULT)
	 84 - TestImageChangeTransferSyntax (OTHER_FAULT)
	 86 - TestImageChangePhotometricInterpretation2 (Failed)
	 87 - TestImageChangeTransferSyntax2 (OTHER_FAULT)
	 88 - TestImageChangeTransferSyntax3 (OTHER_FAULT)
	 89 - TestImageChangeTransferSyntax4 (OTHER_FAULT)
	 90 - TestImageChangeTransferSyntax6 (OTHER_FAULT)
	 91 - TestImageChangeTransferSyntax7 (OTHER_FAULT)
	102 - TestPrinter (OTHER_FAULT)
	105 - TestImageReader (Failed)
	107 - TestImageWriter (Failed)
	134 - TestvtkGDCMImageReader4 (OTHER_FAULT)
	135 - TestvtkGDCMImageWriter (OTHER_FAULT)
	136 - TestvtkGDCMImageWriter2 (OTHER_FAULT)
Performing coverage
   Processing coverage (each . represents one file):
    .No such file or directory
Problem running coverage on file:
/home/mmalaterre/Dashboards/MyTests/gdcm-2-0-nightly-cov/Utilities/gdcmuuid/CMakeFiles/gdcmuuid.dir/uuid_time.gcda
Command produced error: No such file or directory
.No such file or directory
Problem running coverage on file:
/home/mmalaterre/Dashboards/MyTests/gdcm-2-0-nightly-cov/Utilities/gdcmuuid/CMakeFiles/gdcmuuid.dir/pack.gcda
Command produced error: No such file or directory
.No such file or directory
Problem running coverage on file:
/home/mmalaterre/Dashboards/MyTests/gdcm-2-0-nightly-cov/Utilities/gdcmuuid/CMakeFiles/gdcmuuid.dir/unparse.gcda
Command produced error: No such file or directory
.No such file or directory
...

Let me know if you want the complete file.

-M


More information about the CMake mailing list