[CMake] Coverage Woes

David Cole david.cole at kitware.com
Mon Dec 22 10:50:49 EST 2008


"No such file or directory" is probably looking for a non-existent
CTEST_COVERAGE_COMMAND.
Try setting CTEST_COVERAGE_COMMAND to "/usr/bin/gcov" in your new style
script instead of putting a COVERAGE_COMMAND entry in the initial cache.
With the new style script, ctest does not rely on entries in the
CMakeCache.txt file.

I am using new style scripts with Bullseye on Windows (although not nightly)
and when I set CTEST_COVERAGE_COMMAND, my new style scripts work ok...


On Mon, Dec 22, 2008 at 10:47 AM, Mathieu Malaterre <
mathieu.malaterre at gmail.com> wrote:

> 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<https://gdcm.svn.sourceforge.net/svnroot/gdcm/branches/gdcm-2-0gdcm-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
> _______________________________________________
> CMake mailing list
> CMake at cmake.org
> http://www.cmake.org/mailman/listinfo/cmake
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.cmake.org/pipermail/cmake/attachments/20081222/f41b326a/attachment-0001.htm>


More information about the CMake mailing list