Bug 1312031
Summary: | Put all of the test module in the -test subpackage | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Miro Hrončok <mhroncok> |
Component: | python3 | Assignee: | Lumír Balhar <lbalhar> |
Status: | CLOSED RAWHIDE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | unspecified | Docs Contact: | |
Priority: | unspecified | ||
Version: | rawhide | CC: | cstratak, jberan, lbalhar, mhroncok, mstuchli, pviktori, tomspur |
Target Milestone: | --- | Keywords: | Reopened |
Target Release: | --- | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | python3-3.7.4-3.fc31 | Doc Type: | Bug Fix |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2019-07-15 15:53:29 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: | |||
Bug Depends On: | 1728780 | ||
Bug Blocks: |
Description
Miro Hrončok
2016-02-25 15:02:27 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 25 development cycle. Changing version to '25'. I guess we are talking about /usr/lib64/python3.5/test ? Also we are shipping with python3-libs the idle tests at /usr/lib64/python3.5/idlelib/idle_test I think this should be changed as well (assuming it won't break idle somehow). Did some digging. These lines exist at python3-libs package %dir %{pylibdir}/test/ %dir %{pylibdir}/test/__pycache__/ %dir %{pylibdir}/test/support/ %dir %{pylibdir}/test/support/__pycache__/ %{pylibdir}/test/__init__.py %{pylibdir}/test/__pycache__/__init__%{bytecode_suffixes} %{pylibdir}/test/support/__init__.py %{pylibdir}/test/support/__pycache__/__init__%{bytecode_suffixes} the test.support module is there due to bug 596258 Commit: http://pkgs.fedoraproject.org/cgit/rpms/python3.git/commit/?id=e1c7be02b9c4543cb0b26d6b9c02ea4d95fc3d4b Now the rest of the lines have been propagated there from python2 package when the tests subpackage was actually created. Not sure if there is reason for that and/if we should change it. Relevant commit: http://pkgs.fedoraproject.org/cgit/rpms/python.git/commit/?id=860ed4856c8af7b8fc75f22f7b1dab5007b1e5a0 This message is a reminder that Fedora 25 is nearing its end of life. Approximately 4 (four) weeks from now Fedora will stop maintaining and issuing updates for Fedora 25. It is Fedora's policy to close all bug reports from releases that are no longer maintained. At that time this bug will be closed as EOL if it remains open with a Fedora 'version' of '25'. Package Maintainer: If you wish for this bug to remain open because you plan to fix it in a currently maintained version, simply change the 'version' to a later Fedora version. Thank you for reporting this issue and we are sorry that we were not able to fix it before Fedora 25 is end of life. If you would still like to see this bug fixed and are able to reproduce it against a later version of Fedora, you are encouraged change the 'version' to a later Fedora version prior this bug is closed as described in the policy above. Although we aim to fix as many bugs as possible during every release's lifetime, sometimes those efforts are overtaken by events. Often a more recent Fedora release includes newer upstream software that fixes bugs or makes them obsolete. Still valid. I don't understand what's wrong. Miro, could you clarify what the problem is? Note to self: be more verbose. I'll revisit the content of test/libs and be more specific or close this. I have no idea. Sorry. OK, I now remember what's wrong. Re-opening this, as it's relevant for PEP 949. All of test module, including support, should be in the `python3-test` package. [The 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. How much breakage would there be if we move test.support to -test? [The documentation]: https://docs.python.org/3/library/test.html#module-test.support I remember test.support usage in upstream project tests. However if it is not support, it is not supported. I can imagine a small self-contained change (mostly so we make sure packagers are aware of this and we have a release note point) and move everything to -test. A workaround for the package maintainer is to BR python3-test. For the user, the workaround is to install it. This could actually help upstream to find out where and how are the bits used. So yes, let's do this for Fedora 31 - we are breaking things anyway (Sphinx 2, pyetst 4, Python 3.8). > However if it is not support, it is not supported.
I meant to type: If such usage is not supported, it is not supported.
For reference: https://fedoraproject.org/wiki/Releases/31/Schedule 2019-07-23 Change Checkpoint: Proposal submission deadline (Self Contained Changes) Just a note: gevent uses test.support very much: https://github.com/gevent/gevent/tree/master/src/greentest/3.7 The first draft of a self-contained change: https://fedoraproject.org/wiki/Changes/Unification_of_placement_of_Python_test_modules I am going to find all test modules, place them in the -test subpackage and do some testing. Is there anybody who would like to work on it with me? Thanks. I can work with you as a reviewer etc. I suggest to mention test.support in the detailed description (as the most significant example of this). After a quick meeting with Petr, it seems that the change can be rewritten with less general wording because it's applicable only on test.support module. Tkinter has tests in -test subpackage already and if we'd want to move also tests of idle there, it'd be better to do it in upstream. I'll provide a new proposal in a while. On a higher level, the chat was about what the `python3-test` means: I argued for "the `test` module", rather than "all of CPython's tests". Split along modules/directories makes the packaging more straightforward and to align with upstream. (For IDLE tests, it might be aligning with an upstream bug -- but that's better solved upstream, if at all). A new version of change proposal: https://fedoraproject.org/wiki/Changes/Move_test.support_module_to_python3-test_subpackage I like this new change more, thanks! However, please add more into "Benefit to Fedora". Namely, Ir recommend digging out and linking some old bugs where parts of the test.support module were in -libs and parts in -test and it made it broken. The main benefit here is that moving it all to -test is less fragile and more consistent. I also recommend quoting Petr with: "[The 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." (In reply to Miro Hrončok from comment #19) > I like this new change more, thanks! > > However, please add more into "Benefit to Fedora". Namely, Ir recommend > digging out and linking some old bugs where parts of the test.support module > were in -libs and parts in -test and it made it broken. The main benefit > here is that moving it all to -test is less fragile and more consistent. > > I also recommend quoting Petr with: > > "[The 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." Updated. LGTM, from my POV, ready to be presented to the wrangler. The state switched to "ChangeReadyForWrangler". Sharing the same info about the impact of the change as I sent recently to the devel@ mailing list: I am bringing here some numbers which help us to understand that the change won't affect a lot of packages. I've prepared a special COPR [0] where test.support module is not available at all and then I rebuilt all Python packages. From 2952 packages 2769 built successfully and only 182 failed. Most failures were caused by missing dependencies (python2-), incompatible pytest or sphinx version, etc. and only 7 packages fail to build because of the missing test.support module. From those 7 packages, 4 already require python3-test so there will be need to change only 3 packages after we'll move test.support module from python3-libs to python3-test. [0] https://copr.fedorainfracloud.org/coprs/lbalhar/test.support_change/ |