>>> py3-pytest-xprocess: Building community/py3-pytest-xprocess 0.23.0-r1 (using abuild 3.15.0-r0) started Mon, 13 Oct 2025 02:42:49 +0000 >>> py3-pytest-xprocess: Validating /home/udu/aports/community/py3-pytest-xprocess/APKBUILD... >>> WARNING: py3-pytest-xprocess: No maintainer >>> py3-pytest-xprocess: Analyzing dependencies... >>> py3-pytest-xprocess: Installing for build: build-base python3 py3-psutil py3-pytest py3-py py3-gpep517 py3-setuptools_scm py3-wheel WARNING: opening /home/udu/packages//community: No such file or directory WARNING: opening /home/udu/packages//main: No such file or directory fetch http://dl-cdn.alpinelinux.org/alpine/v3.22/main/x86_64/APKINDEX.tar.gz fetch http://dl-cdn.alpinelinux.org/alpine/v3.22/community/x86_64/APKINDEX.tar.gz (1/25) Installing py3-psutil (7.0.0-r0) (2/25) Installing py3-psutil-pyc (7.0.0-r0) (3/25) Installing py3-iniconfig (2.1.0-r0) (4/25) Installing py3-iniconfig-pyc (2.1.0-r0) (5/25) Installing py3-parsing (3.2.3-r0) (6/25) Installing py3-parsing-pyc (3.2.3-r0) (7/25) Installing py3-packaging (25.0-r0) (8/25) Installing py3-packaging-pyc (25.0-r0) (9/25) Installing py3-pluggy (1.5.0-r0) (10/25) Installing py3-pluggy-pyc (1.5.0-r0) (11/25) Installing py3-py (1.11.0-r4) (12/25) Installing py3-py-pyc (1.11.0-r4) (13/25) Installing py3-pytest (8.3.5-r0) (14/25) Installing py3-pytest-pyc (8.3.5-r0) (15/25) Installing py3-installer (0.7.0-r2) (16/25) Installing py3-installer-pyc (0.7.0-r2) (17/25) Installing py3-gpep517 (19-r0) (18/25) Installing py3-gpep517-pyc (19-r0) (19/25) Installing py3-setuptools (80.9.0-r0) (20/25) Installing py3-setuptools-pyc (80.9.0-r0) (21/25) Installing py3-setuptools_scm (8.3.1-r0) (22/25) Installing py3-setuptools_scm-pyc (8.3.1-r0) (23/25) Installing py3-wheel (0.46.1-r0) (24/25) Installing py3-wheel-pyc (0.46.1-r0) (25/25) Installing .makedepends-py3-pytest-xprocess (20251013.024249) Executing busybox-1.37.0-r19.trigger OK: 311 MiB in 114 packages >>> py3-pytest-xprocess: Cleaning up srcdir >>> py3-pytest-xprocess: Cleaning up pkgdir >>> py3-pytest-xprocess: Cleaning up tmpdir >>> py3-pytest-xprocess: Fetching py3-pytest-xprocess-0.23.0.tar.gz::https://github.com/pytest-dev/pytest-xprocess/archive/refs/tags/0.23.0.tar.gz >>> py3-pytest-xprocess: Fetching py3-pytest-xprocess-0.23.0.tar.gz::https://github.com/pytest-dev/pytest-xprocess/archive/refs/tags/0.23.0.tar.gz >>> py3-pytest-xprocess: Checking sha512sums... py3-pytest-xprocess-0.23.0.tar.gz: OK >>> py3-pytest-xprocess: Unpacking /var/cache/distfiles/py3-pytest-xprocess-0.23.0.tar.gz... 2025-10-13 02:42:50,764 gpep517 INFO Building wheel via backend setuptools.build_meta:__legacy__ /usr/lib/python3.12/site-packages/setuptools/dist.py:759: SetuptoolsDeprecationWarning: License classifiers are deprecated. !! ******************************************************************************** Please consider removing the following classifiers in favor of a SPDX license expression: License :: OSI Approved :: MIT License See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! self._finalize_license_expression() 2025-10-13 02:42:50,781 root INFO running bdist_wheel 2025-10-13 02:42:50,790 root INFO running build 2025-10-13 02:42:50,790 root INFO running build_py 2025-10-13 02:42:50,792 root INFO creating build/lib/xprocess 2025-10-13 02:42:50,793 root INFO copying xprocess/pytest_xprocess.py -> build/lib/xprocess 2025-10-13 02:42:50,793 root INFO copying xprocess/xprocess.py -> build/lib/xprocess 2025-10-13 02:42:50,793 root INFO copying xprocess/__init__.py -> build/lib/xprocess 2025-10-13 02:42:50,796 root INFO installing to build/bdist.linux-x86_64/wheel 2025-10-13 02:42:50,797 root INFO running install 2025-10-13 02:42:50,801 root INFO running install_lib 2025-10-13 02:42:50,803 root INFO creating build/bdist.linux-x86_64/wheel 2025-10-13 02:42:50,803 root INFO creating build/bdist.linux-x86_64/wheel/xprocess 2025-10-13 02:42:50,803 root INFO copying build/lib/xprocess/pytest_xprocess.py -> build/bdist.linux-x86_64/wheel/./xprocess 2025-10-13 02:42:50,803 root INFO copying build/lib/xprocess/xprocess.py -> build/bdist.linux-x86_64/wheel/./xprocess 2025-10-13 02:42:50,804 root INFO copying build/lib/xprocess/__init__.py -> build/bdist.linux-x86_64/wheel/./xprocess 2025-10-13 02:42:50,804 root INFO running install_egg_info 2025-10-13 02:42:50,805 root INFO running egg_info 2025-10-13 02:42:50,807 root INFO creating pytest_xprocess.egg-info 2025-10-13 02:42:50,807 root INFO writing pytest_xprocess.egg-info/PKG-INFO 2025-10-13 02:42:50,807 root INFO writing dependency_links to pytest_xprocess.egg-info/dependency_links.txt 2025-10-13 02:42:50,807 root INFO writing entry points to pytest_xprocess.egg-info/entry_points.txt 2025-10-13 02:42:50,807 root INFO writing requirements to pytest_xprocess.egg-info/requires.txt 2025-10-13 02:42:50,807 root INFO writing top-level names to pytest_xprocess.egg-info/top_level.txt 2025-10-13 02:42:50,807 root INFO writing manifest file 'pytest_xprocess.egg-info/SOURCES.txt' ERROR setuptools_scm._file_finders.git listing git files failed - pretending there aren't any 2025-10-13 02:42:50,814 root INFO reading manifest file 'pytest_xprocess.egg-info/SOURCES.txt' 2025-10-13 02:42:50,814 root INFO reading manifest template 'MANIFEST.in' 2025-10-13 02:42:50,814 root WARNING warning: no files found matching 'CHANGELOG' 2025-10-13 02:42:50,814 root WARNING warning: no directories found matching 'example' 2025-10-13 02:42:50,814 root INFO adding license file 'LICENSE' 2025-10-13 02:42:50,815 root INFO writing manifest file 'pytest_xprocess.egg-info/SOURCES.txt' 2025-10-13 02:42:50,815 root INFO Copying pytest_xprocess.egg-info to build/bdist.linux-x86_64/wheel/./pytest_xprocess-0.23.0-py3.12.egg-info 2025-10-13 02:42:50,815 root INFO running install_scripts 2025-10-13 02:42:50,816 root INFO creating build/bdist.linux-x86_64/wheel/pytest_xprocess-0.23.0.dist-info/WHEEL 2025-10-13 02:42:50,816 wheel INFO creating '/home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/.dist/.tmp-96mjex0g/pytest_xprocess-0.23.0-py3-none-any.whl' and adding 'build/bdist.linux-x86_64/wheel' to it 2025-10-13 02:42:50,816 wheel INFO adding 'pytest_xprocess-0.23.0.dist-info/licenses/LICENSE' 2025-10-13 02:42:50,817 wheel INFO adding 'xprocess/__init__.py' 2025-10-13 02:42:50,817 wheel INFO adding 'xprocess/pytest_xprocess.py' 2025-10-13 02:42:50,817 wheel INFO adding 'xprocess/xprocess.py' 2025-10-13 02:42:50,817 wheel INFO adding 'pytest_xprocess-0.23.0.dist-info/METADATA' 2025-10-13 02:42:50,817 wheel INFO adding 'pytest_xprocess-0.23.0.dist-info/WHEEL' 2025-10-13 02:42:50,817 wheel INFO adding 'pytest_xprocess-0.23.0.dist-info/entry_points.txt' 2025-10-13 02:42:50,817 wheel INFO adding 'pytest_xprocess-0.23.0.dist-info/top_level.txt' 2025-10-13 02:42:50,817 wheel INFO adding 'pytest_xprocess-0.23.0.dist-info/RECORD' 2025-10-13 02:42:50,817 root INFO removing build/bdist.linux-x86_64/wheel 2025-10-13 02:42:50,817 gpep517 INFO The backend produced .dist/pytest_xprocess-0.23.0-py3-none-any.whl pytest_xprocess-0.23.0-py3-none-any.whl ============================= test session starts ============================== platform linux -- Python 3.12.11, pytest-8.3.5, pluggy-1.5.0 rootdir: /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0 configfile: tox.ini plugins: xprocess-0.23.0 collected 45 items tests/test_callback.py FFF... [ 13%] tests/test_functional_workflow.py F [ 15%] tests/test_interruption_clean_up.py .F [ 20%] tests/test_process_initialization.py FFFFFFFFF...FFF [ 53%] tests/test_process_termination.py FFF...FFFFFFFFF [ 86%] tests/test_resource_cleanup.py ... [ 93%] tests/test_startup_timeout.py ... [100%] =================================== FAILURES =================================== __________________________ test_callback_success[s1] ___________________________ xprocess = tcp_port = 38395, proc_name = 's1' @pytest.mark.parametrize("proc_name", ["s1", "s2", "s3"]) def test_callback_success(xprocess, tcp_port, proc_name): class Starter(ProcessStarter): pattern = "started" args = [sys.executable, server_path, tcp_port, "--no-children"] def startup_check(self): with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as sock: sock.connect(("localhost", tcp_port)) sock.sendall(bytes("bacon\n", "utf-8")) received = str(sock.recv(1024), "utf-8") return received == "bacon\n".upper() xprocess.ensure(proc_name, Starter) info = xprocess.getinfo(proc_name) > assert info.isrunning() E assert False E + where False = isrunning() E + where isrunning = .isrunning tests/test_callback.py:27: AssertionError ----------------------------- Captured stdout call ----------------------------- /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/.pytest_cache/d/.xprocess/s1$ /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/.testenv/bin/python3 /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/tests/server.py 38395 --no-children process 's1' started pid=1242880 0 , % /.%,@%@._%%# #/%/ % 1 , % /.%,@%@._%%# #/%/ % 2 , % /.%,@%@._%%# #/%/ % 3 , % /.%,@%@._%%# #/%/ % 4 , % /.%,@%@._%%# #/%/ % 5 , % /.%,@%@._%%# #/%/ % 6 , % /.%,@%@._%%# #/%/ % 7 , % /.%,@%@._%%# #/%/ % 8 , % /.%,@%@._%%# #/%/ % 9 , % /.%,@%@._%%# #/%/ % Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū started s1 process startup detected __________________________ test_callback_success[s2] ___________________________ xprocess = tcp_port = 59131, proc_name = 's2' @pytest.mark.parametrize("proc_name", ["s1", "s2", "s3"]) def test_callback_success(xprocess, tcp_port, proc_name): class Starter(ProcessStarter): pattern = "started" args = [sys.executable, server_path, tcp_port, "--no-children"] def startup_check(self): with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as sock: sock.connect(("localhost", tcp_port)) sock.sendall(bytes("bacon\n", "utf-8")) received = str(sock.recv(1024), "utf-8") return received == "bacon\n".upper() xprocess.ensure(proc_name, Starter) info = xprocess.getinfo(proc_name) > assert info.isrunning() E assert False E + where False = isrunning() E + where isrunning = .isrunning tests/test_callback.py:27: AssertionError ----------------------------- Captured stdout call ----------------------------- /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/.pytest_cache/d/.xprocess/s2$ /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/.testenv/bin/python3 /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/tests/server.py 59131 --no-children process 's2' started pid=1242940 0 , % /.%,@%@._%%# #/%/ % 1 , % /.%,@%@._%%# #/%/ % 2 , % /.%,@%@._%%# #/%/ % 3 , % /.%,@%@._%%# #/%/ % 4 , % /.%,@%@._%%# #/%/ % 5 , % /.%,@%@._%%# #/%/ % 6 , % /.%,@%@._%%# #/%/ % 7 , % /.%,@%@._%%# #/%/ % 8 , % /.%,@%@._%%# #/%/ % 9 , % /.%,@%@._%%# #/%/ % Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū started s2 process startup detected __________________________ test_callback_success[s3] ___________________________ xprocess = tcp_port = 39187, proc_name = 's3' @pytest.mark.parametrize("proc_name", ["s1", "s2", "s3"]) def test_callback_success(xprocess, tcp_port, proc_name): class Starter(ProcessStarter): pattern = "started" args = [sys.executable, server_path, tcp_port, "--no-children"] def startup_check(self): with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as sock: sock.connect(("localhost", tcp_port)) sock.sendall(bytes("bacon\n", "utf-8")) received = str(sock.recv(1024), "utf-8") return received == "bacon\n".upper() xprocess.ensure(proc_name, Starter) info = xprocess.getinfo(proc_name) > assert info.isrunning() E assert False E + where False = isrunning() E + where isrunning = .isrunning tests/test_callback.py:27: AssertionError ----------------------------- Captured stdout call ----------------------------- /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/.pytest_cache/d/.xprocess/s3$ /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/.testenv/bin/python3 /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/tests/server.py 39187 --no-children process 's3' started pid=1242998 0 , % /.%,@%@._%%# #/%/ % 1 , % /.%,@%@._%%# #/%/ % 2 , % /.%,@%@._%%# #/%/ % 3 , % /.%,@%@._%%# #/%/ % 4 , % /.%,@%@._%%# #/%/ % 5 , % /.%,@%@._%%# #/%/ % 6 , % /.%,@%@._%%# #/%/ % 7 , % /.%,@%@._%%# #/%/ % 8 , % /.%,@%@._%%# #/%/ % 9 , % /.%,@%@._%%# #/%/ % Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū started s3 process startup detected __________________________ test_functional_work_flow ___________________________ testdir = tcp_port = 59361 def test_functional_work_flow(testdir, tcp_port): server_path = Path(__file__).parent.joinpath("server.py").absolute() testdir.makepyfile( """ import sys import socket from xprocess import ProcessStarter def test_server(request, xprocess): port = %r data = "spam\\n" server_path = %r class Starter(ProcessStarter): pattern = "started" max_read_lines = 200 args = [sys.executable, server_path, port] # required so test won't hang on pytest_unconfigure xprocess.proc_wait_timeout = 1 xprocess.ensure("server_workflow_test", Starter) with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as sock: sock.connect(("localhost", port)) sock.sendall(bytes(data, "utf-8")) received = str(sock.recv(1024), "utf-8") assert received == data.upper() """ % (tcp_port, str(server_path)) ) result = testdir.runpytest() result.stdout.fnmatch_lines("*1 passed*") result = testdir.runpytest("--xshow") > result.stdout.fnmatch_lines("*LIVE*") E Failed: nomatch: '*LIVE*' E and: '1247151 server_workflow_test DEAD /tmp/pytest-of-udu/pytest-0/test_functional_work_flow0/.pytest_cache/d/.xprocess/server_workflow_test/xprocess.log' E remains unmatched: '*LIVE*' /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/tests/test_functional_workflow.py:38: Failed ----------------------------- Captured stdout call ----------------------------- ============================= test session starts ============================== platform linux -- Python 3.12.11, pytest-8.3.5, pluggy-1.5.0 rootdir: /tmp/pytest-of-udu/pytest-0/test_functional_work_flow0 plugins: xprocess-0.23.0 collected 1 item test_functional_work_flow.py . [100%] ============================== 1 passed in 0.21s =============================== 1247151 server_workflow_test DEAD /tmp/pytest-of-udu/pytest-0/test_functional_work_flow0/.pytest_cache/d/.xprocess/server_workflow_test/xprocess.log ______________________ test_interruption_does_not_cleanup ______________________ testdir = tcp_port = 45993 def test_interruption_does_not_cleanup(testdir, tcp_port): server_path = Path(__file__).parent.joinpath("server.py").absolute() testdir.makepyfile( """ import sys import socket from xprocess import ProcessStarter def test_servers_start(request, xprocess): port = %r server_path = %r class Starter(ProcessStarter): pattern = "started" args = [sys.executable, server_path, port] xprocess.ensure("server_test_interrupt_no_terminate", Starter) raise KeyboardInterrupt """ % (tcp_port, str(server_path)) ) result = testdir.runpytest_subprocess() result.stdout.fnmatch_lines("*KeyboardInterrupt*") result = testdir.runpytest("--xshow") > result.stdout.fnmatch_lines("*LIVE*") E Failed: nomatch: '*LIVE*' E and: '1247395 server_test_interrupt_no_terminate DEAD /tmp/pytest-of-udu/pytest-0/test_interruption_does_not_cleanup0/.pytest_cache/d/.xprocess/server_test_interrupt_no_terminate/xprocess.log' E remains unmatched: '*LIVE*' /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/tests/test_interruption_clean_up.py:58: Failed ----------------------------- Captured stdout call ----------------------------- running: /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/.testenv/bin/python3 -mpytest --basetemp=/tmp/pytest-of-udu/pytest-0/test_interruption_does_not_cleanup0/runpytest-0 in: /tmp/pytest-of-udu/pytest-0/test_interruption_does_not_cleanup0 ============================= test session starts ============================== platform linux -- Python 3.12.11, pytest-8.3.5, pluggy-1.5.0 rootdir: /tmp/pytest-of-udu/pytest-0/test_interruption_does_not_cleanup0 plugins: xprocess-0.23.0 collected 1 item test_interruption_does_not_cleanup.py !!!!!!!!!!!!!!!!!!!!!!!!!!!!!! KeyboardInterrupt !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! /tmp/pytest-of-udu/pytest-0/test_interruption_does_not_cleanup0/test_interruption_does_not_cleanup.py:15: KeyboardInterrupt (to show a full traceback on KeyboardInterrupt use --full-trace) ============================ no tests ran in 0.35s ============================= 1247395 server_test_interrupt_no_terminate DEAD /tmp/pytest-of-udu/pytest-0/test_interruption_does_not_cleanup0/.pytest_cache/d/.xprocess/server_test_interrupt_no_terminate/xprocess.log ____________________________ test_servers_start[s1] ____________________________ tcp_port = 39765, proc_name = 's1' xprocess = @pytest.mark.parametrize("proc_name", ["s1", "s2", "s3"]) def test_servers_start(tcp_port, proc_name, xprocess): data = "bacon\n" class Starter(ProcessStarter): pattern = "started" args = [sys.executable, server_path, tcp_port, "--no-children"] xprocess.ensure(proc_name, Starter) info = xprocess.getinfo(proc_name) assert request_response_cycle(tcp_port, data) > assert info.isrunning() E assert False E + where False = isrunning() E + where isrunning = .isrunning tests/test_process_initialization.py:33: AssertionError ----------------------------- Captured stdout call ----------------------------- /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/.pytest_cache/d/.xprocess/s1$ /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/.testenv/bin/python3 /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/tests/server.py 39765 --no-children process 's1' started pid=1247496 0 , % /.%,@%@._%%# #/%/ % 1 , % /.%,@%@._%%# #/%/ % 2 , % /.%,@%@._%%# #/%/ % 3 , % /.%,@%@._%%# #/%/ % 4 , % /.%,@%@._%%# #/%/ % 5 , % /.%,@%@._%%# #/%/ % 6 , % /.%,@%@._%%# #/%/ % 7 , % /.%,@%@._%%# #/%/ % 8 , % /.%,@%@._%%# #/%/ % 9 , % /.%,@%@._%%# #/%/ % Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū started s1 process startup detected ____________________________ test_servers_start[s2] ____________________________ tcp_port = 58781, proc_name = 's2' xprocess = @pytest.mark.parametrize("proc_name", ["s1", "s2", "s3"]) def test_servers_start(tcp_port, proc_name, xprocess): data = "bacon\n" class Starter(ProcessStarter): pattern = "started" args = [sys.executable, server_path, tcp_port, "--no-children"] xprocess.ensure(proc_name, Starter) info = xprocess.getinfo(proc_name) assert request_response_cycle(tcp_port, data) > assert info.isrunning() E assert False E + where False = isrunning() E + where isrunning = .isrunning tests/test_process_initialization.py:33: AssertionError ----------------------------- Captured stdout call ----------------------------- /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/.pytest_cache/d/.xprocess/s2$ /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/.testenv/bin/python3 /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/tests/server.py 58781 --no-children process 's2' started pid=1247554 0 , % /.%,@%@._%%# #/%/ % 1 , % /.%,@%@._%%# #/%/ % 2 , % /.%,@%@._%%# #/%/ % 3 , % /.%,@%@._%%# #/%/ % 4 , % /.%,@%@._%%# #/%/ % 5 , % /.%,@%@._%%# #/%/ % 6 , % /.%,@%@._%%# #/%/ % 7 , % /.%,@%@._%%# #/%/ % 8 , % /.%,@%@._%%# #/%/ % 9 , % /.%,@%@._%%# #/%/ % Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū started s2 process startup detected ____________________________ test_servers_start[s3] ____________________________ tcp_port = 36653, proc_name = 's3' xprocess = @pytest.mark.parametrize("proc_name", ["s1", "s2", "s3"]) def test_servers_start(tcp_port, proc_name, xprocess): data = "bacon\n" class Starter(ProcessStarter): pattern = "started" args = [sys.executable, server_path, tcp_port, "--no-children"] xprocess.ensure(proc_name, Starter) info = xprocess.getinfo(proc_name) assert request_response_cycle(tcp_port, data) > assert info.isrunning() E assert False E + where False = isrunning() E + where isrunning = .isrunning tests/test_process_initialization.py:33: AssertionError ----------------------------- Captured stdout call ----------------------------- /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/.pytest_cache/d/.xprocess/s3$ /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/.testenv/bin/python3 /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/tests/server.py 36653 --no-children process 's3' started pid=1247612 0 , % /.%,@%@._%%# #/%/ % 1 , % /.%,@%@._%%# #/%/ % 2 , % /.%,@%@._%%# #/%/ % 3 , % /.%,@%@._%%# #/%/ % 4 , % /.%,@%@._%%# #/%/ % 5 , % /.%,@%@._%%# #/%/ % 6 , % /.%,@%@._%%# #/%/ % 7 , % /.%,@%@._%%# #/%/ % 8 , % /.%,@%@._%%# #/%/ % 9 , % /.%,@%@._%%# #/%/ % Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū started s3 process startup detected _________________________ test_ensure_not_restart[s1] __________________________ tcp_port = 58095, proc_name = 's1' xprocess = @pytest.mark.parametrize("proc_name", ["s1", "s2", "s3"]) def test_ensure_not_restart(tcp_port, proc_name, xprocess): class Starter(ProcessStarter): pattern = "started" args = [sys.executable, server_path, tcp_port, "--no-children"] proc_id = xprocess.ensure(proc_name, Starter) info = xprocess.getinfo(proc_name) > assert xprocess.ensure(proc_name, Starter) == proc_id tests/test_process_initialization.py:45: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xprocess/xprocess.py:284: in ensure if not starter.wait(log_file_handle): xprocess/xprocess.py:401: in wait has_match = any(re.search(self.pattern, line) for line in lines) xprocess/xprocess.py:401: in has_match = any(re.search(self.pattern, line) for line in lines) xprocess/xprocess.py:407: in non_empty_lines = (x for x in lines if x.strip()) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = .Starter object at 0x76bdf65485c0> log_file = <_io.TextIOWrapper name='/home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/.pytest_cache/d/.xprocess/s1/xprocess.log' mode='r' encoding='UTF-8'> def get_lines(self, log_file): """Read and yield one line at a time from log_file. Will raise TimeoutError if pattern is not matched before self.timeout seconds.""" while True: line = log_file.readline() if not line: time.sleep(0.1) if datetime.now() > self._max_time: > raise TimeoutError( "The provided start pattern {} could not be matched \ within the specified time interval of {} seconds".format( self.pattern, self.timeout ) ) E TimeoutError: The provided start pattern started could not be matched within the specified time interval of 120 seconds xprocess/xprocess.py:424: TimeoutError ----------------------------- Captured stdout call ----------------------------- /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/.pytest_cache/d/.xprocess/s1$ /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/.testenv/bin/python3 /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/tests/server.py 58095 --no-children process 's1' started pid=1247670 0 , % /.%,@%@._%%# #/%/ % 1 , % /.%,@%@._%%# #/%/ % 2 , % /.%,@%@._%%# #/%/ % 3 , % /.%,@%@._%%# #/%/ % 4 , % /.%,@%@._%%# #/%/ % 5 , % /.%,@%@._%%# #/%/ % 6 , % /.%,@%@._%%# #/%/ % 7 , % /.%,@%@._%%# #/%/ % 8 , % /.%,@%@._%%# #/%/ % 9 , % /.%,@%@._%%# #/%/ % Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū started s1 process startup detected /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/.pytest_cache/d/.xprocess/s1$ /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/.testenv/bin/python3 /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/tests/server.py 58095 --no-children process 's1' started pid=1247725 Traceback (most recent call last): File "/home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/tests/server.py", line 80, in server = TestServer((HOST, PORT), TestHandler) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/socketserver.py", line 457, in __init__ self.server_bind() File "/usr/lib/python3.12/socketserver.py", line 478, in server_bind self.socket.bind(self.server_address) OSError: [Errno 98] Address in use _________________________ test_ensure_not_restart[s2] __________________________ tcp_port = 43605, proc_name = 's2' xprocess = @pytest.mark.parametrize("proc_name", ["s1", "s2", "s3"]) def test_ensure_not_restart(tcp_port, proc_name, xprocess): class Starter(ProcessStarter): pattern = "started" args = [sys.executable, server_path, tcp_port, "--no-children"] proc_id = xprocess.ensure(proc_name, Starter) info = xprocess.getinfo(proc_name) > assert xprocess.ensure(proc_name, Starter) == proc_id tests/test_process_initialization.py:45: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xprocess/xprocess.py:284: in ensure if not starter.wait(log_file_handle): xprocess/xprocess.py:401: in wait has_match = any(re.search(self.pattern, line) for line in lines) xprocess/xprocess.py:401: in has_match = any(re.search(self.pattern, line) for line in lines) xprocess/xprocess.py:407: in non_empty_lines = (x for x in lines if x.strip()) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = .Starter object at 0x76bdf6549280> log_file = <_io.TextIOWrapper name='/home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/.pytest_cache/d/.xprocess/s2/xprocess.log' mode='r' encoding='UTF-8'> def get_lines(self, log_file): """Read and yield one line at a time from log_file. Will raise TimeoutError if pattern is not matched before self.timeout seconds.""" while True: line = log_file.readline() if not line: time.sleep(0.1) if datetime.now() > self._max_time: > raise TimeoutError( "The provided start pattern {} could not be matched \ within the specified time interval of {} seconds".format( self.pattern, self.timeout ) ) E TimeoutError: The provided start pattern started could not be matched within the specified time interval of 120 seconds xprocess/xprocess.py:424: TimeoutError ----------------------------- Captured stdout call ----------------------------- /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/.pytest_cache/d/.xprocess/s2$ /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/.testenv/bin/python3 /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/tests/server.py 43605 --no-children process 's2' started pid=1279737 0 , % /.%,@%@._%%# #/%/ % 1 , % /.%,@%@._%%# #/%/ % 2 , % /.%,@%@._%%# #/%/ % 3 , % /.%,@%@._%%# #/%/ % 4 , % /.%,@%@._%%# #/%/ % 5 , % /.%,@%@._%%# #/%/ % 6 , % /.%,@%@._%%# #/%/ % 7 , % /.%,@%@._%%# #/%/ % 8 , % /.%,@%@._%%# #/%/ % 9 , % /.%,@%@._%%# #/%/ % Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū started s2 process startup detected /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/.pytest_cache/d/.xprocess/s2$ /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/.testenv/bin/python3 /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/tests/server.py 43605 --no-children process 's2' started pid=1279792 Traceback (most recent call last): File "/home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/tests/server.py", line 80, in server = TestServer((HOST, PORT), TestHandler) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/socketserver.py", line 457, in __init__ self.server_bind() File "/usr/lib/python3.12/socketserver.py", line 478, in server_bind self.socket.bind(self.server_address) OSError: [Errno 98] Address in use _________________________ test_ensure_not_restart[s3] __________________________ tcp_port = 40517, proc_name = 's3' xprocess = @pytest.mark.parametrize("proc_name", ["s1", "s2", "s3"]) def test_ensure_not_restart(tcp_port, proc_name, xprocess): class Starter(ProcessStarter): pattern = "started" args = [sys.executable, server_path, tcp_port, "--no-children"] proc_id = xprocess.ensure(proc_name, Starter) info = xprocess.getinfo(proc_name) > assert xprocess.ensure(proc_name, Starter) == proc_id tests/test_process_initialization.py:45: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ xprocess/xprocess.py:284: in ensure if not starter.wait(log_file_handle): xprocess/xprocess.py:401: in wait has_match = any(re.search(self.pattern, line) for line in lines) xprocess/xprocess.py:401: in has_match = any(re.search(self.pattern, line) for line in lines) xprocess/xprocess.py:407: in non_empty_lines = (x for x in lines if x.strip()) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = .Starter object at 0x76bdf6638950> log_file = <_io.TextIOWrapper name='/home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/.pytest_cache/d/.xprocess/s3/xprocess.log' mode='r' encoding='UTF-8'> def get_lines(self, log_file): """Read and yield one line at a time from log_file. Will raise TimeoutError if pattern is not matched before self.timeout seconds.""" while True: line = log_file.readline() if not line: time.sleep(0.1) if datetime.now() > self._max_time: > raise TimeoutError( "The provided start pattern {} could not be matched \ within the specified time interval of {} seconds".format( self.pattern, self.timeout ) ) E TimeoutError: The provided start pattern started could not be matched within the specified time interval of 120 seconds xprocess/xprocess.py:424: TimeoutError ----------------------------- Captured stdout call ----------------------------- /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/.pytest_cache/d/.xprocess/s3$ /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/.testenv/bin/python3 /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/tests/server.py 40517 --no-children process 's3' started pid=1310234 0 , % /.%,@%@._%%# #/%/ % 1 , % /.%,@%@._%%# #/%/ % 2 , % /.%,@%@._%%# #/%/ % 3 , % /.%,@%@._%%# #/%/ % 4 , % /.%,@%@._%%# #/%/ % 5 , % /.%,@%@._%%# #/%/ % 6 , % /.%,@%@._%%# #/%/ % 7 , % /.%,@%@._%%# #/%/ % 8 , % /.%,@%@._%%# #/%/ % 9 , % /.%,@%@._%%# #/%/ % Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū started s3 process startup detected /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/.pytest_cache/d/.xprocess/s3$ /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/.testenv/bin/python3 /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/tests/server.py 40517 --no-children process 's3' started pid=1310283 Traceback (most recent call last): File "/home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/tests/server.py", line 80, in server = TestServer((HOST, PORT), TestHandler) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/socketserver.py", line 457, in __init__ self.server_bind() File "/usr/lib/python3.12/socketserver.py", line 478, in server_bind self.socket.bind(self.server_address) OSError: [Errno 98] Address in use _____________ test_startup_detection_max_read_lines[s1-started-21] _____________ tcp_port = 53277, proc_name = 's1', proc_pttrn = 'started', lines = 21 xprocess = @pytest.mark.parametrize( "proc_name,proc_pttrn,lines", [ ("s1", "started", 21), ("s2", "spam, bacon, eggs", 30), ("s3", "finally started", 130), ], ) def test_startup_detection_max_read_lines( tcp_port, proc_name, proc_pttrn, lines, xprocess ): data = "bacon\n" class Starter(ProcessStarter): pattern = proc_pttrn max_read_lines = lines args = [sys.executable, server_path, tcp_port, "--no-children"] xprocess.ensure(proc_name, Starter) info = xprocess.getinfo(proc_name) > assert info.isrunning() E assert False E + where False = isrunning() E + where isrunning = .isrunning tests/test_process_initialization.py:70: AssertionError ----------------------------- Captured stdout call ----------------------------- /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/.pytest_cache/d/.xprocess/s1$ /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/.testenv/bin/python3 /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/tests/server.py 53277 --no-children process 's1' started pid=1342704 0 , % /.%,@%@._%%# #/%/ % 1 , % /.%,@%@._%%# #/%/ % 2 , % /.%,@%@._%%# #/%/ % 3 , % /.%,@%@._%%# #/%/ % 4 , % /.%,@%@._%%# #/%/ % 5 , % /.%,@%@._%%# #/%/ % 6 , % /.%,@%@._%%# #/%/ % 7 , % /.%,@%@._%%# #/%/ % 8 , % /.%,@%@._%%# #/%/ % 9 , % /.%,@%@._%%# #/%/ % Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū started s1 process startup detected ________ test_startup_detection_max_read_lines[s2-spam, bacon, eggs-30] ________ tcp_port = 59091, proc_name = 's2', proc_pttrn = 'spam, bacon, eggs', lines = 30 xprocess = @pytest.mark.parametrize( "proc_name,proc_pttrn,lines", [ ("s1", "started", 21), ("s2", "spam, bacon, eggs", 30), ("s3", "finally started", 130), ], ) def test_startup_detection_max_read_lines( tcp_port, proc_name, proc_pttrn, lines, xprocess ): data = "bacon\n" class Starter(ProcessStarter): pattern = proc_pttrn max_read_lines = lines args = [sys.executable, server_path, tcp_port, "--no-children"] xprocess.ensure(proc_name, Starter) info = xprocess.getinfo(proc_name) > assert info.isrunning() E assert False E + where False = isrunning() E + where isrunning = .isrunning tests/test_process_initialization.py:70: AssertionError ----------------------------- Captured stdout call ----------------------------- /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/.pytest_cache/d/.xprocess/s2$ /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/.testenv/bin/python3 /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/tests/server.py 59091 --no-children process 's2' started pid=1342809 0 , % /.%,@%@._%%# #/%/ % 1 , % /.%,@%@._%%# #/%/ % 2 , % /.%,@%@._%%# #/%/ % 3 , % /.%,@%@._%%# #/%/ % 4 , % /.%,@%@._%%# #/%/ % 5 , % /.%,@%@._%%# #/%/ % 6 , % /.%,@%@._%%# #/%/ % 7 , % /.%,@%@._%%# #/%/ % 8 , % /.%,@%@._%%# #/%/ % 9 , % /.%,@%@._%%# #/%/ % Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū started spam, bacon, eggs s2 process startup detected ________ test_startup_detection_max_read_lines[s3-finally started-130] _________ tcp_port = 48549, proc_name = 's3', proc_pttrn = 'finally started', lines = 130 xprocess = @pytest.mark.parametrize( "proc_name,proc_pttrn,lines", [ ("s1", "started", 21), ("s2", "spam, bacon, eggs", 30), ("s3", "finally started", 130), ], ) def test_startup_detection_max_read_lines( tcp_port, proc_name, proc_pttrn, lines, xprocess ): data = "bacon\n" class Starter(ProcessStarter): pattern = proc_pttrn max_read_lines = lines args = [sys.executable, server_path, tcp_port, "--no-children"] xprocess.ensure(proc_name, Starter) info = xprocess.getinfo(proc_name) > assert info.isrunning() E assert False E + where False = isrunning() E + where isrunning = .isrunning tests/test_process_initialization.py:70: AssertionError ----------------------------- Captured stdout call ----------------------------- /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/.pytest_cache/d/.xprocess/s3$ /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/.testenv/bin/python3 /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/tests/server.py 48549 --no-children process 's3' started pid=1343023 0 , % /.%,@%@._%%# #/%/ % 1 , % /.%,@%@._%%# #/%/ % 2 , % /.%,@%@._%%# #/%/ % 3 , % /.%,@%@._%%# #/%/ % 4 , % /.%,@%@._%%# #/%/ % 5 , % /.%,@%@._%%# #/%/ % 6 , % /.%,@%@._%%# #/%/ % 7 , % /.%,@%@._%%# #/%/ % 8 , % /.%,@%@._%%# #/%/ % 9 , % /.%,@%@._%%# #/%/ % Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū started spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs spam, bacon, eggs ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? finally started s3 process startup detected ____________________________ test_popen_kwargs[s1] _____________________________ tcp_port = 41313, proc_name = 's1' xprocess = @pytest.mark.parametrize("proc_name", ["s1", "s2", "s3"]) def test_popen_kwargs(tcp_port, proc_name, xprocess): class Starter(ProcessStarter): pattern = "started" args = [sys.executable, server_path, tcp_port, "--no-children"] popen_kwargs = {"universal_newlines": True} xprocess.ensure(proc_name, Starter) info = xprocess.getinfo(proc_name) proc = xprocess.resources[-1].popen text_mode = proc.text_mode > assert info.isrunning() E assert False E + where False = isrunning() E + where isrunning = .isrunning tests/test_process_initialization.py:114: AssertionError ----------------------------- Captured stdout call ----------------------------- /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/.pytest_cache/d/.xprocess/s1$ /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/.testenv/bin/python3 /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/tests/server.py 41313 --no-children process 's1' started pid=1343195 0 , % /.%,@%@._%%# #/%/ % 1 , % /.%,@%@._%%# #/%/ % 2 , % /.%,@%@._%%# #/%/ % 3 , % /.%,@%@._%%# #/%/ % 4 , % /.%,@%@._%%# #/%/ % 5 , % /.%,@%@._%%# #/%/ % 6 , % /.%,@%@._%%# #/%/ % 7 , % /.%,@%@._%%# #/%/ % 8 , % /.%,@%@._%%# #/%/ % 9 , % /.%,@%@._%%# #/%/ % Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū started s1 process startup detected ____________________________ test_popen_kwargs[s2] _____________________________ tcp_port = 59395, proc_name = 's2' xprocess = @pytest.mark.parametrize("proc_name", ["s1", "s2", "s3"]) def test_popen_kwargs(tcp_port, proc_name, xprocess): class Starter(ProcessStarter): pattern = "started" args = [sys.executable, server_path, tcp_port, "--no-children"] popen_kwargs = {"universal_newlines": True} xprocess.ensure(proc_name, Starter) info = xprocess.getinfo(proc_name) proc = xprocess.resources[-1].popen text_mode = proc.text_mode > assert info.isrunning() E assert False E + where False = isrunning() E + where isrunning = .isrunning tests/test_process_initialization.py:114: AssertionError ----------------------------- Captured stdout call ----------------------------- /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/.pytest_cache/d/.xprocess/s2$ /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/.testenv/bin/python3 /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/tests/server.py 59395 --no-children process 's2' started pid=1343196 0 , % /.%,@%@._%%# #/%/ % 1 , % /.%,@%@._%%# #/%/ % 2 , % /.%,@%@._%%# #/%/ % 3 , % /.%,@%@._%%# #/%/ % 4 , % /.%,@%@._%%# #/%/ % 5 , % /.%,@%@._%%# #/%/ % 6 , % /.%,@%@._%%# #/%/ % 7 , % /.%,@%@._%%# #/%/ % 8 , % /.%,@%@._%%# #/%/ % 9 , % /.%,@%@._%%# #/%/ % Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū started s2 process startup detected ____________________________ test_popen_kwargs[s3] _____________________________ tcp_port = 36831, proc_name = 's3' xprocess = @pytest.mark.parametrize("proc_name", ["s1", "s2", "s3"]) def test_popen_kwargs(tcp_port, proc_name, xprocess): class Starter(ProcessStarter): pattern = "started" args = [sys.executable, server_path, tcp_port, "--no-children"] popen_kwargs = {"universal_newlines": True} xprocess.ensure(proc_name, Starter) info = xprocess.getinfo(proc_name) proc = xprocess.resources[-1].popen text_mode = proc.text_mode > assert info.isrunning() E assert False E + where False = isrunning() E + where isrunning = .isrunning tests/test_process_initialization.py:114: AssertionError ----------------------------- Captured stdout call ----------------------------- /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/.pytest_cache/d/.xprocess/s3$ /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/.testenv/bin/python3 /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/tests/server.py 36831 --no-children process 's3' started pid=1343200 0 , % /.%,@%@._%%# #/%/ % 1 , % /.%,@%@._%%# #/%/ % 2 , % /.%,@%@._%%# #/%/ % 3 , % /.%,@%@._%%# #/%/ % 4 , % /.%,@%@._%%# #/%/ % 5 , % /.%,@%@._%%# #/%/ % 6 , % /.%,@%@._%%# #/%/ % 7 , % /.%,@%@._%%# #/%/ % 8 , % /.%,@%@._%%# #/%/ % 9 , % /.%,@%@._%%# #/%/ % Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū started s3 process startup detected ___________________________ test_clean_shutdown[s1] ____________________________ tcp_port = 60727, proc_name = 's1' xprocess = @pytest.mark.parametrize("proc_name", ["s1", "s2", "s3"]) def test_clean_shutdown(tcp_port, proc_name, xprocess): class Starter(ProcessStarter): pattern = "started" args = [sys.executable, server_path, tcp_port] xprocess.ensure(proc_name, Starter) info = xprocess.getinfo(proc_name) > assert info.isrunning() E assert False E + where False = isrunning() E + where isrunning = .isrunning tests/test_process_termination.py:20: AssertionError ----------------------------- Captured stdout call ----------------------------- /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/.pytest_cache/d/.xprocess/s1$ /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/.testenv/bin/python3 /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/tests/server.py 60727 process 's1' started pid=1343226 0 , % /.%,@%@._%%# #/%/ % 1 , % /.%,@%@._%%# #/%/ % 2 , % /.%,@%@._%%# #/%/ % 3 , % /.%,@%@._%%# #/%/ % 4 , % /.%,@%@._%%# #/%/ % 5 , % /.%,@%@._%%# #/%/ % 6 , % /.%,@%@._%%# #/%/ % 7 , % /.%,@%@._%%# #/%/ % 8 , % /.%,@%@._%%# #/%/ % 9 , % /.%,@%@._%%# #/%/ % Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū started s1 process startup detected ___________________________ test_clean_shutdown[s2] ____________________________ tcp_port = 47723, proc_name = 's2' xprocess = @pytest.mark.parametrize("proc_name", ["s1", "s2", "s3"]) def test_clean_shutdown(tcp_port, proc_name, xprocess): class Starter(ProcessStarter): pattern = "started" args = [sys.executable, server_path, tcp_port] xprocess.ensure(proc_name, Starter) info = xprocess.getinfo(proc_name) > assert info.isrunning() E assert False E + where False = isrunning() E + where isrunning = .isrunning tests/test_process_termination.py:20: AssertionError ----------------------------- Captured stdout call ----------------------------- /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/.pytest_cache/d/.xprocess/s2$ /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/.testenv/bin/python3 /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/tests/server.py 47723 process 's2' started pid=1343232 0 , % /.%,@%@._%%# #/%/ % 1 , % /.%,@%@._%%# #/%/ % 2 , % /.%,@%@._%%# #/%/ % 3 , % /.%,@%@._%%# #/%/ % 4 , % /.%,@%@._%%# #/%/ % 5 , % /.%,@%@._%%# #/%/ % 6 , % /.%,@%@._%%# #/%/ % 7 , % /.%,@%@._%%# #/%/ % 8 , % /.%,@%@._%%# #/%/ % 9 , % /.%,@%@._%%# #/%/ % Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū started s2 process startup detected ___________________________ test_clean_shutdown[s3] ____________________________ tcp_port = 58141, proc_name = 's3' xprocess = @pytest.mark.parametrize("proc_name", ["s1", "s2", "s3"]) def test_clean_shutdown(tcp_port, proc_name, xprocess): class Starter(ProcessStarter): pattern = "started" args = [sys.executable, server_path, tcp_port] xprocess.ensure(proc_name, Starter) info = xprocess.getinfo(proc_name) > assert info.isrunning() E assert False E + where False = isrunning() E + where isrunning = .isrunning tests/test_process_termination.py:20: AssertionError ----------------------------- Captured stdout call ----------------------------- /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/.pytest_cache/d/.xprocess/s3$ /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/.testenv/bin/python3 /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/tests/server.py 58141 process 's3' started pid=1343236 0 , % /.%,@%@._%%# #/%/ % 1 , % /.%,@%@._%%# #/%/ % 2 , % /.%,@%@._%%# #/%/ % 3 , % /.%,@%@._%%# #/%/ % 4 , % /.%,@%@._%%# #/%/ % 5 , % /.%,@%@._%%# #/%/ % 6 , % /.%,@%@._%%# #/%/ % 7 , % /.%,@%@._%%# #/%/ % 8 , % /.%,@%@._%%# #/%/ % 9 , % /.%,@%@._%%# #/%/ % Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū started s3 process startup detected ________________________ test_terminate_only_parent[s1] ________________________ tcp_port = 37049, proc_name = 's1' xprocess = @pytest.mark.parametrize("proc_name", ["s1", "s2", "s3"]) def test_terminate_only_parent(tcp_port, proc_name, xprocess): class Starter(ProcessStarter): pattern = "started" args = [sys.executable, server_path, tcp_port] xprocess.ensure(proc_name, Starter) info = xprocess.getinfo(proc_name) > children = psutil.Process(info.pid).children() tests/test_process_termination.py:51: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/psutil/__init__.py:317: in __init__ self._init(pid) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = psutil.Process(pid=1343252, status='terminated'), pid = 1343252 _ignore_nsp = False def _init(self, pid, _ignore_nsp=False): if pid is None: pid = os.getpid() else: if pid < 0: msg = f"pid must be a positive integer (got {pid})" raise ValueError(msg) try: _psplatform.cext.check_pid_range(pid) except OverflowError as err: msg = "process PID out of range" raise NoSuchProcess(pid, msg=msg) from err self._pid = pid self._name = None self._exe = None self._create_time = None self._gone = False self._pid_reused = False self._hash = None self._lock = threading.RLock() # used for caching on Windows only (on POSIX ppid may change) self._ppid = None # platform-specific modules define an _psplatform.Process # implementation class self._proc = _psplatform.Process(pid) self._last_sys_cpu_times = None self._last_proc_cpu_times = None self._exitcode = _SENTINEL self._ident = (self.pid, None) try: self._ident = self._get_ident() except AccessDenied: # This should happen on Windows only, since we use the fast # create time method. AFAIK, on all other platforms we are # able to get create time for all PIDs. pass except ZombieProcess: # Zombies can still be queried by this class (although # not always) and pids() return them so just go on. pass except NoSuchProcess: if not _ignore_nsp: msg = "process PID not found" > raise NoSuchProcess(pid, msg=msg) from None E psutil.NoSuchProcess: process PID not found (pid=1343252) /usr/lib/python3.12/site-packages/psutil/__init__.py:363: NoSuchProcess ----------------------------- Captured stdout call ----------------------------- /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/.pytest_cache/d/.xprocess/s1$ /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/.testenv/bin/python3 /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/tests/server.py 37049 process 's1' started pid=1343252 0 , % /.%,@%@._%%# #/%/ % 1 , % /.%,@%@._%%# #/%/ % 2 , % /.%,@%@._%%# #/%/ % 3 , % /.%,@%@._%%# #/%/ % 4 , % /.%,@%@._%%# #/%/ % 5 , % /.%,@%@._%%# #/%/ % 6 , % /.%,@%@._%%# #/%/ % 7 , % /.%,@%@._%%# #/%/ % 8 , % /.%,@%@._%%# #/%/ % 9 , % /.%,@%@._%%# #/%/ % Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū started s1 process startup detected ________________________ test_terminate_only_parent[s2] ________________________ tcp_port = 46873, proc_name = 's2' xprocess = @pytest.mark.parametrize("proc_name", ["s1", "s2", "s3"]) def test_terminate_only_parent(tcp_port, proc_name, xprocess): class Starter(ProcessStarter): pattern = "started" args = [sys.executable, server_path, tcp_port] xprocess.ensure(proc_name, Starter) info = xprocess.getinfo(proc_name) > children = psutil.Process(info.pid).children() tests/test_process_termination.py:51: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/psutil/__init__.py:317: in __init__ self._init(pid) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = psutil.Process(pid=1343256, status='terminated'), pid = 1343256 _ignore_nsp = False def _init(self, pid, _ignore_nsp=False): if pid is None: pid = os.getpid() else: if pid < 0: msg = f"pid must be a positive integer (got {pid})" raise ValueError(msg) try: _psplatform.cext.check_pid_range(pid) except OverflowError as err: msg = "process PID out of range" raise NoSuchProcess(pid, msg=msg) from err self._pid = pid self._name = None self._exe = None self._create_time = None self._gone = False self._pid_reused = False self._hash = None self._lock = threading.RLock() # used for caching on Windows only (on POSIX ppid may change) self._ppid = None # platform-specific modules define an _psplatform.Process # implementation class self._proc = _psplatform.Process(pid) self._last_sys_cpu_times = None self._last_proc_cpu_times = None self._exitcode = _SENTINEL self._ident = (self.pid, None) try: self._ident = self._get_ident() except AccessDenied: # This should happen on Windows only, since we use the fast # create time method. AFAIK, on all other platforms we are # able to get create time for all PIDs. pass except ZombieProcess: # Zombies can still be queried by this class (although # not always) and pids() return them so just go on. pass except NoSuchProcess: if not _ignore_nsp: msg = "process PID not found" > raise NoSuchProcess(pid, msg=msg) from None E psutil.NoSuchProcess: process PID not found (pid=1343256) /usr/lib/python3.12/site-packages/psutil/__init__.py:363: NoSuchProcess ----------------------------- Captured stdout call ----------------------------- /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/.pytest_cache/d/.xprocess/s2$ /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/.testenv/bin/python3 /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/tests/server.py 46873 process 's2' started pid=1343256 0 , % /.%,@%@._%%# #/%/ % 1 , % /.%,@%@._%%# #/%/ % 2 , % /.%,@%@._%%# #/%/ % 3 , % /.%,@%@._%%# #/%/ % 4 , % /.%,@%@._%%# #/%/ % 5 , % /.%,@%@._%%# #/%/ % 6 , % /.%,@%@._%%# #/%/ % 7 , % /.%,@%@._%%# #/%/ % 8 , % /.%,@%@._%%# #/%/ % 9 , % /.%,@%@._%%# #/%/ % Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū started s2 process startup detected ________________________ test_terminate_only_parent[s3] ________________________ tcp_port = 57583, proc_name = 's3' xprocess = @pytest.mark.parametrize("proc_name", ["s1", "s2", "s3"]) def test_terminate_only_parent(tcp_port, proc_name, xprocess): class Starter(ProcessStarter): pattern = "started" args = [sys.executable, server_path, tcp_port] xprocess.ensure(proc_name, Starter) info = xprocess.getinfo(proc_name) > children = psutil.Process(info.pid).children() tests/test_process_termination.py:51: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/psutil/__init__.py:317: in __init__ self._init(pid) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = psutil.Process(pid=1343260, status='terminated'), pid = 1343260 _ignore_nsp = False def _init(self, pid, _ignore_nsp=False): if pid is None: pid = os.getpid() else: if pid < 0: msg = f"pid must be a positive integer (got {pid})" raise ValueError(msg) try: _psplatform.cext.check_pid_range(pid) except OverflowError as err: msg = "process PID out of range" raise NoSuchProcess(pid, msg=msg) from err self._pid = pid self._name = None self._exe = None self._create_time = None self._gone = False self._pid_reused = False self._hash = None self._lock = threading.RLock() # used for caching on Windows only (on POSIX ppid may change) self._ppid = None # platform-specific modules define an _psplatform.Process # implementation class self._proc = _psplatform.Process(pid) self._last_sys_cpu_times = None self._last_proc_cpu_times = None self._exitcode = _SENTINEL self._ident = (self.pid, None) try: self._ident = self._get_ident() except AccessDenied: # This should happen on Windows only, since we use the fast # create time method. AFAIK, on all other platforms we are # able to get create time for all PIDs. pass except ZombieProcess: # Zombies can still be queried by this class (although # not always) and pids() return them so just go on. pass except NoSuchProcess: if not _ignore_nsp: msg = "process PID not found" > raise NoSuchProcess(pid, msg=msg) from None E psutil.NoSuchProcess: process PID not found (pid=1343260) /usr/lib/python3.12/site-packages/psutil/__init__.py:363: NoSuchProcess ----------------------------- Captured stdout call ----------------------------- /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/.pytest_cache/d/.xprocess/s3$ /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/.testenv/bin/python3 /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/tests/server.py 57583 process 's3' started pid=1343260 0 , % /.%,@%@._%%# #/%/ % 1 , % /.%,@%@._%%# #/%/ % 2 , % /.%,@%@._%%# #/%/ % 3 , % /.%,@%@._%%# #/%/ % 4 , % /.%,@%@._%%# #/%/ % 5 , % /.%,@%@._%%# #/%/ % 6 , % /.%,@%@._%%# #/%/ % 7 , % /.%,@%@._%%# #/%/ % 8 , % /.%,@%@._%%# #/%/ % 9 , % /.%,@%@._%%# #/%/ % Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū started s3 process startup detected ____________________ test_sigkill_after_failed_sigterm[s1] _____________________ tcp_port = 49919, proc_name = 's1' xprocess = @pytest.mark.skipif( sys.platform == "win32", reason="on windows SIGTERM is treated as an alias for kill()", ) @pytest.mark.parametrize("proc_name", ["s1", "s2", "s3"]) def test_sigkill_after_failed_sigterm(tcp_port, proc_name, xprocess): # explicitly tell xprocess_starter fixture to make # server instance ignore SIGTERM class Starter(ProcessStarter): pattern = "started" args = [sys.executable, server_path, tcp_port, "--ignore-sigterm"] xprocess.ensure(proc_name, Starter) info = xprocess.getinfo(proc_name) # since terminate with sigterm will fail, set a lower # timeout before sending sigkill so tests won't take too long assert ( info.terminate(timeout=2) == 1 > or psutil.Process(info.pid).status() == psutil.STATUS_ZOMBIE ) tests/test_process_termination.py:79: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/psutil/__init__.py:317: in __init__ self._init(pid) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = psutil.Process(pid=1343266, status='terminated'), pid = 1343266 _ignore_nsp = False def _init(self, pid, _ignore_nsp=False): if pid is None: pid = os.getpid() else: if pid < 0: msg = f"pid must be a positive integer (got {pid})" raise ValueError(msg) try: _psplatform.cext.check_pid_range(pid) except OverflowError as err: msg = "process PID out of range" raise NoSuchProcess(pid, msg=msg) from err self._pid = pid self._name = None self._exe = None self._create_time = None self._gone = False self._pid_reused = False self._hash = None self._lock = threading.RLock() # used for caching on Windows only (on POSIX ppid may change) self._ppid = None # platform-specific modules define an _psplatform.Process # implementation class self._proc = _psplatform.Process(pid) self._last_sys_cpu_times = None self._last_proc_cpu_times = None self._exitcode = _SENTINEL self._ident = (self.pid, None) try: self._ident = self._get_ident() except AccessDenied: # This should happen on Windows only, since we use the fast # create time method. AFAIK, on all other platforms we are # able to get create time for all PIDs. pass except ZombieProcess: # Zombies can still be queried by this class (although # not always) and pids() return them so just go on. pass except NoSuchProcess: if not _ignore_nsp: msg = "process PID not found" > raise NoSuchProcess(pid, msg=msg) from None E psutil.NoSuchProcess: process PID not found (pid=1343266) /usr/lib/python3.12/site-packages/psutil/__init__.py:363: NoSuchProcess ----------------------------- Captured stdout call ----------------------------- /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/.pytest_cache/d/.xprocess/s1$ /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/.testenv/bin/python3 /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/tests/server.py 49919 --ignore-sigterm process 's1' started pid=1343266 0 , % /.%,@%@._%%# #/%/ % 1 , % /.%,@%@._%%# #/%/ % 2 , % /.%,@%@._%%# #/%/ % 3 , % /.%,@%@._%%# #/%/ % 4 , % /.%,@%@._%%# #/%/ % 5 , % /.%,@%@._%%# #/%/ % 6 , % /.%,@%@._%%# #/%/ % 7 , % /.%,@%@._%%# #/%/ % 8 , % /.%,@%@._%%# #/%/ % 9 , % /.%,@%@._%%# #/%/ % Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū started s1 process startup detected ____________________ test_sigkill_after_failed_sigterm[s2] _____________________ tcp_port = 54689, proc_name = 's2' xprocess = @pytest.mark.skipif( sys.platform == "win32", reason="on windows SIGTERM is treated as an alias for kill()", ) @pytest.mark.parametrize("proc_name", ["s1", "s2", "s3"]) def test_sigkill_after_failed_sigterm(tcp_port, proc_name, xprocess): # explicitly tell xprocess_starter fixture to make # server instance ignore SIGTERM class Starter(ProcessStarter): pattern = "started" args = [sys.executable, server_path, tcp_port, "--ignore-sigterm"] xprocess.ensure(proc_name, Starter) info = xprocess.getinfo(proc_name) # since terminate with sigterm will fail, set a lower # timeout before sending sigkill so tests won't take too long assert ( info.terminate(timeout=2) == 1 > or psutil.Process(info.pid).status() == psutil.STATUS_ZOMBIE ) tests/test_process_termination.py:79: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/psutil/__init__.py:317: in __init__ self._init(pid) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = psutil.Process(pid=1343374, status='terminated'), pid = 1343374 _ignore_nsp = False def _init(self, pid, _ignore_nsp=False): if pid is None: pid = os.getpid() else: if pid < 0: msg = f"pid must be a positive integer (got {pid})" raise ValueError(msg) try: _psplatform.cext.check_pid_range(pid) except OverflowError as err: msg = "process PID out of range" raise NoSuchProcess(pid, msg=msg) from err self._pid = pid self._name = None self._exe = None self._create_time = None self._gone = False self._pid_reused = False self._hash = None self._lock = threading.RLock() # used for caching on Windows only (on POSIX ppid may change) self._ppid = None # platform-specific modules define an _psplatform.Process # implementation class self._proc = _psplatform.Process(pid) self._last_sys_cpu_times = None self._last_proc_cpu_times = None self._exitcode = _SENTINEL self._ident = (self.pid, None) try: self._ident = self._get_ident() except AccessDenied: # This should happen on Windows only, since we use the fast # create time method. AFAIK, on all other platforms we are # able to get create time for all PIDs. pass except ZombieProcess: # Zombies can still be queried by this class (although # not always) and pids() return them so just go on. pass except NoSuchProcess: if not _ignore_nsp: msg = "process PID not found" > raise NoSuchProcess(pid, msg=msg) from None E psutil.NoSuchProcess: process PID not found (pid=1343374) /usr/lib/python3.12/site-packages/psutil/__init__.py:363: NoSuchProcess ----------------------------- Captured stdout call ----------------------------- /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/.pytest_cache/d/.xprocess/s2$ /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/.testenv/bin/python3 /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/tests/server.py 54689 --ignore-sigterm process 's2' started pid=1343374 0 , % /.%,@%@._%%# #/%/ % 1 , % /.%,@%@._%%# #/%/ % 2 , % /.%,@%@._%%# #/%/ % 3 , % /.%,@%@._%%# #/%/ % 4 , % /.%,@%@._%%# #/%/ % 5 , % /.%,@%@._%%# #/%/ % 6 , % /.%,@%@._%%# #/%/ % 7 , % /.%,@%@._%%# #/%/ % 8 , % /.%,@%@._%%# #/%/ % 9 , % /.%,@%@._%%# #/%/ % Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū started s2 process startup detected ____________________ test_sigkill_after_failed_sigterm[s3] _____________________ tcp_port = 43681, proc_name = 's3' xprocess = @pytest.mark.skipif( sys.platform == "win32", reason="on windows SIGTERM is treated as an alias for kill()", ) @pytest.mark.parametrize("proc_name", ["s1", "s2", "s3"]) def test_sigkill_after_failed_sigterm(tcp_port, proc_name, xprocess): # explicitly tell xprocess_starter fixture to make # server instance ignore SIGTERM class Starter(ProcessStarter): pattern = "started" args = [sys.executable, server_path, tcp_port, "--ignore-sigterm"] xprocess.ensure(proc_name, Starter) info = xprocess.getinfo(proc_name) # since terminate with sigterm will fail, set a lower # timeout before sending sigkill so tests won't take too long assert ( info.terminate(timeout=2) == 1 > or psutil.Process(info.pid).status() == psutil.STATUS_ZOMBIE ) tests/test_process_termination.py:79: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/psutil/__init__.py:317: in __init__ self._init(pid) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = psutil.Process(pid=1343624, status='terminated'), pid = 1343624 _ignore_nsp = False def _init(self, pid, _ignore_nsp=False): if pid is None: pid = os.getpid() else: if pid < 0: msg = f"pid must be a positive integer (got {pid})" raise ValueError(msg) try: _psplatform.cext.check_pid_range(pid) except OverflowError as err: msg = "process PID out of range" raise NoSuchProcess(pid, msg=msg) from err self._pid = pid self._name = None self._exe = None self._create_time = None self._gone = False self._pid_reused = False self._hash = None self._lock = threading.RLock() # used for caching on Windows only (on POSIX ppid may change) self._ppid = None # platform-specific modules define an _psplatform.Process # implementation class self._proc = _psplatform.Process(pid) self._last_sys_cpu_times = None self._last_proc_cpu_times = None self._exitcode = _SENTINEL self._ident = (self.pid, None) try: self._ident = self._get_ident() except AccessDenied: # This should happen on Windows only, since we use the fast # create time method. AFAIK, on all other platforms we are # able to get create time for all PIDs. pass except ZombieProcess: # Zombies can still be queried by this class (although # not always) and pids() return them so just go on. pass except NoSuchProcess: if not _ignore_nsp: msg = "process PID not found" > raise NoSuchProcess(pid, msg=msg) from None E psutil.NoSuchProcess: process PID not found (pid=1343624) /usr/lib/python3.12/site-packages/psutil/__init__.py:363: NoSuchProcess ----------------------------- Captured stdout call ----------------------------- /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/.pytest_cache/d/.xprocess/s3$ /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/.testenv/bin/python3 /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/tests/server.py 43681 --ignore-sigterm process 's3' started pid=1343624 0 , % /.%,@%@._%%# #/%/ % 1 , % /.%,@%@._%%# #/%/ % 2 , % /.%,@%@._%%# #/%/ % 3 , % /.%,@%@._%%# #/%/ % 4 , % /.%,@%@._%%# #/%/ % 5 , % /.%,@%@._%%# #/%/ % 6 , % /.%,@%@._%%# #/%/ % 7 , % /.%,@%@._%%# #/%/ % 8 , % /.%,@%@._%%# #/%/ % 9 , % /.%,@%@._%%# #/%/ % Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū started s3 process startup detected _______________________ test_return_value_on_failure[s1] _______________________ tcp_port = 55577, proc_name = 's1' xprocess = @pytest.mark.parametrize("proc_name", ["s1", "s2", "s3"]) def test_return_value_on_failure(tcp_port, proc_name, xprocess): class Starter(ProcessStarter): pattern = "started" args = [sys.executable, server_path, tcp_port] xprocess.ensure(proc_name, Starter) info = xprocess.getinfo(proc_name) > assert info.terminate(timeout=-1) == -1 E assert 0 == -1 E + where 0 = terminate(timeout=-1) E + where terminate = .terminate tests/test_process_termination.py:91: AssertionError ----------------------------- Captured stdout call ----------------------------- /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/.pytest_cache/d/.xprocess/s1$ /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/.testenv/bin/python3 /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/tests/server.py 55577 process 's1' started pid=1343698 0 , % /.%,@%@._%%# #/%/ % 1 , % /.%,@%@._%%# #/%/ % 2 , % /.%,@%@._%%# #/%/ % 3 , % /.%,@%@._%%# #/%/ % 4 , % /.%,@%@._%%# #/%/ % 5 , % /.%,@%@._%%# #/%/ % 6 , % /.%,@%@._%%# #/%/ % 7 , % /.%,@%@._%%# #/%/ % 8 , % /.%,@%@._%%# #/%/ % 9 , % /.%,@%@._%%# #/%/ % Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū started s1 process startup detected _______________________ test_return_value_on_failure[s2] _______________________ tcp_port = 53031, proc_name = 's2' xprocess = @pytest.mark.parametrize("proc_name", ["s1", "s2", "s3"]) def test_return_value_on_failure(tcp_port, proc_name, xprocess): class Starter(ProcessStarter): pattern = "started" args = [sys.executable, server_path, tcp_port] xprocess.ensure(proc_name, Starter) info = xprocess.getinfo(proc_name) > assert info.terminate(timeout=-1) == -1 E assert 0 == -1 E + where 0 = terminate(timeout=-1) E + where terminate = .terminate tests/test_process_termination.py:91: AssertionError ----------------------------- Captured stdout call ----------------------------- /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/.pytest_cache/d/.xprocess/s2$ /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/.testenv/bin/python3 /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/tests/server.py 53031 process 's2' started pid=1343791 0 , % /.%,@%@._%%# #/%/ % 1 , % /.%,@%@._%%# #/%/ % 2 , % /.%,@%@._%%# #/%/ % 3 , % /.%,@%@._%%# #/%/ % 4 , % /.%,@%@._%%# #/%/ % 5 , % /.%,@%@._%%# #/%/ % 6 , % /.%,@%@._%%# #/%/ % 7 , % /.%,@%@._%%# #/%/ % 8 , % /.%,@%@._%%# #/%/ % 9 , % /.%,@%@._%%# #/%/ % Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū started s2 process startup detected _______________________ test_return_value_on_failure[s3] _______________________ tcp_port = 35331, proc_name = 's3' xprocess = @pytest.mark.parametrize("proc_name", ["s1", "s2", "s3"]) def test_return_value_on_failure(tcp_port, proc_name, xprocess): class Starter(ProcessStarter): pattern = "started" args = [sys.executable, server_path, tcp_port] xprocess.ensure(proc_name, Starter) info = xprocess.getinfo(proc_name) > assert info.terminate(timeout=-1) == -1 E assert 0 == -1 E + where 0 = terminate(timeout=-1) E + where terminate = .terminate tests/test_process_termination.py:91: AssertionError ----------------------------- Captured stdout call ----------------------------- /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/.pytest_cache/d/.xprocess/s3$ /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/.testenv/bin/python3 /home/udu/aports/community/py3-pytest-xprocess/src/pytest-xprocess-0.23.0/tests/server.py 35331 process 's3' started pid=1343800 0 , % /.%,@%@._%%# #/%/ % 1 , % /.%,@%@._%%# #/%/ % 2 , % /.%,@%@._%%# #/%/ % 3 , % /.%,@%@._%%# #/%/ % 4 , % /.%,@%@._%%# #/%/ % 5 , % /.%,@%@._%%# #/%/ % 6 , % /.%,@%@._%%# #/%/ % 7 , % /.%,@%@._%%# #/%/ % 8 , % /.%,@%@._%%# #/%/ % 9 , % /.%,@%@._%%# #/%/ % Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū Ê�æ�pP��çîöē�P��adåráøū started s3 process startup detected =========================== short test summary info ============================ FAILED tests/test_callback.py::test_callback_success[s1] - assert False FAILED tests/test_callback.py::test_callback_success[s2] - assert False FAILED tests/test_callback.py::test_callback_success[s3] - assert False FAILED tests/test_functional_workflow.py::test_functional_work_flow - Failed:... FAILED tests/test_interruption_clean_up.py::test_interruption_does_not_cleanup FAILED tests/test_process_initialization.py::test_servers_start[s1] - assert ... FAILED tests/test_process_initialization.py::test_servers_start[s2] - assert ... FAILED tests/test_process_initialization.py::test_servers_start[s3] - assert ... FAILED tests/test_process_initialization.py::test_ensure_not_restart[s1] - Ti... FAILED tests/test_process_initialization.py::test_ensure_not_restart[s2] - Ti... FAILED tests/test_process_initialization.py::test_ensure_not_restart[s3] - Ti... FAILED tests/test_process_initialization.py::test_startup_detection_max_read_lines[s1-started-21] FAILED tests/test_process_initialization.py::test_startup_detection_max_read_lines[s2-spam, bacon, eggs-30] FAILED tests/test_process_initialization.py::test_startup_detection_max_read_lines[s3-finally started-130] FAILED tests/test_process_initialization.py::test_popen_kwargs[s1] - assert F... FAILED tests/test_process_initialization.py::test_popen_kwargs[s2] - assert F... FAILED tests/test_process_initialization.py::test_popen_kwargs[s3] - assert F... FAILED tests/test_process_termination.py::test_clean_shutdown[s1] - assert False FAILED tests/test_process_termination.py::test_clean_shutdown[s2] - assert False FAILED tests/test_process_termination.py::test_clean_shutdown[s3] - assert False FAILED tests/test_process_termination.py::test_terminate_only_parent[s1] - ps... FAILED tests/test_process_termination.py::test_terminate_only_parent[s2] - ps... FAILED tests/test_process_termination.py::test_terminate_only_parent[s3] - ps... FAILED tests/test_process_termination.py::test_sigkill_after_failed_sigterm[s1] FAILED tests/test_process_termination.py::test_sigkill_after_failed_sigterm[s2] FAILED tests/test_process_termination.py::test_sigkill_after_failed_sigterm[s3] FAILED tests/test_process_termination.py::test_return_value_on_failure[s1] - ... FAILED tests/test_process_termination.py::test_return_value_on_failure[s2] - ... FAILED tests/test_process_termination.py::test_return_value_on_failure[s3] - ... ================== 29 failed, 16 passed in 390.29s (0:06:30) ===================