>>> py3-autopage: Building community/py3-autopage 0.5.2-r1 (using abuild 3.15.0-r0) started Sun, 12 Oct 2025 15:29:45 +0000 >>> py3-autopage: Validating /home/udu/aports/community/py3-autopage/APKBUILD... >>> py3-autopage: Analyzing dependencies... >>> py3-autopage: Installing for build: build-base py3-gpep517 py3-setuptools py3-wheel py3-fixtures py3-pytest py3-testtools 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/39) Installing py3-installer-pyc (0.7.0-r2) (2/39) Installing py3-gpep517-pyc (19-r0) (3/39) Installing py3-installer (0.7.0-r2) (4/39) Installing py3-gpep517 (19-r0) (5/39) Installing py3-parsing (3.2.3-r0) (6/39) Installing py3-parsing-pyc (3.2.3-r0) (7/39) Installing py3-packaging (25.0-r0) (8/39) Installing py3-packaging-pyc (25.0-r0) (9/39) Installing py3-setuptools (80.9.0-r0) (10/39) Installing py3-setuptools-pyc (80.9.0-r0) (11/39) Installing py3-wheel (0.46.1-r0) (12/39) Installing py3-wheel-pyc (0.46.1-r0) (13/39) Installing py3-pbr (5.11.1-r5) (14/39) Installing py3-pbr-pyc (5.11.1-r5) (15/39) Installing py3-fixtures (4.2.2-r0) (16/39) Installing py3-fixtures-pyc (4.2.2-r0) (17/39) Installing py3-iniconfig (2.1.0-r0) (18/39) Installing py3-iniconfig-pyc (2.1.0-r0) (19/39) Installing py3-pluggy (1.5.0-r0) (20/39) Installing py3-pluggy-pyc (1.5.0-r0) (21/39) Installing py3-py (1.11.0-r4) (22/39) Installing py3-py-pyc (1.11.0-r4) (23/39) Installing py3-pytest (8.3.5-r0) (24/39) Installing py3-pytest-pyc (8.3.5-r0) (25/39) Installing py3-editables (0.5-r2) (26/39) Installing py3-editables-pyc (0.5-r2) (27/39) Installing py3-pathspec (0.12.1-r2) (28/39) Installing py3-pathspec-pyc (0.12.1-r2) (29/39) Installing py3-trove-classifiers (2025.9.11.17-r0) (30/39) Installing py3-trove-classifiers-pyc (2025.9.11.17-r0) (31/39) Installing py3-hatchling (1.27.0-r0) (32/39) Installing py3-hatchling-pyc (1.27.0-r0) (33/39) Installing py3-setuptools_scm (8.3.1-r0) (34/39) Installing py3-setuptools_scm-pyc (8.3.1-r0) (35/39) Installing py3-hatch-vcs (0.4.0-r2) (36/39) Installing py3-hatch-vcs-pyc (0.4.0-r2) (37/39) Installing py3-testtools (2.7.2-r0) (38/39) Installing py3-testtools-pyc (2.7.2-r0) (39/39) Installing .makedepends-py3-autopage (20251012.152946) Executing busybox-1.37.0-r19.trigger OK: 314 MiB in 128 packages >>> py3-autopage: Cleaning up srcdir >>> py3-autopage: Cleaning up pkgdir >>> py3-autopage: Cleaning up tmpdir >>> py3-autopage: Fetching https://pypi.python.org/packages/source/a/autopage/autopage-0.5.2.tar.gz >>> py3-autopage: Fetching https://pypi.python.org/packages/source/a/autopage/autopage-0.5.2.tar.gz >>> py3-autopage: Checking sha512sums... autopage-0.5.2.tar.gz: OK >>> py3-autopage: Unpacking /var/cache/distfiles/autopage-0.5.2.tar.gz... 2025-10-12 15:29:47,056 gpep517 INFO Building wheel via backend setuptools.build_meta /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 License :: OSI Approved :: Apache Software License See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! self._finalize_license_expression() 2025-10-12 15:29:47,072 root INFO running bdist_wheel 2025-10-12 15:29:47,083 root INFO running build 2025-10-12 15:29:47,083 root INFO running build_py 2025-10-12 15:29:47,085 root INFO creating build/lib/autopage 2025-10-12 15:29:47,085 root INFO copying autopage/argparse.py -> build/lib/autopage 2025-10-12 15:29:47,085 root INFO copying autopage/__init__.py -> build/lib/autopage 2025-10-12 15:29:47,085 root INFO copying autopage/command.py -> build/lib/autopage 2025-10-12 15:29:47,086 root INFO creating build/lib/autopage/tests 2025-10-12 15:29:47,086 root INFO copying autopage/tests/sinks.py -> build/lib/autopage/tests 2025-10-12 15:29:47,086 root INFO copying autopage/tests/test_argparse.py -> build/lib/autopage/tests 2025-10-12 15:29:47,086 root INFO copying autopage/tests/test_pager_settings.py -> build/lib/autopage/tests 2025-10-12 15:29:47,086 root INFO copying autopage/tests/test_end_to_end.py -> build/lib/autopage/tests 2025-10-12 15:29:47,086 root INFO copying autopage/tests/test_command.py -> build/lib/autopage/tests 2025-10-12 15:29:47,086 root INFO copying autopage/tests/test_autopage.py -> build/lib/autopage/tests 2025-10-12 15:29:47,086 root INFO copying autopage/tests/isolation.py -> build/lib/autopage/tests 2025-10-12 15:29:47,086 root INFO copying autopage/tests/__init__.py -> build/lib/autopage/tests 2025-10-12 15:29:47,086 root INFO copying autopage/tests/test_line_buffer_from_input.py -> build/lib/autopage/tests 2025-10-12 15:29:47,087 root INFO copying autopage/py.typed -> build/lib/autopage 2025-10-12 15:29:47,090 root INFO installing to build/bdist.linux-x86_64/wheel 2025-10-12 15:29:47,091 root INFO running install 2025-10-12 15:29:47,095 root INFO running install_lib 2025-10-12 15:29:47,097 root INFO creating build/bdist.linux-x86_64/wheel 2025-10-12 15:29:47,097 root INFO creating build/bdist.linux-x86_64/wheel/autopage 2025-10-12 15:29:47,097 root INFO copying build/lib/autopage/py.typed -> build/bdist.linux-x86_64/wheel/./autopage 2025-10-12 15:29:47,097 root INFO copying build/lib/autopage/argparse.py -> build/bdist.linux-x86_64/wheel/./autopage 2025-10-12 15:29:47,097 root INFO copying build/lib/autopage/__init__.py -> build/bdist.linux-x86_64/wheel/./autopage 2025-10-12 15:29:47,097 root INFO creating build/bdist.linux-x86_64/wheel/autopage/tests 2025-10-12 15:29:47,097 root INFO copying build/lib/autopage/tests/sinks.py -> build/bdist.linux-x86_64/wheel/./autopage/tests 2025-10-12 15:29:47,097 root INFO copying build/lib/autopage/tests/test_argparse.py -> build/bdist.linux-x86_64/wheel/./autopage/tests 2025-10-12 15:29:47,097 root INFO copying build/lib/autopage/tests/test_pager_settings.py -> build/bdist.linux-x86_64/wheel/./autopage/tests 2025-10-12 15:29:47,097 root INFO copying build/lib/autopage/tests/test_end_to_end.py -> build/bdist.linux-x86_64/wheel/./autopage/tests 2025-10-12 15:29:47,097 root INFO copying build/lib/autopage/tests/test_command.py -> build/bdist.linux-x86_64/wheel/./autopage/tests 2025-10-12 15:29:47,098 root INFO copying build/lib/autopage/tests/test_autopage.py -> build/bdist.linux-x86_64/wheel/./autopage/tests 2025-10-12 15:29:47,098 root INFO copying build/lib/autopage/tests/isolation.py -> build/bdist.linux-x86_64/wheel/./autopage/tests 2025-10-12 15:29:47,098 root INFO copying build/lib/autopage/tests/__init__.py -> build/bdist.linux-x86_64/wheel/./autopage/tests 2025-10-12 15:29:47,098 root INFO copying build/lib/autopage/tests/test_line_buffer_from_input.py -> build/bdist.linux-x86_64/wheel/./autopage/tests 2025-10-12 15:29:47,098 root INFO copying build/lib/autopage/command.py -> build/bdist.linux-x86_64/wheel/./autopage 2025-10-12 15:29:47,098 root INFO running install_egg_info 2025-10-12 15:29:47,100 root INFO running egg_info /usr/lib/python3.12/site-packages/pbr/git.py:28: UserWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html. The pkg_resources package is slated for removal as early as 2025-11-30. Refrain from using this package or pin to Setuptools<81. import pkg_resources 2025-10-12 15:29:47,111 root INFO writing autopage.egg-info/PKG-INFO 2025-10-12 15:29:47,111 root INFO writing dependency_links to autopage.egg-info/dependency_links.txt 2025-10-12 15:29:47,111 root INFO writing top-level names to autopage.egg-info/top_level.txt ERROR setuptools_scm._file_finders.git listing git files failed - pretending there aren't any 2025-10-12 15:29:47,119 root INFO reading manifest file 'autopage.egg-info/SOURCES.txt' 2025-10-12 15:29:47,121 root INFO reading manifest template 'MANIFEST.in' 2025-10-12 15:29:47,128 root INFO adding license file 'LICENSE' 2025-10-12 15:29:47,130 root INFO writing manifest file 'autopage.egg-info/SOURCES.txt' 2025-10-12 15:29:47,130 root INFO Copying autopage.egg-info to build/bdist.linux-x86_64/wheel/./autopage-0.5.2-py3.12.egg-info 2025-10-12 15:29:47,130 root INFO running install_scripts 2025-10-12 15:29:47,131 root INFO creating build/bdist.linux-x86_64/wheel/autopage-0.5.2.dist-info/WHEEL 2025-10-12 15:29:47,132 wheel INFO creating '/home/udu/aports/community/py3-autopage/src/autopage-0.5.2/.dist/.tmp-vvcspifk/autopage-0.5.2-py3-none-any.whl' and adding 'build/bdist.linux-x86_64/wheel' to it 2025-10-12 15:29:47,132 wheel INFO adding 'autopage/__init__.py' 2025-10-12 15:29:47,132 wheel INFO adding 'autopage/argparse.py' 2025-10-12 15:29:47,133 wheel INFO adding 'autopage/command.py' 2025-10-12 15:29:47,133 wheel INFO adding 'autopage/py.typed' 2025-10-12 15:29:47,133 wheel INFO adding 'autopage/tests/__init__.py' 2025-10-12 15:29:47,133 wheel INFO adding 'autopage/tests/isolation.py' 2025-10-12 15:29:47,133 wheel INFO adding 'autopage/tests/sinks.py' 2025-10-12 15:29:47,133 wheel INFO adding 'autopage/tests/test_argparse.py' 2025-10-12 15:29:47,134 wheel INFO adding 'autopage/tests/test_autopage.py' 2025-10-12 15:29:47,134 wheel INFO adding 'autopage/tests/test_command.py' 2025-10-12 15:29:47,134 wheel INFO adding 'autopage/tests/test_end_to_end.py' 2025-10-12 15:29:47,134 wheel INFO adding 'autopage/tests/test_line_buffer_from_input.py' 2025-10-12 15:29:47,134 wheel INFO adding 'autopage/tests/test_pager_settings.py' 2025-10-12 15:29:47,135 wheel INFO adding 'autopage-0.5.2.dist-info/licenses/LICENSE' 2025-10-12 15:29:47,135 wheel INFO adding 'autopage-0.5.2.dist-info/METADATA' 2025-10-12 15:29:47,135 wheel INFO adding 'autopage-0.5.2.dist-info/WHEEL' 2025-10-12 15:29:47,135 wheel INFO adding 'autopage-0.5.2.dist-info/top_level.txt' 2025-10-12 15:29:47,135 wheel INFO adding 'autopage-0.5.2.dist-info/RECORD' 2025-10-12 15:29:47,135 root INFO removing build/bdist.linux-x86_64/wheel 2025-10-12 15:29:47,136 gpep517 INFO The backend produced .dist/autopage-0.5.2-py3-none-any.whl autopage-0.5.2-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-autopage/src/autopage-0.5.2 configfile: pyproject.toml collected 153 items / 17 deselected / 136 selected autopage/tests/test_argparse.py ...... [ 4%] autopage/tests/test_autopage.py FFFFFFFF.F.....F......F......FFFF....... [ 33%] autopage/tests/test_command.py .............................................................................. [ 91%] autopage/tests/test_line_buffer_from_input.py .F.F [ 94%] autopage/tests/test_pager_settings.py ........ [100%] ================================================================================================================================================== FAILURES ================================================================================================================================================== _______________________________________________________________________________________________________________________________________ PagedStreamTest.test_defaults ________________________________________________________________________________________________________________________________________ self = def setUp(self): """Prepare the Fixture for use. This should not be overridden. Concrete fixtures should implement _setUp. Overriding of setUp is still supported, just not recommended. After setUp has completed, the fixture will have one or more attributes which can be used (these depend totally on the concrete subclass). :raises: MultipleExceptions if _setUp fails. The last exception captured within the MultipleExceptions will be a SetupError exception. :return: None. :changed in 1.3: The recommendation to override setUp has been reversed - before 1.3, setUp() should be overridden, now it should not be. :changed in 1.3.1: BaseException is now caught, and only subclasses of Exception are wrapped in MultipleExceptions. """ self._clear_cleanups() try: > self._setUp() /usr/lib/python3.12/site-packages/fixtures/fixture.py:196: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ autopage/tests/sinks.py:25: in _setUp self._k, term = pty.openpty() /usr/lib/python3.12/pty.py:34: in openpty master_fd, slave_name = _open_terminal() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def _open_terminal(): """Open pty master and return (master_fd, tty_name).""" for x in 'pqrstuvwxyzPQRST': for y in '0123456789abcdef': pty_name = '/dev/pty' + x + y try: fd = os.open(pty_name, os.O_RDWR) except OSError: continue return (fd, '/dev/tty' + x + y) > raise OSError('out of pty devices') E OSError: out of pty devices /usr/lib/python3.12/pty.py:67: OSError During handling of the above exception, another exception occurred: self = def setUp(self) -> None: out = sinks.TTYFixture() > self.useFixture(out) autopage/tests/test_autopage.py:34: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/fixtures/testcase.py:48: in useFixture fixture.setUp() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def setUp(self): """Prepare the Fixture for use. This should not be overridden. Concrete fixtures should implement _setUp. Overriding of setUp is still supported, just not recommended. After setUp has completed, the fixture will have one or more attributes which can be used (these depend totally on the concrete subclass). :raises: MultipleExceptions if _setUp fails. The last exception captured within the MultipleExceptions will be a SetupError exception. :return: None. :changed in 1.3: The recommendation to override setUp has been reversed - before 1.3, setUp() should be overridden, now it should not be. :changed in 1.3.1: BaseException is now caught, and only subclasses of Exception are wrapped in MultipleExceptions. """ self._clear_cleanups() try: self._setUp() except BaseException: err = sys.exc_info() details = {} if gather_details is not None: # Materialise all details since we're about to cleanup. gather_details(self.getDetails(), details) else: details = self.getDetails() errors = [err] + self.cleanUp(raise_first=False) try: raise SetupError(details) except SetupError: errors.append(sys.exc_info()) if issubclass(err[0], Exception): > raise MultipleExceptions(*errors) E testtools.runtest.MultipleExceptions: ((, OSError('out of pty devices'), ), (, SetupError({}), )) /usr/lib/python3.12/site-packages/fixtures/fixture.py:211: MultipleExceptions _________________________________________________________________________________________________________________________________ PagedStreamTest.test_defaults_cmd_as_class _________________________________________________________________________________________________________________________________ self = def setUp(self): """Prepare the Fixture for use. This should not be overridden. Concrete fixtures should implement _setUp. Overriding of setUp is still supported, just not recommended. After setUp has completed, the fixture will have one or more attributes which can be used (these depend totally on the concrete subclass). :raises: MultipleExceptions if _setUp fails. The last exception captured within the MultipleExceptions will be a SetupError exception. :return: None. :changed in 1.3: The recommendation to override setUp has been reversed - before 1.3, setUp() should be overridden, now it should not be. :changed in 1.3.1: BaseException is now caught, and only subclasses of Exception are wrapped in MultipleExceptions. """ self._clear_cleanups() try: > self._setUp() /usr/lib/python3.12/site-packages/fixtures/fixture.py:196: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ autopage/tests/sinks.py:25: in _setUp self._k, term = pty.openpty() /usr/lib/python3.12/pty.py:34: in openpty master_fd, slave_name = _open_terminal() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def _open_terminal(): """Open pty master and return (master_fd, tty_name).""" for x in 'pqrstuvwxyzPQRST': for y in '0123456789abcdef': pty_name = '/dev/pty' + x + y try: fd = os.open(pty_name, os.O_RDWR) except OSError: continue return (fd, '/dev/tty' + x + y) > raise OSError('out of pty devices') E OSError: out of pty devices /usr/lib/python3.12/pty.py:67: OSError During handling of the above exception, another exception occurred: self = def setUp(self) -> None: out = sinks.TTYFixture() > self.useFixture(out) autopage/tests/test_autopage.py:34: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/fixtures/testcase.py:48: in useFixture fixture.setUp() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def setUp(self): """Prepare the Fixture for use. This should not be overridden. Concrete fixtures should implement _setUp. Overriding of setUp is still supported, just not recommended. After setUp has completed, the fixture will have one or more attributes which can be used (these depend totally on the concrete subclass). :raises: MultipleExceptions if _setUp fails. The last exception captured within the MultipleExceptions will be a SetupError exception. :return: None. :changed in 1.3: The recommendation to override setUp has been reversed - before 1.3, setUp() should be overridden, now it should not be. :changed in 1.3.1: BaseException is now caught, and only subclasses of Exception are wrapped in MultipleExceptions. """ self._clear_cleanups() try: self._setUp() except BaseException: err = sys.exc_info() details = {} if gather_details is not None: # Materialise all details since we're about to cleanup. gather_details(self.getDetails(), details) else: details = self.getDetails() errors = [err] + self.cleanUp(raise_first=False) try: raise SetupError(details) except SetupError: errors.append(sys.exc_info()) if issubclass(err[0], Exception): > raise MultipleExceptions(*errors) E testtools.runtest.MultipleExceptions: ((, OSError('out of pty devices'), ), (, SetupError({}), )) /usr/lib/python3.12/site-packages/fixtures/fixture.py:211: MultipleExceptions __________________________________________________________________________________________________________________________________ PagedStreamTest.test_defaults_cmd_as_int __________________________________________________________________________________________________________________________________ self = def setUp(self): """Prepare the Fixture for use. This should not be overridden. Concrete fixtures should implement _setUp. Overriding of setUp is still supported, just not recommended. After setUp has completed, the fixture will have one or more attributes which can be used (these depend totally on the concrete subclass). :raises: MultipleExceptions if _setUp fails. The last exception captured within the MultipleExceptions will be a SetupError exception. :return: None. :changed in 1.3: The recommendation to override setUp has been reversed - before 1.3, setUp() should be overridden, now it should not be. :changed in 1.3.1: BaseException is now caught, and only subclasses of Exception are wrapped in MultipleExceptions. """ self._clear_cleanups() try: > self._setUp() /usr/lib/python3.12/site-packages/fixtures/fixture.py:196: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ autopage/tests/sinks.py:25: in _setUp self._k, term = pty.openpty() /usr/lib/python3.12/pty.py:34: in openpty master_fd, slave_name = _open_terminal() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def _open_terminal(): """Open pty master and return (master_fd, tty_name).""" for x in 'pqrstuvwxyzPQRST': for y in '0123456789abcdef': pty_name = '/dev/pty' + x + y try: fd = os.open(pty_name, os.O_RDWR) except OSError: continue return (fd, '/dev/tty' + x + y) > raise OSError('out of pty devices') E OSError: out of pty devices /usr/lib/python3.12/pty.py:67: OSError During handling of the above exception, another exception occurred: self = def setUp(self) -> None: out = sinks.TTYFixture() > self.useFixture(out) autopage/tests/test_autopage.py:34: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/fixtures/testcase.py:48: in useFixture fixture.setUp() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def setUp(self): """Prepare the Fixture for use. This should not be overridden. Concrete fixtures should implement _setUp. Overriding of setUp is still supported, just not recommended. After setUp has completed, the fixture will have one or more attributes which can be used (these depend totally on the concrete subclass). :raises: MultipleExceptions if _setUp fails. The last exception captured within the MultipleExceptions will be a SetupError exception. :return: None. :changed in 1.3: The recommendation to override setUp has been reversed - before 1.3, setUp() should be overridden, now it should not be. :changed in 1.3.1: BaseException is now caught, and only subclasses of Exception are wrapped in MultipleExceptions. """ self._clear_cleanups() try: self._setUp() except BaseException: err = sys.exc_info() details = {} if gather_details is not None: # Materialise all details since we're about to cleanup. gather_details(self.getDetails(), details) else: details = self.getDetails() errors = [err] + self.cleanUp(raise_first=False) try: raise SetupError(details) except SetupError: errors.append(sys.exc_info()) if issubclass(err[0], Exception): > raise MultipleExceptions(*errors) E testtools.runtest.MultipleExceptions: ((, OSError('out of pty devices'), ), (, SetupError({}), )) /usr/lib/python3.12/site-packages/fixtures/fixture.py:211: MultipleExceptions ________________________________________________________________________________________________________________________________ PagedStreamTest.test_defaults_cmd_as_string _________________________________________________________________________________________________________________________________ self = def setUp(self): """Prepare the Fixture for use. This should not be overridden. Concrete fixtures should implement _setUp. Overriding of setUp is still supported, just not recommended. After setUp has completed, the fixture will have one or more attributes which can be used (these depend totally on the concrete subclass). :raises: MultipleExceptions if _setUp fails. The last exception captured within the MultipleExceptions will be a SetupError exception. :return: None. :changed in 1.3: The recommendation to override setUp has been reversed - before 1.3, setUp() should be overridden, now it should not be. :changed in 1.3.1: BaseException is now caught, and only subclasses of Exception are wrapped in MultipleExceptions. """ self._clear_cleanups() try: > self._setUp() /usr/lib/python3.12/site-packages/fixtures/fixture.py:196: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ autopage/tests/sinks.py:25: in _setUp self._k, term = pty.openpty() /usr/lib/python3.12/pty.py:34: in openpty master_fd, slave_name = _open_terminal() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def _open_terminal(): """Open pty master and return (master_fd, tty_name).""" for x in 'pqrstuvwxyzPQRST': for y in '0123456789abcdef': pty_name = '/dev/pty' + x + y try: fd = os.open(pty_name, os.O_RDWR) except OSError: continue return (fd, '/dev/tty' + x + y) > raise OSError('out of pty devices') E OSError: out of pty devices /usr/lib/python3.12/pty.py:67: OSError During handling of the above exception, another exception occurred: self = def setUp(self) -> None: out = sinks.TTYFixture() > self.useFixture(out) autopage/tests/test_autopage.py:34: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/fixtures/testcase.py:48: in useFixture fixture.setUp() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def setUp(self): """Prepare the Fixture for use. This should not be overridden. Concrete fixtures should implement _setUp. Overriding of setUp is still supported, just not recommended. After setUp has completed, the fixture will have one or more attributes which can be used (these depend totally on the concrete subclass). :raises: MultipleExceptions if _setUp fails. The last exception captured within the MultipleExceptions will be a SetupError exception. :return: None. :changed in 1.3: The recommendation to override setUp has been reversed - before 1.3, setUp() should be overridden, now it should not be. :changed in 1.3.1: BaseException is now caught, and only subclasses of Exception are wrapped in MultipleExceptions. """ self._clear_cleanups() try: self._setUp() except BaseException: err = sys.exc_info() details = {} if gather_details is not None: # Materialise all details since we're about to cleanup. gather_details(self.getDetails(), details) else: details = self.getDetails() errors = [err] + self.cleanUp(raise_first=False) try: raise SetupError(details) except SetupError: errors.append(sys.exc_info()) if issubclass(err[0], Exception): > raise MultipleExceptions(*errors) E testtools.runtest.MultipleExceptions: ((, OSError('out of pty devices'), ), (, SetupError({}), )) /usr/lib/python3.12/site-packages/fixtures/fixture.py:211: MultipleExceptions ________________________________________________________________________________________________________________________________________ PagedStreamTest.test_errors _________________________________________________________________________________________________________________________________________ self = def setUp(self): """Prepare the Fixture for use. This should not be overridden. Concrete fixtures should implement _setUp. Overriding of setUp is still supported, just not recommended. After setUp has completed, the fixture will have one or more attributes which can be used (these depend totally on the concrete subclass). :raises: MultipleExceptions if _setUp fails. The last exception captured within the MultipleExceptions will be a SetupError exception. :return: None. :changed in 1.3: The recommendation to override setUp has been reversed - before 1.3, setUp() should be overridden, now it should not be. :changed in 1.3.1: BaseException is now caught, and only subclasses of Exception are wrapped in MultipleExceptions. """ self._clear_cleanups() try: > self._setUp() /usr/lib/python3.12/site-packages/fixtures/fixture.py:196: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ autopage/tests/sinks.py:25: in _setUp self._k, term = pty.openpty() /usr/lib/python3.12/pty.py:34: in openpty master_fd, slave_name = _open_terminal() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def _open_terminal(): """Open pty master and return (master_fd, tty_name).""" for x in 'pqrstuvwxyzPQRST': for y in '0123456789abcdef': pty_name = '/dev/pty' + x + y try: fd = os.open(pty_name, os.O_RDWR) except OSError: continue return (fd, '/dev/tty' + x + y) > raise OSError('out of pty devices') E OSError: out of pty devices /usr/lib/python3.12/pty.py:67: OSError During handling of the above exception, another exception occurred: self = def setUp(self) -> None: out = sinks.TTYFixture() > self.useFixture(out) autopage/tests/test_autopage.py:34: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/fixtures/testcase.py:48: in useFixture fixture.setUp() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def setUp(self): """Prepare the Fixture for use. This should not be overridden. Concrete fixtures should implement _setUp. Overriding of setUp is still supported, just not recommended. After setUp has completed, the fixture will have one or more attributes which can be used (these depend totally on the concrete subclass). :raises: MultipleExceptions if _setUp fails. The last exception captured within the MultipleExceptions will be a SetupError exception. :return: None. :changed in 1.3: The recommendation to override setUp has been reversed - before 1.3, setUp() should be overridden, now it should not be. :changed in 1.3.1: BaseException is now caught, and only subclasses of Exception are wrapped in MultipleExceptions. """ self._clear_cleanups() try: self._setUp() except BaseException: err = sys.exc_info() details = {} if gather_details is not None: # Materialise all details since we're about to cleanup. gather_details(self.getDetails(), details) else: details = self.getDetails() errors = [err] + self.cleanUp(raise_first=False) try: raise SetupError(details) except SetupError: errors.append(sys.exc_info()) if issubclass(err[0], Exception): > raise MultipleExceptions(*errors) E testtools.runtest.MultipleExceptions: ((, OSError('out of pty devices'), ), (, SetupError({}), )) /usr/lib/python3.12/site-packages/fixtures/fixture.py:211: MultipleExceptions ________________________________________________________________________________________________________________________________ PagedStreamTest.test_explicit_stdout_stream _________________________________________________________________________________________________________________________________ self = def setUp(self): """Prepare the Fixture for use. This should not be overridden. Concrete fixtures should implement _setUp. Overriding of setUp is still supported, just not recommended. After setUp has completed, the fixture will have one or more attributes which can be used (these depend totally on the concrete subclass). :raises: MultipleExceptions if _setUp fails. The last exception captured within the MultipleExceptions will be a SetupError exception. :return: None. :changed in 1.3: The recommendation to override setUp has been reversed - before 1.3, setUp() should be overridden, now it should not be. :changed in 1.3.1: BaseException is now caught, and only subclasses of Exception are wrapped in MultipleExceptions. """ self._clear_cleanups() try: > self._setUp() /usr/lib/python3.12/site-packages/fixtures/fixture.py:196: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ autopage/tests/sinks.py:25: in _setUp self._k, term = pty.openpty() /usr/lib/python3.12/pty.py:34: in openpty master_fd, slave_name = _open_terminal() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def _open_terminal(): """Open pty master and return (master_fd, tty_name).""" for x in 'pqrstuvwxyzPQRST': for y in '0123456789abcdef': pty_name = '/dev/pty' + x + y try: fd = os.open(pty_name, os.O_RDWR) except OSError: continue return (fd, '/dev/tty' + x + y) > raise OSError('out of pty devices') E OSError: out of pty devices /usr/lib/python3.12/pty.py:67: OSError During handling of the above exception, another exception occurred: self = def setUp(self) -> None: out = sinks.TTYFixture() > self.useFixture(out) autopage/tests/test_autopage.py:34: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/fixtures/testcase.py:48: in useFixture fixture.setUp() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def setUp(self): """Prepare the Fixture for use. This should not be overridden. Concrete fixtures should implement _setUp. Overriding of setUp is still supported, just not recommended. After setUp has completed, the fixture will have one or more attributes which can be used (these depend totally on the concrete subclass). :raises: MultipleExceptions if _setUp fails. The last exception captured within the MultipleExceptions will be a SetupError exception. :return: None. :changed in 1.3: The recommendation to override setUp has been reversed - before 1.3, setUp() should be overridden, now it should not be. :changed in 1.3.1: BaseException is now caught, and only subclasses of Exception are wrapped in MultipleExceptions. """ self._clear_cleanups() try: self._setUp() except BaseException: err = sys.exc_info() details = {} if gather_details is not None: # Materialise all details since we're about to cleanup. gather_details(self.getDetails(), details) else: details = self.getDetails() errors = [err] + self.cleanUp(raise_first=False) try: raise SetupError(details) except SetupError: errors.append(sys.exc_info()) if issubclass(err[0], Exception): > raise MultipleExceptions(*errors) E testtools.runtest.MultipleExceptions: ((, OSError('out of pty devices'), ), (, SetupError({}), )) /usr/lib/python3.12/site-packages/fixtures/fixture.py:211: MultipleExceptions ____________________________________________________________________________________________________________________________________ PagedStreamTest.test_explicit_stream ____________________________________________________________________________________________________________________________________ self = def setUp(self): """Prepare the Fixture for use. This should not be overridden. Concrete fixtures should implement _setUp. Overriding of setUp is still supported, just not recommended. After setUp has completed, the fixture will have one or more attributes which can be used (these depend totally on the concrete subclass). :raises: MultipleExceptions if _setUp fails. The last exception captured within the MultipleExceptions will be a SetupError exception. :return: None. :changed in 1.3: The recommendation to override setUp has been reversed - before 1.3, setUp() should be overridden, now it should not be. :changed in 1.3.1: BaseException is now caught, and only subclasses of Exception are wrapped in MultipleExceptions. """ self._clear_cleanups() try: > self._setUp() /usr/lib/python3.12/site-packages/fixtures/fixture.py:196: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ autopage/tests/sinks.py:25: in _setUp self._k, term = pty.openpty() /usr/lib/python3.12/pty.py:34: in openpty master_fd, slave_name = _open_terminal() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def _open_terminal(): """Open pty master and return (master_fd, tty_name).""" for x in 'pqrstuvwxyzPQRST': for y in '0123456789abcdef': pty_name = '/dev/pty' + x + y try: fd = os.open(pty_name, os.O_RDWR) except OSError: continue return (fd, '/dev/tty' + x + y) > raise OSError('out of pty devices') E OSError: out of pty devices /usr/lib/python3.12/pty.py:67: OSError During handling of the above exception, another exception occurred: self = def setUp(self) -> None: out = sinks.TTYFixture() > self.useFixture(out) autopage/tests/test_autopage.py:34: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/fixtures/testcase.py:48: in useFixture fixture.setUp() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def setUp(self): """Prepare the Fixture for use. This should not be overridden. Concrete fixtures should implement _setUp. Overriding of setUp is still supported, just not recommended. After setUp has completed, the fixture will have one or more attributes which can be used (these depend totally on the concrete subclass). :raises: MultipleExceptions if _setUp fails. The last exception captured within the MultipleExceptions will be a SetupError exception. :return: None. :changed in 1.3: The recommendation to override setUp has been reversed - before 1.3, setUp() should be overridden, now it should not be. :changed in 1.3.1: BaseException is now caught, and only subclasses of Exception are wrapped in MultipleExceptions. """ self._clear_cleanups() try: self._setUp() except BaseException: err = sys.exc_info() details = {} if gather_details is not None: # Materialise all details since we're about to cleanup. gather_details(self.getDetails(), details) else: details = self.getDetails() errors = [err] + self.cleanUp(raise_first=False) try: raise SetupError(details) except SetupError: errors.append(sys.exc_info()) if issubclass(err[0], Exception): > raise MultipleExceptions(*errors) E testtools.runtest.MultipleExceptions: ((, OSError('out of pty devices'), ), (, SetupError({}), )) /usr/lib/python3.12/site-packages/fixtures/fixture.py:211: MultipleExceptions ____________________________________________________________________________________________________________________________________ PagedStreamTest.test_line_buffering _____________________________________________________________________________________________________________________________________ self = def setUp(self): """Prepare the Fixture for use. This should not be overridden. Concrete fixtures should implement _setUp. Overriding of setUp is still supported, just not recommended. After setUp has completed, the fixture will have one or more attributes which can be used (these depend totally on the concrete subclass). :raises: MultipleExceptions if _setUp fails. The last exception captured within the MultipleExceptions will be a SetupError exception. :return: None. :changed in 1.3: The recommendation to override setUp has been reversed - before 1.3, setUp() should be overridden, now it should not be. :changed in 1.3.1: BaseException is now caught, and only subclasses of Exception are wrapped in MultipleExceptions. """ self._clear_cleanups() try: > self._setUp() /usr/lib/python3.12/site-packages/fixtures/fixture.py:196: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ autopage/tests/sinks.py:25: in _setUp self._k, term = pty.openpty() /usr/lib/python3.12/pty.py:34: in openpty master_fd, slave_name = _open_terminal() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def _open_terminal(): """Open pty master and return (master_fd, tty_name).""" for x in 'pqrstuvwxyzPQRST': for y in '0123456789abcdef': pty_name = '/dev/pty' + x + y try: fd = os.open(pty_name, os.O_RDWR) except OSError: continue return (fd, '/dev/tty' + x + y) > raise OSError('out of pty devices') E OSError: out of pty devices /usr/lib/python3.12/pty.py:67: OSError During handling of the above exception, another exception occurred: self = def setUp(self) -> None: out = sinks.TTYFixture() > self.useFixture(out) autopage/tests/test_autopage.py:34: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/fixtures/testcase.py:48: in useFixture fixture.setUp() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def setUp(self): """Prepare the Fixture for use. This should not be overridden. Concrete fixtures should implement _setUp. Overriding of setUp is still supported, just not recommended. After setUp has completed, the fixture will have one or more attributes which can be used (these depend totally on the concrete subclass). :raises: MultipleExceptions if _setUp fails. The last exception captured within the MultipleExceptions will be a SetupError exception. :return: None. :changed in 1.3: The recommendation to override setUp has been reversed - before 1.3, setUp() should be overridden, now it should not be. :changed in 1.3.1: BaseException is now caught, and only subclasses of Exception are wrapped in MultipleExceptions. """ self._clear_cleanups() try: self._setUp() except BaseException: err = sys.exc_info() details = {} if gather_details is not None: # Materialise all details since we're about to cleanup. gather_details(self.getDetails(), details) else: details = self.getDetails() errors = [err] + self.cleanUp(raise_first=False) try: raise SetupError(details) except SetupError: errors.append(sys.exc_info()) if issubclass(err[0], Exception): > raise MultipleExceptions(*errors) E testtools.runtest.MultipleExceptions: ((, OSError('out of pty devices'), ), (, SetupError({}), )) /usr/lib/python3.12/site-packages/fixtures/fixture.py:211: MultipleExceptions ______________________________________________________________________________________________________________________________________ ToTerminalTest.test_default_pty _______________________________________________________________________________________________________________________________________ self = def setUp(self): """Prepare the Fixture for use. This should not be overridden. Concrete fixtures should implement _setUp. Overriding of setUp is still supported, just not recommended. After setUp has completed, the fixture will have one or more attributes which can be used (these depend totally on the concrete subclass). :raises: MultipleExceptions if _setUp fails. The last exception captured within the MultipleExceptions will be a SetupError exception. :return: None. :changed in 1.3: The recommendation to override setUp has been reversed - before 1.3, setUp() should be overridden, now it should not be. :changed in 1.3.1: BaseException is now caught, and only subclasses of Exception are wrapped in MultipleExceptions. """ self._clear_cleanups() try: > self._setUp() /usr/lib/python3.12/site-packages/fixtures/fixture.py:196: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ autopage/tests/sinks.py:25: in _setUp self._k, term = pty.openpty() /usr/lib/python3.12/pty.py:34: in openpty master_fd, slave_name = _open_terminal() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def _open_terminal(): """Open pty master and return (master_fd, tty_name).""" for x in 'pqrstuvwxyzPQRST': for y in '0123456789abcdef': pty_name = '/dev/pty' + x + y try: fd = os.open(pty_name, os.O_RDWR) except OSError: continue return (fd, '/dev/tty' + x + y) > raise OSError('out of pty devices') E OSError: out of pty devices /usr/lib/python3.12/pty.py:67: OSError During handling of the above exception, another exception occurred: self = def test_default_pty(self) -> None: > with sinks.TTYFixture() as out: autopage/tests/test_autopage.py:188: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/fixtures/fixture.py:151: in __enter__ self.setUp() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def setUp(self): """Prepare the Fixture for use. This should not be overridden. Concrete fixtures should implement _setUp. Overriding of setUp is still supported, just not recommended. After setUp has completed, the fixture will have one or more attributes which can be used (these depend totally on the concrete subclass). :raises: MultipleExceptions if _setUp fails. The last exception captured within the MultipleExceptions will be a SetupError exception. :return: None. :changed in 1.3: The recommendation to override setUp has been reversed - before 1.3, setUp() should be overridden, now it should not be. :changed in 1.3.1: BaseException is now caught, and only subclasses of Exception are wrapped in MultipleExceptions. """ self._clear_cleanups() try: self._setUp() except BaseException: err = sys.exc_info() details = {} if gather_details is not None: # Materialise all details since we're about to cleanup. gather_details(self.getDetails(), details) else: details = self.getDetails() errors = [err] + self.cleanUp(raise_first=False) try: raise SetupError(details) except SetupError: errors.append(sys.exc_info()) if issubclass(err[0], Exception): > raise MultipleExceptions(*errors) E testtools.runtest.MultipleExceptions: ((, OSError('out of pty devices'), ), (, SetupError({}), )) /usr/lib/python3.12/site-packages/fixtures/fixture.py:211: MultipleExceptions __________________________________________________________________________________________________________________________________________ ToTerminalTest.test_pty ___________________________________________________________________________________________________________________________________________ self = def setUp(self): """Prepare the Fixture for use. This should not be overridden. Concrete fixtures should implement _setUp. Overriding of setUp is still supported, just not recommended. After setUp has completed, the fixture will have one or more attributes which can be used (these depend totally on the concrete subclass). :raises: MultipleExceptions if _setUp fails. The last exception captured within the MultipleExceptions will be a SetupError exception. :return: None. :changed in 1.3: The recommendation to override setUp has been reversed - before 1.3, setUp() should be overridden, now it should not be. :changed in 1.3.1: BaseException is now caught, and only subclasses of Exception are wrapped in MultipleExceptions. """ self._clear_cleanups() try: > self._setUp() /usr/lib/python3.12/site-packages/fixtures/fixture.py:196: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ autopage/tests/sinks.py:25: in _setUp self._k, term = pty.openpty() /usr/lib/python3.12/pty.py:34: in openpty master_fd, slave_name = _open_terminal() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def _open_terminal(): """Open pty master and return (master_fd, tty_name).""" for x in 'pqrstuvwxyzPQRST': for y in '0123456789abcdef': pty_name = '/dev/pty' + x + y try: fd = os.open(pty_name, os.O_RDWR) except OSError: continue return (fd, '/dev/tty' + x + y) > raise OSError('out of pty devices') E OSError: out of pty devices /usr/lib/python3.12/pty.py:67: OSError During handling of the above exception, another exception occurred: self = def test_pty(self) -> None: > with sinks.TTYFixture() as out: autopage/tests/test_autopage.py:173: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/fixtures/fixture.py:151: in __enter__ self.setUp() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def setUp(self): """Prepare the Fixture for use. This should not be overridden. Concrete fixtures should implement _setUp. Overriding of setUp is still supported, just not recommended. After setUp has completed, the fixture will have one or more attributes which can be used (these depend totally on the concrete subclass). :raises: MultipleExceptions if _setUp fails. The last exception captured within the MultipleExceptions will be a SetupError exception. :return: None. :changed in 1.3: The recommendation to override setUp has been reversed - before 1.3, setUp() should be overridden, now it should not be. :changed in 1.3.1: BaseException is now caught, and only subclasses of Exception are wrapped in MultipleExceptions. """ self._clear_cleanups() try: self._setUp() except BaseException: err = sys.exc_info() details = {} if gather_details is not None: # Materialise all details since we're about to cleanup. gather_details(self.getDetails(), details) else: details = self.getDetails() errors = [err] + self.cleanUp(raise_first=False) try: raise SetupError(details) except SetupError: errors.append(sys.exc_info()) if issubclass(err[0], Exception): > raise MultipleExceptions(*errors) E testtools.runtest.MultipleExceptions: ((, OSError('out of pty devices'), ), (, SetupError({}), )) /usr/lib/python3.12/site-packages/fixtures/fixture.py:211: MultipleExceptions _________________________________________________________________________________________________________________________________ ExitCodeTest.test_pager_broken_pipe_flush __________________________________________________________________________________________________________________________________ self = def setUp(self): """Prepare the Fixture for use. This should not be overridden. Concrete fixtures should implement _setUp. Overriding of setUp is still supported, just not recommended. After setUp has completed, the fixture will have one or more attributes which can be used (these depend totally on the concrete subclass). :raises: MultipleExceptions if _setUp fails. The last exception captured within the MultipleExceptions will be a SetupError exception. :return: None. :changed in 1.3: The recommendation to override setUp has been reversed - before 1.3, setUp() should be overridden, now it should not be. :changed in 1.3.1: BaseException is now caught, and only subclasses of Exception are wrapped in MultipleExceptions. """ self._clear_cleanups() try: > self._setUp() /usr/lib/python3.12/site-packages/fixtures/fixture.py:196: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ autopage/tests/sinks.py:25: in _setUp self._k, term = pty.openpty() /usr/lib/python3.12/pty.py:34: in openpty master_fd, slave_name = _open_terminal() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def _open_terminal(): """Open pty master and return (master_fd, tty_name).""" for x in 'pqrstuvwxyzPQRST': for y in '0123456789abcdef': pty_name = '/dev/pty' + x + y try: fd = os.open(pty_name, os.O_RDWR) except OSError: continue return (fd, '/dev/tty' + x + y) > raise OSError('out of pty devices') E OSError: out of pty devices /usr/lib/python3.12/pty.py:67: OSError During handling of the above exception, another exception occurred: self = def test_pager_broken_pipe_flush(self) -> None: flush = mock.MagicMock(side_effect=BrokenPipeError) > with sinks.TTYFixture() as out: autopage/tests/test_autopage.py:258: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/fixtures/fixture.py:151: in __enter__ self.setUp() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def setUp(self): """Prepare the Fixture for use. This should not be overridden. Concrete fixtures should implement _setUp. Overriding of setUp is still supported, just not recommended. After setUp has completed, the fixture will have one or more attributes which can be used (these depend totally on the concrete subclass). :raises: MultipleExceptions if _setUp fails. The last exception captured within the MultipleExceptions will be a SetupError exception. :return: None. :changed in 1.3: The recommendation to override setUp has been reversed - before 1.3, setUp() should be overridden, now it should not be. :changed in 1.3.1: BaseException is now caught, and only subclasses of Exception are wrapped in MultipleExceptions. """ self._clear_cleanups() try: self._setUp() except BaseException: err = sys.exc_info() details = {} if gather_details is not None: # Materialise all details since we're about to cleanup. gather_details(self.getDetails(), details) else: details = self.getDetails() errors = [err] + self.cleanUp(raise_first=False) try: raise SetupError(details) except SetupError: errors.append(sys.exc_info()) if issubclass(err[0], Exception): > raise MultipleExceptions(*errors) E testtools.runtest.MultipleExceptions: ((, OSError('out of pty devices'), ), (, SetupError({}), )) /usr/lib/python3.12/site-packages/fixtures/fixture.py:211: MultipleExceptions _____________________________________________________________________________________________________________________________________ CleanupTest.test_pager_broken_pipe _____________________________________________________________________________________________________________________________________ self = def setUp(self): """Prepare the Fixture for use. This should not be overridden. Concrete fixtures should implement _setUp. Overriding of setUp is still supported, just not recommended. After setUp has completed, the fixture will have one or more attributes which can be used (these depend totally on the concrete subclass). :raises: MultipleExceptions if _setUp fails. The last exception captured within the MultipleExceptions will be a SetupError exception. :return: None. :changed in 1.3: The recommendation to override setUp has been reversed - before 1.3, setUp() should be overridden, now it should not be. :changed in 1.3.1: BaseException is now caught, and only subclasses of Exception are wrapped in MultipleExceptions. """ self._clear_cleanups() try: > self._setUp() /usr/lib/python3.12/site-packages/fixtures/fixture.py:196: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ autopage/tests/sinks.py:25: in _setUp self._k, term = pty.openpty() /usr/lib/python3.12/pty.py:34: in openpty master_fd, slave_name = _open_terminal() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def _open_terminal(): """Open pty master and return (master_fd, tty_name).""" for x in 'pqrstuvwxyzPQRST': for y in '0123456789abcdef': pty_name = '/dev/pty' + x + y try: fd = os.open(pty_name, os.O_RDWR) except OSError: continue return (fd, '/dev/tty' + x + y) > raise OSError('out of pty devices') E OSError: out of pty devices /usr/lib/python3.12/pty.py:67: OSError During handling of the above exception, another exception occurred: self = def test_pager_broken_pipe(self) -> None: flush = mock.MagicMock(side_effect=BrokenPipeError) > with sinks.TTYFixture() as out: autopage/tests/test_autopage.py:385: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/fixtures/fixture.py:151: in __enter__ self.setUp() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def setUp(self): """Prepare the Fixture for use. This should not be overridden. Concrete fixtures should implement _setUp. Overriding of setUp is still supported, just not recommended. After setUp has completed, the fixture will have one or more attributes which can be used (these depend totally on the concrete subclass). :raises: MultipleExceptions if _setUp fails. The last exception captured within the MultipleExceptions will be a SetupError exception. :return: None. :changed in 1.3: The recommendation to override setUp has been reversed - before 1.3, setUp() should be overridden, now it should not be. :changed in 1.3.1: BaseException is now caught, and only subclasses of Exception are wrapped in MultipleExceptions. """ self._clear_cleanups() try: self._setUp() except BaseException: err = sys.exc_info() details = {} if gather_details is not None: # Materialise all details since we're about to cleanup. gather_details(self.getDetails(), details) else: details = self.getDetails() errors = [err] + self.cleanUp(raise_first=False) try: raise SetupError(details) except SetupError: errors.append(sys.exc_info()) if issubclass(err[0], Exception): > raise MultipleExceptions(*errors) E testtools.runtest.MultipleExceptions: ((, OSError('out of pty devices'), ), (, SetupError({}), )) /usr/lib/python3.12/site-packages/fixtures/fixture.py:211: MultipleExceptions ____________________________________________________________________________________________________________________________________ CleanupTest.test_pager_stream_closed ____________________________________________________________________________________________________________________________________ self = def setUp(self): """Prepare the Fixture for use. This should not be overridden. Concrete fixtures should implement _setUp. Overriding of setUp is still supported, just not recommended. After setUp has completed, the fixture will have one or more attributes which can be used (these depend totally on the concrete subclass). :raises: MultipleExceptions if _setUp fails. The last exception captured within the MultipleExceptions will be a SetupError exception. :return: None. :changed in 1.3: The recommendation to override setUp has been reversed - before 1.3, setUp() should be overridden, now it should not be. :changed in 1.3.1: BaseException is now caught, and only subclasses of Exception are wrapped in MultipleExceptions. """ self._clear_cleanups() try: > self._setUp() /usr/lib/python3.12/site-packages/fixtures/fixture.py:196: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ autopage/tests/sinks.py:25: in _setUp self._k, term = pty.openpty() /usr/lib/python3.12/pty.py:34: in openpty master_fd, slave_name = _open_terminal() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def _open_terminal(): """Open pty master and return (master_fd, tty_name).""" for x in 'pqrstuvwxyzPQRST': for y in '0123456789abcdef': pty_name = '/dev/pty' + x + y try: fd = os.open(pty_name, os.O_RDWR) except OSError: continue return (fd, '/dev/tty' + x + y) > raise OSError('out of pty devices') E OSError: out of pty devices /usr/lib/python3.12/pty.py:67: OSError During handling of the above exception, another exception occurred: self = def test_pager_stream_closed(self) -> None: > with sinks.TTYFixture() as out: autopage/tests/test_autopage.py:397: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/fixtures/fixture.py:151: in __enter__ self.setUp() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def setUp(self): """Prepare the Fixture for use. This should not be overridden. Concrete fixtures should implement _setUp. Overriding of setUp is still supported, just not recommended. After setUp has completed, the fixture will have one or more attributes which can be used (these depend totally on the concrete subclass). :raises: MultipleExceptions if _setUp fails. The last exception captured within the MultipleExceptions will be a SetupError exception. :return: None. :changed in 1.3: The recommendation to override setUp has been reversed - before 1.3, setUp() should be overridden, now it should not be. :changed in 1.3.1: BaseException is now caught, and only subclasses of Exception are wrapped in MultipleExceptions. """ self._clear_cleanups() try: self._setUp() except BaseException: err = sys.exc_info() details = {} if gather_details is not None: # Materialise all details since we're about to cleanup. gather_details(self.getDetails(), details) else: details = self.getDetails() errors = [err] + self.cleanUp(raise_first=False) try: raise SetupError(details) except SetupError: errors.append(sys.exc_info()) if issubclass(err[0], Exception): > raise MultipleExceptions(*errors) E testtools.runtest.MultipleExceptions: ((, OSError('out of pty devices'), ), (, SetupError({}), )) /usr/lib/python3.12/site-packages/fixtures/fixture.py:211: MultipleExceptions __________________________________________________________________________________________________________________________________ CleanupTest.test_pager_stream_not_closed __________________________________________________________________________________________________________________________________ self = def setUp(self): """Prepare the Fixture for use. This should not be overridden. Concrete fixtures should implement _setUp. Overriding of setUp is still supported, just not recommended. After setUp has completed, the fixture will have one or more attributes which can be used (these depend totally on the concrete subclass). :raises: MultipleExceptions if _setUp fails. The last exception captured within the MultipleExceptions will be a SetupError exception. :return: None. :changed in 1.3: The recommendation to override setUp has been reversed - before 1.3, setUp() should be overridden, now it should not be. :changed in 1.3.1: BaseException is now caught, and only subclasses of Exception are wrapped in MultipleExceptions. """ self._clear_cleanups() try: > self._setUp() /usr/lib/python3.12/site-packages/fixtures/fixture.py:196: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ autopage/tests/sinks.py:25: in _setUp self._k, term = pty.openpty() /usr/lib/python3.12/pty.py:34: in openpty master_fd, slave_name = _open_terminal() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def _open_terminal(): """Open pty master and return (master_fd, tty_name).""" for x in 'pqrstuvwxyzPQRST': for y in '0123456789abcdef': pty_name = '/dev/pty' + x + y try: fd = os.open(pty_name, os.O_RDWR) except OSError: continue return (fd, '/dev/tty' + x + y) > raise OSError('out of pty devices') E OSError: out of pty devices /usr/lib/python3.12/pty.py:67: OSError During handling of the above exception, another exception occurred: self = def test_pager_stream_not_closed(self) -> None: > with sinks.TTYFixture() as out: autopage/tests/test_autopage.py:359: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/fixtures/fixture.py:151: in __enter__ self.setUp() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def setUp(self): """Prepare the Fixture for use. This should not be overridden. Concrete fixtures should implement _setUp. Overriding of setUp is still supported, just not recommended. After setUp has completed, the fixture will have one or more attributes which can be used (these depend totally on the concrete subclass). :raises: MultipleExceptions if _setUp fails. The last exception captured within the MultipleExceptions will be a SetupError exception. :return: None. :changed in 1.3: The recommendation to override setUp has been reversed - before 1.3, setUp() should be overridden, now it should not be. :changed in 1.3.1: BaseException is now caught, and only subclasses of Exception are wrapped in MultipleExceptions. """ self._clear_cleanups() try: self._setUp() except BaseException: err = sys.exc_info() details = {} if gather_details is not None: # Materialise all details since we're about to cleanup. gather_details(self.getDetails(), details) else: details = self.getDetails() errors = [err] + self.cleanUp(raise_first=False) try: raise SetupError(details) except SetupError: errors.append(sys.exc_info()) if issubclass(err[0], Exception): > raise MultipleExceptions(*errors) E testtools.runtest.MultipleExceptions: ((, OSError('out of pty devices'), ), (, SetupError({}), )) /usr/lib/python3.12/site-packages/fixtures/fixture.py:211: MultipleExceptions _____________________________________________________________________________________________________________________________ CleanupTest.test_pager_stream_not_closed_interrupt _____________________________________________________________________________________________________________________________ self = def setUp(self): """Prepare the Fixture for use. This should not be overridden. Concrete fixtures should implement _setUp. Overriding of setUp is still supported, just not recommended. After setUp has completed, the fixture will have one or more attributes which can be used (these depend totally on the concrete subclass). :raises: MultipleExceptions if _setUp fails. The last exception captured within the MultipleExceptions will be a SetupError exception. :return: None. :changed in 1.3: The recommendation to override setUp has been reversed - before 1.3, setUp() should be overridden, now it should not be. :changed in 1.3.1: BaseException is now caught, and only subclasses of Exception are wrapped in MultipleExceptions. """ self._clear_cleanups() try: > self._setUp() /usr/lib/python3.12/site-packages/fixtures/fixture.py:196: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ autopage/tests/sinks.py:25: in _setUp self._k, term = pty.openpty() /usr/lib/python3.12/pty.py:34: in openpty master_fd, slave_name = _open_terminal() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def _open_terminal(): """Open pty master and return (master_fd, tty_name).""" for x in 'pqrstuvwxyzPQRST': for y in '0123456789abcdef': pty_name = '/dev/pty' + x + y try: fd = os.open(pty_name, os.O_RDWR) except OSError: continue return (fd, '/dev/tty' + x + y) > raise OSError('out of pty devices') E OSError: out of pty devices /usr/lib/python3.12/pty.py:67: OSError During handling of the above exception, another exception occurred: self = def test_pager_stream_not_closed_interrupt(self) -> None: > with sinks.TTYFixture() as out: autopage/tests/test_autopage.py:369: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/fixtures/fixture.py:151: in __enter__ self.setUp() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def setUp(self): """Prepare the Fixture for use. This should not be overridden. Concrete fixtures should implement _setUp. Overriding of setUp is still supported, just not recommended. After setUp has completed, the fixture will have one or more attributes which can be used (these depend totally on the concrete subclass). :raises: MultipleExceptions if _setUp fails. The last exception captured within the MultipleExceptions will be a SetupError exception. :return: None. :changed in 1.3: The recommendation to override setUp has been reversed - before 1.3, setUp() should be overridden, now it should not be. :changed in 1.3.1: BaseException is now caught, and only subclasses of Exception are wrapped in MultipleExceptions. """ self._clear_cleanups() try: self._setUp() except BaseException: err = sys.exc_info() details = {} if gather_details is not None: # Materialise all details since we're about to cleanup. gather_details(self.getDetails(), details) else: details = self.getDetails() errors = [err] + self.cleanUp(raise_first=False) try: raise SetupError(details) except SetupError: errors.append(sys.exc_info()) if issubclass(err[0], Exception): > raise MultipleExceptions(*errors) E testtools.runtest.MultipleExceptions: ((, OSError('out of pty devices'), ), (, SetupError({}), )) /usr/lib/python3.12/site-packages/fixtures/fixture.py:211: MultipleExceptions __________________________________________________________________________________________________________________________________ LineBufferFromInputTest.test_default_tty __________________________________________________________________________________________________________________________________ self = def setUp(self): """Prepare the Fixture for use. This should not be overridden. Concrete fixtures should implement _setUp. Overriding of setUp is still supported, just not recommended. After setUp has completed, the fixture will have one or more attributes which can be used (these depend totally on the concrete subclass). :raises: MultipleExceptions if _setUp fails. The last exception captured within the MultipleExceptions will be a SetupError exception. :return: None. :changed in 1.3: The recommendation to override setUp has been reversed - before 1.3, setUp() should be overridden, now it should not be. :changed in 1.3.1: BaseException is now caught, and only subclasses of Exception are wrapped in MultipleExceptions. """ self._clear_cleanups() try: > self._setUp() /usr/lib/python3.12/site-packages/fixtures/fixture.py:196: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ autopage/tests/sinks.py:25: in _setUp self._k, term = pty.openpty() /usr/lib/python3.12/pty.py:34: in openpty master_fd, slave_name = _open_terminal() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def _open_terminal(): """Open pty master and return (master_fd, tty_name).""" for x in 'pqrstuvwxyzPQRST': for y in '0123456789abcdef': pty_name = '/dev/pty' + x + y try: fd = os.open(pty_name, os.O_RDWR) except OSError: continue return (fd, '/dev/tty' + x + y) > raise OSError('out of pty devices') E OSError: out of pty devices /usr/lib/python3.12/pty.py:67: OSError During handling of the above exception, another exception occurred: self = def test_default_tty(self) -> None: > with sinks.TTYFixture() as inp: autopage/tests/test_line_buffer_from_input.py:32: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/fixtures/fixture.py:151: in __enter__ self.setUp() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def setUp(self): """Prepare the Fixture for use. This should not be overridden. Concrete fixtures should implement _setUp. Overriding of setUp is still supported, just not recommended. After setUp has completed, the fixture will have one or more attributes which can be used (these depend totally on the concrete subclass). :raises: MultipleExceptions if _setUp fails. The last exception captured within the MultipleExceptions will be a SetupError exception. :return: None. :changed in 1.3: The recommendation to override setUp has been reversed - before 1.3, setUp() should be overridden, now it should not be. :changed in 1.3.1: BaseException is now caught, and only subclasses of Exception are wrapped in MultipleExceptions. """ self._clear_cleanups() try: self._setUp() except BaseException: err = sys.exc_info() details = {} if gather_details is not None: # Materialise all details since we're about to cleanup. gather_details(self.getDetails(), details) else: details = self.getDetails() errors = [err] + self.cleanUp(raise_first=False) try: raise SetupError(details) except SetupError: errors.append(sys.exc_info()) if issubclass(err[0], Exception): > raise MultipleExceptions(*errors) E testtools.runtest.MultipleExceptions: ((, OSError('out of pty devices'), ), (, SetupError({}), )) /usr/lib/python3.12/site-packages/fixtures/fixture.py:211: MultipleExceptions ______________________________________________________________________________________________________________________________________ LineBufferFromInputTest.test_tty ______________________________________________________________________________________________________________________________________ self = def setUp(self): """Prepare the Fixture for use. This should not be overridden. Concrete fixtures should implement _setUp. Overriding of setUp is still supported, just not recommended. After setUp has completed, the fixture will have one or more attributes which can be used (these depend totally on the concrete subclass). :raises: MultipleExceptions if _setUp fails. The last exception captured within the MultipleExceptions will be a SetupError exception. :return: None. :changed in 1.3: The recommendation to override setUp has been reversed - before 1.3, setUp() should be overridden, now it should not be. :changed in 1.3.1: BaseException is now caught, and only subclasses of Exception are wrapped in MultipleExceptions. """ self._clear_cleanups() try: > self._setUp() /usr/lib/python3.12/site-packages/fixtures/fixture.py:196: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ autopage/tests/sinks.py:25: in _setUp self._k, term = pty.openpty() /usr/lib/python3.12/pty.py:34: in openpty master_fd, slave_name = _open_terminal() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def _open_terminal(): """Open pty master and return (master_fd, tty_name).""" for x in 'pqrstuvwxyzPQRST': for y in '0123456789abcdef': pty_name = '/dev/pty' + x + y try: fd = os.open(pty_name, os.O_RDWR) except OSError: continue return (fd, '/dev/tty' + x + y) > raise OSError('out of pty devices') E OSError: out of pty devices /usr/lib/python3.12/pty.py:67: OSError During handling of the above exception, another exception occurred: self = def test_tty(self) -> None: > with sinks.TTYFixture() as inp: autopage/tests/test_line_buffer_from_input.py:24: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.12/site-packages/fixtures/fixture.py:151: in __enter__ self.setUp() _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = def setUp(self): """Prepare the Fixture for use. This should not be overridden. Concrete fixtures should implement _setUp. Overriding of setUp is still supported, just not recommended. After setUp has completed, the fixture will have one or more attributes which can be used (these depend totally on the concrete subclass). :raises: MultipleExceptions if _setUp fails. The last exception captured within the MultipleExceptions will be a SetupError exception. :return: None. :changed in 1.3: The recommendation to override setUp has been reversed - before 1.3, setUp() should be overridden, now it should not be. :changed in 1.3.1: BaseException is now caught, and only subclasses of Exception are wrapped in MultipleExceptions. """ self._clear_cleanups() try: self._setUp() except BaseException: err = sys.exc_info() details = {} if gather_details is not None: # Materialise all details since we're about to cleanup. gather_details(self.getDetails(), details) else: details = self.getDetails() errors = [err] + self.cleanUp(raise_first=False) try: raise SetupError(details) except SetupError: errors.append(sys.exc_info()) if issubclass(err[0], Exception): > raise MultipleExceptions(*errors) E testtools.runtest.MultipleExceptions: ((, OSError('out of pty devices'), ), (, SetupError({}), )) /usr/lib/python3.12/site-packages/fixtures/fixture.py:211: MultipleExceptions ========================================================================================================================================== short test summary info =========================================================================================================================================== FAILED autopage/tests/test_autopage.py::PagedStreamTest::test_defaults - testtools.runtest.MultipleExceptions: ((, OSError('out of pty devices'), ), (, SetupError({}), )) FAILED autopage/tests/test_autopage.py::PagedStreamTest::test_defaults_cmd_as_class - testtools.runtest.MultipleExceptions: ((, OSError('out of pty devices'), ), (, SetupError({}), , OSError('out of pty devices'), ), (, SetupError({}), , OSError('out of pty devices'), ), (, SetupError({}), , OSError('out of pty devices'), ), (, SetupError({}), )) FAILED autopage/tests/test_autopage.py::PagedStreamTest::test_explicit_stdout_stream - testtools.runtest.MultipleExceptions: ((, OSError('out of pty devices'), ), (, SetupError({}), , OSError('out of pty devices'), ), (, SetupError({}), , OSError('out of pty devices'), ), (, SetupError({}), )) FAILED autopage/tests/test_autopage.py::ToTerminalTest::test_default_pty - testtools.runtest.MultipleExceptions: ((, OSError('out of pty devices'), ), (, SetupError({}), )) FAILED autopage/tests/test_autopage.py::ToTerminalTest::test_pty - testtools.runtest.MultipleExceptions: ((, OSError('out of pty devices'), ), (, SetupError({}), )) FAILED autopage/tests/test_autopage.py::ExitCodeTest::test_pager_broken_pipe_flush - testtools.runtest.MultipleExceptions: ((, OSError('out of pty devices'), ), (, SetupError({}), , OSError('out of pty devices'), ), (, SetupError({}), )) FAILED autopage/tests/test_autopage.py::CleanupTest::test_pager_stream_closed - testtools.runtest.MultipleExceptions: ((, OSError('out of pty devices'), ), (, SetupError({}), , OSError('out of pty devices'), ), (, SetupError({}), , OSError('out of pty devices'), ), (, SetupError({}), , OSError('out of pty devices'), ), (, SetupError({}), , OSError('out of pty devices'), ), (, SetupError({}), >> ERROR: py3-autopage: check failed >>> py3-autopage: Uninstalling dependencies... (1/39) Purging .makedepends-py3-autopage (20251012.152946) (2/39) Purging py3-gpep517-pyc (19-r0) (3/39) Purging py3-gpep517 (19-r0) (4/39) Purging py3-installer-pyc (0.7.0-r2) (5/39) Purging py3-installer (0.7.0-r2) (6/39) Purging py3-wheel-pyc (0.46.1-r0) (7/39) Purging py3-wheel (0.46.1-r0) (8/39) Purging py3-pytest-pyc (8.3.5-r0) (9/39) Purging py3-pytest (8.3.5-r0) (10/39) Purging py3-iniconfig-pyc (2.1.0-r0) (11/39) Purging py3-iniconfig (2.1.0-r0) (12/39) Purging py3-py-pyc (1.11.0-r4) (13/39) Purging py3-py (1.11.0-r4) (14/39) Purging py3-testtools-pyc (2.7.2-r0) (15/39) Purging py3-testtools (2.7.2-r0) (16/39) Purging py3-hatch-vcs-pyc (0.4.0-r2) (17/39) Purging py3-hatch-vcs (0.4.0-r2) (18/39) Purging py3-hatchling-pyc (1.27.0-r0) (19/39) Purging py3-hatchling (1.27.0-r0) (20/39) Purging py3-editables-pyc (0.5-r2) (21/39) Purging py3-editables (0.5-r2) (22/39) Purging py3-pathspec-pyc (0.12.1-r2) (23/39) Purging py3-pathspec (0.12.1-r2) (24/39) Purging py3-pluggy-pyc (1.5.0-r0) (25/39) Purging py3-pluggy (1.5.0-r0) (26/39) Purging py3-trove-classifiers-pyc (2025.9.11.17-r0) (27/39) Purging py3-trove-classifiers (2025.9.11.17-r0) (28/39) Purging py3-setuptools_scm-pyc (8.3.1-r0) (29/39) Purging py3-setuptools_scm (8.3.1-r0) (30/39) Purging py3-fixtures-pyc (4.2.2-r0) (31/39) Purging py3-fixtures (4.2.2-r0) (32/39) Purging py3-pbr-pyc (5.11.1-r5) (33/39) Purging py3-pbr (5.11.1-r5) (34/39) Purging py3-setuptools-pyc (80.9.0-r0) (35/39) Purging py3-setuptools (80.9.0-r0) (36/39) Purging py3-packaging-pyc (25.0-r0) (37/39) Purging py3-packaging (25.0-r0) (38/39) Purging py3-parsing-pyc (3.2.3-r0) (39/39) Purging py3-parsing (3.2.3-r0) Executing busybox-1.37.0-r19.trigger OK: 296 MiB in 89 packages