← Back to team overview

kicad-developers team mailing list archive

Re: Questions to the QA code

 

Hello,   Here's a follow-up about mocks in the qa tests. I prepared example use of Turtle library. My observations below:  - integrates easily with Boost.Test (HippoMocks didn't require any integration, gmock will be harder,  gitlab.com gitlab.com ) - looks similar in use to google mocks  - it's maintained on GitHub:  github.com github.com  - it forced me to create more mocks than HippoMocks and rework the code a bit ( gitlab.com gitlab.com ), so:   - may require more work to create/maintain tests    - but I believe that in exchange it will result in better quality (I found missing 'virtual' keyword before destructor of SCHEMATIC!)   Best regards,  Sylwester  Dnia 21 stycznia 2021 16:38 Jeff Young <jeff@xxxxxxxxx> napisał(a):  Good point.  I have only used the Java one (which I guess is the original?).   Cheers,  Jeff.    On 20 Jan 2021, at 21:18, Sylwester Kocjan <   s.kocjan@xxxxx > wrote:   Hi Jeff,   Did you use  github.com github.com  or that one for Java  github.com github.com  ?  Mockitopp has it's last code update about ~1,5 year ago, so it looks it has the same downside as HippoMocks.  There is also Mockpp, also not actively developed:  sourceforge.net sourceforge.net   BR,  SK  Dnia 17 stycznia 2021 16:45 Jeff Young <   jeff@xxxxxxxxx > napisał(a):  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>  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:   gitlab.com gitlab.com   On Sat, Jan 16, 2021 at 6:47 AM Seth Hillbrand   <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:  -  turtle.sourceforge.net turtle.sourceforge.net  -  github.com github.com  -  github.com github.com   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 >
              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 >
                  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 >
                      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:   docs.google.com docs.google.com   2. What do you think about adding mocking
                        library to the KiCad code? I found that PGM
                        object is mocked few times       gitlab.com gitlab.com         A libary for creating mocks would simplify
                        creting the tests. In this MR and commit:          gitlab.com gitlab.com      gitlab.com gitlab.com         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:  launchpad.net launchpad.net  Post to     :     kicad-developers@lists.launchp  Unsubscribe :  launchpad.net launchpad.net  More help   :  help.launchpad.net help.launchpad.net    --     Seth Hillbrand  Lead Developer  +1-530-302-5483 ‬  Long Beach, CA  www.kipro-pcb.com www.kipro-pcb.com           info@xxxxxxxxxxxxx  ______________________________  Mailing list:  launchpad.net launchpad.net  Post to     :     kicad-developers@lists.launchp  Unsubscribe :  launchpad.net launchpad.net  More help   :  help.launchpad.net help.launchpad.net  ______________________________  Mailing list:  launchpad.net launchpad.net  Post to     :     kicad-developers@lists.launchp  Unsubscribe :  launchpad.net launchpad.net  More help   :  help.launchpad.net help.launchpad.net   ______________________________ list:  launchpad.net launchpad.net
Post to     :     kicad-developers@lists.launchp
Unsubscribe :  launchpad.net launchpad.net
More help   :  help.launchpad.net help.launchpad.net
   ______________________________  Mailing list:  launchpad.net launchpad.net  Post to     :     kicad-developers@lists.launchp  Unsubscribe :  launchpad.net launchpad.net  More help   :  help.launchpad.net help.launchpad.net   ______________________________  Mailing list:  launchpad.net launchpad.net  Post to     :    kicad-developers@lists.launchp  Unsubscribe :  launchpad.net launchpad.net  More help   :  help.launchpad.net help.launchpad.net

Follow ups

References