DevHeads.net

Fedora 31 Self-Contained Change proposal: Move test.support module to python3-test subpackage

<a href="https://fedoraproject.org/wiki/Changes/Move_test.support_module_to_python3-test_subpackage" title="https://fedoraproject.org/wiki/Changes/Move_test.support_module_to_python3-test_subpackage">https://fedoraproject.org/wiki/Changes/Move_test.support_module_to_pytho...</a>

== Summary ==

Move <code>test.support</code> from <code>python3-libs</code> to
<code>python3-test</code> subpackage.

== Owner ==
* Name: [[User:lbalhar| Lumír Balhar]]
* Email: [mailto: ... at redhat dot com| ... at redhat dot com]

== Detailed Description ==

Python test modules should be used only for testing Python itself.
However, some packages have buildtime or runtime dependency on parts
of Python test modules. The aim of this change is to move the most
popular Python test module <code>test.support</code> from
<code>python3-libs</code> to <code>python3-test</code> subpackage
which will help us discover packages which depend on it and also
identify parts of the module which might be useful to move to standard
library.

Also, [https://docs.python.org/3/library/test.html#module-test.support
the Python documentation] says test.support is not a public module.
Other things should not depend on it, and if something is useful
outside the CPython test suite, we should ideally take it out of
test.support.

== Benefit to Fedora ==

The main benefit here is that moving it all to -test is less fragile
and more consistent.

It also helps us understand which parts of Python test suite are
useful and which is worth to move to the standard library.

There were also a few bugs caused by parts of the test module packaged
in different subpackages and by differences between Python 2 and 3 -
[https://bugzilla.redhat.com/show_bug.cgi?id=1651245 RHBZ#1651245],
[https://bugzilla.redhat.com/show_bug.cgi?id=1528899 RHBZ#1528899],
[https://bugzilla.redhat.com/show_bug.cgi?id=596258 RHBZ#596258]

== Scope ==
* Proposal owners:
** Move <code>test.support</code> from <code>python3-libs</code> to
<code>python3-test</code> subpackage.
** Identify as many as possible affected packages and try to fix their
buildtime/runtime issues caused by the change.

* Other developers:
** If a package depends on <code>test.support</code> module which we
move to -test subpackage, change the build/runtime dependencies
definition accordingly.

* Release engineering: N/A (not a System Wide Change)

* Policies and guidelines: N/A (not a System Wide Change)

* Trademark approval: N/A (not needed for this Change)

== Upgrade/compatibility impact ==
Test modules should not be used as a runtime dependency so there is no
impact on an upgrade.

== How To Test ==

N/A (not a System Wide Change)

== User Experience ==
The user experience should not be affected.

== Dependencies ==
N/A (not a System Wide Change)

== Contingency Plan ==

* Contingency mechanism: Changes will be mostly done in Python
specfile and they can be easily reverted in case of some unexpected
issues. The second possibility is to set Provides to temporarily
deactivate the impact of the change.
* Contingency deadline: N/A (not a System Wide Change)
* Blocks release? N/A (not a System Wide Change)
* Blocks product? No.

== Documentation ==
N/A (not a System Wide Change)

== Release Notes ==
Since this affects only a few packages, no release notes are necessary.