Bug 2279865

Summary: python-jedi fails to build with pytest 8: AssertionError: assert [] == ['os.path.join']
Product: [Fedora] Fedora Reporter: Tomáš Hrnčiar <thrnciar>
Component: python-jediAssignee: Lumír Balhar <lbalhar>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: carl, epel-packagers-sig, lbalhar, mhroncok, phracek, python-packagers-sig, thrnciar
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2024-05-22 21:41:51 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: 2256331    

Description Tomáš Hrnčiar 2024-05-09 11:01:50 UTC
python-jedi fails to build with pytest 8.

=================================== FAILURES ===================================
_______________________ TestSetupReadline.test_colorama ________________________

self = <test.test_utils.TestSetupReadline testMethod=test_colorama>

    def test_colorama(self):
        """
        Only test it if colorama library is available.
    
        This module is being tested because it uses ``setattr`` at some point,
        which Jedi doesn't understand, but it should still work in the REPL.
        """
        try:
            # if colorama is installed
            import colorama
        except ImportError:
            pass
        else:
            self.namespace.colorama = colorama
>           assert self.complete('colorama')
E           AssertionError: assert []
E            +  where [] = <bound method TestSetupReadline.complete of <test.test_utils.TestSetupReadline testMethod=test_colorama>>('colorama')
E            +    where <bound method TestSetupReadline.complete of <test.test_utils.TestSetupReadline testMethod=test_colorama>> = <test.test_utils.TestSetupReadline testMethod=test_colorama>.complete

test/test_utils.py:113: AssertionError
________________________ TestSetupReadline.test_modules ________________________

self = <test.test_utils.TestSetupReadline testMethod=test_modules>

    def test_modules(self):
        import sys
        import os
        self.namespace.sys = sys
        self.namespace.os = os
    
        try:
>           assert self.complete('os.path.join') == ['os.path.join']
E           AssertionError: assert [] == ['os.path.join']
E             
E             Right contains one more item: 'os.path.join'
E             Use -v to get more diff

test/test_utils.py:54: AssertionError
__________________ TestSetupReadline.test_preexisting_values ___________________

self = <test.test_utils.TestSetupReadline testMethod=test_preexisting_values>

    def test_preexisting_values(self):
        self.namespace.a = range(10)
>       assert set(self.complete('a.')) == {'a.' + n for n in dir(range(1))}
E       AssertionError: assert set() == {'a.__bool__'...__doc__', ...}
E         
E         Extra items in the right set:
E         'a.__subclasshook__'
E         'a.__repr__'
E         'a.__len__'
E         'a.__class__'
E         'a.__reduce_ex__'...
E         
E         ...Full output truncated (31 lines hidden), use '-vv' to show

test/test_utils.py:96: AssertionError
=========================== short test summary info ============================
FAILED test/test_utils.py::TestSetupReadline::test_colorama - AssertionError:...
FAILED test/test_utils.py::TestSetupReadline::test_modules - AssertionError: ...
FAILED test/test_utils.py::TestSetupReadline::test_preexisting_values - Asser...
= 3 failed, 3766 passed, 22 skipped, 94 deselected, 1 xfailed in 77.52s (0:01:17) =

https://docs.pytest.org/en/stable/changelog.html

For the build logs, see:
https://copr-be.cloud.fedoraproject.org/results/thrnciar/pytest/fedora-rawhide-x86_64/07389057-python-jedi/

For all our attempts to build python-jedi with pytest 8, see:
https://copr.fedorainfracloud.org/coprs/thrnciar/pytest/package/python-jedi/

Let us know here if you have any questions.

Pytest 8 is planned to be included in Fedora 41. And this bugzilla is a
heads up before we merge new pytest into rawhide. For more info see a Fedora Change
proposal https://fedoraproject.org/wiki/Changes/Pytest_8

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.