← Back to team overview

kicad-developers team mailing list archive

Re: Test cases

 

On 18 February 2014 22:43, Miguel Angel <miguelangel@xxxxxx> wrote:
>
>    Sure Henner, I understand your point, but:
>
>
> 1) All python-exposed structures (meant to be public) need to be tested from
> python.
>     That warrants that the python interface is reliable, and not breaking.
> And it's a good start.

Sounds good, so we are on one page: the external interface (mostly
scripting interface and starting binaries I suppose) should be in
Python.
Good - thanks for clarifying.

>
> 2) Probably, keeping replicas of tests which are written in python into C++
> would lead to more
> extra work than python language barrier itself. And also make a "x2" in the
> maintenance of
> such code.
>
> I agree that private C++ stuff:
>
> a) we don't want it exposed via python,
>
> b) neither we want to expend any time on writting wrappers
>    for that
>
> c)  would benefit from C++ unit testing (cmake, cppunit, or anything that
> fits our need).
>
> d) I understand that we are open for contributions in this area!! ;-) help
> is welcome
>
> I'm using my available time on python scripting QA testing at this moment,
> which
> comes with unit testing of the publicly available objects.

Thanks for your efforts here - really appreciated!

>
>
> Best regards,
> Miguel Ángel.
>
>
> ---
> irc: ajo / mangelajo
> Miguel Angel Ajo Pelayo
> +34 636 52 25 69
> skype: ajoajoajo
>
>
> 2014-02-19 7:29 GMT+01:00 Henner Zeller <h.zeller@xxxxxxx>:
>
>> Mmh, I guess I am too late in the game, but shouldn't the unittest
>> itself be written in C++ ? It feels too much of a pain to use Python
>> here (and with pain I mean, I personally rather poke a finger in my
>> eye than writing something in Python :) ). I just fear that the
>> unit-tests themself will become an unmaintainable mess - either
>> because C++ programmers are bad Python programmers, or because the
>> programmers won't even attempt to write a test in the first place
>> because of the language barrier. So the tests thus are less useful in
>> the long term as they don't catch what they are supposed to catch.
>>
>> I am a strong supporter of writing unit-tests; I personally have some
>> experience with https://code.google.com/p/googletest/ but there is as
>> well a boost test suite available (since we already use boost).
>>
>> Of course, we can use both, Python and C++ for unit-tests. Though
>> really only use each in their domain: Python to test the scripting
>> interface, and C++ for 'internal' stuff.
>>
>> My 2c,
>>   -h
>>
>> On 18 February 2014 22:11, Miguel Angel <miguelangel@xxxxxx> wrote:
>> > Hi Kaspar,
>> >
>> > Asking google about you (to find your hardware) I discovered that you
>> > were
>> > playing with kicad/unittests this summer.
>> >
>> >
>> > http://bazaar.launchpad.net/~kaspar-emanuel/kicad/python-unittest/revision/4243
>> >
>> >
>> > Wouls you like it incorporated to qa/testcases?
>> >
>> >
>> > http://bazaar.launchpad.net/~kicad-product-committers/kicad/product/files/head:/qa/testcases/
>> >
>> > If you had more time, I believe kicad could benefit from more unit
>> > tests,
>> >
>> > When you have good unit testing, you're able to refactor your code with
>> > more
>> > confidence
>> > and keep a higher code quality because tests will warn you if you're
>> > breaking something.
>> > But we're yet far from being able to rely on the tests :-)
>> >
>> >
>> >
>> > ---
>> > irc: ajo / mangelajo
>> > Miguel Angel Ajo Pelayo
>> > +34 636 52 25 69
>> > skype: ajoajoajo
>> >
>> > _______________________________________________
>> > 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
>> >
>
>
>
> _______________________________________________
> 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
>


References