Bug 1914843 - python-pexpect is broken with Bash 5.1 and bracketed-paste mode (now the default), unexpected \x1b[?2004l\r376 in output
Summary: python-pexpect is broken with Bash 5.1 and bracketed-paste mode (now the defa...
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: python-pexpect
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Dan Radez
QA Contact: Fedora Extras Quality Assurance
URL: https://koschei.fedoraproject.org/pac...
Whiteboard:
Depends On:
Blocks: F34FTBFS PYTHON3.10 1892612 1914782
TreeView+ depends on / blocked
 
Reported: 2021-01-11 10:23 UTC by Tomáš Hrnčiar
Modified: 2021-02-02 18:09 UTC (History)
12 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2021-01-19 17:32:10 UTC
Type: Bug


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Github pexpect pexpect issues 669 0 None open Readline and bracketed-paste mode 2021-02-02 18:09:11 UTC

Description Tomáš Hrnčiar 2021-01-11 10:23:30 UTC
Description of problem:
Package python-pexpect fails to build from source in Fedora rawhide.

Version-Release number of selected component (if applicable):
4.8.0-5.fc34

Steps to Reproduce:
koji build --scratch f34 python-pexpect-4.8.0-5.fc34.src.rpm

Additional info:
This package is tracked by Koschei. See:
https://koschei.fedoraproject.org/package/python-pexpect

_________________________ REPLWrapTestCase.test_python _________________________

self = <tests.test_replwrap.REPLWrapTestCase testMethod=test_python>

    def test_python(self):
        if platform.python_implementation() == 'PyPy':
            raise unittest.SkipTest(skip_pypy)
    
        p = replwrap.python()
        res = p.run_command('4+7')
>       assert res.strip() == '11'
E       AssertionError: assert '\x1b[?2004l\...\n\x1b[?2004h' == '11'
E         - 11
E         + [?2004l
E         + 11
E         + [?2004h

/builddir/build/BUILD/pexpect-4.8.0/tests/test_replwrap.py:102: AssertionError

Comment 1 Miro Hrončok 2021-01-11 17:17:54 UTC
Details: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/O3YFTIUSSP2M6OIZYOXWX5GAVF6CZJN2/

Upstream issue: https://github.com/pexpect/pexpect/issues/669

(I could not add the link to the Bugzilla field, because there is some error in Jira synchronization.)

Comment 2 Victor Stinner 2021-01-19 11:38:06 UTC
FYI Python had a similar issue with readline which injected bytes like ".[?1034h": https://bugs.python.org/issue19884. The workaround was to set TERM=xterm-256color environment variable.

Comment 3 Dan Radez 2021-01-19 14:39:29 UTC
I tried running the checks after updating the test command to "TERM=xterm-256color TRAVIS=true py.test-3 --verbose"
Saw the env value set in the checks when I ran mock to build the package.

Same failure.


Thx for the suggestion Victor.

Comment 4 Dan Radez 2021-01-19 16:06:42 UTC
I added the temporary workaround:
echo "set enable-bracketed-paste off" > .inputrc
export INPUTRC=$PWD/.inputrc

and pushed it up so the tests would be passing again.

The build failed: https://koji.fedoraproject.org/koji/taskinfo?taskID=60043613
I tried to reproduce the failure in a scratch build and it succeeded: https://koji.fedoraproject.org/koji/taskinfo?taskID=60044790

The build failure was not the bracketed paste error at first glance.
I'll poke a bit more and see what I can figure out.


Note You need to log in before you can comment on or make changes to this bug.