[Pulp-dev] Pulp 3 Unit Test Plan Proposal

Bryan Kearney bkearney at redhat.com
Mon Mar 26 16:31:54 UTC 2018


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
> 




More information about the Pulp-dev mailing list