Login | Register For Free | Help
Search for: (Advanced)

Mailing List Archive: Python: Dev

feature freeze questions

 

 

Python dev RSS feed   Index | Next | Previous | View Threaded


chris.jerdonek at gmail

Jul 25, 2012, 4:28 PM

Post #1 of 8 (233 views)
Permalink
feature freeze questions

I have a few questions about feature freeze:

(1) Is increasing test coverage acceptable during feature freeze, even
if it does not involve fixing a bug?

(2) When adding new tests (e.g. in the course of fixing a bug or
increasing test coverage), are we allowed to refactor other tests so
that supporting test code can be shared? Or should the tests be added
in a less DRY fashion and refactored only after the branch goes back
to pre-alpha?

(3) What types of documentation changes are allowed during feature
freeze? For example, are we only allowed to fix incorrect
information, or is it acceptable to improve or add to the information
about existing functionality?

Thanks,
--Chris
_______________________________________________
Python-Dev mailing list
Python-Dev [at] python
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: http://mail.python.org/mailman/options/python-dev/list-python-dev%40lists.gossamer-threads.com


benjamin at python

Jul 25, 2012, 4:29 PM

Post #2 of 8 (225 views)
Permalink
Re: feature freeze questions [In reply to]

2012/7/25 Chris Jerdonek <chris.jerdonek [at] gmail>:
> I have a few questions about feature freeze:
>
> (1) Is increasing test coverage acceptable during feature freeze, even
> if it does not involve fixing a bug?
>
> (2) When adding new tests (e.g. in the course of fixing a bug or
> increasing test coverage), are we allowed to refactor other tests so
> that supporting test code can be shared? Or should the tests be added
> in a less DRY fashion and refactored only after the branch goes back
> to pre-alpha?

You can do basically anything you want to tests just as long as you
don't make them less stable.

>
> (3) What types of documentation changes are allowed during feature
> freeze? For example, are we only allowed to fix incorrect
> information, or is it acceptable to improve or add to the information
> about existing functionality?

All documentation changes are accepted.


--
Regards,
Benjamin
_______________________________________________
Python-Dev mailing list
Python-Dev [at] python
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: http://mail.python.org/mailman/options/python-dev/list-python-dev%40lists.gossamer-threads.com


eliben at gmail

Jul 26, 2012, 1:24 AM

Post #3 of 8 (221 views)
Permalink
Re: feature freeze questions [In reply to]

>> I have a few questions about feature freeze:
>>
>> (1) Is increasing test coverage acceptable during feature freeze, even
>> if it does not involve fixing a bug?
>>
>> (2) When adding new tests (e.g. in the course of fixing a bug or
>> increasing test coverage), are we allowed to refactor other tests so
>> that supporting test code can be shared? Or should the tests be added
>> in a less DRY fashion and refactored only after the branch goes back
>> to pre-alpha?
>
> You can do basically anything you want to tests just as long as you
> don't make them less stable.
>
>>
>> (3) What types of documentation changes are allowed during feature
>> freeze? For example, are we only allowed to fix incorrect
>> information, or is it acceptable to improve or add to the information
>> about existing functionality?
>
> All documentation changes are accepted.

A follow-up question: during the RC stage, do documentation & test
changes require code review by an additional core dev?

This also leads me to think about minor (= bugfix) releases. For
example, current commits to the 3.2 branch will (presumably) go into
3.2.4 once it's out. Should these commits have the same restrictions
as commits to an upcoming release that's in RC stage? Common sense
would suggest they should (since any change can break existing
functionality and lead to regressions in a previously stable release),
but in practice I don't think this is followed. At least not to the
letter, with the devguide stating:

You cannot skip the peer review during an RC, no matter how small!
Even if it is a simple copy-and-paste change, everything requires peer
review from a core developer.

Eli
_______________________________________________
Python-Dev mailing list
Python-Dev [at] python
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: http://mail.python.org/mailman/options/python-dev/list-python-dev%40lists.gossamer-threads.com


ncoghlan at gmail

Jul 26, 2012, 1:40 AM

Post #4 of 8 (224 views)
Permalink
Re: feature freeze questions [In reply to]

On Thu, Jul 26, 2012 at 6:24 PM, Eli Bendersky <eliben [at] gmail> wrote:
> You cannot skip the peer review during an RC, no matter how small!
> Even if it is a simple copy-and-paste change, everything requires peer
> review from a core developer.

The extra restrictions during RC are more about not doing things that
might force the release to be postponed while a broken change gets
unwound. During normal maintenance, we have a bit more time to recover
based on buildbot failures or post-checkin review.

Another way of reading that paragraph is "once we hit RC, start
postponing everything to the next bugfix release, *unless* at least 2
core devs agree it really needs to be in the current release"

Cheers,
Nick.

--
Nick Coghlan | ncoghlan [at] gmail | Brisbane, Australia
_______________________________________________
Python-Dev mailing list
Python-Dev [at] python
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: http://mail.python.org/mailman/options/python-dev/list-python-dev%40lists.gossamer-threads.com


g.brandl at gmx

Jul 26, 2012, 10:14 PM

Post #5 of 8 (217 views)
Permalink
Re: feature freeze questions [In reply to]

Am 26.07.2012 10:24, schrieb Eli Bendersky:
>>> I have a few questions about feature freeze:
>>>
>>> (1) Is increasing test coverage acceptable during feature freeze, even
>>> if it does not involve fixing a bug?
>>>
>>> (2) When adding new tests (e.g. in the course of fixing a bug or
>>> increasing test coverage), are we allowed to refactor other tests so
>>> that supporting test code can be shared? Or should the tests be added
>>> in a less DRY fashion and refactored only after the branch goes back
>>> to pre-alpha?
>>
>> You can do basically anything you want to tests just as long as you
>> don't make them less stable.
>>
>>>
>>> (3) What types of documentation changes are allowed during feature
>>> freeze? For example, are we only allowed to fix incorrect
>>> information, or is it acceptable to improve or add to the information
>>> about existing functionality?
>>
>> All documentation changes are accepted.
>
> A follow-up question: during the RC stage, do documentation & test
> changes require code review by an additional core dev?

Test changes: yes, doc changes: only if you think it's necessary.

The thing about the docs is: we can fix them basically at any time,
since most people use the online version anyway, which is rebuilt
daily.

> This also leads me to think about minor (= bugfix) releases. For
> example, current commits to the 3.2 branch will (presumably) go into
> 3.2.4 once it's out. Should these commits have the same restrictions
> as commits to an upcoming release that's in RC stage? Common sense
> would suggest they should (since any change can break existing
> functionality and lead to regressions in a previously stable release),

But that can also happen for 3.2 -> 3.3.

> but in practice I don't think this is followed. At least not to the
> letter, with the devguide stating:
>
> You cannot skip the peer review during an RC, no matter how small!
> Even if it is a simple copy-and-paste change, everything requires peer
> review from a core developer.

That is only for RC phase, yes. Reviews are always useful, of course
(calling them "peer review" sounds funny to me though), and should be
always done for larger patches -- which we are quite used to nowadays.

Georg

_______________________________________________
Python-Dev mailing list
Python-Dev [at] python
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: http://mail.python.org/mailman/options/python-dev/list-python-dev%40lists.gossamer-threads.com


chris.jerdonek at gmail

Jul 28, 2012, 3:25 AM

Post #6 of 8 (206 views)
Permalink
Re: feature freeze questions [In reply to]

On Wed, Jul 25, 2012 at 4:29 PM, Benjamin Peterson <benjamin [at] python> wrote:
>> (2) When adding new tests (e.g. in the course of fixing a bug or
>> increasing test coverage), are we allowed to refactor other tests so
>> that supporting test code can be shared? Or should the tests be added
>> in a less DRY fashion and refactored only after the branch goes back
>> to pre-alpha?
>
> You can do basically anything you want to tests just as long as you
> don't make them less stable.

Also, this response seems somewhat at odds to the response I got to a
patch that refactors part of regrest, fixes some bugs in it, and adds
its first unit tests (in particular, increasing code coverage):

http://bugs.python.org/issue15302

The regrtest module only affects tests (which I would think qualifies
it as "tests"), and this is borne out by the following documentation
note (which is essentially the same as the note for test.support):

"Note: The test package is meant for internal use by Python only. It
is documented for the benefit of the core developers of Python. Any
use of this package outside of Python’s standard library is
discouraged as code mentioned here can change or be removed without
notice between releases of Python.

"The test package contains all regression tests for Python as well as
the modules test.support and test.regrtest. test.support is used to
enhance your tests while test.regrtest drives the testing suite."

(from http://docs.python.org/dev/library/test.html#module-test )

--Chris
_______________________________________________
Python-Dev mailing list
Python-Dev [at] python
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: http://mail.python.org/mailman/options/python-dev/list-python-dev%40lists.gossamer-threads.com


ncoghlan at gmail

Jul 28, 2012, 6:21 AM

Post #7 of 8 (210 views)
Permalink
Re: feature freeze questions [In reply to]

On Sat, Jul 28, 2012 at 8:25 PM, Chris Jerdonek
<chris.jerdonek [at] gmail> wrote:
> Also, this response seems somewhat at odds to the response I got to a
> patch that refactors part of regrest, fixes some bugs in it, and adds
> its first unit tests (in particular, increasing code coverage):
>
> http://bugs.python.org/issue15302
>
> The regrtest module only affects tests (which I would think qualifies
> it as "tests"), and this is borne out by the following documentation
> note (which is essentially the same as the note for test.support):

Asking that #15302 be postponed is a risk judgement taking into
account "what do we have time to review before rc1?". Cleaning up the
argument parsing in regrtest is definitely a good thing to do, but
it's not an urgent fix.

A similar judgement call will be made for any test suite changes
between now and rc1: weighing up the risk of causing problems with the
release process vs having improved tests at the time of the release.
Anyone with commit rights gets to make that call, and we have three
options: yes, no, or ask the Release Manager (Georg for 3.3). Getting
to make that final call is one of the main responsibilities of the RM
(the default answer is usually "No", given that whichever of us asks
the question clearly has misgivings about the idea of including the
change).

Once we hit rc1, I expect Georg will fork the 3.3 maintenance branch,
and any code changes between then and the final release will only
happen specifically at his request (the docs will remain open to any
committer).

Cheers,
Nick.

--
Nick Coghlan | ncoghlan [at] gmail | Brisbane, Australia
_______________________________________________
Python-Dev mailing list
Python-Dev [at] python
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: http://mail.python.org/mailman/options/python-dev/list-python-dev%40lists.gossamer-threads.com


chris.jerdonek at gmail

Jul 28, 2012, 10:50 AM

Post #8 of 8 (207 views)
Permalink
Re: feature freeze questions [In reply to]

On Sat, Jul 28, 2012 at 6:21 AM, Nick Coghlan <ncoghlan [at] gmail> wrote:
> On Sat, Jul 28, 2012 at 8:25 PM, Chris Jerdonek
> <chris.jerdonek [at] gmail> wrote:
>> Also, this response seems somewhat at odds to the response I got to a
>> patch that refactors part of regrest, fixes some bugs in it, and adds
>> its first unit tests (in particular, increasing code coverage):
>>
>> http://bugs.python.org/issue15302
>
> Asking that #15302 be postponed is a risk judgement taking into
> account "what do we have time to review before rc1?". Cleaning up the
> argument parsing in regrtest is definitely a good thing to do, but
> it's not an urgent fix.
>
> A similar judgement call will be made for any test suite changes
> between now and rc1: weighing up the risk of causing problems with the
> release process vs having improved tests at the time of the release.

I guess I'm still not clear on the restrictions to making changes to
test-related code -- whether these restrictions apply just to the RC
phase, or also to the bugfix releases in maintenance branches.

In a previous e-mail, you said in response to the question:

> > Martin remarked that this adds new features to test.support and can
> > only be done in 3.4. Question to release managers. Whether this is
> > acceptable, if we do these functions private (with names that begin
> > with an underscore)? Or would we have to copy the supporting code in
> > every test file with __sizeof__ test?
>
> No, Martin is incorrect on this one. test.support is strictly our turf
> and not covered by the normal standard library rules - the only reason
> it is documented at all is because *we* want docs for it so people
> writing tests don't reinvent too many wheels. Since we reserve the
> right to delete stuff without notice, we can certainly add new stuff.

(from http://mail.python.org/pipermail/python-dev/2012-July/121162.html )

This e-mail is also relevant:

> The extra restrictions during RC are more about not doing things that
> might force the release to be postponed while a broken change gets
> unwound. During normal maintenance, we have a bit more time to recover
> based on buildbot failures or post-checkin review.

http://mail.python.org/pipermail/python-dev/2012-July/121142.html

But with regard to the regrtest changes in issue 15302, which do
fix three bugs (it was marked as a superseder to three issues), Georg commented:

> Please leave this for Python 3.4 -- it is not a bugfix.

It seems like the following would be a very common scenario:

We have bug fixes that could be made to the Python 3.3 maintenance
branch (for example), but the bug fixes are written in a way that
change or otherwise enhance existing test code like test.support or
regrtest. If enhancements to our test support code can only go into
Python 3.4, then it seems like we are creating an incentive to write
lower quality test code (e.g. avoiding refactoring, and encouraging
practices like cut and paste) -- even for our next minor version.

This creates a trade-off that it doesn't seem like we need to have or
be imposing on ourselves: between having bugs fixed in an earlier
version, and writing higher quality tests for our future versions.

There is also a possible cumulative effect: whereby not committing
test-support enhancements to maintenance branches can also prevent
future bug fixes that depend on that support code from being able to
go in those maintenance branches.

--Chris
_______________________________________________
Python-Dev mailing list
Python-Dev [at] python
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: http://mail.python.org/mailman/options/python-dev/list-python-dev%40lists.gossamer-threads.com

Python dev RSS feed   Index | Next | Previous | View Threaded
 
 


Interested in having your list archived? Contact Gossamer Threads
 
  Web Applications & Managed Hosting Powered by Gossamer Threads Inc.