tmux-python / tmux-python/libtmux

Intermittent errors with tests on x86_64 / amd64

Open
#480 7 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
1.2k
Forks
127
Avg merge
2h 13m
Merged PRs (30d)
1

Description

When packaging this for openSUSE Tumbleweed, we get intermittent build errors due to failing tests.

Today this one errored out:

[  126s] =================================== FAILURES ===================================
[  126s] ___________________________ test_capture_pane_start ____________________________
[  126s] 
[  126s] session = Session($1 libtmux_udfg_nz8)
[  126s] 
[  126s]     def test_capture_pane_start(session: Session) -> None:
[  126s]         env = shutil.which("env")
[  126s]         assert env is not None, "Cannot find usable `env` in PATH."
[  126s]     
[  126s]         session.new_window(
[  126s]             attach=True,
[  126s]             window_name="capture_pane_start",
[  126s]             window_shell=f"{env} PS1='$ ' sh",
[  126s]         )
[  126s]         pane = session.attached_window.attached_pane
[  126s]         assert pane is not None
[  126s]         pane_contents = "\n".join(pane.capture_pane())
[  126s]         assert pane_contents == "$"
[  126s]         pane.send_keys(r'printf "%s"', literal=True, suppress_history=False)
[  126s]         pane_contents = "\n".join(pane.capture_pane())
[  126s]         assert pane_contents == '$ printf "%s"\n$'
[  126s]         pane.send_keys("clear -x", literal=True, suppress_history=False)
[  126s]         pane_contents = "\n".join(pane.capture_pane())
[  126s] >       assert pane_contents == "$"
[  126s] E       assert '$ printf "%s"\n$ clear -x' == '$'
[  126s] E         - $
[  126s] E         + $ printf "%s"
[  126s] E         + $ clear -x
[  126s] 
[  126s] tests/test_pane.py:113: AssertionError
[  126s] =============================== warnings summary ===============================
[...]

tmux version was tmux-3.3a-2.2.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with tests/test_pane.py:113 and reproduce the failure in the openSUSE Tumbleweed x86_64 environment using tmux-3.3a-2.2. Compare the captured pane output around test_capture_pane_start and establish a reliable test result for the intermittent behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
cli, testing
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.