Tests failing with "FileNotFoundError: [Errno 2]" and "Unknown directive type: 'currentmodule' [myst.directive_unknown]"
johanneskastl opened this issue · 6 comments
Just packaged v0.24.1 for openSUSE. The "unknown pytest option" error from #496 is gone, but I get two other errors that cause the build to fail.
One regarding a file not found
. And one regarding Unknown directive type: 'currentmodule' [myst.directive_unknown]
.
The latter might be due to a dependency's version being too old, but the constraints in pyproject.toml are fulfilled AFAIK.
Any ideas?
Kind Regards,
Johannes
[ 34s] ============================= test session starts ============================== [268/7461]
[ 36s] collecting ... collected 320 items / 2 errors / 24 deselected / 296 selected [ 36s]
[ 36s] ==================================== ERRORS ====================================
[ 36s] ________________________ ERROR collecting docs/conf.py _________________________
[ 36s] /usr/lib/python3.9/site-packages/_pytest/runner.py:341: in from_call
[ 36s] result: Optional[TResult] = func()
[ 36s] cls = <class '_pytest.runner.CallInfo'>
[ 36s] duration = 0.0013224719987192657
[ 36s] excinfo = <ExceptionInfo FileNotFoundError(2, 'No such file or directory') tblen=14>
[ 36s] func = <function pytest_make_collect_report.<locals>.<lambda> at 0x7f077c853ee0>
[ 36s] precise_start = 26624.482299699
[ 36s] precise_stop = 26624.483622171
[ 36s] reraise = None
[ 36s] result = None
[ 36s] start = 1700804964.5868146
[ 36s] stop = 1700804964.5881379
[ 36s] when = 'collect'
[ 36s] /usr/lib/python3.9/site-packages/_pytest/runner.py:372: in <lambda>
[ 36s] call = CallInfo.from_call(lambda: list(collector.collect()), "collect")
[ 36s] collector = <DoctestModule conf.py>
[ 36s] /usr/lib/python3.9/site-packages/_pytest/doctest.py:567: in collect
[ 36s] module = import_path(
[ 36s] MockAwareDocTestFinder = <class '_pytest.doctest.DoctestModule.collect.<locals>.MockAwareDocTestFinder'>
[ 36s] doctest = <module 'doctest' from '/usr/lib64/python3.9/doctest.py'>
[ 36s] self = <DoctestModule conf.py>
[ 36s] /usr/lib/python3.9/site-packages/_pytest/pathlib.py:567: in import_path
[ 36s] importlib.import_module(module_name)
[ 36s] mode = <ImportMode.prepend: 'prepend'>
[ 36s] module_name = 'docs.conf'
[ 36s] names = ['docs', 'conf']
[ 36s] p = PosixPath('/home/abuild/rpmbuild/BUILD/libtmux-0.24.1/docs/conf.py')
[ 36s] path = PosixPath('/home/abuild/rpmbuild/BUILD/libtmux-0.24.1/docs/conf.py')
[ 36s] pkg_path = PosixPath('/home/abuild/rpmbuild/BUILD/libtmux-0.24.1/docs')
[ 36s] pkg_root = PosixPath('/home/abuild/rpmbuild/BUILD/libtmux-0.24.1')
[ 36s] root = PosixPath('/home/abuild/rpmbuild/BUILD/libtmux-0.24.1')
[ 36s] /usr/lib64/python3.9/importlib/__init__.py:127: in import_module
[ 36s] return _bootstrap._gcd_import(name[level:], package, level)
[ 36s] level = 0
[ 36s] name = 'docs.conf'
[ 36s] package = None
[ 36s] <frozen importlib._bootstrap>:1030: in _gcd_import
[ 36s] ???
[ 36s] level = 0
[ 36s] name = 'docs.conf'
[ 36s] package = None
[ 36s] <frozen importlib._bootstrap>:1007: in _find_and_load
[ 36s] ???
[ 36s] import_ = <function _gcd_import at 0x7f077e358310>
[ 36s] module = <object object at 0x7f077e331060>
[ 36s] name = 'docs.conf'
[ 36s] <frozen importlib._bootstrap>:986: in _find_and_load_unlocked
[ 36s] ???
[ 36s] import_ = <function _gcd_import at 0x7f077e358310>
[ 36s] name = 'docs.conf'
[ 36s] parent = 'docs'
[ 36s] parent_module = <module 'docs' from '/home/abuild/rpmbuild/BUILD/libtmux-0.24.1/docs/__init__.py'>
[ 36s] path = ['/home/abuild/rpmbuild/BUILD/libtmux-0.24.1/docs']
[ 36s] spec = ModuleSpec(name='docs.conf', loader=<_frozen_importlib_external.SourceFileLoader object at 0x7f077c062910>, origin='/home/abuild/rpmbuild/BUILD/libtmux-0.24.1/
docs/conf.py')
[ 36s] <frozen importlib._bootstrap>:680: in _load_unlocked
[ 36s] ???
[ 36s] module = <module 'docs.conf' from '/home/abuild/rpmbuild/BUILD/libtmux-0.24.1/docs/conf.py'>
[ 36s] spec = ModuleSpec(name='docs.conf', loader=<_frozen_importlib_external.SourceFileLoader object at 0x7f077c062910>, origin='/home/abuild/rpmbuild/BUILD/libtmux-0.24.1/
docs/conf.py')
[ 36s] <frozen importlib._bootstrap_external>:850: in exec_module
[ 36s] ???
[ 36s] code = <code object <module> at 0x7f077c064b30, file "/home/abuild/rpmbuild/BUILD/libtmux-0.24.1/docs/conf.py", line 2>
[ 36s] module = <module 'docs.conf' from '/home/abuild/rpmbuild/BUILD/libtmux-0.24.1/docs/conf.py'>
[ 36s] self = <_frozen_importlib_external.SourceFileLoader object at 0x7f077c062910>
[ 36s] <frozen importlib._bootstrap>:228: in _call_with_frames_removed
[ 36s] ???
[ 36s] args = (<code object <module> at 0x7f077c064b30, file "/home/abuild/rpmbuild/BUILD/libtmux-0.24.1/docs/conf.py", line 2>, {'_...'__cached__': '/home/abuild/rpmbuild/B
UILD/libtmux-0.24.1/docs/__pycache__/conf.cpython-39.pyc', '__doc__': None, ...})
[ 36s] f = <built-in function exec>
[ 36s] kwds = {}
[ 36s] docs/conf.py:24: in <module>
[ 36s] with (project_src / "libtmux" / "__about__.py").open() as fp:
[ 36s] __annotations__ = {'about': typing.Dict[str, str]}
[ 36s] __builtins__ = <builtins>
[ 36s] __cached__ = '/home/abuild/rpmbuild/BUILD/libtmux-0.24.1/docs/__pycache__/conf.cpython-39.pyc'
[ 36s] __doc__ = None
[ 36s] __file__ = '/home/abuild/rpmbuild/BUILD/libtmux-0.24.1/docs/conf.py'
[ 36s] __loader__ = <_frozen_importlib_external.SourceFileLoader object at 0x7f077c062910>
[ 36s] __name__ = 'docs.conf'
[ 36s] __package__ = 'docs'
[ 36s] __spec__ = ModuleSpec(name='docs.conf', loader=<_frozen_importlib_external.SourceFileLoader object at 0x7f077c062910>, origin='/home/abuild/rpmbuild/BUILD/libtmux-0.24.1/
docs/conf.py')
[ 36s] about = {}
[ 36s] contextlib = <module 'contextlib' from '/usr/lib64/python3.9/contextlib.py'>
[ 36s] cwd = PosixPath('/home/abuild/rpmbuild/BUILD/libtmux-0.24.1/docs')
[ 36s] inspect = <module 'inspect' from '/usr/lib64/python3.9/inspect.py'>
[ 36s] libtmux = <module 'libtmux' from '/home/abuild/rpmbuild/BUILDROOT/python-libtmux-0.24.1-0.x86_64/usr/lib/python3.9/site-packages/libtmux/__init__.py'>
[ 36s] pathlib = <module 'pathlib' from '/usr/lib64/python3.9/pathlib.py'>
[ 36s] project_root = PosixPath('/home/abuild/rpmbuild/BUILD/libtmux-0.24.1')
[ 36s] project_src = PosixPath('/home/abuild/rpmbuild/BUILD/libtmux-0.24.1/src')
[ 36s] relpath = <function relpath at 0x7f077e207280>
[ 36s] sys = <module 'sys' (built-in)>
[ 36s] t = <module 'typing' from '/usr/lib64/python3.9/typing.py'>
[ 36s] /usr/lib64/python3.9/pathlib.py:1252: in open
[ 36s] return io.open(self, mode, buffering, encoding, errors, newline,
[ 36s] buffering = -1
[ 36s] encoding = None
[ 36s] errors = None
[ 36s] mode = 'r'
[ 36s] newline = None
[ 36s] self = PosixPath('/home/abuild/rpmbuild/BUILD/libtmux-0.24.1/src/libtmux/__about__.py')
[ 36s] /usr/lib64/python3.9/pathlib.py:1120: in _opener
[ 36s] return self._accessor.open(self, flags, mode)
[ 36s] E FileNotFoundError: [Errno 2] No such file or directory: '/home/abuild/rpmbuild/BUILD/libtmux-0.24.1/src/libtmux/__about__.py'
[ 36s] flags = 524288
[ 36s] mode = 438
[ 36s] name = '/home/abuild/rpmbuild/BUILD/libtmux-0.24.1/src/libtmux/__about__.py'
[ 36s] self = PosixPath('/home/abuild/rpmbuild/BUILD/libtmux-0.24.1/src/libtmux/__about__.py')
[ 36s] ______________________ ERROR collecting docs/migration.md ______________________
[ 36s] /usr/lib/python3.9/site-packages/myst_parser/mocking.py:377: in run
[ 36s] file_content = path.read_text(encoding=encoding, errors=error_handler)
[ 36s] CodeBlock = <class 'docutils.parsers.rst.directives.body.CodeBlock'>
[ 36s] NumberLines = <class 'docutils.utils.code_analyzer.NumberLines'>
[ 36s] encoding = None
[ 36s] error_handler = 'strict'
[ 36s] include_arg = '../MIGRATION'
[ 36s] path = PosixPath('/home/abuild/rpmbuild/BUILD/libtmux-0.24.1/docs/../MIGRATION')
[ 36s] self = <myst_parser.mocking.MockIncludeDirective object at 0x7f077b9d7130>
[ 36s] source_dir = PosixPath('/home/abuild/rpmbuild/BUILD/libtmux-0.24.1/docs')
[ 36s] /usr/lib64/python3.9/pathlib.py:1266: in read_text
[ 36s] with self.open(mode='r', encoding=encoding, errors=errors) as f:
[ 36s] encoding = None
[ 36s] errors = 'strict'
[ 36s] self = PosixPath('/home/abuild/rpmbuild/BUILD/libtmux-0.24.1/docs/../MIGRATION')
[ 36s] /usr/lib64/python3.9/pathlib.py:1252: in open
[ 36s] return io.open(self, mode, buffering, encoding, errors, newline,
[ 36s] buffering = -1
[ 36s] encoding = None
[ 36s] errors = 'strict'
[ 36s] mode = 'r'
[ 36s] newline = None
[ 36s] self = PosixPath('/home/abuild/rpmbuild/BUILD/libtmux-0.24.1/docs/../MIGRATION')
[ 36s] /usr/lib64/python3.9/pathlib.py:1120: in _opener
[ 36s] return self._accessor.open(self, flags, mode)
[ 36s] E FileNotFoundError: [Errno 2] No such file or directory: '/home/abuild/rpmbuild/BUILD/libtmux-0.24.1/docs/../MIGRATION'
[ 36s] flags = 524288
[ 36s] mode = 438
[ 36s] name = '/home/abuild/rpmbuild/BUILD/libtmux-0.24.1/docs/../MIGRATION'
[ 36s] self = PosixPath('/home/abuild/rpmbuild/BUILD/libtmux-0.24.1/docs/../MIGRATION')
[ 36s]
[ 36s] During handling of the above exception, another exception occurred:
[ 36s] /usr/lib/python3.9/site-packages/myst_parser/mdit_to_docutils/base.py:1793: in run_directive
[ 36s] result = directive_instance.run()
[ 36s] additional_options = None
[ 36s] content = '\n'
[ 36s] directive_class = <class 'docutils.parsers.rst.directives.misc.Include'>
[ 36s] directive_instance = <myst_parser.mocking.MockIncludeDirective object at 0x7f077b9d7130>
[ 36s] first_line = '../MIGRATION'
[ 36s] messages = []
[ 36s] name = 'include'
[ 36s] output = (<class 'docutils.parsers.rst.directives.misc.Include'>, [])
[ 36s] parsed = DirectiveParsingResult(arguments=['../MIGRATION'], options={}, body=[], body_offset=1, warnings=[])
[ 36s] position = 7
[ 36s] self = <myst_parser.mdit_to_docutils.base.DocutilsRenderer object at 0x7f077b9bb220>
[ 36s] /usr/lib/python3.9/site-packages/myst_parser/mocking.py:379: in run
[ 36s] raise DirectiveError(
[ 36s] E docutils.parsers.rst.DirectiveError
[ 36s] CodeBlock = <class 'docutils.parsers.rst.directives.body.CodeBlock'>
[ 36s] NumberLines = <class 'docutils.utils.code_analyzer.NumberLines'>
[ 36s] encoding = None
[ 36s] error_handler = 'strict'
[ 36s] include_arg = '../MIGRATION'
[ 36s] path = PosixPath('/home/abuild/rpmbuild/BUILD/libtmux-0.24.1/docs/../MIGRATION')
[ 36s] self = <myst_parser.mocking.MockIncludeDirective object at 0x7f077b9d7130>
[ 36s] source_dir = PosixPath('/home/abuild/rpmbuild/BUILD/libtmux-0.24.1/docs')
[ 36s]
[ 36s] During handling of the above exception, another exception occurred:
[ 36s] /usr/lib/python3.9/site-packages/_pytest/runner.py:341: in from_call
[ 36s] result: Optional[TResult] = func()
[ 36s] cls = <class '_pytest.runner.CallInfo'>
[ 36s] duration = 0.0032985840007313527
[ 36s] excinfo = <ExceptionInfo SystemMessage('/home/abuild/rpmbuild/BUILD/libtmux-0.24.1/docs/migration.md:7: (SEVERE/4) Directive "include": file not found: \'/home/abuild/rp
mbuild/BUILD/libtmux-0.24.1/docs/../MIGRATION\'') tblen=12>
[ 36s] func = <function pytest_make_collect_report.<locals>.<lambda> at 0x7f077bf25f70>
[ 36s] precise_start = 26624.798742421
[ 36s] precise_stop = 26624.802041005
[ 36s] reraise = None
[ 36s] result = None
[ 36s] start = 1700804964.9032574
[ 36s] stop = 1700804964.9065568
[ 36s] when = 'collect'
[ 36s] /usr/lib/python3.9/site-packages/_pytest/runner.py:372: in <lambda>
[ 36s] call = CallInfo.from_call(lambda: list(collector.collect()), "collect")
[ 36s] collector = <DocTestDocutilsFile migration.md>
[ 36s] /usr/lib/python3.9/site-packages/pytest_doctest_docutils.py:235: in collect
[ 36s] for test in finder.find(
[ 36s] DoctestItem = <class '_pytest.doctest.DoctestItem'>
[ 36s] encoding = 'utf-8'
[ 36s] finder = <doctest_docutils.DocutilsDocTestFinder object at 0x7f077bb20640>
[ 36s] optionflags = 12
[ 36s] runner = <pytest_doctest_docutils._init_runner_class.<locals>.PytestDoctestRunner object at 0x7f077ba248e0>
[ 36s] self = <DocTestDocutilsFile migration.md>
[ 36s] text = '(migration)=\n\n```{currentmodule} libtmux\n\n```\n\n```{include} ../MIGRATION\n\n```\n'
[ 36s] /usr/lib/python3.9/site-packages/doctest_docutils.py:257: in find
[ 36s] self._find(tests, string, name, source_lines, globs, {}, name)
[ 36s] extraglobs = None
[ 36s] globs = {'__name__': '__main__'}
[ 36s] name = '/home/abuild/rpmbuild/BUILD/libtmux-0.24.1/docs/migration.md'
[ 36s] self = <doctest_docutils.DocutilsDocTestFinder object at 0x7f077bb20640>
[ 36s] source_lines = ['(migration)=\n', '\n', '```{currentmodule} libtmux\n', '\n', '```\n', '\n', ...]
[ 36s] string = '(migration)=\n\n```{currentmodule} libtmux\n\n```\n\n```{include} ../MIGRATION\n\n```\n'
[ 36s] tests = []
[ 36s] /usr/lib/python3.9/site-packages/doctest_docutils.py:317: in _find
[ 36s] md_parser.render(string)
[ 36s] DocutilsParser = <class 'myst_parser.parsers.docutils_.Parser'>
[ 36s] DocutilsRenderer = <class 'myst_parser.mdit_to_docutils.base.DocutilsRenderer'>
[ 36s] MdParserConfig = <class 'myst_parser.config.main.MdParserConfig'>
[ 36s] config = MdParserConfig(commonmark_only=False, gfm_only=False, enable_extensions=set(), disable_syntax=[], all_links_external=F...x_process|mathjax_process|math|output_
area', enable_checkboxes=False, suppress_warnings=[], highlight_code_blocks=True)
[ 36s] create_md_parser = <function create_md_parser at 0x7f077c0ea9d0>
[ 36s] doc = <document: <target "migration"...><system_message...><system_messag ...>
[ 36s] ext = '.md'
[ 36s] globs = {'__name__': '__main__'}
[ 36s] make_document = <function make_document at 0x7f077c5acf70>
[ 36s] md_parser = markdown_it.main.MarkdownIt()
[ 36s] myst_parser = <module 'myst_parser' from '/usr/lib/python3.9/site-packages/myst_parser/__init__.py'>
[ 36s] name = '/home/abuild/rpmbuild/BUILD/libtmux-0.24.1/docs/migration.md'
[ 36s] seen = {139670119864368: 1}
[ 36s] self = <doctest_docutils.DocutilsDocTestFinder object at 0x7f077bb20640>
[ 36s] source_lines = ['(migration)=\n', '\n', '```{currentmodule} libtmux\n', '\n', '```\n', '\n', ...]
[ 36s] source_path = '/home/abuild/rpmbuild/BUILD/libtmux-0.24.1/docs/migration.md'
[ 36s] string = '(migration)=\n\n```{currentmodule} libtmux\n\n```\n\n```{include} ../MIGRATION\n\n```\n'
[ 36s] tests = []
[ 36s] /usr/lib/python3.9/site-packages/markdown_it/main.py:291: in render
[ 36s] return self.renderer.render(self.parse(src, env), self.options, env)
[ 36s] env = {'foot_refs': {}, 'wordcount': {'minutes': 0, 'words': 0}}
[ 36s] self = markdown_it.main.MarkdownIt()
[ 36s] src = '(migration)=\n\n```{currentmodule} libtmux\n\n```\n\n```{include} ../MIGRATION\n\n```\n'
[ 36s] /usr/lib/python3.9/site-packages/myst_parser/mdit_to_docutils/base.py:235: in render
[ 36s] self._render_tokens(list(tokens))
[ 36s] md_env = {'foot_refs': {}, 'wordcount': {'minutes': 0, 'words': 0}}
[ 36s] options = {'maxNesting': 20, 'html': True, 'linkify': False, 'typographer': False, 'quotes': '“”‘’', 'xhtmlOut': True, 'breaks':...=[], highlight_code_blocks=True), 'doc
ument': <document: <target "migration"...><system_message...><system_messag ...>}
[ 36s] self = <myst_parser.mdit_to_docutils.base.DocutilsRenderer object at 0x7f077b9bb220>
[ 36s] tokens = [Token(type='myst_target', tag='', nesting=0, attrs={'class': 'myst-target'}, map=[1, 2], level=0, children=None, cont... level=0, children=None, content='\n',
markup='```', info='{include} ../MIGRATION', meta={}, block=True, hidden=False)]
[ 36s] /usr/lib/python3.9/site-packages/myst_parser/mdit_to_docutils/base.py:214: in _render_tokens
[ 36s] self.rules[f"render_{child.type}"](child)
[ 36s] child = SyntaxTreeNode(fence)
[ 36s] new_children = []
[ 36s] node = SyntaxTreeNode(fence)
[ 36s] node_tree = SyntaxTreeNode(root)
[ 36s] self = <myst_parser.mdit_to_docutils.base.DocutilsRenderer object at 0x7f077b9bb220>
[ 36s] token = Token(type='fence', tag='code', nesting=0, attrs={}, map=[7, 10], level=0, children=None, content='\n', markup='```', info='{include} ../MIGRATION', meta={}, b
lock=True, hidden=False)
[ 36s] tokens = [Token(type='myst_target', tag='', nesting=0, attrs={'class': 'myst-target'}, map=[1, 2], level=0, children=None, cont... level=0, children=None, content='\n',
markup='```', info='{include} ../MIGRATION', meta={}, block=True, hidden=False)]
[ 36s] /usr/lib/python3.9/site-packages/myst_parser/mdit_to_docutils/base.py:743: in render_fence
[ 36s] return self.render_directive(token, name[1:-1], arguments)
[ 36s] arguments = '../MIGRATION'
[ 36s] name = '{include}'
[ 36s] parts = ['{include}', '../MIGRATION']
[ 36s] self = <myst_parser.mdit_to_docutils.base.DocutilsRenderer object at 0x7f077b9bb220>
[ 36s] token = SyntaxTreeNode(fence)
[ 36s] /usr/lib/python3.9/site-packages/myst_parser/mdit_to_docutils/base.py:1686: in render_directive
[ 36s] nodes_list = self.run_directive(
[ 36s] additional_options = None
[ 36s] arguments = '../MIGRATION'
[ 36s] name = 'include'
[ 36s] position = 7
[ 36s] self = <myst_parser.mdit_to_docutils.base.DocutilsRenderer object at 0x7f077b9bb220>
[ 36s] token = SyntaxTreeNode(fence)
[ 36s] /usr/lib/python3.9/site-packages/myst_parser/mdit_to_docutils/base.py:1795: in run_directive
[ 36s] msg_node = self.reporter.system_message(
[ 36s] additional_options = None
[ 36s] content = '\n'
[ 36s] directive_class = <class 'docutils.parsers.rst.directives.misc.Include'>
[ 36s] directive_instance = <myst_parser.mocking.MockIncludeDirective object at 0x7f077b9d7130>
[ 36s] first_line = '../MIGRATION'
[ 36s] messages = []
[ 36s] name = 'include'
[ 36s] output = (<class 'docutils.parsers.rst.directives.misc.Include'>, [])
[ 36s] parsed = DirectiveParsingResult(arguments=['../MIGRATION'], options={}, body=[], body_offset=1, warnings=[])
[ 36s] position = 7
[ 36s] self = <myst_parser.mdit_to_docutils.base.DocutilsRenderer object at 0x7f077b9bb220>
[ 36s] /usr/lib/python3.9/site-packages/docutils/utils/__init__.py:197: in system_message
[ 36s] raise SystemMessage(msg, level)
[ 36s] E docutils.utils.SystemMessage: /home/abuild/rpmbuild/BUILD/libtmux-0.24.1/docs/migration.md:7: (SEVERE/4) Directive "include": file not found: '/home/abuild/rpmbuild/BUILD/libtm
ux-0.24.1/docs/../MIGRATION'
[ 36s] attributes = {'line': 7, 'source': '/home/abuild/rpmbuild/BUILD/libtmux-0.24.1/docs/migration.md'}
[ 36s] children = ()
[ 36s] kwargs = {'line': 7}
[ 36s] level = 4
[ 36s] line = None
[ 36s] message = 'Directive "include": file not found: \'/home/abuild/rpmbuild/BUILD/libtmux-0.24.1/docs/../MIGRATION\''
[ 36s] msg = <system_message: <paragraph...>>
[ 36s] self = <docutils.utils.Reporter object at 0x7f077bb20a00>
[ 36s] source = None
[ 36s] ------------------------------- Captured stderr --------------------------------
[ 36s] /home/abuild/rpmbuild/BUILD/libtmux-0.24.1/docs/migration.md:3: (WARNING/2) Unknown directive type: 'currentmodule' [myst.directive_unknown]
[ 36s] /home/abuild/rpmbuild/BUILD/libtmux-0.24.1/docs/migration.md:7: (SEVERE/4) Directive "include": file not found: '/home/abuild/rpmbuild/BUILD/libtmux-0.24.1/docs/../MIGRATION'
[ 36s] =========================== short test summary info ============================
[ 36s] ERROR docs/conf.py - FileNotFoundError: [Errno 2] No such file or directory: ...
[ 36s] ERROR docs/migration.md - docutils.utils.SystemMessage: /home/abuild/rpmbuild...
[ 36s] !!!!!!!!!!!!!!!!!!! Interrupted: 2 errors during collection !!!!!!!!!!!!!!!!!!!!
[ 36s] ======================= 24 deselected, 2 errors in 2.09s =======================
@johanneskastl Thank you for this!
How is the package being checked out? How are it and its dependencies being installed?
e.g. If it's from git source, does poetry install --with=test,coverage,lint
work?
The package is built in a offline environment, aka all dependencies are being prepared beforehand. This means all of the other packages are being installed via openSUSE's RPM package manager.
libtmux itself is being prepared from a PyPI tarball, which worked up until now. I can test and use the GitHub tarball, to see if this solves the issue.
MIGRATION
:
I will make a fix for this and report when the release is pushed.
poetry build
cd dist/
tar xvf libtmux-0.27.0.tar.gz
ls libtmux-0.27.0/
CHANGES LICENSE PKG-INFO README.md conftest.py docs pyproject.toml src tests
__about__.py
:
I'm confident this exists:
ls libtmux-0.27.0/src/libtmux
__about__.py __init__.py _compat.py _internal _vendor common.py exc.py formats.py neo.py pane.py py.typed pytest_plugin.py server.py session.py test.py window.py
currentmodule
directive
Unknown directive type: 'currentmodule' [myst.directive_unknown].
This should be fine to ignore.
@johanneskastl If you try v0.27.1, is anything different?
I tried with 0.27.1 and one of the original errors (Unknown directive type: 'currentmodule'
) is gone.
I needed to work around the other one, as I need to rename the src
directory before the builds and rename it back, otherwise I run into some weird errors.
So I had to put __about__.py
back into src/libtmux/
and now the tests succeed. I could even re-enable the checks I had to disable a while ago:
IGNORED_TESTS="test_capture_pane"
IGNORED_TESTS="${IGNORED_TESTS} or test_capture_pane_start"
IGNORED_TESTS="${IGNORED_TESTS} or test_function_times_out"
IGNORED_TESTS="${IGNORED_TESTS} or test_function_times_out_no_rise"
IGNORED_TESTS="${IGNORED_TESTS} or test_function_times_out_no_raise_assert"
IGNORED_TESTS="${IGNORED_TESTS} or test_select_window"
IGNORED_TESTS="${IGNORED_TESTS} or test_new_window_with_environment[environment0]"
IGNORED_TESTS="${IGNORED_TESTS} or test_new_window_with_environment[environment1]"
IGNORED_TESTS="${IGNORED_TESTS} or test_split_window_with_environment[environment0]"
IGNORED_TESTS="${IGNORED_TESTS} or test_split_window_with_environment[environment1]"
%pytest -k "not (${IGNORED_TESTS})"
Hence: Closing this issue! Thanks for your help!
@johanneskastl Thank you for the detailed follow up!