Skip to content

Bug with prerelease pytest #11758

@larsoner

Description

@larsoner
  • a detailed description of the bug or problem you are having
  • output of pip list from the virtual environment you are using
  • pytest and operating system versions
  • minimal example if possible

In our prerelease CIs we now get an internal error with 8.0.0rc1:

https://github.com/mne-tools/mne-python/actions/runs/7387584833/job/20096612938?pr=12330#step:15:4411

_______________________________ test_dir_warning _______________________________ mne/_fiff/tests/test_meas_info.py:355: in test_dir_warning read_info(ctf_fname) <decorator-gen-34>:12: in read_info ??? mne/_fiff/meas_info.py:2045: in read_info fname = _check_fname(fname, must_exist=True, overwrite="read") <decorator-gen-0>:12: in _check_fname ??? mne/utils/check.py:255: in _check_fname raise OSError( E OSError: Need a file for File but found a directory at /home/runner/mne_data/MNE-testing-data/CTF/testdata_ctf.ds During handling of the above exception, another exception occurred: tw._write_source(source_lines, indents) File "/opt/hostedtoolcache/Python/3.11.7/x64/lib/python3.11/site-packages/_pytest/_io/terminalwriter.py", line 193, in _write_source new_lines = self._highlight(source).splitlines() ^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/hostedtoolcache/Python/3.11.7/x64/lib/python3.11/site-packages/_pytest/_io/terminalwriter.py", line 228, in _highlight if highlighted[-1] == "\n" and source[-1] != "\n": ~~~~~~^^^^ IndexError: string index out of range Error: Process completed with exit code 1. 

That's on Linux, but locally I can reproduce on reproduce on macOS arm64 as well:

$ pytest mne/_fiff/tests/test_meas_info.py --pdb ... INTERNALERROR> File "/Users/larsoner/Applications/MNE-Python/1.6.0_0/.mne-python/lib/python3.11/site-packages/_pytest/reports.py", line 88, in toterminal INTERNALERROR> longrepr_terminal.toterminal(out) INTERNALERROR> File "/Users/larsoner/Applications/MNE-Python/1.6.0_0/.mne-python/lib/python3.11/site-packages/_pytest/_code/code.py", line 1140, in toterminal INTERNALERROR> element[0].toterminal(tw) INTERNALERROR> File "/Users/larsoner/Applications/MNE-Python/1.6.0_0/.mne-python/lib/python3.11/site-packages/_pytest/_code/code.py", line 1170, in toterminal INTERNALERROR> entry.toterminal(tw) INTERNALERROR> File "/Users/larsoner/Applications/MNE-Python/1.6.0_0/.mne-python/lib/python3.11/site-packages/_pytest/_code/code.py", line 1257, in toterminal INTERNALERROR> self._write_entry_lines(tw) INTERNALERROR> File "/Users/larsoner/Applications/MNE-Python/1.6.0_0/.mne-python/lib/python3.11/site-packages/_pytest/_code/code.py", line 1247, in _write_entry_lines INTERNALERROR> tw._write_source(source_lines, indents) INTERNALERROR> File "/Users/larsoner/Applications/MNE-Python/1.6.0_0/.mne-python/lib/python3.11/site-packages/_pytest/_io/terminalwriter.py", line 193, in _write_source INTERNALERROR> new_lines = self._highlight(source).splitlines() INTERNALERROR> ^^^^^^^^^^^^^^^^^^^^^^^ INTERNALERROR> File "/Users/larsoner/Applications/MNE-Python/1.6.0_0/.mne-python/lib/python3.11/site-packages/_pytest/_io/terminalwriter.py", line 228, in _highlight INTERNALERROR> if highlighted[-1] == "\n" and source[-1] != "\n": INTERNALERROR> ~~~~~~^^^^ INTERNALERROR> IndexError: string index out of range >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> PDB post_mortem (IO-capturing turned off) >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> > /Users/larsoner/Applications/MNE-Python/1.6.0_0/.mne-python/lib/python3.11/site-packages/_pytest/_io/terminalwriter.py(228)_highlight() -> if highlighted[-1] == "\n" and source[-1] != "\n": (Pdb) p source '' (Pdb) 

Not really minimal (at all!) and it's not trivial to get the MNE tests running locally, so let me know if additional debugging at my end would be helpful. But maybe it's enough to know that source has length zero so source[-1] will fail here?

Env info:

$ pip list | grep pytest pytest 8.0.0rc1 pytest-cov 4.1.0 pytest-harvest 1.10.4 pytest-qt 4.2.0 pytest-timeout 2.2.0 

Metadata

Metadata

Assignees

Labels

topic: reportingrelated to terminal output and user-facing messages and errorstype: bugproblem that needs to be addressed

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions