Bug 2374300

Summary: python-deepdiff: FTBFS in Fedora Rawhide with tests: assert "Failed to set mypath due to cannot use 'set' as a dict key (unhashable type: 'set')" in {"Failed to set mypath due to 'set' objects are unhashable", "Failed to set mypath due to unhashable type:
Product: [Fedora] Fedora Reporter: Karolina Surma <ksurma>
Component: python-deepdiffAssignee: Romain Geissler <romain.geissler>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: rawhideCC: mhroncok, romain.geissler, susi.lehtola
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Linux   
URL: https://koschei.fedoraproject.org/package/python-deepdiff
Whiteboard:
Fixed In Version: python-deepdiff-8.5.0-4.fc43 Doc Type: ---
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2025-07-03 22:02:33 UTC Type: ---
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: 2322407, 2339432    

Description Karolina Surma 2025-06-23 11:42:05 UTC
Description of problem:
Package python-deepdiff fails to build from source in Fedora Rawhide.

Version-Release number of selected component (if applicable):
8.5.0-3.fc43

Steps to Reproduce:
- switch the tests bcond on
- run a local mockbuild

Reproducible: Always

Actual Results:
_________________ TestBasicsOfDelta.test_simple_set_elem_value _________________

self = <tests.test_delta.TestBasicsOfDelta object at 0x7f7eb2ddb110>

    def test_simple_set_elem_value(self):
        delta = Delta({}, raise_errors=True)
    
        with pytest.raises(DeltaError) as excinfo:
            delta._simple_set_elem_value(
                obj=None, elem=None, value=None, action='mayo on salad', path_for_err_reporting=None)
        assert INVALID_ACTION_WHEN_CALLING_SIMPLE_SET_ELEM.format('mayo on salad') == str(excinfo.value)
    
        with pytest.raises(DeltaError) as excinfo:
            delta._simple_set_elem_value(
                obj={}, elem={1}, value=None, action=GET, path_for_err_reporting='mypath')
>       assert str(excinfo.value) in {"Failed to set mypath due to unhashable type: 'set'",
                                      "Failed to set mypath due to 'set' objects are unhashable"}
E       assert "Failed to set mypath due to cannot use 'set' as a dict key (unhashable type: 'set')" in {"Failed to set mypath due to 'set' objects are unhashable", "Failed to set mypath due to unhashable type: 'set'"}
E        +  where "Failed to set mypath due to cannot use 'set' as a dict key (unhashable type: 'set')" = str(DeltaError("Failed to set mypath due to cannot use 'set' as a dict key (unhashable type: 'set')"))
E        +    where DeltaError("Failed to set mypath due to cannot use 'set' as a dict key (unhashable type: 'set')") = <ExceptionInfo DeltaError("Failed to set mypath due to cannot use 'set' as a dict key (unhashable type: 'set')") tblen=3>.value

Comment 1 Romain Geissler 2025-06-29 14:12:58 UTC
Will be fixed by https://src.fedoraproject.org/rpms/python-deepdiff/pull-request/11

Comment 2 Fedora Update System 2025-07-03 21:59:32 UTC
FEDORA-2025-0908b2deb8 (python-deepdiff-8.5.0-4.fc43) has been submitted as an update to Fedora 43.
https://bodhi.fedoraproject.org/updates/FEDORA-2025-0908b2deb8

Comment 3 Fedora Update System 2025-07-03 22:02:33 UTC
FEDORA-2025-0908b2deb8 (python-deepdiff-8.5.0-4.fc43) has been pushed to the Fedora 43 stable repository.
If problem still persists, please make note of it in this bug report.