Bug 2389707

Summary: python-pytest-cov: FTBFS in Fedora Rawhide and 43
Product: [Fedora] Fedora Reporter: Miro Hrončok <mhroncok>
Component: python-pytest-covAssignee: Davide Cavalca <davide>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 43CC: code, davide, dreua, epel-packagers-sig, orion, python-packagers-sig, ttomecek
Target Milestone: ---Flags: mhroncok: needinfo? (davide)
mhroncok: needinfo? (davide)
ksurma: needinfo? (davide)
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
URL: https://koschei.fedoraproject.org/package/python-pytest-cov
Whiteboard:
Fixed In Version: python-pytest-cov-5.0.0-8.fc43 Doc Type: ---
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2025-11-26 00:50:49 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:    
Bug Blocks: 2339432, 2384424, 2373702    

Description Miro Hrončok 2025-08-20 09:14:29 UTC
Description of problem:
Package python-pytest-cov fails to build from source in Fedora Rawhide.

Due to reasons described in https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/XO5QGOXBWHFG7AOGDQBG23AQDS2MDTWI/ a rebuild of python-pytest-cov is needed in Fedora Rawhide (44) and Fedora 43.

Version-Release number of selected component (if applicable):
5.0.0-5.fc43

Steps to Reproduce:
fedpkg build

Additional info:
This package is tracked by Koschei. See:
https://koschei.fedoraproject.org/package/python-pytest-cov

============================= test session starts ==============================
platform linux -- Python 3.14.0rc2, pytest-8.3.5, pluggy-1.6.0
rootdir: /builddir/build/BUILD/python-pytest-cov-5.0.0-build/pytest-cov-5.0.0
configfile: pytest.ini
testpaths: tests
plugins: cov-5.0.0, xdist-3.7.0
collected 130 items / 18 deselected / 112 selected
tests/test_pytest_cov.py ........F....s................................. [ 41%]
.............................s...............................sss.        [100%]
=================================== FAILURES ===================================
_____________ test_term_report_does_not_interact_with_html_output ______________
/builddir/build/BUILD/python-pytest-cov-5.0.0-build/pytest-cov-5.0.0/tests/test_pytest_cov.py:295: in test_term_report_does_not_interact_with_html_output
    assert sorted(dest_dir.visit('**/*.html')) == [dest_dir.join('index.html'), dest_dir.join('test_funcarg_py.html')]
E   AssertionError: assert [local('/tmp/...arg_py.html')] == [local('/tmp/...arg_py.html')]
E     
E     At index 0 diff: local('/tmp/pytest-of-mockbuild/pytest-0/test_term_report_does_not_interact_with_html_output0/cov_dest/class_index.html') != local('/tmp/pytest-of-mockbuild/pytest-0/test_term_report_does_not_interact_with_html_output0/cov_dest/index.html')
E     Left contains 2 more items, first extra item: local('/tmp/pytest-of-mockbuild/pytest-0/test_term_report_does_not_interact_with_html_output0/cov_dest/index.html')
E     Use -v to get more diff
----------------------------- Captured stdout call -----------------------------
running: /usr/bin/python3 -mpytest --basetemp=/tmp/pytest-of-mockbuild/pytest-0/test_term_report_does_not_interact_with_html_output0/runpytest-0 -v --cov=/tmp/pytest-of-mockbuild/pytest-0/test_term_report_does_not_interact_with_html_output0 --cov-report=term-missing:skip-covered --cov-report=html:cov_dest /tmp/pytest-of-mockbuild/pytest-0/test_term_report_does_not_interact_with_html_output0/test_funcarg.py --basetemp=/tmp/pytest-of-mockbuild/pytest-0/basetemp
     in: /tmp/pytest-of-mockbuild/pytest-0/test_term_report_does_not_interact_with_html_output0
============================= test session starts ==============================
platform linux -- Python 3.14.0rc2, pytest-8.3.5, pluggy-1.6.0 -- /usr/bin/python3
cachedir: .pytest_cache
rootdir: /tmp/pytest-of-mockbuild/pytest-0/test_term_report_does_not_interact_with_html_output0
plugins: cov-5.0.0, xdist-3.7.0
collecting ... collected 1 item
test_funcarg.py::test_foo PASSED                                         [100%]
-------- coverage: platform linux, python 3.14.0-candidate-2 ---------
Name    Stmts   Miss  Cover   Missing
-------------------------------------
TOTAL       3      0   100%
1 file skipped due to complete coverage.
Coverage HTML written to dir cov_dest
============================== 1 passed in 0.11s ===============================
=========================== short test summary info ============================
...
FAILED tests/test_pytest_cov.py::test_term_report_does_not_interact_with_html_output
===== 1 failed, 106 passed, 5 skipped, 18 deselected in 281.44s (0:04:41) ======

Comment 1 Miro Hrončok 2025-08-26 11:08:43 UTC
Hello. This is a bulk comment.

This package still needs to be rebuilt and/or shipped with Python 3.14.0rc2+ bytecode in Fedora 43.

The Beta Freeze of Fedora 43 is scheduled to start today. Please prioritize this bugzilla accordingly.

Thanks.

Comment 2 Miro Hrončok 2025-09-23 18:55:58 UTC
Hello. This is a bulk comment.

This package still needs to be rebuilt and/or shipped with Python 3.14.0rc3+ bytecode in Fedora 43.

The Final Freeze of Fedora 43 is scheduled to start on 2025-10-07. Please prioritize this bugzilla accordingly.

Thanks.

Comment 3 Karolina Surma 2025-09-29 14:10:50 UTC
Hello. This is a bulk comment.

This package still needs to be rebuilt and/or shipped with Python 3.14.0rc3+ bytecode in Fedora 43.

The Final Freeze of Fedora 43 is scheduled to start next week. Please prioritize this bugzilla accordingly.

Thanks.

Comment 4 David Auer 2025-10-28 12:03:35 UTC
I maintain python-mwparserfromhell which depends on pytest-cov. Not sure I should take over maintainership but I'm happy to help and test. (I'm still unsure how coordination with depending packages works for a package like this.)

Notably, the upstream goes through major versions rather fast: https://github.com/pytest-dev/pytest-cov/tags (we are currently at 5.0.0  from early 2024, there is an open PR for 6.2.1 released June this year and 7.0.0 just came out in early September).

I'm happy to become co-maintainer (I'll make sure that it doesn't end up neglected again and help whenever necessary), maybe even mentee on how updates in such a package can be done.

Cheers!

David

Comment 5 Ben Beasley 2025-10-28 12:19:38 UTC
(In reply to David Auer from comment #4)
> I maintain python-mwparserfromhell which depends on pytest-cov.

It doesn’t need to depend on it, and per https://docs.fedoraproject.org/en-US/packaging-guidelines/Python/#_linters, it shouldn’t. Try this: https://src.fedoraproject.org/rpms/python-mwparserfromhell/pull-request/1

Comment 6 Ben Beasley 2025-10-28 12:23:35 UTC
There are 138 packages that currently depend on this. For that reason, I suspect that somebody will end up “rescuing” this package. However, patching out the dependency is the right answer for almost any individual impacted package.

Comment 7 David Auer 2025-10-28 20:14:00 UTC
Ben, thanks a lot for the suggestion and PR! Consider me no longer interested in this package then ;)

Comment 8 Fedora Update System 2025-11-17 21:44:23 UTC
FEDORA-2025-86198e3ba0 (python-pytest-cov-5.0.0-8.fc43) has been submitted as an update to Fedora 43.
https://bodhi.fedoraproject.org/updates/FEDORA-2025-86198e3ba0

Comment 9 Fedora Update System 2025-11-18 01:38:39 UTC
FEDORA-2025-86198e3ba0 has been pushed to the Fedora 43 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2025-86198e3ba0`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2025-86198e3ba0

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 10 Fedora Update System 2025-11-26 00:50:49 UTC
FEDORA-2025-86198e3ba0 (python-pytest-cov-5.0.0-8.fc43) has been pushed to the Fedora 43 stable repository.
If problem still persists, please make note of it in this bug report.