[cmake-developers] Tests directory layout (was: valgrind errors)

David Cole david.cole at kitware.com
Fri Jan 20 14:02:23 EST 2012


On Fri, Jan 20, 2012 at 1:16 PM, Rolf Eike Beer <eike at sf-mail.de> wrote:
> David Cole wrote:
>> On Fri, Jan 20, 2012 at 7:51 AM, Rolf Eike Beer <eike at sf-mail.de> wrote:
>> >> On Fri, Jan 20, 2012 at 2:07 AM, Rolf Eike Beer <eike at sf-mail.de> wrote:
>
>>>>> 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.
>>>>
>>>> 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.
>>>
>>> I'll happily move this to any place where it fits.
>>>
>>> Is there any documentation on how these testcases should be structured?
>>> I currently only see a lot of tests, but nothing like a readme file telling
>>> me things like "if your script does only a cmake configure run but
>>> nothing more CMakeOnly is the place you look for".
>
>> No documentation about tests. Discussion on this list is the closest
>> proxy for such docs.
>
> What I currently know is:
>
> -if tests run in CMake script mode, they should go in CMakeTests
> -if they need to run CMake in configure mode, but don't build anything, they
> should go in CMakeOnly
> -if they test something from the Modules directory, but do not belong to one
> of the previous 2 cases, they should go in Modules
>
> Correct? Anything else?

Correct. Nothing else unless you have another question...? ;-)

>
> Where should such a list go? Tests/README? Wiki?

Where would you have looked for it first before asking on the mailing
list? Google will find things on the Wiki better than it will in a
Tests/README file. Where would you look first? Google, or files in the
CMake installation, the CMake web site, the Wiki, cmake --help-*?


>
> 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



More information about the cmake-developers mailing list