← Back to team overview

kicad-developers team mailing list archive

Re: Questions to the QA code

 

I’ve used Mockito.  Can’t say I remember a thing about it, though (which could be good?).

Cheers,
Jeff.

> On 17 Jan 2021, at 14:49, Sylwester Kocjan <s.kocjan@xxxxx> wrote:
> 
> Hello,
> 
> On 17/01/2021 09:47, Alex wrote:
> > ...GTest, Doctest and Catch2, (...) they'll all get the job done
> 
> They are all testing frameworks without mocking capability. We have already Boost.Test based tests and I find it unnecessary effort to migrate them, and alone
> they don't solve the problem. 
> 
> 
> On 17/01/2021 09:47, Alex wrote:
> > I wasn't aware that GMock could operate separately from GTest, but if it can, that's pretty neat.
> 
> On Sun, Jan 17, 2021, 12:15 AM Andrew Lutsenko <anlutsenko@xxxxxxxxx> <mailto:anlutsenko@xxxxxxxxx> wrote:
> > You can also use gmock separately from gtest.
> 
> Since some time gmock is a part of gtest. Any search results in the topic of gmock with another testing frameworks are quite old. I think there is a risk that it will not work. 
> 
> 
> On 17/01/2021 09:47, Alex wrote:
> > Catch is a single header
> 
> I was instructed to avoid introducing new dependencies, hence my initial choice of single-header HippoMocks:
> 
> https://gitlab.com/kicad/code/kicad/-/issues/4446#note_445185505 <https://gitlab.com/kicad/code/kicad/-/issues/4446#note_445185505>
> 
> On Sat, Jan 16, 2021 at 6:47 AM Seth Hillbrand <seth@xxxxxxxxxxxxx> <mailto:seth@xxxxxxxxxxxxx> wrote:
> > The downside of HippoMocks from what I can gather is that the project appears abandoned. 
> 
> Sadly, this is true. There are also other choices, but I don't have any hands-on experience with them and I don't know which one to choose:
> - http://turtle.sourceforge.net/ <http://turtle.sourceforge.net/>
> - https://github.com/tpounds/mockitopp <https://github.com/tpounds/mockitopp>
> - https://github.com/rollbear/trompeloeil <https://github.com/rollbear/trompeloeil>
> 
> Best regards,
> Sylwester
> 
> 
> On 17/01/2021 09:47, Alex wrote:
>> I've used GTest, Doctest and Catch2, and they'll all get the job done; Doctest is definitely the fastest to compile, but also has the least of features; Catch and GTest have the most features.
>> 
>> I wasn't aware that GMock could operate separately from GTest, but if it can, that's pretty neat.
>> 
>> I believe Doctest and Catch both are single header - I know at least Catch is a single header; but I think it makes sense to use a git submodule in this case.
>> 
>> On Sun, Jan 17, 2021, 12:15 AM Andrew Lutsenko <anlutsenko@xxxxxxxxx <mailto:anlutsenko@xxxxxxxxx>> wrote:
>> I would also suggest to look towards gtest/gmock.
>> It's widely adopted, works with cmake out of the box, has integrations with popular IDEs and a good choice of supporting tools like parallelized runners, GUI inspectors etc.
>> You can also use gmock separately from gtest.
>> 
>> Andrew
>> 
>> On Sat, Jan 16, 2021 at 6:47 AM Seth Hillbrand <seth@xxxxxxxxxxxxx <mailto:seth@xxxxxxxxxxxxx>> wrote:
>> Hi Sylwester-
>> 
>> I haven't used HippoMocks but in general, adding QA tests is always welcome as long as they run as expected under the Fedora docker we use for online QA with GitLab.
>> 
>> The downside of HippoMocks from what I can gather is that the project appears abandoned.  If I'm incorrect here, can you link to the current repository/documentation?
>> 
>> Thanks-
>> Seth
>> 
>> On Fri, Jan 15, 2021 at 2:49 PM Sylwester Kocjan <s.kocjan@xxxxx <mailto:s.kocjan@xxxxx>> wrote:
>> Hello,
>> 
>> I have two questions regarding QA code for KiCad and I'd like to ask for your comments about them:
>> 
>> 1. I reviewed contents of qa directory in KiCad repo and I saw some issues that can be fixed.
>>    Could you please take a look at the summary and let me know if they are valid:
>> 
>> https://docs.google.com/spreadsheets/d/14QAy9rRIHqRr4YuXfQO2GicURAG1BgJmwKe7B1H6xXI/edit#gid=326687467 <https://docs.google.com/spreadsheets/d/14QAy9rRIHqRr4YuXfQO2GicURAG1BgJmwKe7B1H6xXI/edit#gid=326687467>
>> 
>> 2. What do you think about adding mocking library to the KiCad code? I found that PGM object is mocked few times
>> 
>>    https://gitlab.com/kicad/code/kicad/-/issues/4446#note_342766728 <https://gitlab.com/kicad/code/kicad/-/issues/4446#note_342766728>
>>   
>>    A libary for creating mocks would simplify creting the tests. In this MR and commit:
>>   
>>    https://gitlab.com/kicad/code/kicad/-/merge_requests/542 <https://gitlab.com/kicad/code/kicad/-/merge_requests/542>
>>    https://gitlab.com/kicad/code/kicad/-/merge_requests/542/diffs?commit_id=b7b401d7128057831c049a723ffc895453d65a0e <https://gitlab.com/kicad/code/kicad/-/merge_requests/542/diffs?commit_id=b7b401d7128057831c049a723ffc895453d65a0e>
>>   
>>    there is added HippoMocks, a single-header mocking tool and it does it's job.
>>    If that's ok, it could help to get rid of these duplicated mocks (maybe even hand-written mocks at all).
>> 
>> Best regards,
>> Sylwester
>> _______________________________________________
>> Mailing list: https://launchpad.net/~kicad-developers <https://launchpad.net/~kicad-developers>
>> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
>> Unsubscribe : https://launchpad.net/~kicad-developers <https://launchpad.net/~kicad-developers>
>> More help   : https://help.launchpad.net/ListHelp <https://help.launchpad.net/ListHelp>
>> 
>> 
>> -- 
>> 
>> Seth Hillbrand
>> Lead Developer
>> +1-530-302-5483 <tel:+1%20530-302-5483>‬
>> Long Beach, CA
>> www.kipro-pcb.com <https://www.kipro-pcb.com/>    info@xxxxxxxxxxxxx <mailto:info@xxxxxxxxxxxxx>_______________________________________________
>> Mailing list: https://launchpad.net/~kicad-developers <https://launchpad.net/~kicad-developers>
>> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
>> Unsubscribe : https://launchpad.net/~kicad-developers <https://launchpad.net/~kicad-developers>
>> More help   : https://help.launchpad.net/ListHelp <https://help.launchpad.net/ListHelp>
>> _______________________________________________
>> Mailing list: https://launchpad.net/~kicad-developers <https://launchpad.net/~kicad-developers>
>> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
>> Unsubscribe : https://launchpad.net/~kicad-developers <https://launchpad.net/~kicad-developers>
>> More help   : https://help.launchpad.net/ListHelp <https://help.launchpad.net/ListHelp>
>> 
>> 
>> _______________________________________________
>> Mailing list: https://launchpad.net/~kicad-developers <https://launchpad.net/~kicad-developers>
>> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx <mailto:kicad-developers@xxxxxxxxxxxxxxxxxxx>
>> Unsubscribe : https://launchpad.net/~kicad-developers <https://launchpad.net/~kicad-developers>
>> More help   : https://help.launchpad.net/ListHelp <https://help.launchpad.net/ListHelp>
> 
> _______________________________________________
> Mailing list: https://launchpad.net/~kicad-developers
> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help   : https://help.launchpad.net/ListHelp


Follow ups

References