Bug 2389362

Summary: myst-nb: FTBFS in Fedora 43 and Rawhide: AssertionErrors in tests/test_execute.py (expected hash mismatch)
Product: [Fedora] Fedora Reporter: Karolina Surma <ksurma>
Component: myst-nbAssignee: Jerry James <loganjerry>
Status: CLOSED NEXTRELEASE QA Contact:
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 43CC: loganjerry
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
URL: https://koschei.fedoraproject.org/package/myst-nb
Whiteboard:
Fixed In Version: myst-nb-1.3.0-4.fc44 Doc Type: ---
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2025-08-22 20:29:16 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: 2385507    
Bug Blocks: 2339432, 2373702, 2384424    

Description Karolina Surma 2025-08-19 09:38:31 UTC
Description of problem:
Package myst-nb fails to build from source in Fedora 43 and Rawhide.

Version-Release number of selected component (if applicable):
1.3.0-2.fc43

Steps to Reproduce:
koji build --scratch f44 myst-nb-1.3.0-2.fc43.src.rpm

Additional info:
This package is tracked by Koschei. See:
https://koschei.fedoraproject.org/package/myst-nb

Results:

________________ test_custom_convert_multiple_extensions_cache _________________
sphinx_run = <conftest.SphinxFixture object at 0xffff702bfb60>
file_regression = <conftest.FileRegression object at 0xffff70371630>
check_nbs = <function check_nbs.<locals>._check_nbs at 0xffff703a31c0>
    @pytest.mark.sphinx_params(
        "custom-formats2.extra.exnt",
        conf={
            "nb_execution_mode": "cache",
            "nb_custom_formats": {".extra.exnt": ["jupytext.reads", {"fmt": "Rmd"}]},
        },
    )
    def test_custom_convert_multiple_extensions_cache(
        sphinx_run, file_regression, check_nbs
    ):
        """The outputs should be populated."""
        sphinx_run.build()
        assert sphinx_run.warnings() == ""
>       regress_nb_doc(file_regression, sphinx_run, check_nbs)
/builddir/build/BUILD/myst-nb-1.3.0-build/MyST-NB-1.3.0/tests/test_execute.py:406: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
/builddir/build/BUILD/myst-nb-1.3.0-build/MyST-NB-1.3.0/tests/test_execute.py:38: in regress_nb_doc
    file_regression.check(doctree_string, extension=".xml", encoding="utf-8")
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
self = <conftest.FileRegression object at 0xffff70371630>
data = '<document source="custom-formats2" translation_progress="{\'total\': 0, \'translated\': 0}">\n    <section ids="custo...0c7615e545fd.png" uri="_build/jupyter_execute/16cba4cd16990dd2051c7d78eafc4139cdbcb5ce4cc9aea85a670c7615e545fd.png">\n'
kwargs = {'encoding': 'utf-8', 'extension': '.xml'}
    def check(self, data, **kwargs):
>       return self.file_regression.check(self._strip_ignores(data), **kwargs)
E       AssertionError: FILES DIFFER:
E       /tmp/pytest-of-mockbuild/pytest-0/test_custom_convert_multiple_e1/test_custom_convert_multiple_extensions_cache.xml
E       /tmp/pytest-of-mockbuild/pytest-0/test_custom_convert_multiple_e1/test_custom_convert_multiple_extensions_cache.obtained.xml
E       HTML DIFF: /tmp/pytest-of-mockbuild/pytest-0/test_custom_convert_multiple_e1/test_custom_convert_multiple_extensions_cache.obtained.diff.html
E       --- 
E       +++ 
E       @@ -19,4 +19,4 @@
E                                <literal_block classes="output text_plain" language="myst-ansi" xml:space="preserve">
E                                    <Figure size 640x480 with 1 Axes>
E                            <container mime_type="image/png">
E       -                        <image candidates="{'*': '_build/jupyter_execute/79f662cf270a62ef0a2ed774bbb4eea8bc8701fbd0a79121fda9016aa2d3f034.png'}" uri="_build/jupyter_execute/79f662cf270a62ef0a2ed774bbb4eea8bc8701fbd0a79121fda9016aa2d3f034.png">
E       +                        <image candidates="{'*': '_build/jupyter_execute/16cba4cd16990dd2051c7d78eafc4139cdbcb5ce4cc9aea85a670c7615e545fd.png'}" uri="_build/jupyter_execute/16cba4cd16990dd2051c7d78eafc4139cdbcb5ce4cc9aea85a670c7615e545fd.png">
/builddir/build/BUILD/myst-nb-1.3.0-build/MyST-NB-1.3.0/tests/conftest.py:308: AssertionError
----------------------------- Captured stderr call -----------------------------
[IPKernelApp] WARNING | debugpy_stream undefined, debugging will not be enabled
=========================== short test summary info ============================
FAILED tests/test_execute.py::test_complex_outputs_unrun_cache - AssertionErr...
FAILED tests/test_execute.py::test_complex_outputs_unrun_auto - AssertionErro...
FAILED tests/test_execute.py::test_custom_convert_auto - AssertionError: FILE...
FAILED tests/test_execute.py::test_custom_convert_cache - AssertionError: FIL...
FAILED tests/test_execute.py::test_custom_convert_multiple_extensions_auto - ...
FAILED tests/test_execute.py::test_custom_convert_multiple_extensions_cache
=================== 6 failed, 81 passed in 115.79s (0:01:55) ===================

Comment 1 Jerry James 2025-08-19 13:58:28 UTC
The hashes are easy to fix (I have to figure out some way of automatically computing those hashes!), but now the build fails because python3dist(pandas) and python3dist(pyarrow) cannot be installed: https://koji.fedoraproject.org/koji/taskinfo?taskID=136236262

Comment 2 Jerry James 2025-08-22 20:29:16 UTC
The build has succeeded in Rawhide and F43.