[cmake-developers] valgrind errors

David Cole david.cole at kitware.com
Fri Jan 20 07:41:48 EST 2012


On Fri, Jan 20, 2012 at 2:07 AM, Rolf Eike Beer <eike at sf-mail.de> wrote:
> Bill Hoffman wrote:
>> We seems to have some valgrind errors on the dashboard:
>>
>> http://www.cdash.org/CDash/viewDynamicAnalysisFile.php?id=2554459
>>
>> Seems to have started with this day:
>> http://www.cdash.org/CDash/viewChanges.php?project=CMake&date=2011-11-12
>>
>> http://www.cdash.org/CDash/viewUpdate.php?buildid=1717708
>>
>> I think it might be this find module change that has exposed the issue:
>>
>> http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=f30f9a500c5e5aeb053c41307
>> dab9987735570dd
>>
>> Looks like the status is somehow not getting set for a call to message.
>
> While the reason for this occurrence has been long fixed, I just pushed the
> topic "uninitialized-var-in-if" into next that fixed the underlying problem.
>
> This introduced a new directory Tests/Syntax and a first tests there. It does
>
>  if (NOT foo bar STREQUAL "foo bar")
>
> and triggers this error, which now does not use an unitinialized variable
> anymore. Since it's a clear syntax error I set it to be a FATAL_ERROR. I think
> we should put more such tests in there, would easily allow us to increase
> coverage as e.g. in cmIfCommand many error branches are currently not part of
> the coverage.
>
> Eike
> --
> --
>
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html
>
> Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ
>
> Follow this link to subscribe/unsubscribe:
> http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers


Instead of inventing an entirely new location for this one line
case...... it should be added in "Tests/CMakeTests" -- there are a
bunch of tests of syntax-related mistakes in there.

See, for example, the files FileTestScript.cmake and StringTestScript.cmake.

The macro execute_all_script_tests actually parses such scripts and
uses the "# pass" / "# fail" comments to know whether a given
if/elseif clause is expected to pass or fail.

The one thing it can't handle though, is mismatched if's, ...

However, regardless of whether you can blend in with an existing test
or not, I think "Tests/CMakeTests" is the right location for further
CMake syntax related tests.


Thx,
David



More information about the cmake-developers mailing list