kicad-developers team mailing list archive
-
kicad-developers team
-
Mailing list archive
-
Message #44827
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