Skip to content

Two failed tests (test_build_htmlhelp and test_htmlhelp_hhc) #12623

@mcepl

Description

@mcepl

Describe the bug

When running the test suite with sphinxcontrib_htmlhelp 2.0.5 and with Sphinx 7.4.5:

[   10s] =================================== FAILURES ===================================
[   10s] _____________________________ test_build_htmlhelp ______________________________
[   10s] 
[   10s] app = <SphinxTestApp buildername='htmlhelp'>
[   10s] status = <_io.StringIO object at 0x7fe742462710>
[   10s] warning = <_io.StringIO object at 0x7fe742462830>
[   10s] 
[   10s]     @pytest.mark.sphinx('htmlhelp', testroot='basic')
[   10s]     def test_build_htmlhelp(app, status, warning):
[   10s]         app.build()
[   10s]     
[   10s] >       hhp = (app.outdir / 'pythondoc.hhp').read_text()
[   10s] 
[   10s] tests/test_htmlhelp.py:17: 
[   10s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[   10s] /usr/lib64/python3.10/pathlib.py:1134: in read_text
[   10s]     with self.open(mode='r', encoding=encoding, errors=errors) as f:
[   10s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[   10s] 
[   10s] self = _StrPath('/tmp/pytest-of-abuild/pytest-0/basic/_build/htmlhelp/pythondoc.hhp')
[   10s] mode = 'r', buffering = -1, encoding = 'locale', errors = None, newline = None
[   10s] 
[   10s]     def open(self, mode='r', buffering=-1, encoding=None,
[   10s]              errors=None, newline=None):
[   10s]         """
[   10s]         Open the file pointed by this path and return a file object, as
[   10s]         the built-in open() function does.
[   10s]         """
[   10s]         if "b" not in mode:
[   10s]             encoding = io.text_encoding(encoding)
[   10s] >       return self._accessor.open(self, mode, buffering, encoding, errors,
[   10s]                                    newline)
[   10s] E       FileNotFoundError: [Errno 2] No such file or directory: '/tmp/pytest-of-abuild/pytest-0/basic/_build/htmlhelp/pythondoc.hhp'
[   10s] 
[   10s] /usr/lib64/python3.10/pathlib.py:1119: FileNotFoundError
[   10s] --------------------------- Captured stdout teardown ---------------------------
[   10s] # testroot: root
[   10s] # builder: htmlhelp
[   10s] # srcdir: /tmp/pytest-of-abuild/pytest-0/basic
[   10s] # outdir: /tmp/pytest-of-abuild/pytest-0/basic/_build/htmlhelp
[   10s] # status: 
[   10s] Running Sphinx v7.4.5
[   10s] loading translations [en]... done
[   10s] building [mo]: targets for 0 po files that are out of date
[   10s] writing output... 
[   10s] building [htmlhelp]: targets for 1 source files that are out of date
[   10s] updating environment: [new config] 1 added, 0 changed, 0 removed
[   10s] reading sources... [100%] index
[   10s] 
[   10s] looking for now-outdated files... none found
[   10s] pickling environment... done
[   10s] checking consistency... done
[   10s] preparing documents... done
[   10s] copying assets... 
[   10s] copying static files... done
[   10s] copying extra files... done
[   10s] copying assets: done
[   10s] writing output... [100%] index
[   10s] 
[   10s] generating indices... genindex done
[   10s] writing additional pages... done
[   10s] copying stopword list... done
[   10s] writing project file... done
[   10s] writing TOC file... done
[   10s] writing index file...
[   10s] build succeeded.
[   10s] 
[   10s] You can now run HTML Help Workshop with the .htp file in ../../../../../tmp/pytest-of-abuild/pytest-0/basic/_build/htmlhelp.
[   10s] 
[   10s] # warning: 
[   10s] 
[   10s] ______________________________ test_htmlhelp_hhc _______________________________
[   10s] 
[   10s] app = <SphinxTestApp buildername='htmlhelp'>
[   10s] 
[   10s]     @pytest.mark.sphinx('htmlhelp', testroot='hhc')
[   10s]     def test_htmlhelp_hhc(app):
[   10s]         app.build()
[   10s]     
[   10s]         def assert_sitemap(node, name, filename):
[   10s]             assert node.tag == 'object'
[   10s]             assert len(node) == 2
[   10s]             assert node[0].tag == 'param'
[   10s]             assert node[0].attrib == {'name': 'Name',  'value': name}
[   10s]             assert node[1].tag == 'param'
[   10s]             assert node[1].attrib == {'name': 'Local', 'value': filename}
[   10s]     
[   10s]         # .hhc file
[   10s] >       hhc = (app.outdir / 'pythondoc.hhc').read_text()
[   10s] 
[   10s] tests/test_htmlhelp.py:78: 
[   10s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[   10s] /usr/lib64/python3.10/pathlib.py:1134: in read_text
[   10s]     with self.open(mode='r', encoding=encoding, errors=errors) as f:
[   10s] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
[   10s] 
[   10s] self = _StrPath('/tmp/pytest-of-abuild/pytest-0/hhc/_build/htmlhelp/pythondoc.hhc')
[   10s] mode = 'r', buffering = -1, encoding = 'locale', errors = None, newline = None
[   10s] 
[   10s]     def open(self, mode='r', buffering=-1, encoding=None,
[   10s]              errors=None, newline=None):
[   10s]         """
[   10s]         Open the file pointed by this path and return a file object, as
[   10s]         the built-in open() function does.
[   10s]         """
[   10s]         if "b" not in mode:
[   10s]             encoding = io.text_encoding(encoding)
[   10s] >       return self._accessor.open(self, mode, buffering, encoding, errors,
[   10s]                                    newline)
[   10s] E       FileNotFoundError: [Errno 2] No such file or directory: '/tmp/pytest-of-abuild/pytest-0/hhc/_build/htmlhelp/pythondoc.hhc'
[   10s] 
[   10s] /usr/lib64/python3.10/pathlib.py:1119: FileNotFoundError
[   10s] --------------------------- Captured stdout teardown ---------------------------
[   10s] # testroot: root
[   10s] # builder: htmlhelp
[   10s] # srcdir: /tmp/pytest-of-abuild/pytest-0/hhc
[   10s] # outdir: /tmp/pytest-of-abuild/pytest-0/hhc/_build/htmlhelp
[   10s] # status: 
[   10s] Running Sphinx v7.4.5
[   10s] loading translations [en]... done
[   10s] building [mo]: targets for 0 po files that are out of date
[   10s] writing output... 
[   10s] building [htmlhelp]: targets for 4 source files that are out of date
[   10s] updating environment: [new config] 4 added, 0 changed, 0 removed
[   10s] reading sources... [ 25%] bar
[   10s] reading sources... [ 50%] baz
[   10s] reading sources... [ 75%] foo
[   10s] reading sources... [100%] index
[   10s] 
[   10s] looking for now-outdated files... none found
[   10s] pickling environment... done
[   10s] checking consistency... done
[   10s] preparing documents... done
[   10s] copying assets... 
[   10s] copying static files... done
[   10s] copying extra files... done
[   10s] copying assets: done
[   10s] writing output... [ 25%] bar
[   10s] writing output... [ 50%] baz
[   10s] writing output... [ 75%] foo

How to Reproduce

export PYTHONPATH=/home/abuild/rpmbuild/BUILDROOT/python-sphinxcontrib-htmlhelp-test-2.0.5-0.x86_64/usr/lib/python3.10/site-packages
export PYTHONDONTWRITEBYTECODE=1
pytest-3.10 --ignore=_build.python310 --ignore=_build.python312 --ignore=_build.python311 -v

Environment Information

See details in the appended log

Sphinx extensions

python311-sphinxcontrib-websupport-1.2.7
python311-sphinxcontrib-serializinghtm-1.1.0
python311-sphinxcontrib-qthelp-1.0.7
python311-sphinxcontrib-htmlhelp-2.0.5
python311-sphinxcontrib-devhelp-1.0.6
python311-sphinxcontrib-applehelp-1.0.8
python311-sphinxcontrib-jquery-4.1
python311-sphinxcontrib-jsmath-1.0.1
python311-sphinx_rtd_theme-2.0.0
python311-Sphinx-7.4.5

Additional context

Complete build log

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions