On 26 November 2017 at 22:30, Glyph <gl...@twistedmatrix.com> wrote:
>
>> On Nov 26, 2017, at 10:23 AM, Adi Roiban <a...@roiban.ro> wrote:
>>
>> Hi,
>>
>> What is the procedure for accepting patches for platforms for which we
>> don't have a continuous testing system ?
>>
>> This is a follow up of the review from
>> https://twistedmatrix.com/trac/ticket/9323
[snip]
>>
>
> To support a platform—i.e. to promise we will not break it in the future—we  
> have to have a builder capable of running Twisted on that platform.
>
> To accept a patch though, the important thing is to have test coverage. If 
> the change in question is a platform-specific feature that there’s no way to 
> test in a different environment, we would indeed need to block on the 
> availability of a builder.
>
> Quite often—as I believe is the case for the patch you’re referring to 
> here—patches are adjusting behaviors which would be difficult to cleanly 
> integration-test on the platform in question anyway, and the appropriate 
> thing to do is to make some mock match the observed behavior of the platform 
> in question.  In this case it would be nice if the reviewer could verify 
> this, but if the patch submitter’s description of observed behavior is clear, 
> and their test mock implements it correctly, I would say that we can give 
> them the benefit of the doubt and accept such patches even if the reviewer 
> doesn’t have such a platform available.  Assuming all the changed lines are 
> covered adequately for our supported platforms’ behavior as well, of course, 
> and we aren’t risking breaking them.
>
> How do you feel about this answer?

Thanks for your comment and I think that I know what a reviewer should
do for  https://twistedmatrix.com/trac/ticket/9323
From the ticket description, we already have a test which fails on
Cygwin and the PR does not add any new tests.
So the options are:

A. Get a builder for cygwin and use the existing tests.
B. Write new unit/integration tests with a fake Cygwin system.

-----

I understand the high-level process, but I have questions regarding the details.

How can a reviewer (which does not have experience and access to an
unsupported platform) verify whether the fake/surrogate implementation
is correct?
That is without putting significant effort and reading the details
about the unsupported platform, and in this process becoming an expert
in that platform?

-- 
Adi Roiban

_______________________________________________
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
https://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python

Reply via email to