On Tue, Nov 7, 2017 at 11:17 AM, Ivan Necas <ine...@redhat.com> wrote:
> On Tue, Nov 7, 2017 at 9:29 AM, Lukas Zapletal <l...@redhat.com> wrote:
>> We should start tracking test breakages in time, if we have a test
>> that did not break for a year, lets delete it. As simple as that. It's
>> added value is almost zero.
>>
>> This is not out of my head, I've heard that on a talk somewhere.
>> Instead of deleting, we can move it to archive - run them on a nightly
>> basis, if we find this too much. Frankly, I prefer deletion.
>
> -1: the fact that the test doesn't fail in a year can be just due
> to fact that we have not worked on that area for some time. It might
> work for some project with strictly defined use-case, but for Foreman,
> I don't think thats' the case.
>

-1 as well for deleting the tests. They become useful once you start
refactoring things even when the code wasn't touched for a long time.

>>
>> Also, let's ditch unit tests in favor of integration tests. We have a
>> lot of areas covered with both and this is extra work and slowing down
>> things.
>
> +1 for integration tests > unit tests: and I'm willing to talk about deleting
> unit-tests once we know that integration tests are covering the same.
>
> I feel unit-tests more important, when working on specific algorithm etc.
> We don't do it that often. We mostly integrate.

+1 I see more value in integration tests in general. Unit tests for
algorithms are useful too.
I see less value in unit tests for attribute presence and simple
validations like uniqueness.

>
>>
>> LZ
>>
>> On Tue, Nov 7, 2017 at 9:19 AM, Ohad Levy <ohadl...@gmail.com> wrote:
>>> Hi,
>>>
>>> The challenge:
>>>
>>> As a developer, I feel under utilized waiting for tests, the current test
>>> suite for foreman core takes over an hour, multiply it by number of really
>>> simple code fixes based on comment and it takes up a good chunk of a day.
>>>
>>> I would like to suggest a short and long term solution, and would appreciate
>>> your feedback.
>>>
>>> Short-term:
>>>
>>> Break down test matrix into more specific groups, this will allow to
>>> re-trigger just a smaller part of the tests vs. the entire suit today, for
>>> example:
>>> * API tests
>>> * DB migrations
>>> * UI Integration tests
>>> * ...

That would definitely help to improve day-to-day developer's experience.

>>>
>>> Long term:
>>>
>>> Break down core into smaller repositories - This is probably a bigger topic
>>> then just tests, but its worth raising in this context as well.. the
>>> benefits i see are:
>>>
>>> * smaller repos - faster tests per repo (we would still need a plugin matrix
>>> kind of tests done at some point)
>>> * better review process - smaller repos would mean the maintainers of the
>>> repo actually care for all/most of the pr's - today its not the case - many
>>> PR's are handled by sub groups (e.g. anything under webpack folder is
>>> "someone else")
>>> * potentially better API between parts - e.g. we can create a schema
>>> specific repo (not saying its a good idea) - which will always work with a
>>> dummy rails app - in the long run - this will ensure our schema is resilient
>>> to upgrades and model changes in core.

The biggest benefit of splitting the repos is imho the need for
stabilizing the api between components.
I believe that there would be some transfer to stability of the whole project.

>>>
>>> I would even go further and enable auto merge after review + successful
>>> tests, e.g.
>>> 1. PR is sent
>>> 2. repo tests are executed and pass
>>> 3. reviewer approve the change
>>> 4. larger test matrix is executed and pass
>>> 5. code get auto merged.
>>>
>>> --
>>> You received this message because you are subscribed to the Google Groups
>>> "foreman-dev" group.
>>> To unsubscribe from this group and stop receiving emails from it, send an
>>> email to foreman-dev+unsubscr...@googlegroups.com.
>>> For more options, visit https://groups.google.com/d/optout.
>>
>>
>>
>> --
>> Later,
>>   Lukas @lzap Zapletal
>>
>> --
>> You received this message because you are subscribed to the Google Groups 
>> "foreman-dev" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to foreman-dev+unsubscr...@googlegroups.com.
>> For more options, visit https://groups.google.com/d/optout.
>
> --
> You received this message because you are subscribed to the Google Groups 
> "foreman-dev" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to foreman-dev+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
"foreman-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to foreman-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to