[CMake] CTest + Catch Framework

Robert Dailey rcdailey.lists at gmail.com
Mon Jan 26 16:05:30 EST 2015


I believe so, but then you run into the chicken and egg problem:

I need to fully build all unit tests in order to know all the test
cases, but I need to define the tests at the generation phase (before
build).

I'm just not sure how to handle this. The best i can think of is to
generate 1 test executable per CPP file that we write in our unit
tests (generally 1 CPP file per class that is unit tested). Any ideas?

On Mon, Jan 26, 2015 at 10:05 AM, David Cole <DLRdave at aol.com> wrote:
> Can you run a command that executes one test case at a time, or do you
> have to run all 50 when you execute the tests for a library?
>
> ctest just runs whatever you give it with add_test -- if you want to
> filter a collection of unit tests to run only a single unit test, then
> the unit test framework you're using would have to support that. Does
> Catch allow you to run the tests individually?
>
>
>
> On Mon, Jan 26, 2015 at 12:30 AM, Robert Dailey
> <rcdailey.lists at gmail.com> wrote:
>> Hi,
>>
>> I'm using Catch as my unit test framework:
>> https://github.com/philsquared/Catch
>>
>> Is it possible for CTest to report each TEST_CASE block as an
>> individual test? My understanding is that CTest will only treat each
>> executable as a test. However, my test structure is as follows:
>>
>> 1 library
>> 1 test project
>>
>> Each test project has 1 test CPP file per each class in the library.
>> This way I implement tests for classes in a corresponding CPP file.
>>
>> Each CPP file contains multiple test cases (defined by TEST_CASE macro).
>>
>> The resulting output of `ctest -T Test` shows only 1 test, even though
>> that may be around 50 test cases. I'd like CMake to show the pass/fail
>> status of each one. Is this possible?
>> --
>>
>> Powered by www.kitware.com
>>
>> Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ
>>
>> Kitware offers various services to support the CMake community. For more information on each offering, please visit:
>>
>> CMake Support: http://cmake.org/cmake/help/support.html
>> CMake Consulting: http://cmake.org/cmake/help/consulting.html
>> CMake Training Courses: http://cmake.org/cmake/help/training.html
>>
>> Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html
>>
>> Follow this link to subscribe/unsubscribe:
>> http://public.kitware.com/mailman/listinfo/cmake


More information about the CMake mailing list