Commit Graph

45 Commits

Author SHA1 Message Date
Sam Gross 0c080d7c77
gh-123321: Make Parser/myreadline.c locking safe in free-threaded build (#123690)
Use a `PyMutex` to avoid the race in mutex initialization. Use relaxed
atomics to avoid the data race on reading `_PyOS_ReadlineTState` when
checking for re-entrant calls.
2024-09-06 15:07:08 -04:00
Bar Harel a4562fedad
gh-123321: Fix Parser/myreadline.c to prevent a segfault during a multi-threaded race (#123323) 2024-09-04 17:21:30 +02:00
Petr Viktorin 263c7e611b
gh-121160: Add some tests for readline.set_history_length (GH-121326) 2024-07-16 16:09:08 +02:00
Tian Gao c2982380f8
gh-112510: Add `readline.backend` for the backend readline uses (GH-112511)
Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
Co-authored-by: Donghee Na <donghee.na92@gmail.com>
2023-12-01 14:05:55 +00:00
Tian Gao 2df26d8348
gh-112105: Make completer delims work on libedit (gh-112106) 2023-11-28 06:23:23 +00:00
Tian Gao 1c7ed7e9eb
gh-110944: Move pty helper to test.support and add basic pdb completion test (GH-111826) 2023-11-13 11:23:06 +01:00
Victor Stinner 797c8eb9ef
bpo-45195: Fix test_readline.test_nonascii() (GH-28329)
Fix test_readline.test_nonascii(): sometimes, the newline character
is not written at the end, so don't expect it in the output.
2021-09-14 17:38:04 +02:00
Victor Stinner 6fb62b42f4
bpo-44949: Fix test_readline auto history tests (#27813) 2021-08-18 19:38:54 +02:00
Gregory P. Smith fd053fdd39
bpo-43172: readline now passes its tests when built against libedit (GH-24499)
bpo-43172: readline now passes its tests when built against libedit.

Existing irreconcilable API differences remain in readline.get_begidx
and readline.get_endidx behavior based on libreadline vs libedit use.
A note about that has been documented.
2021-02-12 12:04:46 -08:00
Hai Shi 847f94f47b
bpo-40275: Use new test.support helper submodules in tests (GH-21151)
Use new test.support helper submodules in tests:

* distutils tests
* test_buffer
* test_compile
* test_filecmp
* test_fileinput
* test_readline
* test_smtpnet
* test_structmembers
* test_tools
2020-06-25 19:17:57 +02:00
Victor Stinner c495e799ed
Skip test_readline.test_nonascii() on C locale (#5203)
bpo-29240: On FreeBSD, if the LC_CTYPE locale is "C" or "POSIX",
writing and reading non-ASCII bytes into/from a TTY works,
but readline or ncurses ignores non-ASCII bytes on read.
2018-01-16 17:34:34 +01:00
Victor Stinner 2cba6b8579
bpo-29240: readline now ignores the UTF-8 Mode (#5145)
Add new fuctions ignoring the UTF-8 mode:

* _Py_DecodeCurrentLocale()
* _Py_EncodeCurrentLocale()
* _PyUnicode_DecodeCurrentLocaleAndSize()
* _PyUnicode_EncodeCurrentLocale()

Modify the readline module to use these functions.

Re-enable test_readline.test_nonascii().
2018-01-10 22:46:15 +01:00
Victor Stinner 424315fa86
bpo-29240: Skip test_readline.test_nonascii() (#4968)
Skip the test which fails on FreeBSD with POSIX locale.

Skip the test to fix FreeBSD buildbots, until a fix can be found, so
the buildbots can catch other regressions.
2017-12-22 00:09:26 +01:00
Nir Soffer aa6a4d6ed8 bpo-29854: Skip history-size test on older readline (GH-2621)
Turns out that history-size was added in readline 6.0. This explain why
this tests fail on FreeBSD when using readline 5.2. We skip now the
history size if readline does not support it.

See https://cnswww.cns.cwru.edu/php/chet/readline/CHANGES for
details.
2017-07-08 17:34:27 +03:00
Victor Stinner 1881befb90 bpo-29854: test_readline logs versions (#2619)
* test_readline logs the versions of libreadline when run in verbose
  mode
* Add also readline._READLINE_LIBRARY_VERSION
2017-07-07 16:06:58 +02:00
Nir Soffer fae8f4a9cb bpo-29854: Fix segfault in call_readline() (GH-728)
If history-length is set in .inputrc, and the history file is double the
history size (or more), history_get(N) returns NULL, and python
segfaults. Fix that by checking for NULL return value.

It seems that the root cause is incorrect handling of bigger history in
readline, but Python should not segfault even if readline returns
unexpected value.

This issue affects only GNU readline. When using libedit emulation
system history size option does not work.
2017-07-07 09:10:46 +03:00
Martin Panter aac9b71632 Issue #19884: Merge Readline updates from 3.5 2016-08-27 04:03:26 +00:00
Martin Panter c427b8d517 Issue #19884: Avoid spurious output on OS X with Gnu Readline
Also adjust the test condition, because enable-meta-key was only added in
6.1, not 6.0.
2016-08-27 03:23:11 +00:00
Martin Panter 34f12d7315 Issue #16182: Merge test_readline from 3.5 2016-06-14 11:31:39 +00:00
Martin Panter a8cadb2243 Issue #16182: One more check for set_pre_input_hook() 2016-06-14 11:29:31 +00:00
Martin Panter 6d1d2f229e Issue #16182: Merge readline update from 3.5 2016-06-14 08:49:51 +00:00
Martin Panter 6afbc653a7 Issue #16182: set_pre_input_hook() may not exist; document, and update test 2016-06-14 08:45:43 +00:00
Martin Panter 8e4b7ac7fe Issue #16182: Merge test_readline from 3.5 2016-06-14 05:46:17 +00:00
Martin Panter 056f76d978 Issue #16182: Attempted workarounds for Apple Editline 2016-06-14 05:45:31 +00:00
Martin Panter 4074f93b33 Issue #16182: Merge readline locale fix from 3.5 2016-06-14 02:47:56 +00:00
Martin Panter f00c49df10 Issue #16182: Fix readline begidx, endidx, and use locale encoding
Based on patch by Serhiy Storchaka.
2016-06-14 01:16:16 +00:00
Martin Panter 79f561d126 Issue #26870: Poll() also fails on OS X; try select()
Also work around separate Open BSD bug with kill() of a zombie.
2016-05-15 15:04:58 +00:00
Martin Panter 2e1d8683c1 Issue #26870: Avoid using kqueue() with pseudo-terminals
Also force terminate the child process in case it hangs for any reason.
2016-05-15 13:21:25 +00:00
Martin Panter 3e2a0715d7 Issue #26870: Temporary debugging for OS X Snow Leopard lockup 2016-05-15 03:59:59 +00:00
Martin Panter 3712686956 Issue #26870: Close pty master in case of exception 2016-05-15 03:05:36 +00:00
Martin Panter f0dbf7a6ab Issue #26870: Add readline.set_auto_history(), originally by Tyler Crompton 2016-05-15 01:26:25 +00:00
Berker Peksag ce643913a9 Issue #9517: Move script_helper to the support package.
Patch by Christie Wilson.
2015-05-06 06:33:17 +03:00
Zachary Ware 38c707e7e0 Issue #21741: Update 147 test modules to use test discovery.
I have compared output between pre- and post-patch runs of these tests
to make sure there's nothing missing and nothing broken, on both
Windows and Linux.  The only differences I found were actually tests
that were previously *not* run.
2015-04-13 15:00:43 -05:00
Ned Deily 8007cbc4d5 Issue 22940: fixes to editline support 2014-11-26 13:02:33 -08:00
Benjamin Peterson 12abc86903 merge 3.4 2014-11-26 14:36:08 -06:00
Benjamin Peterson 5b5350787f use skipUnless 2014-11-26 14:35:56 -06:00
Benjamin Peterson d1e22ba7db only support append_history if readline has it 2014-11-26 14:35:12 -06:00
Benjamin Peterson 33f8f15bdd add readline.append_history_file (closes #22940)
patch by "bru"
2014-11-26 13:58:16 -06:00
Antoine Pitrou 7e8b8678f1 Issue #22773: fix failing test with old readline versions due to issue #19884. 2014-11-04 14:52:10 +01:00
Victor Stinner a3c80ce8b7 Issue #19884: readline: Disable the meta modifier key if stdout is not a
terminal to not write the ANSI sequence "\033[1034h" into stdout. This sequence
is used on some terminal (ex: TERM=xterm-256color") to enable support of 8 bit
characters.
2014-07-24 12:23:56 +02:00
Georg Brandl 7b250a5cff Revert 961a15aff2a6, this is already checked in another way. 2012-08-11 11:02:14 +02:00
Georg Brandl 22bfa37ed0 Closes #15620: check for presence of readline.clear_history(), which is apparently missing on some readline versions, before calling it in the test. 2012-08-11 10:59:23 +02:00
R David Murray f8b9dfd9a1 #11496: skip history test if clear_history is not available.
Patch by Natalia B. Bidart.
2011-03-14 17:10:22 -04:00
Mark Dickinson 2d7062e1b4 Merged revisions 75711 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r75711 | mark.dickinson | 2009-10-26 11:59:30 +0000 (Mon, 26 Oct 2009) | 1 line

  Skip readline tests if readline module is not available.
........
2009-10-26 12:01:06 +00:00
Ronald Oussoren 2efd924754 Merged revisions 74970 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r74970 | ronald.oussoren | 2009-09-20 16:18:15 +0200 (Sun, 20 Sep 2009) | 7 lines

  Issue 6877: this patch makes it possible to link the readline extension
  to the libedit emulation of the readline API on OSX 10.5 or later.

  This also adds a minimal testsuite for readline to check that the
  history manipuation functions have the same interface with both
  C libraries.
........
2009-09-20 14:53:22 +00:00