Bug 2417016

Summary: python-tabulate fails to build with Python 3.15: AssertionError: additional space character in test_wrap_multiword_non_wide, test_wrap_multiword_non_wide_with_hypens
Product: [Fedora] Fedora Reporter: Karolina Surma <ksurma>
Component: python-tabulateAssignee: Ben Beasley <code>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: code, igor.raits, ksurma, mhroncok, neuro-sig, projects.rg, python-packagers-sig, sanjay.ankur, steve.traylen
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: python-tabulate-0.9.0-18.fc44 python-tabulate-0.9.0-18.el10_2 python-tabulate-0.9.0-18.fc43 python-tabulate-0.9.0-18.fc42 Doc Type: ---
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2025-12-27 11:26:22 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: 2412434    

Description Karolina Surma 2025-11-25 14:05:13 UTC
python-tabulate fails to build with Python 3.15.0a2.

_________________________ test_wrap_multiword_non_wide _________________________

    def test_wrap_multiword_non_wide():
        """TextWrapper: non-wide character regression tests"""
        data = "this is a test string for regression splitting"
        for width in range(1, len(data)):
            orig = OTW(width=width)
            cust = CTW(width=width)
    
>           assert orig.wrap(data) == cust.wrap(
                data
            ), "Failure on non-wide char multiword regression check for width " + str(width)
E           AssertionError: Failure on non-wide char multiword regression check for width 2
E           assert ['th', 'is', ...e', 'st', ...] == ['th', 'is', ...e', 'st', ...]
E             
E             At index 3 diff: 'a' != 'a '
E             Use -v to get more diff

test/test_textwrapper.py:19: AssertionError
___________________ test_wrap_multiword_non_wide_with_hypens ___________________

    def test_wrap_multiword_non_wide_with_hypens():
        """TextWrapper: non-wide character regression tests that contain hyphens"""
        data = "how should-we-split-this non-sense string that-has-lots-of-hypens"
        for width in range(1, len(data)):
            orig = OTW(width=width)
            cust = CTW(width=width)
    
>           assert orig.wrap(data) == cust.wrap(
                data
            ), "Failure on non-wide char hyphen regression check for width " + str(width)
E           AssertionError: Failure on non-wide char hyphen regression check for width 2
E           assert ['ho', 'w', '...d', '-w', ...] == ['ho', 'w ', ...d', '-w', ...]
E             
E             At index 1 diff: 'w' != 'w '
E             Use -v to get more diff

test/test_textwrapper.py:31: AssertionError

https://docs.python.org/3.15/whatsnew/3.15.html

For the build logs, see:
https://copr-be.cloud.fedoraproject.org/results/@python/python3.15/fedora-rawhide-x86_64/09825093-python-tabulate/

For all our attempts to build python-tabulate with Python 3.15, see:
https://copr.fedorainfracloud.org/coprs/g/python/python3.15/package/python-tabulate/

Testing and mass rebuild of packages is happening in copr.
You can follow these instructions to test locally in mock if your package builds with Python 3.15:
https://copr.fedorainfracloud.org/coprs/g/python/python3.15/

Let us know here if you have any questions.

Python 3.15 is planned to be included in Fedora 45.
To make that update smoother, we're building Fedora packages with all pre-releases of Python 3.15.
A build failure prevents us from testing all dependent packages (transitive [Build]Requires),
so if this package is required a lot, it's important for us to get it fixed soon.

We'd appreciate help from the people who know this package best,
but if you don't want to work on this now, let us know so we can try to work around it on our side.

Comment 1 Ben Beasley 2025-12-27 11:13:07 UTC
This regression is not specific to Python 3.15; it also appears with the updates of Python 3.14.0→3.14.2 and 3.13.9→3.13.11. I’ve reported the problem upstream (but upstream is mostly inactive, https://github.com/astanin/python-tabulate/issues/335#issuecomment-3104664354), and I am going to simply skip the two affected tests for now.

Comment 2 Fedora Update System 2025-12-27 11:22:03 UTC
FEDORA-2025-2b41435143 (python-tabulate-0.9.0-18.fc44) has been submitted as an update to Fedora 44.
https://bodhi.fedoraproject.org/updates/FEDORA-2025-2b41435143

Comment 3 Fedora Update System 2025-12-27 11:26:22 UTC
FEDORA-2025-2b41435143 (python-tabulate-0.9.0-18.fc44) has been pushed to the Fedora 44 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 4 Fedora Update System 2025-12-27 11:34:03 UTC
FEDORA-2025-8078959f0f (python-tabulate-0.9.0-18.fc43) has been submitted as an update to Fedora 43.
https://bodhi.fedoraproject.org/updates/FEDORA-2025-8078959f0f

Comment 5 Fedora Update System 2025-12-27 11:54:39 UTC
FEDORA-2025-e52c21216f (python-tabulate-0.9.0-18.fc42) has been submitted as an update to Fedora 42.
https://bodhi.fedoraproject.org/updates/FEDORA-2025-e52c21216f

Comment 6 Fedora Update System 2025-12-27 12:04:28 UTC
FEDORA-EPEL-2025-ec50bd65ce (python-tabulate-0.9.0-18.el10_2) has been submitted as an update to Fedora EPEL 10.2.
https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2025-ec50bd65ce

Comment 7 Fedora Update System 2025-12-28 01:19:16 UTC
FEDORA-EPEL-2025-ec50bd65ce has been pushed to the Fedora EPEL 10.2 testing repository.

You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2025-ec50bd65ce

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

Comment 8 Fedora Update System 2025-12-28 01:21:05 UTC
FEDORA-2025-8078959f0f 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-8078959f0f`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2025-8078959f0f

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

Comment 9 Fedora Update System 2025-12-28 01:34:48 UTC
FEDORA-2025-e52c21216f has been pushed to the Fedora 42 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-e52c21216f`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2025-e52c21216f

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

Comment 10 Fedora Update System 2026-01-05 01:14:16 UTC
FEDORA-EPEL-2025-ec50bd65ce (python-tabulate-0.9.0-18.el10_2) has been pushed to the Fedora EPEL 10.2 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 11 Fedora Update System 2026-01-05 01:21:34 UTC
FEDORA-2025-8078959f0f (python-tabulate-0.9.0-18.fc43) has been pushed to the Fedora 43 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 12 Fedora Update System 2026-01-05 01:38:17 UTC
FEDORA-2025-e52c21216f (python-tabulate-0.9.0-18.fc42) has been pushed to the Fedora 42 stable repository.
If problem still persists, please make note of it in this bug report.