pexpects: Fix spurious failure in generic.py

This used expect_re with a regex ending in `.*`, followed by an
`expect_prompt`.

This meant that, depending on the timing, the regex could swallow the
prompt marker, which caused extremely confusing output like

>Testing file pexpects/generic.py:Failed to match pattern: prompt 14
> ...
> OUTPUT      +1.33 ms (Line 70): \rprompt 13>functions\r\nN_, abbr,
> alias, bg, cd, [SNIP], up-or-search, vared, wait\r\n⏎
> \r⏎ \r\rprompt 14>

Yeah - it shows that "prompt 14" was in the output and it can't find
"prompt 14".

I could reproduce the failure locally when running the tests
repeatedly. I got one after 17 attempts and so far haven't been able
to reproduce it with this change applied.
This commit is contained in:
Fabian Boehm 2023-08-15 19:11:41 +02:00
parent c07136e8d3
commit 0874dd6a96

View file

@ -67,5 +67,5 @@ expect_prompt()
# See that `functions` terminates
sendline("functions")
expect_re(".*fish_prompt,.*")
expect_re(".*fish_prompt,")
expect_prompt()