>>> py3-autopage: Building community/py3-autopage 0.5.2-r1 (using abuild 3.15.0-r0) started Sun, 12 Oct 2025 15:11:18 +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.151118) 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:11:19,378 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:11:19,394 root INFO running bdist_wheel 2025-10-12 15:11:19,404 root INFO running build 2025-10-12 15:11:19,404 root INFO running build_py 2025-10-12 15:11:19,406 root INFO creating build/lib/autopage 2025-10-12 15:11:19,407 root INFO copying autopage/argparse.py -> build/lib/autopage 2025-10-12 15:11:19,407 root INFO copying autopage/__init__.py -> build/lib/autopage 2025-10-12 15:11:19,407 root INFO copying autopage/command.py -> build/lib/autopage 2025-10-12 15:11:19,407 root INFO creating build/lib/autopage/tests 2025-10-12 15:11:19,407 root INFO copying autopage/tests/sinks.py -> build/lib/autopage/tests 2025-10-12 15:11:19,407 root INFO copying autopage/tests/test_argparse.py -> build/lib/autopage/tests 2025-10-12 15:11:19,407 root INFO copying autopage/tests/test_pager_settings.py -> build/lib/autopage/tests 2025-10-12 15:11:19,407 root INFO copying autopage/tests/test_end_to_end.py -> build/lib/autopage/tests 2025-10-12 15:11:19,407 root INFO copying autopage/tests/test_command.py -> build/lib/autopage/tests 2025-10-12 15:11:19,408 root INFO copying autopage/tests/test_autopage.py -> build/lib/autopage/tests 2025-10-12 15:11:19,408 root INFO copying autopage/tests/isolation.py -> build/lib/autopage/tests 2025-10-12 15:11:19,408 root INFO copying autopage/tests/__init__.py -> build/lib/autopage/tests 2025-10-12 15:11:19,408 root INFO copying autopage/tests/test_line_buffer_from_input.py -> build/lib/autopage/tests 2025-10-12 15:11:19,408 root INFO copying autopage/py.typed -> build/lib/autopage 2025-10-12 15:11:19,412 root INFO installing to build/bdist.linux-x86_64/wheel 2025-10-12 15:11:19,412 root INFO running install 2025-10-12 15:11:19,417 root INFO running install_lib 2025-10-12 15:11:19,418 root INFO creating build/bdist.linux-x86_64/wheel 2025-10-12 15:11:19,418 root INFO creating build/bdist.linux-x86_64/wheel/autopage 2025-10-12 15:11:19,418 root INFO copying build/lib/autopage/py.typed -> build/bdist.linux-x86_64/wheel/./autopage 2025-10-12 15:11:19,419 root INFO copying build/lib/autopage/argparse.py -> build/bdist.linux-x86_64/wheel/./autopage 2025-10-12 15:11:19,419 root INFO copying build/lib/autopage/__init__.py -> build/bdist.linux-x86_64/wheel/./autopage 2025-10-12 15:11:19,419 root INFO creating build/bdist.linux-x86_64/wheel/autopage/tests 2025-10-12 15:11:19,419 root INFO copying build/lib/autopage/tests/sinks.py -> build/bdist.linux-x86_64/wheel/./autopage/tests 2025-10-12 15:11:19,419 root INFO copying build/lib/autopage/tests/test_argparse.py -> build/bdist.linux-x86_64/wheel/./autopage/tests 2025-10-12 15:11:19,419 root INFO copying build/lib/autopage/tests/test_pager_settings.py -> build/bdist.linux-x86_64/wheel/./autopage/tests 2025-10-12 15:11:19,419 root INFO copying build/lib/autopage/tests/test_end_to_end.py -> build/bdist.linux-x86_64/wheel/./autopage/tests 2025-10-12 15:11:19,419 root INFO copying build/lib/autopage/tests/test_command.py -> build/bdist.linux-x86_64/wheel/./autopage/tests 2025-10-12 15:11:19,419 root INFO copying build/lib/autopage/tests/test_autopage.py -> build/bdist.linux-x86_64/wheel/./autopage/tests 2025-10-12 15:11:19,419 root INFO copying build/lib/autopage/tests/isolation.py -> build/bdist.linux-x86_64/wheel/./autopage/tests 2025-10-12 15:11:19,419 root INFO copying build/lib/autopage/tests/__init__.py -> build/bdist.linux-x86_64/wheel/./autopage/tests 2025-10-12 15:11:19,419 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:11:19,419 root INFO copying build/lib/autopage/command.py -> build/bdist.linux-x86_64/wheel/./autopage 2025-10-12 15:11:19,419 root INFO running install_egg_info 2025-10-12 15:11:19,421 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:11:19,432 root INFO writing autopage.egg-info/PKG-INFO 2025-10-12 15:11:19,433 root INFO writing dependency_links to autopage.egg-info/dependency_links.txt 2025-10-12 15:11:19,433 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:11:19,440 root INFO reading manifest file 'autopage.egg-info/SOURCES.txt' 2025-10-12 15:11:19,441 root INFO reading manifest template 'MANIFEST.in' 2025-10-12 15:11:19,444 root INFO adding license file 'LICENSE' 2025-10-12 15:11:19,445 root INFO writing manifest file 'autopage.egg-info/SOURCES.txt' 2025-10-12 15:11:19,445 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:11:19,445 root INFO running install_scripts 2025-10-12 15:11:19,445 root INFO creating build/bdist.linux-x86_64/wheel/autopage-0.5.2.dist-info/WHEEL 2025-10-12 15:11:19,446 wheel INFO creating '/home/udu/aports/community/py3-autopage/src/autopage-0.5.2/.dist/.tmp-hdhfav5c/autopage-0.5.2-py3-none-any.whl' and adding 'build/bdist.linux-x86_64/wheel' to it 2025-10-12 15:11:19,446 wheel INFO adding 'autopage/__init__.py' 2025-10-12 15:11:19,446 wheel INFO adding 'autopage/argparse.py' 2025-10-12 15:11:19,446 wheel INFO adding 'autopage/command.py' 2025-10-12 15:11:19,446 wheel INFO adding 'autopage/py.typed' 2025-10-12 15:11:19,446 wheel INFO adding 'autopage/tests/__init__.py' 2025-10-12 15:11:19,446 wheel INFO adding 'autopage/tests/isolation.py' 2025-10-12 15:11:19,446 wheel INFO adding 'autopage/tests/sinks.py' 2025-10-12 15:11:19,446 wheel INFO adding 'autopage/tests/test_argparse.py' 2025-10-12 15:11:19,446 wheel INFO adding 'autopage/tests/test_autopage.py' 2025-10-12 15:11:19,446 wheel INFO adding 'autopage/tests/test_command.py' 2025-10-12 15:11:19,446 wheel INFO adding 'autopage/tests/test_end_to_end.py' 2025-10-12 15:11:19,447 wheel INFO adding 'autopage/tests/test_line_buffer_from_input.py' 2025-10-12 15:11:19,447 wheel INFO adding 'autopage/tests/test_pager_settings.py' 2025-10-12 15:11:19,447 wheel INFO adding 'autopage-0.5.2.dist-info/licenses/LICENSE' 2025-10-12 15:11:19,447 wheel INFO adding 'autopage-0.5.2.dist-info/METADATA' 2025-10-12 15:11:19,447 wheel INFO adding 'autopage-0.5.2.dist-info/WHEEL' 2025-10-12 15:11:19,447 wheel INFO adding 'autopage-0.5.2.dist-info/top_level.txt' 2025-10-12 15:11:19,447 wheel INFO adding 'autopage-0.5.2.dist-info/RECORD' 2025-10-12 15:11:19,447 root INFO removing build/bdist.linux-x86_64/wheel 2025-10-12 15:11:19,447 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%] [ 33%] autopage/tests/test_command.py ......................................... [ 63%] ..................................... [ 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 - test... FAILED autopage/tests/test_autopage.py::PagedStreamTest::test_defaults_cmd_as_class FAILED autopage/tests/test_autopage.py::PagedStreamTest::test_defaults_cmd_as_int FAILED autopage/tests/test_autopage.py::PagedStreamTest::test_defaults_cmd_as_string FAILED autopage/tests/test_autopage.py::PagedStreamTest::test_errors - testto... FAILED autopage/tests/test_autopage.py::PagedStreamTest::test_explicit_stdout_stream FAILED autopage/tests/test_autopage.py::PagedStreamTest::test_explicit_stream FAILED autopage/tests/test_autopage.py::PagedStreamTest::test_line_buffering FAILED autopage/tests/test_autopage.py::ToTerminalTest::test_default_pty - te... FAILED autopage/tests/test_autopage.py::ToTerminalTest::test_pty - testtools.... FAILED autopage/tests/test_autopage.py::ExitCodeTest::test_pager_broken_pipe_flush FAILED autopage/tests/test_autopage.py::CleanupTest::test_pager_broken_pipe FAILED autopage/tests/test_autopage.py::CleanupTest::test_pager_stream_closed FAILED autopage/tests/test_autopage.py::CleanupTest::test_pager_stream_not_closed FAILED autopage/tests/test_autopage.py::CleanupTest::test_pager_stream_not_closed_interrupt FAILED autopage/tests/test_line_buffer_from_input.py::LineBufferFromInputTest::test_default_tty FAILED autopage/tests/test_line_buffer_from_input.py::LineBufferFromInputTest::test_tty ================ 17 failed, 119 passed, 17 deselected in 0.40s ================= >>> ERROR: py3-autopage: check failed >>> py3-autopage: Uninstalling dependencies... (1/39) Purging .makedepends-py3-autopage (20251012.151118) (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