← Back to team overview

kicad-developers team mailing list archive

Re: [RFC] [PATCH] simple C++ tests

 

On 12/07/2016 10:55 AM, Maciej Sumiński wrote:
> On 12/07/2016 10:35 AM, Michael Steinberg wrote:
>> Hello Orson,
>>
>>
>> Am 07.12.2016 um 10:29 schrieb Maciej Sumiński:
>>> I used to work with projects that had multiple small unit tests and it
>>> was quite neat solution. Do you think it would be much harder to apply
>>> the same rules here? If so, I would not mind having one-to-one relation
>>> between targets and tests, especially that one can easily separate tests
>>> using boost.test judging from the screenshot you posted.
>>>
>>> Regards,
>>> Orson
>> That would absolutely be possible, my intention avoiding that on the
>> first shot was only that I feared having a full executable link process
>> per test/test case might be a bit troublesome in the long run. Did you
>> have no problems with that, how many tests were there, did it slow down
>> the build process at all? No matter how many test targets we produce,
>> CTest will only ever say "passed" or "not passed" for each without any
>> further information of what is the cause, if I'm not completely mistaken.
>>
>> Michael
> 
> Linking against a shared library (e.g. _pcbnew.kiface) should be quick.
> Tom has been testing a similar approach [1], though without using CTest,
> but it shows the idea.
> 
> CTest is able to give extra information once a build fails [2].
> Apparently whatever approach we choose we will have more or less the
> same information available. I do not really see any exceptional benefit
> of one method over the other, so IMHO we can go with whatever is easier
> to set up.
> 
> Regards,
> Orson
> 
> 1.
> https://github.com/twlostow/kicad-dev/commit/bec46081ea3bf0e2862615fc6040a86beda5785f
> 2. https://cmake.org/cmake/help/v2.8.8/ctest.html#opt%3a--output-on-failure

One thing worth checking is whether boost.test continues tests after a
test fails. Full report is a valuable information, sometimes I was able
to tell what went wrong without launching gdb, but simply by looking at
a list of failed tests.

Regards,
Orson

Attachment: signature.asc
Description: OpenPGP digital signature


References