[Pulp-dev] Pulp 3 Unit Test Plan Proposal

Daniel Alley dalley at redhat.com
Mon Mar 26 16:44:08 UTC 2018


We would still block on failing tests, yes.

I'm also -1 blocking on coverage, and -1 against attempting 100%.

I'm also generally -1 against trying to pick a number (100%, 80%, 60%)
up-front.  We should unit test what makes sense to unit test, push that
number as high as reasonable, and otherwise focus on pulp-smash, which I
think has historically been more useful.

On Mon, Mar 26, 2018 at 12:31 PM, Bryan Kearney <bkearney at redhat.com> wrote:

> I assume you would still gate (hard fail) if unit tests fail?
>
> -- bk
>
> On 03/26/2018 05:55 AM, Ina Panova wrote:
>
>> -1 for hard check, -1 for 100% coverage.
>>
>> Unittests are good but integration tests are better.
>>
>> I totally agree with what Austin said. We should add tests where it makes
>> sense. +1 soft check.
>> I would not like finding myself banging my head [0] (just because of 100%
>> coverage policy) against one line of code to cover which is not really
>> realistic to happen, +1 complex to mock.
>>
>> +1 to own policy of plugins.
>>
>> [0] https://media.giphy.com/media/g8GfH3i5F0hby/giphy.gif
>>
>>
>>
>> --------
>> Regards,
>>
>> Ina Panova
>> Software Engineer| Pulp| Red Hat Inc.
>>
>> "Do not go where the path may lead,
>>   go instead where there is no path and leave a trail."
>>
>> On Fri, Mar 23, 2018 at 6:42 PM, Austin Macdonald <austin at redhat.com
>> <mailto:austin at redhat.com>> wrote:
>>
>>     -1 For a blocking check, -1 for attempting 100% coverage.
>>
>>     There is a *lot* of code in Pulp 3 that simply involves inheriting
>>     from parents classes and defining attributes. If we add a ViewSet
>>     for instance, there is nothing to test other than "asserting that we
>>     did what we did". I have written lots of tests like that. IMO, they
>>     add no value and are time consuming to write. Also, they are time
>>     consuming to maintain because every change must also change the unit
>>     tests. This type of test almost never catches a real problem.
>>
>>     A soft check would be a useful reminder to the contributor and the
>>     reviewer to add tests where they make sense. + 1 soft check
>>
>>     Plugins: Each plugin team should determine their own unit test policy.
>>
>>
>>     On Fri, Mar 23, 2018 at 1:26 PM, David Davis <daviddavis at redhat.com
>>     <mailto:daviddavis at redhat.com>> wrote:
>>
>>         We haven't had a unit test policy in Pulp 3, and the community
>>         and core committers would all like one. The general desire we've
>>         heard so far is to change course and encourage developers to add
>>         unit tests to their changes to Pulp 3.
>>
>>         The policy we're suggesting is to add a coveralls[0] check for
>>         Pull Requests against the pulpcore 3.0-dev branch that shows the
>>         overall coverage percentage, e.g. 12.89%. This check would pass
>>         if and only if coverage increases or remains the same with the
>>         PR. We think this will eventually get us on the path to 100%
>>         unit test coverage.
>>
>>         We propose the coveralls check be a soft check that allow for
>>         merging if it fails. We would document the policy and try to
>>         adhere to it even though it wouldn't formally block merging. At
>>         a future point when pulp3 (maybe the GA?) we could make this a
>>         hard check.
>>
>>         Benefits:
>>         - It's easy, simple, and automatic
>>         - It's pretty objective and there's little room to argue with a
>>         number.
>>         - Helps us raise our unit test coverage gradually over time
>>
>>         Downsides:
>>         - Could discourage community contributions
>>         - It can be a bit strict and unforgiving at times (especially if
>>         there's a hard check)
>>         - It only provides a guarantee around quantity of unit testing
>>         and not quality
>>
>>
>>         *Q: What about the existing functionality? Do we need to write
>>         unit tests for it?*
>>
>>         We're not sure about this. We'd like community feedback. Is
>>         anyone interested in writing backfill unit tests? If so, then
>>         maybe we should.
>>
>>         *Q: Will this also affect Pulp 2?*
>>
>>         We're not planning on it but if we like this enough, we can look
>>         at adding it to Pulp 2.
>>
>>         *Q: Will this affect plugins?*
>>
>>         We want to start out with just pulpcore now and see how we like
>>         it. Then we'll look at adding it to pulp_file. In the future, we
>>         can also look at ways to make it easy for plugins to set this up.
>>
>>         *Q: Do I no longer need to write pulp-smash test plan issues in
>>         Github for Pulp 3 features?*
>>
>>         No, you should still do that.
>>
>>         [0] https://coveralls.io/
>>
>>         _______________________________________________
>>         Pulp-dev mailing list
>>         Pulp-dev at redhat.com <mailto:Pulp-dev at redhat.com>
>>         https://www.redhat.com/mailman/listinfo/pulp-dev
>>         <https://www.redhat.com/mailman/listinfo/pulp-dev>
>>
>>
>>
>>     _______________________________________________
>>     Pulp-dev mailing list
>>     Pulp-dev at redhat.com <mailto:Pulp-dev at redhat.com>
>>     https://www.redhat.com/mailman/listinfo/pulp-dev
>>     <https://www.redhat.com/mailman/listinfo/pulp-dev>
>>
>>
>>
>>
>> _______________________________________________
>> Pulp-dev mailing list
>> Pulp-dev at redhat.com
>> https://www.redhat.com/mailman/listinfo/pulp-dev
>>
>>
> _______________________________________________
> Pulp-dev mailing list
> Pulp-dev at redhat.com
> https://www.redhat.com/mailman/listinfo/pulp-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/pulp-dev/attachments/20180326/93411989/attachment.htm>


More information about the Pulp-dev mailing list