[New-bugs-announce] [issue43172] Fix test_readline when compiled using --with-readline=edit

Gregory P. Smith report at bugs.python.org
Mon Feb 8 20:40:34 EST 2021


New submission from Gregory P. Smith <greg at krypto.org>:

https://bugs.python.org/issue13501 added configure --with-readline=edit support so that the readline module can build and link against libedit on any platform instead of only using libreadline.

Building Python that way on Debian Linux and running test_readline results in a variety of test failure for me:

```
== CPython 3.10.0a5+ (heads/master-dirty:e1f7769513, Feb 9 2021, 01:20:59) [GCC 10.2.1 20210110]
== cwd: /home/gps/oss/cpython/b/build/test_python_1681021æ
== CPU count: 16
== encodings: locale=UTF-8, FS=utf-8
0:00:00 load avg: 0.47 Run tests sequentially
0:00:00 load avg: 0.47 [1/1] test_readline
readline version: 0x402
readline runtime version: 0x402
readline library version: 'EditLine wrapper'
use libedit emulation? True
testHistoryUpdates (test.test_readline.TestHistoryManipulation) ... ERROR
test_nonascii_history (test.test_readline.TestHistoryManipulation) ... FAIL
test_write_read_append (test.test_readline.TestHistoryManipulation) ... FAIL
test_auto_history_disabled (test.test_readline.TestReadline) ... ok
test_auto_history_enabled (test.test_readline.TestReadline) ... ok
test_history_size (test.test_readline.TestReadline) ... skipped 'this readline version does not support history-size'
test_init (test.test_readline.TestReadline) ... ok
test_nonascii (test.test_readline.TestReadline) ... FAIL

======================================================================
ERROR: testHistoryUpdates (test.test_readline.TestHistoryManipulation)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/gps/oss/cpython/gpshead/Lib/test/test_readline.py", line 59, in testHistoryUpdates
    readline.replace_history_item(0, "replaced line")
ValueError: No history item at position 0

======================================================================
FAIL: test_nonascii_history (test.test_readline.TestHistoryManipulation)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/gps/oss/cpython/gpshead/Lib/test/test_readline.py", line 127, in test_nonascii_history
    self.assertEqual(readline.get_history_item(1), "entrée 1")
AssertionError: 'entrée 22' != 'entrée 1'
- entrée 22
?        ^^
+ entrée 1
?        ^


======================================================================
FAIL: test_write_read_append (test.test_readline.TestHistoryManipulation)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/gps/oss/cpython/gpshead/Lib/test/test_readline.py", line 98, in test_write_read_append
    self.assertEqual(readline.get_current_history_length(), 3)
AssertionError: 4 != 3

======================================================================
FAIL: test_nonascii (test.test_readline.TestReadline)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/gps/oss/cpython/gpshead/Lib/test/test_readline.py", line 231, in test_nonascii
    self.assertIn(b"indexes 11 13\r\n", output)
AssertionError: b'indexes 11 13\r\n' not found in bytearray(b"^A^B^B^B^B^B^B^B\t\tx\t\r\n[\xc3\xafnserted]|t\xc3\xab[after]\x08\x08\x08\x08\x08\x08\x08text \'t\\xeb\'\r\nline \'[\\xefnserted]|t\\xeb[after]\'\r\nindexes 10 12\r\n\x07\r\x1b[14Gtext \'t\\xeb\'\r\nline \'[\\xefnserted]|t\\xeb[after]\'\r\nindexes 10 12\r\n\r\nt\xc3\xabnt t\xc3\xabxt\r\n\r\x1b[K[\xc3\xafnserted]|t\xc3\xab[after]\x1b[14G\r\x1b[14G\x1b[1 at x[\x08\x07\r\x1b[15G\x1b[1 at t[\x08\r\nresult \'[\\xefnserted]|t\\xebxt[after]\'\r\nhistory \'[\\xefnserted]|t\\xebxt[after]\'\r\n")

----------------------------------------------------------------------

Ran 8 tests in 0.123s

FAILED (failures=3, errors=1, skipped=1)
```

I suspect these are just behavior differences in the library and some tests need to be skipped or test alternate behavior in this situation?

----------
assignee: gregory.p.smith
components: Library (Lib), Tests
messages: 386681
nosy: gregory.p.smith
priority: normal
severity: normal
stage: needs patch
status: open
title: Fix test_readline when compiled using --with-readline=edit
type: behavior
versions: Python 3.10

_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue43172>
_______________________________________


More information about the New-bugs-announce mailing list