Marcel Telka
2023-11-26 7c072a2385fbf0968ca32ea3be1f43c928c3b37e
python/pexpect: update to 4.9

3 files deleted
1 files added
9 files modified
205 ■■■■■ changed files
components/python/pexpect/Makefile 6 ●●●● patch | view | raw | blame | history
components/python/pexpect/history 4 ●●●● patch | view | raw | blame | history
components/python/pexpect/manifests/sample-manifest.p5m 13 ●●●●● patch | view | raw | blame | history
components/python/pexpect/patches/01-test-gnu-nl.patch 13 ●●●●● patch | view | raw | blame | history
components/python/pexpect/patches/01-test-nl.patch 13 ●●●●● patch | view | raw | blame | history
components/python/pexpect/patches/02-test-cat-hang.patch 22 ●●●●● patch | view | raw | blame | history
components/python/pexpect/patches/03-test-test_large_stdout_stream.patch 4 ●●●● patch | view | raw | blame | history
components/python/pexpect/patches/04-test-skip-failing-bash.patch 14 ●●●● patch | view | raw | blame | history
components/python/pexpect/patches/05-test-skip-failing-tcgetattr.patch 6 ●●●● patch | view | raw | blame | history
components/python/pexpect/patches/06-pytest-capturelog.patch 9 ●●●●● patch | view | raw | blame | history
components/python/pexpect/pexpect-PYVER.p5m 13 ●●●●● patch | view | raw | blame | history
components/python/pexpect/python-integrate-project.conf 6 ●●●● patch | view | raw | blame | history
components/python/pexpect/test/results-all.master 82 ●●●●● patch | view | raw | blame | history
components/python/pexpect/Makefile
@@ -19,14 +19,13 @@
include ../../../make-rules/shared-macros.mk
COMPONENT_NAME =        pexpect
HUMAN_VERSION =            4.8.0
COMPONENT_REVISION =        2
HUMAN_VERSION =            4.9
COMPONENT_SUMMARY =        pexpect - Pexpect allows easy control of interactive console applications.
COMPONENT_PROJECT_URL =        https://pexpect.readthedocs.io/
COMPONENT_ARCHIVE_URL =        \
    https://github.com/pexpect/pexpect/archive/refs/tags/$(HUMAN_VERSION).tar.gz
COMPONENT_ARCHIVE_HASH =    \
    sha256:f2ea54a12cc893636a60421e8da0a36c40caad7825eb674697f1e25f5f91245e
    sha256:13756b834dba0adf7603be77d943cc427011983ecd7c58b59b9bf122a1063e40
COMPONENT_LICENSE =        ISC
COMPONENT_LICENSE_FILE =    LICENSE
@@ -43,5 +42,6 @@
PYTHON_REQUIRED_PACKAGES += runtime/python
TEST_REQUIRED_PACKAGES.python += library/python/coverage
TEST_REQUIRED_PACKAGES.python += library/python/coveralls
TEST_REQUIRED_PACKAGES.python += library/python/ptyprocess
TEST_REQUIRED_PACKAGES.python += library/python/pytest
TEST_REQUIRED_PACKAGES.python += library/python/pytest-cov
components/python/pexpect/history
@@ -1,4 +1,4 @@
library/python/pexpect-27@4.6.0,5.11-2020.0.1.4
library/python/pexpect-34@4.6.0,5.11-2020.0.1.1
library/python/pexpect-35@4.8.0,5.11-2020.0.1.1 noincorporate
library/python/pexpect-37@4.8.0,5.11-2023.0.0.2 noincorporate
library/python/pexpect-35@4.8.0,5.11-2020.0.1.2
library/python/pexpect-37@4.8.0,5.11-2023.0.0.3
components/python/pexpect/manifests/sample-manifest.p5m
@@ -23,15 +23,17 @@
license $(COMPONENT_LICENSE_FILE) license='$(COMPONENT_LICENSE)'
file path=usr/lib/python$(PYVER)/vendor-packages/pexpect-$(HUMAN_VERSION)-py$(PYVER).egg-info/PKG-INFO
file path=usr/lib/python$(PYVER)/vendor-packages/pexpect-$(HUMAN_VERSION)-py$(PYVER).egg-info/SOURCES.txt
file path=usr/lib/python$(PYVER)/vendor-packages/pexpect-$(HUMAN_VERSION)-py$(PYVER).egg-info/dependency_links.txt
file path=usr/lib/python$(PYVER)/vendor-packages/pexpect-$(HUMAN_VERSION)-py$(PYVER).egg-info/requires.txt
file path=usr/lib/python$(PYVER)/vendor-packages/pexpect-$(HUMAN_VERSION)-py$(PYVER).egg-info/top_level.txt
file path=usr/lib/python$(PYVER)/vendor-packages/pexpect-$(HUMAN_VERSION).0-py$(PYVER).egg-info/PKG-INFO
file path=usr/lib/python$(PYVER)/vendor-packages/pexpect-$(HUMAN_VERSION).0-py$(PYVER).egg-info/SOURCES.txt
file path=usr/lib/python$(PYVER)/vendor-packages/pexpect-$(HUMAN_VERSION).0-py$(PYVER).egg-info/dependency_links.txt
file path=usr/lib/python$(PYVER)/vendor-packages/pexpect-$(HUMAN_VERSION).0-py$(PYVER).egg-info/requires.txt
file path=usr/lib/python$(PYVER)/vendor-packages/pexpect-$(HUMAN_VERSION).0-py$(PYVER).egg-info/top_level.txt
file path=usr/lib/python$(PYVER)/vendor-packages/pexpect/ANSI.py
file path=usr/lib/python$(PYVER)/vendor-packages/pexpect/FSM.py
file path=usr/lib/python$(PYVER)/vendor-packages/pexpect/__init__.py
file path=usr/lib/python$(PYVER)/vendor-packages/pexpect/_async.py
file path=usr/lib/python$(PYVER)/vendor-packages/pexpect/_async_pre_await.py
file path=usr/lib/python$(PYVER)/vendor-packages/pexpect/_async_w_await.py
file path=usr/lib/python$(PYVER)/vendor-packages/pexpect/bashrc.sh
file path=usr/lib/python$(PYVER)/vendor-packages/pexpect/exceptions.py
file path=usr/lib/python$(PYVER)/vendor-packages/pexpect/expect.py
@@ -42,6 +44,7 @@
file path=usr/lib/python$(PYVER)/vendor-packages/pexpect/replwrap.py
file path=usr/lib/python$(PYVER)/vendor-packages/pexpect/run.py
file path=usr/lib/python$(PYVER)/vendor-packages/pexpect/screen.py
file path=usr/lib/python$(PYVER)/vendor-packages/pexpect/socket_pexpect.py
file path=usr/lib/python$(PYVER)/vendor-packages/pexpect/spawnbase.py
file path=usr/lib/python$(PYVER)/vendor-packages/pexpect/utils.py
components/python/pexpect/patches/01-test-gnu-nl.patch
File was deleted
components/python/pexpect/patches/01-test-nl.patch
New file
@@ -0,0 +1,13 @@
https://github.com/pexpect/pexpect/pull/778
--- pexpect-4.9/tests/test_expect.py.orig
+++ pexpect-4.9/tests/test_expect.py
@@ -485,7 +485,7 @@
     def test_before_across_chunks(self):
         # https://github.com/pexpect/pexpect/issues/478
         child = pexpect.spawn(
-            '''/bin/sh -c "openssl rand -base64 {} 2>/dev/null | head -500 | nl -n rz -w 5 2>&1 ; echo 'PATTERN!!!'"'''.format(1024 * 1024 * 2),
+            '''/bin/sh -c "openssl rand -base64 {} 2>/dev/null | head -500 | nl -nrz -w5 2>&1 ; echo 'PATTERN!!!'"'''.format(1024 * 1024 * 2),
             searchwindowsize=128
         )
         child.expect(['PATTERN'])
components/python/pexpect/patches/02-test-cat-hang.patch
File was deleted
components/python/pexpect/patches/03-test-test_large_stdout_stream.patch
@@ -1,7 +1,7 @@
https://github.com/pexpect/pexpect/issues/766
--- pexpect-4.8.0/tests/test_performance.py.orig
+++ pexpect-4.8.0/tests/test_performance.py
--- pexpect-4.9/tests/test_performance.py.orig
+++ pexpect-4.9/tests/test_performance.py
@@ -103,7 +103,7 @@
         print("100000 calls to faster_range:", (time.time() - start_time))
 
components/python/pexpect/patches/04-test-skip-failing-bash.patch
@@ -1,6 +1,6 @@
--- pexpect-4.8.0/tests/test_replwrap.py.orig
+++ pexpect-4.8.0/tests/test_replwrap.py
@@ -6,6 +6,8 @@
--- pexpect-4.9/tests/test_replwrap.py.orig
+++ pexpect-4.9/tests/test_replwrap.py
@@ -7,6 +7,8 @@
 import pexpect
 from pexpect import replwrap
 
@@ -9,17 +9,17 @@
 skip_pypy = "This test fails on PyPy because of REPL differences"
 
 
@@ -22,6 +24,7 @@
@@ -23,6 +25,7 @@
         os.putenv('PS1', self.save_ps1)
         os.putenv('PS2', self.save_ps2)
 
+    @pytest.mark.skip(reason="always fails: https://github.com/pexpect/pexpect/issues/568")
     def test_bash(self):
         bash = replwrap.bash()
         res = bash.run_command("alias")
@@ -40,6 +43,7 @@
         res = bash.run_command("alias xyzzy=true; alias")
@@ -41,6 +44,7 @@
         res = bash.run_command('man sleep', timeout=5)
         assert 'SLEEP' in res, res
         assert 'SLEEP' in res.upper(), res
 
+    @pytest.mark.skip(reason="always fails: https://github.com/pexpect/pexpect/issues/568")
     def test_bash_env(self):
components/python/pexpect/patches/05-test-skip-failing-tcgetattr.patch
@@ -1,6 +1,6 @@
--- pexpect-4.8.0/tests/test_replwrap.py.orig
+++ pexpect-4.8.0/tests/test_replwrap.py
@@ -88,6 +88,7 @@
--- pexpect-4.9/tests/test_replwrap.py.orig
+++ pexpect-4.9/tests/test_replwrap.py
@@ -90,6 +90,7 @@
         res = bash.run_command("echo '1 2\n3 4'")
         self.assertEqual(res.strip().splitlines(), ['1 2', '3 4'])
 
components/python/pexpect/patches/06-pytest-capturelog.patch
File was deleted
components/python/pexpect/pexpect-PYVER.p5m
@@ -23,15 +23,17 @@
license $(COMPONENT_LICENSE_FILE) license='$(COMPONENT_LICENSE)'
file path=usr/lib/python$(PYVER)/vendor-packages/pexpect-$(HUMAN_VERSION)-py$(PYVER).egg-info/PKG-INFO
file path=usr/lib/python$(PYVER)/vendor-packages/pexpect-$(HUMAN_VERSION)-py$(PYVER).egg-info/SOURCES.txt
file path=usr/lib/python$(PYVER)/vendor-packages/pexpect-$(HUMAN_VERSION)-py$(PYVER).egg-info/dependency_links.txt
file path=usr/lib/python$(PYVER)/vendor-packages/pexpect-$(HUMAN_VERSION)-py$(PYVER).egg-info/requires.txt
file path=usr/lib/python$(PYVER)/vendor-packages/pexpect-$(HUMAN_VERSION)-py$(PYVER).egg-info/top_level.txt
file path=usr/lib/python$(PYVER)/vendor-packages/pexpect-$(HUMAN_VERSION).0-py$(PYVER).egg-info/PKG-INFO
file path=usr/lib/python$(PYVER)/vendor-packages/pexpect-$(HUMAN_VERSION).0-py$(PYVER).egg-info/SOURCES.txt
file path=usr/lib/python$(PYVER)/vendor-packages/pexpect-$(HUMAN_VERSION).0-py$(PYVER).egg-info/dependency_links.txt
file path=usr/lib/python$(PYVER)/vendor-packages/pexpect-$(HUMAN_VERSION).0-py$(PYVER).egg-info/requires.txt
file path=usr/lib/python$(PYVER)/vendor-packages/pexpect-$(HUMAN_VERSION).0-py$(PYVER).egg-info/top_level.txt
file path=usr/lib/python$(PYVER)/vendor-packages/pexpect/ANSI.py
file path=usr/lib/python$(PYVER)/vendor-packages/pexpect/FSM.py
file path=usr/lib/python$(PYVER)/vendor-packages/pexpect/__init__.py
file path=usr/lib/python$(PYVER)/vendor-packages/pexpect/_async.py
file path=usr/lib/python$(PYVER)/vendor-packages/pexpect/_async_pre_await.py
file path=usr/lib/python$(PYVER)/vendor-packages/pexpect/_async_w_await.py
file path=usr/lib/python$(PYVER)/vendor-packages/pexpect/bashrc.sh
file path=usr/lib/python$(PYVER)/vendor-packages/pexpect/exceptions.py
file path=usr/lib/python$(PYVER)/vendor-packages/pexpect/expect.py
@@ -42,6 +44,7 @@
file path=usr/lib/python$(PYVER)/vendor-packages/pexpect/replwrap.py
file path=usr/lib/python$(PYVER)/vendor-packages/pexpect/run.py
file path=usr/lib/python$(PYVER)/vendor-packages/pexpect/screen.py
file path=usr/lib/python$(PYVER)/vendor-packages/pexpect/socket_pexpect.py
file path=usr/lib/python$(PYVER)/vendor-packages/pexpect/spawnbase.py
file path=usr/lib/python$(PYVER)/vendor-packages/pexpect/utils.py
components/python/pexpect/python-integrate-project.conf
@@ -13,14 +13,14 @@
# Copyright 2023 Marcel Telka
#
%patch% 01-test-gnu-nl.patch
%patch% 02-test-cat-hang.patch
%patch% 01-test-nl.patch
%patch% 03-test-test_large_stdout_stream.patch
%patch% 04-test-skip-failing-bash.patch
%patch% 05-test-skip-failing-tcgetattr.patch
%patch% 06-pytest-capturelog.patch
%hook-begin%
# https://github.com/pexpect/pexpect/issues/781
VERSION=4.9
# https://github.com/pexpect/pexpect/issues/768
DOWNLOAD_URL='https://github.com/pexpect/pexpect/archive/refs/tags/$(HUMAN_VERSION).tar.gz'
components/python/pexpect/test/results-all.master
@@ -3,7 +3,7 @@
cachedir: .pytest_cache
rootdir: $(@D)
configfile: setup.cfg
collecting ... collected 234 items
collecting ... collected 257 items
tests/test_FSM.py::FSMTestCase::test_run_fsm PASSED
tests/test_ansi.py::ansiTestCase::test_decode_error PASSED
@@ -47,6 +47,9 @@
tests/test_expect.py::ExpectTestCase::test_before_after_exact PASSED
tests/test_expect.py::ExpectTestCase::test_before_after_timeout PASSED
tests/test_expect.py::ExpectTestCase::test_buffer_interface PASSED
tests/test_expect.py::ExpectTestCase::test_coerce_expect_re_enc_ascii PASSED
tests/test_expect.py::ExpectTestCase::test_coerce_expect_re_enc_none PASSED
tests/test_expect.py::ExpectTestCase::test_coerce_expect_re_enc_utf8 PASSED
tests/test_expect.py::ExpectTestCase::test_expect PASSED
tests/test_expect.py::ExpectTestCase::test_expect_basic PASSED
tests/test_expect.py::ExpectTestCase::test_expect_echo PASSED
@@ -60,6 +63,8 @@
tests/test_expect.py::ExpectTestCase::test_expect_index_exact PASSED
tests/test_expect.py::ExpectTestCase::test_expect_order PASSED
tests/test_expect.py::ExpectTestCase::test_expect_order_exact PASSED
tests/test_expect.py::ExpectTestCase::test_expect_regex_enc_none PASSED
tests/test_expect.py::ExpectTestCase::test_expect_regex_enc_utf8 PASSED
tests/test_expect.py::ExpectTestCase::test_expect_setecho_off SKIPPED
tests/test_expect.py::ExpectTestCase::test_expect_setecho_off_exact SKIPPED
tests/test_expect.py::ExpectTestCase::test_expect_timeout PASSED
@@ -149,6 +154,9 @@
tests/test_pxssh.py::PxsshTestCase::test_failed_custom_ssh_cmd_debug PASSED
tests/test_pxssh.py::PxsshTestCase::test_failed_set_unique_prompt PASSED
tests/test_pxssh.py::PxsshTestCase::test_fake_ssh PASSED
tests/test_pxssh.py::PxsshTestCase::test_login_bash PASSED
tests/test_pxssh.py::PxsshTestCase::test_login_tcsh PASSED
tests/test_pxssh.py::PxsshTestCase::test_login_zsh PASSED
tests/test_pxssh.py::PxsshTestCase::test_remote_ssh_tunnel_string PASSED
tests/test_pxssh.py::PxsshTestCase::test_ssh_config_empty_user PASSED
tests/test_pxssh.py::PxsshTestCase::test_ssh_config_no_user PASSED
@@ -169,6 +177,7 @@
tests/test_replwrap.py::REPLWrapTestCase::test_no_change_prompt PASSED
tests/test_replwrap.py::REPLWrapTestCase::test_pager_as_cat PASSED
tests/test_replwrap.py::REPLWrapTestCase::test_python PASSED
tests/test_replwrap.py::REPLWrapTestCase::test_zsh PASSED
tests/test_repr.py::TestCaseMisc::test_str_before_spawn PASSED
tests/test_repr.py::TestCaseMisc::test_str_spawn PASSED
tests/test_repr.py::TestCaseMisc::test_str_spawnu PASSED
@@ -204,15 +213,29 @@
tests/test_socket.py::ExpectTestCase::test_fd_isalive_poll PASSED
tests/test_socket.py::ExpectTestCase::test_fd_isatty PASSED
tests/test_socket.py::ExpectTestCase::test_fd_isatty_poll PASSED
tests/test_socket.py::ExpectTestCase::test_fileobj PASSED
tests/test_socket.py::ExpectTestCase::test_interrupt PASSED
tests/test_socket.py::ExpectTestCase::test_maxread PASSED
tests/test_socket.py::ExpectTestCase::test_multiple_interrupts PASSED
tests/test_socket.py::ExpectTestCase::test_not_file_descriptor PASSED
tests/test_socket.py::ExpectTestCase::test_not_int PASSED
tests/test_socket.py::ExpectTestCase::test_socket PASSED
tests/test_socket.py::ExpectTestCase::test_socket_with_write PASSED
tests/test_socket.py::ExpectTestCase::test_timeout PASSED
tests/test_socket_fd.py::ExpectTestCase::test_fd_isalive PASSED
tests/test_socket_fd.py::ExpectTestCase::test_fd_isalive_poll PASSED
tests/test_socket_fd.py::ExpectTestCase::test_fd_isatty PASSED
tests/test_socket_fd.py::ExpectTestCase::test_fd_isatty_poll PASSED
tests/test_socket_fd.py::ExpectTestCase::test_fileobj PASSED
tests/test_socket_fd.py::ExpectTestCase::test_interrupt PASSED
tests/test_socket_fd.py::ExpectTestCase::test_maxread PASSED
tests/test_socket_fd.py::ExpectTestCase::test_multiple_interrupts PASSED
tests/test_socket_fd.py::ExpectTestCase::test_not_file_descriptor PASSED
tests/test_socket_fd.py::ExpectTestCase::test_not_int PASSED
tests/test_socket_fd.py::ExpectTestCase::test_socket PASSED
tests/test_socket_fd.py::ExpectTestCase::test_socket_with_write PASSED
tests/test_socket_fd.py::ExpectTestCase::test_timeout PASSED
tests/test_socket_pexpect.py::ExpectTestCase::test_maxread PASSED
tests/test_socket_pexpect.py::ExpectTestCase::test_socket PASSED
tests/test_socket_pexpect.py::ExpectTestCase::test_socket_isalive PASSED
tests/test_socket_pexpect.py::ExpectTestCase::test_socket_isatty PASSED
tests/test_timeout_pattern.py::Exp_TimeoutTestCase::test_correctStackTrace PASSED
tests/test_timeout_pattern.py::Exp_TimeoutTestCase::test_exp_timeout_notThrown PASSED
tests/test_timeout_pattern.py::Exp_TimeoutTestCase::test_matches_exp_timeout PASSED
@@ -245,54 +268,5 @@
  $(@D)/pexpect/ANSI.py:29: UserWarning: pexpect.screen and pexpect.ANSI are deprecated. We recommend using pyte to emulate a terminal screen: https://pypi.python.org/pypi/pyte
    from . import screen
tests/test_async.py::AsyncTests::test_async_and_gc
  $(@D)/pexpect/_async.py:8: DeprecationWarning: "@coroutine" decorator is deprecated since Python 3.8, use "async def" instead
    def expect_async(expecter, timeout=None):
tests/test_async.py::AsyncTests::test_async_and_gc
  $(@D)/pexpect/_async.py:31: DeprecationWarning: "@coroutine" decorator is deprecated since Python 3.8, use "async def" instead
    def repl_run_command_async(repl, cmdlines, timeout=-1):
tests/test_expect.py::ExpectTestCase::test_bad_arg
  $(@D)/tests/test_expect.py:572: DeprecationWarning: Please use assertRaisesRegex instead.
    with self.assertRaisesRegexp(TypeError, '.*must be one of'):
tests/test_expect.py::ExpectTestCase::test_bad_arg
  $(@D)/tests/test_expect.py:574: DeprecationWarning: Please use assertRaisesRegex instead.
    with self.assertRaisesRegexp(TypeError, '.*must be one of'):
tests/test_expect.py::ExpectTestCase::test_bad_arg
  $(@D)/tests/test_expect.py:576: DeprecationWarning: Please use assertRaisesRegex instead.
    with self.assertRaisesRegexp(TypeError, '.*must be one of'):
tests/test_expect.py::ExpectTestCase::test_bad_arg
  $(@D)/tests/test_expect.py:578: DeprecationWarning: Please use assertRaisesRegex instead.
    with self.assertRaisesRegexp(TypeError, '.*must be one of'):
tests/test_misc.py::TestCaseMisc::test_bad_arguments_suggest_fdpsawn
  $(@D)/tests/test_misc.py:227: DeprecationWarning: Please use assertRaisesRegex instead.
    with self.assertRaisesRegexp(pexpect.ExceptionPexpect,
tests/test_misc.py::TestCaseMisc::test_bad_child_pid
  $(@D)/tests/test_misc.py:217: DeprecationWarning: Please use assertRaisesRegex instead.
    with self.assertRaisesRegexp(pexpect.ExceptionPexpect,
tests/test_popen_spawn.py::ExpectTestCase::test_bad_arg
  $(@D)/tests/test_popen_spawn.py:113: DeprecationWarning: Please use assertRaisesRegex instead.
    with self.assertRaisesRegexp(TypeError, '.*must be one of'):
tests/test_popen_spawn.py::ExpectTestCase::test_bad_arg
  $(@D)/tests/test_popen_spawn.py:115: DeprecationWarning: Please use assertRaisesRegex instead.
    with self.assertRaisesRegexp(TypeError, '.*must be one of'):
tests/test_popen_spawn.py::ExpectTestCase::test_bad_arg
  $(@D)/tests/test_popen_spawn.py:117: DeprecationWarning: Please use assertRaisesRegex instead.
    with self.assertRaisesRegexp(TypeError, '.*must be one of'):
tests/test_popen_spawn.py::ExpectTestCase::test_bad_arg
  $(@D)/tests/test_popen_spawn.py:119: DeprecationWarning: Please use assertRaisesRegex instead.
    with self.assertRaisesRegexp(TypeError, '.*must be one of'):
-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
======== 223 passed, 11 skipped, 13 warnings ========
======== 246 passed, 11 skipped, 1 warning ========