What version of myst-parser are you using?
5.1.0
What version dependencies are you using?
sphinx 9.1.0, docutils 0.23 (unpinned dependencies)
What operating system are you using?
Linux
Describe the Bug
With docutils 0.23 which I'm integrating into Fedora now, there's one test failure coming form the fact that system_message level 1 is now also included in the xml tree, not only emitted as a report stream.
Updating the source md file isn't backwards compatible, and removing the system_message node from the test would also remove other four system_message that the tests already account with. So I don't know which way is the best to tackle it.
Please note: upstream's Sphinx doesn't yet support docutils 0.23, so it's not reproducible easily with tox.
I'm happy to test any solution using the Fedora build system.
_________________ test_link_resolution[121-explicit>implicit] __________________
file_params = ParamTestData(line=121, title='explicit>implicit', description='--myst-heading-anchors=1', content='# Test\n\n(test)=\...et "test-1" is not referenced.\n', index=4, fmt=<pytest_param_files.main.DotFormat object at 0x7fcfee73f530>, extra={})
normalize_doctree_xml = <function normalize_doctree_xml.<locals>._normalize at 0x7fcfed22d640>
@pytest.mark.param_file(FIXTURE_PATH / "docutil_link_resolution.md")
def test_link_resolution(file_params: ParamTestData, normalize_doctree_xml):
"""Test that Markdown links resolve to the correct target, or give the correct warning."""
settings = settings_from_cmdline(file_params.description)
report_stream = StringIO()
settings["warning_stream"] = report_stream
if file_params.title == "explicit>implicit":
if docutils_version < (0, 22):
# reporting changed in docutils 0.22
pytest.skip("different in docutils>=0.22")
settings["report_level"] = 0
doctree = publish_doctree(
file_params.content,
source_path="<src>/index.md",
parser=Parser(),
settings_overrides=settings,
)
outcome = normalize_doctree_xml(doctree.pformat())
if report_stream.getvalue().strip():
outcome += "\n\n" + report_stream.getvalue().strip()
> file_params.assert_expected(outcome, rstrip_lines=True)
E AssertionError: actual != expected (use --regen-file-failure)
E --- /builddir/build/BUILD/python-myst-parser-5.1.0-build/MyST-Parser-5.1.0/tests/test_renderers/fixtures/docutil_link_resolution.md:121
E +++ (actual)
E @@ -3,6 +3,9 @@
E Test
E <subtitle ids="other test-1" names="other test">
E Other
E + <system_message level="1" line="3" source="<src>/index.md" type="INFO">
E + <paragraph>
E + Target name overrides implicit target name "test".
E <target refid="test-1">
E <paragraph>
E <reference id_link="True" refid="test-1">
Expected Behavior
No response
To Reproduce
No response
What version of
myst-parserare you using?5.1.0
What version dependencies are you using?
sphinx 9.1.0, docutils 0.23 (unpinned dependencies)
What operating system are you using?
Linux
Describe the Bug
With docutils 0.23 which I'm integrating into Fedora now, there's one test failure coming form the fact that system_message level 1 is now also included in the xml tree, not only emitted as a report stream.
Updating the source md file isn't backwards compatible, and removing the system_message node from the test would also remove other four system_message that the tests already account with. So I don't know which way is the best to tackle it.
Please note: upstream's Sphinx doesn't yet support docutils 0.23, so it's not reproducible easily with tox.
I'm happy to test any solution using the Fedora build system.
Expected Behavior
No response
To Reproduce
No response