summaryrefslogtreecommitdiff
path: root/dev-python/pexpect/files
diff options
context:
space:
mode:
authorroot <root@alpha.trunkmasters.com>2026-06-12 19:09:37 -0500
committerroot <root@alpha.trunkmasters.com>2026-06-12 19:09:37 -0500
commitb590c8d7572b727d565cc0b8ff660d43569845de (patch)
tree06f7a4102ea4e845df8b66660f252920d52952f9 /dev-python/pexpect/files
parent24f9cbfc4c34fdb6a6e03311674414e881ceab47 (diff)
downloadbaldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.tar.gz
baldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.tar.xz
baldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.zip
Adding metadata
Diffstat (limited to 'dev-python/pexpect/files')
-rw-r--r--dev-python/pexpect/files/pexpect-4.9.0-py313.patch37
-rw-r--r--dev-python/pexpect/files/pexpect-4.9.0-py314.patch107
2 files changed, 144 insertions, 0 deletions
diff --git a/dev-python/pexpect/files/pexpect-4.9.0-py313.patch b/dev-python/pexpect/files/pexpect-4.9.0-py313.patch
new file mode 100644
index 000000000000..838cfdd22d86
--- /dev/null
+++ b/dev-python/pexpect/files/pexpect-4.9.0-py313.patch
@@ -0,0 +1,37 @@
+From 95d09c54d2502d8d48f2da591089ceb6d09df056 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= <miro@hroncok.cz>
+Date: Wed, 29 May 2024 12:21:52 +0200
+Subject: [PATCH] Force NO_COLOR=1 to fix test failures with Python 3.13+ REPL
+
+Python 3.13+ has colors now. Always setting this variable should be safe.
+---
+ pexpect/replwrap.py | 2 +-
+ tests/test_replwrap.py | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/pexpect/replwrap.py b/pexpect/replwrap.py
+index 08dbd5e8..c8714a23 100644
+--- a/pexpect/replwrap.py
++++ b/pexpect/replwrap.py
+@@ -35,7 +35,7 @@ def __init__(self, cmd_or_spawn, orig_prompt, prompt_change,
+ continuation_prompt=PEXPECT_CONTINUATION_PROMPT,
+ extra_init_cmd=None):
+ if isinstance(cmd_or_spawn, basestring):
+- self.child = pexpect.spawn(cmd_or_spawn, echo=False, encoding='utf-8')
++ self.child = pexpect.spawn(cmd_or_spawn, echo=False, encoding='utf-8', env={'NO_COLOR': '1'})
+ else:
+ self.child = cmd_or_spawn
+ if self.child.echo:
+diff --git a/tests/test_replwrap.py b/tests/test_replwrap.py
+index ddafa5d6..5ac782a4 100644
+--- a/tests/test_replwrap.py
++++ b/tests/test_replwrap.py
+@@ -124,7 +124,7 @@ def test_no_change_prompt(self):
+ if platform.python_implementation() == 'PyPy':
+ raise unittest.SkipTest(skip_pypy)
+
+- child = pexpect.spawn(sys.executable, echo=False, timeout=5, encoding='utf-8')
++ child = pexpect.spawn(sys.executable, echo=False, timeout=5, encoding='utf-8', env={'NO_COLOR': '1'})
+ # prompt_change=None should mean no prompt change
+ py = replwrap.REPLWrapper(child, u">>> ", prompt_change=None,
+ continuation_prompt=u"... ")
diff --git a/dev-python/pexpect/files/pexpect-4.9.0-py314.patch b/dev-python/pexpect/files/pexpect-4.9.0-py314.patch
new file mode 100644
index 000000000000..a7d1f8f83593
--- /dev/null
+++ b/dev-python/pexpect/files/pexpect-4.9.0-py314.patch
@@ -0,0 +1,107 @@
+https://github.com/pexpect/pexpect/commit/456bc10d94b57e254568e7ea9a8b3cffb856ebff
+
+From 456bc10d94b57e254568e7ea9a8b3cffb856ebff Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= <miro@hroncok.cz>
+Date: Fri, 22 Nov 2024 16:41:55 +0100
+Subject: [PATCH] Tests: Avoid the multiprocessing forkserver method
+
+Fixes https://github.com/pexpect/pexpect/issues/807
+---
+ tests/test_expect.py | 12 ++++++++++--
+ tests/test_socket.py | 24 ++++++++++++++++--------
+ 2 files changed, 26 insertions(+), 10 deletions(-)
+
+diff --git a/tests/test_expect.py b/tests/test_expect.py
+index c16e0551..fb1e30e2 100755
+--- a/tests/test_expect.py
++++ b/tests/test_expect.py
+@@ -33,6 +33,14 @@
+
+ PY3 = bool(sys.version_info.major >= 3)
+
++# Python 3.14 changed the non-macOS POSIX default to forkserver
++# but the code in this module does not work with it
++# See https://github.com/python/cpython/issues/125714
++if multiprocessing.get_start_method() == 'forkserver':
++ mp_context = multiprocessing.get_context(method='fork')
++else:
++ mp_context = multiprocessing.get_context()
++
+ # Many of these test cases blindly assume that sequential directory
+ # listings of the /bin directory will yield the same results.
+ # This may not be true, but seems adequate for testing now.
+@@ -682,7 +690,7 @@ def test_stdin_closed(self):
+ '''
+ Ensure pexpect continues to operate even when stdin is closed
+ '''
+- class Closed_stdin_proc(multiprocessing.Process):
++ class Closed_stdin_proc(mp_context.Process):
+ def run(self):
+ sys.__stdin__.close()
+ cat = pexpect.spawn('cat')
+@@ -698,7 +706,7 @@ def test_stdin_stdout_closed(self):
+ '''
+ Ensure pexpect continues to operate even when stdin and stdout is closed
+ '''
+- class Closed_stdin_stdout_proc(multiprocessing.Process):
++ class Closed_stdin_stdout_proc(mp_context.Process):
+ def run(self):
+ sys.__stdin__.close()
+ sys.__stdout__.close()
+diff --git a/tests/test_socket.py b/tests/test_socket.py
+index b801b00a..6521d368 100644
+--- a/tests/test_socket.py
++++ b/tests/test_socket.py
+@@ -29,6 +29,14 @@
+ import time
+ import errno
+
++# Python 3.14 changed the non-macOS POSIX default to forkserver
++# but the code in this module does not work with it
++# See https://github.com/python/cpython/issues/125714
++if multiprocessing.get_start_method() == 'forkserver':
++ mp_context = multiprocessing.get_context(method='fork')
++else:
++ mp_context = multiprocessing.get_context()
++
+
+ class SocketServerError(Exception):
+ pass
+@@ -83,8 +91,8 @@ def setUp(self):
+ self.prompt3 = b'Press X to exit:'
+ self.enter = b'\r\n'
+ self.exit = b'X\r\n'
+- self.server_up = multiprocessing.Event()
+- self.server_process = multiprocessing.Process(target=self.socket_server, args=(self.server_up,))
++ self.server_up = mp_context.Event()
++ self.server_process = mp_context.Process(target=self.socket_server, args=(self.server_up,))
+ self.server_process.daemon = True
+ self.server_process.start()
+ counter = 0
+@@ -189,9 +197,9 @@ def test_timeout(self):
+ session.expect(b'Bogus response')
+
+ def test_interrupt(self):
+- timed_out = multiprocessing.Event()
+- all_read = multiprocessing.Event()
+- test_proc = multiprocessing.Process(target=self.socket_fn, args=(timed_out, all_read))
++ timed_out = mp_context.Event()
++ all_read = mp_context.Event()
++ test_proc = mp_context.Process(target=self.socket_fn, args=(timed_out, all_read))
+ test_proc.daemon = True
+ test_proc.start()
+ while not all_read.is_set():
+@@ -203,9 +211,9 @@ def test_interrupt(self):
+ self.assertEqual(test_proc.exitcode, errno.ETIMEDOUT)
+
+ def test_multiple_interrupts(self):
+- timed_out = multiprocessing.Event()
+- all_read = multiprocessing.Event()
+- test_proc = multiprocessing.Process(target=self.socket_fn, args=(timed_out, all_read))
++ timed_out = mp_context.Event()
++ all_read = mp_context.Event()
++ test_proc = mp_context.Process(target=self.socket_fn, args=(timed_out, all_read))
+ test_proc.daemon = True
+ test_proc.start()
+ while not all_read.is_set():
+