>>> py3-urwid: Building community/py3-urwid 4.0.8-r0 (using abuild 3.18.0_rc5-r0) started Thu, 20 Aug 2026 08:33:17 +0000 >>> py3-urwid: Validating /home/buildozer/aports/community/py3-urwid/APKBUILD... >>> py3-urwid: Analyzing dependencies... >>> py3-urwid: Installing for build: build-base py3-wcwidth python3-dev py3-gpep517 py3-setuptools_scm py3-wheel py3-gobject3 py3-pytest-cov py3-pyzmq py3-tornado py3-trio py3-twisted ( 1/124) Installing libbz2 (1.0.8-r6) ( 2/124) Installing libffi (3.5.2-r1) ( 3/124) Installing xz-libs (5.8.3-r0) ( 4/124) Installing mpdecimal (4.0.1-r0) ( 5/124) Installing libpanelw (6.6_p20260516-r0) ( 6/124) Installing readline (8.3.3-r1) Installing file to etc/inputrc.apk-new ( 7/124) Installing sqlite-libs (3.53.4-r0) ( 8/124) Installing python3 (3.14.7-r0) ( 9/124) Installing python3-pycache-pyc0 (3.14.7-r0) ( 10/124) Installing pyc (3.14.7-r0) ( 11/124) Installing py3-wcwidth-pyc (0.6.0-r1) ( 12/124) Installing python3-pyc (3.14.7-r0) ( 13/124) Installing py3-wcwidth (0.6.0-r1) ( 14/124) Installing python3-dev (3.14.7-r0) ( 15/124) Installing py3-installer (1.0.1-r0) ( 16/124) Installing py3-installer-pyc (1.0.1-r0) ( 17/124) Installing py3-gpep517 (19-r2) ( 18/124) Installing py3-gpep517-pyc (19-r2) ( 19/124) Installing py3-parsing (3.3.2-r1) ( 20/124) Installing py3-parsing-pyc (3.3.2-r1) ( 21/124) Installing py3-packaging (26.2-r0) ( 22/124) Installing py3-packaging-pyc (26.2-r0) ( 23/124) Installing py3-setuptools (83.0.0-r0) ( 24/124) Installing py3-setuptools-pyc (83.0.0-r0) ( 25/124) Installing py3-setuptools_scm (9.2.2-r1) ( 26/124) Installing py3-setuptools_scm-pyc (9.2.2-r1) ( 27/124) Installing py3-wheel (0.48.0-r0) ( 28/124) Installing py3-wheel-pyc (0.48.0-r0) ( 29/124) Installing libeconf (0.8.4-r0) ( 30/124) Installing libblkid (2.42.2-r1) ( 31/124) Installing libmount (2.42.2-r1) ( 32/124) Installing glib (2.88.2-r0) ( 33/124) Installing gobject-introspection (1.86.0-r1) ( 34/124) Installing libxau (1.0.12-r0) ( 35/124) Installing libmd (1.2.0-r0) ( 36/124) Installing libbsd (0.12.2-r0) ( 37/124) Installing libxdmcp (1.1.5-r1) ( 38/124) Installing libxcb (1.17.0-r2) ( 39/124) Installing libx11 (1.8.13-r0) ( 40/124) Installing libxext (1.3.7-r0) ( 41/124) Installing libxrender (0.9.12-r0) ( 42/124) Installing libpng (1.6.58-r1) ( 43/124) Installing freetype (2.14.3-r0) ( 44/124) Installing fontconfig (2.18.1-r0) ( 45/124) Installing pixman (0.46.4-r0) ( 46/124) Installing cairo (1.18.4-r1) ( 47/124) Installing cairo-gobject (1.18.4-r1) ( 48/124) Installing py3-gobject3 (3.56.3-r0) ( 49/124) Installing py3-gobject3-pyc (3.56.3-r0) ( 50/124) Installing py3-iniconfig (2.3.0-r1) ( 51/124) Installing py3-iniconfig-pyc (2.3.0-r1) ( 52/124) Installing py3-pluggy (1.6.0-r1) ( 53/124) Installing py3-pluggy-pyc (1.6.0-r1) ( 54/124) Installing py3-py (1.11.0-r5) ( 55/124) Installing py3-py-pyc (1.11.0-r5) ( 56/124) Installing py3-pygments (2.21.0-r0) ( 57/124) Installing py3-pygments-pyc (2.21.0-r0) ( 58/124) Installing py3-pytest (9.1.1-r0) ( 59/124) Installing py3-pytest-pyc (9.1.1-r0) ( 60/124) Installing py3-coverage (7.15.4-r0) ( 61/124) Installing py3-coverage-pyc (7.15.4-r0) ( 62/124) Installing py3-pytest-cov (5.0.0-r2) ( 63/124) Installing py3-pytest-cov-pyc (5.0.0-r2) ( 64/124) Installing py3-tornado (6.5.6-r0) ( 65/124) Installing py3-tornado-pyc (6.5.6-r0) ( 66/124) Installing libsodium (1.0.22-r0) ( 67/124) Installing libzmq (4.3.5-r2) ( 68/124) Installing py3-pyzmq (27.1.0-r1) ( 69/124) Installing py3-pyzmq-pyc (27.1.0-r1) ( 70/124) Installing py3-attrs (26.1.0-r0) ( 71/124) Installing py3-attrs-pyc (26.1.0-r0) ( 72/124) Installing py3-async_generator (1.10-r7) ( 73/124) Installing py3-async_generator-pyc (1.10-r7) ( 74/124) Installing py3-idna (3.18-r0) ( 75/124) Installing py3-idna-pyc (3.18-r0) ( 76/124) Installing py3-cparser (3.0-r1) ( 77/124) Installing py3-cparser-pyc (3.0-r1) ( 78/124) Installing py3-cffi (2.0.0-r0) ( 79/124) Installing py3-cffi-pyc (2.0.0-r0) ( 80/124) Installing py3-cryptography (50.0.0-r0) ( 81/124) Installing py3-cryptography-pyc (50.0.0-r0) ( 82/124) Installing py3-typing-extensions (4.16.0-r0) ( 83/124) Installing py3-typing-extensions-pyc (4.16.0-r0) ( 84/124) Installing py3-openssl (26.4.0-r0) ( 85/124) Installing py3-openssl-pyc (26.4.0-r0) ( 86/124) Installing py3-outcome (1.3.0-r2) ( 87/124) Installing py3-outcome-pyc (1.3.0-r2) ( 88/124) Installing py3-curio (1.6-r4) ( 89/124) Installing py3-curio-pyc (1.6-r4) ( 90/124) Installing py3-sniffio (1.3.1-r2) ( 91/124) Installing py3-sniffio-pyc (1.3.1-r2) ( 92/124) Installing py3-sortedcontainers (2.4.0-r6) ( 93/124) Installing py3-sortedcontainers-pyc (2.4.0-r6) ( 94/124) Installing py3-trio (0.33.0-r1) ( 95/124) Installing py3-trio-pyc (0.33.0-r1) ( 96/124) Installing py3-zope-interface (7.2-r1) ( 97/124) Installing py3-zope-interface-pyc (7.2-r1) ( 98/124) Installing py3-constantly (23.10.4-r3) ( 99/124) Installing py3-constantly-pyc (23.10.4-r3) (100/124) Installing py3-incremental (24.7.2-r1) (101/124) Installing py3-incremental-pyc (24.7.2-r1) (102/124) Installing py3-automat (24.8.1-r2) (103/124) Installing py3-automat-pyc (24.8.1-r2) (104/124) Installing py3-hyperlink (21.0.0-r6) (105/124) Installing py3-hyperlink-pyc (21.0.0-r6) (106/124) Installing py3-pyhamcrest (2.1.0-r3) (107/124) Installing py3-pyhamcrest-pyc (2.1.0-r3) (108/124) Installing py3-asn1 (0.6.4-r0) (109/124) Installing py3-asn1-pyc (0.6.4-r0) (110/124) Installing py3-asn1-modules (0.4.2-r1) (111/124) Installing py3-asn1-modules-pyc (0.4.2-r1) (112/124) Installing py3-service_identity (26.1.0-r0) (113/124) Installing py3-service_identity-pyc (26.1.0-r0) (114/124) Installing py3-pyserial (3.5-r9) (115/124) Installing py3-pyserial-pyc (3.5-r9) (116/124) Installing py3-hyperframe (6.1.0-r1) (117/124) Installing py3-hyperframe-pyc (6.1.0-r1) (118/124) Installing py3-hpack (4.1.0-r1) (119/124) Installing py3-hpack-pyc (4.1.0-r1) (120/124) Installing py3-h2 (4.1.0-r5) (121/124) Installing py3-h2-pyc (4.1.0-r5) (122/124) Installing py3-twisted (26.4.0-r0) (123/124) Installing py3-twisted-pyc (26.4.0-r0) (124/124) Installing .makedepends-py3-urwid (20260820.083317) Executing busybox-1.38.0-r4.trigger Executing glib-2.88.2-r0.trigger OK: 676.1 MiB in 233 packages >>> py3-urwid: Cleaning up srcdir >>> py3-urwid: Cleaning up pkgdir >>> py3-urwid: Cleaning up tmpdir >>> py3-urwid: Fetching https://distfiles.alpinelinux.org/distfiles/edge/urwid-4.0.8.tar.gz Connecting to distfiles.alpinelinux.org (172.105.82.32:443) wget: server returned error: HTTP/1.1 404 Not Found >>> py3-urwid: Fetching https://files.pythonhosted.org/packages/source/u/urwid/urwid-4.0.8.tar.gz /var/cache/distfiles/edge/urwid-4.0.8.tar.gz: OK >>> py3-urwid: Fetching https://distfiles.alpinelinux.org/distfiles/edge/urwid-4.0.8.tar.gz /var/cache/distfiles/edge/urwid-4.0.8.tar.gz: OK >>> py3-urwid: Unpacking /var/cache/distfiles/edge/urwid-4.0.8.tar.gz... 2026-08-20 08:33:19,889 gpep517 INFO Building wheel via backend setuptools.build_meta /usr/lib/python3.14/site-packages/setuptools/config/pyprojecttoml.py:72: _ExperimentalConfiguration: `[tool.distutils]` in `pyproject.toml` is still *experimental* and likely to change in future releases. config = read_configuration(filepath, True, ignore_option_errors, dist) 2026-08-20 08:33:19,974 root INFO running bdist_wheel 2026-08-20 08:33:19,992 root INFO running build 2026-08-20 08:33:19,992 root INFO running build_py 2026-08-20 08:33:19,996 root INFO creating build/lib/urwid 2026-08-20 08:33:19,997 root INFO copying urwid/__init__.py -> build/lib/urwid 2026-08-20 08:33:19,997 root INFO copying urwid/canvas.py -> build/lib/urwid 2026-08-20 08:33:19,997 root INFO copying urwid/signals.py -> build/lib/urwid 2026-08-20 08:33:19,998 root INFO copying urwid/numedit.py -> build/lib/urwid 2026-08-20 08:33:19,998 root INFO copying urwid/version.py -> build/lib/urwid 2026-08-20 08:33:19,998 root INFO copying urwid/text_layout.py -> build/lib/urwid 2026-08-20 08:33:19,998 root INFO copying urwid/util.py -> build/lib/urwid 2026-08-20 08:33:19,999 root INFO copying urwid/graphics.py -> build/lib/urwid 2026-08-20 08:33:19,999 root INFO copying urwid/split_repr.py -> build/lib/urwid 2026-08-20 08:33:19,999 root INFO copying urwid/vterm.py -> build/lib/urwid 2026-08-20 08:33:19,999 root INFO copying urwid/str_util.py -> build/lib/urwid 2026-08-20 08:33:19,999 root INFO copying urwid/command_map.py -> build/lib/urwid 2026-08-20 08:33:20,000 root INFO copying urwid/font.py -> build/lib/urwid 2026-08-20 08:33:20,000 root INFO creating build/lib/urwid/widget 2026-08-20 08:33:20,000 root INFO copying urwid/widget/__init__.py -> build/lib/urwid/widget 2026-08-20 08:33:20,000 root INFO copying urwid/widget/widget.py -> build/lib/urwid/widget 2026-08-20 08:33:20,001 root INFO copying urwid/widget/frame.py -> build/lib/urwid/widget 2026-08-20 08:33:20,001 root INFO copying urwid/widget/box_adapter.py -> build/lib/urwid/widget 2026-08-20 08:33:20,001 root INFO copying urwid/widget/solid_fill.py -> build/lib/urwid/widget 2026-08-20 08:33:20,001 root INFO copying urwid/widget/overlay.py -> build/lib/urwid/widget 2026-08-20 08:33:20,002 root INFO copying urwid/widget/columns.py -> build/lib/urwid/widget 2026-08-20 08:33:20,002 root INFO copying urwid/widget/attr_wrap.py -> build/lib/urwid/widget 2026-08-20 08:33:20,002 root INFO copying urwid/widget/attr_map.py -> build/lib/urwid/widget 2026-08-20 08:33:20,002 root INFO copying urwid/widget/popup.py -> build/lib/urwid/widget 2026-08-20 08:33:20,003 root INFO copying urwid/widget/wimp.py -> build/lib/urwid/widget 2026-08-20 08:33:20,003 root INFO copying urwid/widget/line_box.py -> build/lib/urwid/widget 2026-08-20 08:33:20,003 root INFO copying urwid/widget/grid_flow.py -> build/lib/urwid/widget 2026-08-20 08:33:20,003 root INFO copying urwid/widget/big_text.py -> build/lib/urwid/widget 2026-08-20 08:33:20,003 root INFO copying urwid/widget/container.py -> build/lib/urwid/widget 2026-08-20 08:33:20,004 root INFO copying urwid/widget/divider.py -> build/lib/urwid/widget 2026-08-20 08:33:20,004 root INFO copying urwid/widget/constants.py -> build/lib/urwid/widget 2026-08-20 08:33:20,004 root INFO copying urwid/widget/filler.py -> build/lib/urwid/widget 2026-08-20 08:33:20,004 root INFO copying urwid/widget/scrollable.py -> build/lib/urwid/widget 2026-08-20 08:33:20,004 root INFO copying urwid/widget/pile.py -> build/lib/urwid/widget 2026-08-20 08:33:20,005 root INFO copying urwid/widget/listbox.py -> build/lib/urwid/widget 2026-08-20 08:33:20,005 root INFO copying urwid/widget/bar_graph.py -> build/lib/urwid/widget 2026-08-20 08:33:20,005 root INFO copying urwid/widget/edit.py -> build/lib/urwid/widget 2026-08-20 08:33:20,006 root INFO copying urwid/widget/padding.py -> build/lib/urwid/widget 2026-08-20 08:33:20,006 root INFO copying urwid/widget/progress_bar.py -> build/lib/urwid/widget 2026-08-20 08:33:20,006 root INFO copying urwid/widget/monitored_list.py -> build/lib/urwid/widget 2026-08-20 08:33:20,006 root INFO copying urwid/widget/widget_decoration.py -> build/lib/urwid/widget 2026-08-20 08:33:20,007 root INFO copying urwid/widget/text.py -> build/lib/urwid/widget 2026-08-20 08:33:20,007 root INFO copying urwid/widget/treetools.py -> build/lib/urwid/widget 2026-08-20 08:33:20,007 root INFO creating build/lib/urwid/event_loop 2026-08-20 08:33:20,007 root INFO copying urwid/event_loop/__init__.py -> build/lib/urwid/event_loop 2026-08-20 08:33:20,007 root INFO copying urwid/event_loop/glib_loop.py -> build/lib/urwid/event_loop 2026-08-20 08:33:20,008 root INFO copying urwid/event_loop/tornado_loop.py -> build/lib/urwid/event_loop 2026-08-20 08:33:20,008 root INFO copying urwid/event_loop/twisted_loop.py -> build/lib/urwid/event_loop 2026-08-20 08:33:20,008 root INFO copying urwid/event_loop/main_loop.py -> build/lib/urwid/event_loop 2026-08-20 08:33:20,008 root INFO copying urwid/event_loop/asyncio_loop.py -> build/lib/urwid/event_loop 2026-08-20 08:33:20,009 root INFO copying urwid/event_loop/select_loop.py -> build/lib/urwid/event_loop 2026-08-20 08:33:20,009 root INFO copying urwid/event_loop/abstract_loop.py -> build/lib/urwid/event_loop 2026-08-20 08:33:20,009 root INFO copying urwid/event_loop/trio_loop.py -> build/lib/urwid/event_loop 2026-08-20 08:33:20,009 root INFO copying urwid/event_loop/zmq_loop.py -> build/lib/urwid/event_loop 2026-08-20 08:33:20,009 root INFO creating build/lib/urwid/display 2026-08-20 08:33:20,010 root INFO copying urwid/display/__init__.py -> build/lib/urwid/display 2026-08-20 08:33:20,010 root INFO copying urwid/display/escape.py -> build/lib/urwid/display 2026-08-20 08:33:20,010 root INFO copying urwid/display/html_fragment.py -> build/lib/urwid/display 2026-08-20 08:33:20,010 root INFO copying urwid/display/raw.py -> build/lib/urwid/display 2026-08-20 08:33:20,010 root INFO copying urwid/display/_raw_display_base.py -> build/lib/urwid/display 2026-08-20 08:33:20,011 root INFO copying urwid/display/lcd.py -> build/lib/urwid/display 2026-08-20 08:33:20,011 root INFO copying urwid/display/curses.py -> build/lib/urwid/display 2026-08-20 08:33:20,011 root INFO copying urwid/display/_posix_raw_display.py -> build/lib/urwid/display 2026-08-20 08:33:20,011 root INFO copying urwid/display/web.py -> build/lib/urwid/display 2026-08-20 08:33:20,012 root INFO copying urwid/display/_win32_raw_display.py -> build/lib/urwid/display 2026-08-20 08:33:20,012 root INFO copying urwid/display/_win32.py -> build/lib/urwid/display 2026-08-20 08:33:20,012 root INFO copying urwid/display/common.py -> build/lib/urwid/display 2026-08-20 08:33:20,012 root INFO running egg_info 2026-08-20 08:33:20,016 root INFO writing urwid.egg-info/PKG-INFO 2026-08-20 08:33:20,017 root INFO writing dependency_links to urwid.egg-info/dependency_links.txt 2026-08-20 08:33:20,018 root INFO writing requirements to urwid.egg-info/requires.txt 2026-08-20 08:33:20,018 root INFO writing top-level names to urwid.egg-info/top_level.txt listing git files failed - pretending there aren't any 2026-08-20 08:33:20,034 root INFO reading manifest file 'urwid.egg-info/SOURCES.txt' 2026-08-20 08:33:20,038 root INFO reading manifest template 'MANIFEST.in' 2026-08-20 08:33:20,049 root WARNING warning: no files found matching 'CHANGELOG' 2026-08-20 08:33:20,049 root INFO adding license file 'COPYING' 2026-08-20 08:33:20,053 root INFO writing manifest file 'urwid.egg-info/SOURCES.txt' 2026-08-20 08:33:20,054 root INFO copying urwid/py.typed -> build/lib/urwid 2026-08-20 08:33:20,055 root INFO copying urwid/display/_web.css -> build/lib/urwid/display 2026-08-20 08:33:20,055 root INFO copying urwid/display/_web.js -> build/lib/urwid/display 2026-08-20 08:33:20,063 root INFO installing to build/bdist.linux-aarch64/wheel 2026-08-20 08:33:20,063 root INFO running install 2026-08-20 08:33:20,071 root INFO running install_lib 2026-08-20 08:33:20,075 root INFO creating build/bdist.linux-aarch64/wheel 2026-08-20 08:33:20,075 root INFO creating build/bdist.linux-aarch64/wheel/urwid 2026-08-20 08:33:20,075 root INFO copying build/lib/urwid/__init__.py -> build/bdist.linux-aarch64/wheel/./urwid 2026-08-20 08:33:20,075 root INFO creating build/bdist.linux-aarch64/wheel/urwid/widget 2026-08-20 08:33:20,075 root INFO copying build/lib/urwid/widget/__init__.py -> build/bdist.linux-aarch64/wheel/./urwid/widget 2026-08-20 08:33:20,076 root INFO copying build/lib/urwid/widget/widget.py -> build/bdist.linux-aarch64/wheel/./urwid/widget 2026-08-20 08:33:20,076 root INFO copying build/lib/urwid/widget/frame.py -> build/bdist.linux-aarch64/wheel/./urwid/widget 2026-08-20 08:33:20,076 root INFO copying build/lib/urwid/widget/box_adapter.py -> build/bdist.linux-aarch64/wheel/./urwid/widget 2026-08-20 08:33:20,076 root INFO copying build/lib/urwid/widget/solid_fill.py -> build/bdist.linux-aarch64/wheel/./urwid/widget 2026-08-20 08:33:20,076 root INFO copying build/lib/urwid/widget/overlay.py -> build/bdist.linux-aarch64/wheel/./urwid/widget 2026-08-20 08:33:20,077 root INFO copying build/lib/urwid/widget/columns.py -> build/bdist.linux-aarch64/wheel/./urwid/widget 2026-08-20 08:33:20,077 root INFO copying build/lib/urwid/widget/attr_wrap.py -> build/bdist.linux-aarch64/wheel/./urwid/widget 2026-08-20 08:33:20,077 root INFO copying build/lib/urwid/widget/attr_map.py -> build/bdist.linux-aarch64/wheel/./urwid/widget 2026-08-20 08:33:20,077 root INFO copying build/lib/urwid/widget/popup.py -> build/bdist.linux-aarch64/wheel/./urwid/widget 2026-08-20 08:33:20,077 root INFO copying build/lib/urwid/widget/wimp.py -> build/bdist.linux-aarch64/wheel/./urwid/widget 2026-08-20 08:33:20,078 root INFO copying build/lib/urwid/widget/line_box.py -> build/bdist.linux-aarch64/wheel/./urwid/widget 2026-08-20 08:33:20,078 root INFO copying build/lib/urwid/widget/grid_flow.py -> build/bdist.linux-aarch64/wheel/./urwid/widget 2026-08-20 08:33:20,078 root INFO copying build/lib/urwid/widget/big_text.py -> build/bdist.linux-aarch64/wheel/./urwid/widget 2026-08-20 08:33:20,078 root INFO copying build/lib/urwid/widget/container.py -> build/bdist.linux-aarch64/wheel/./urwid/widget 2026-08-20 08:33:20,078 root INFO copying build/lib/urwid/widget/divider.py -> build/bdist.linux-aarch64/wheel/./urwid/widget 2026-08-20 08:33:20,079 root INFO copying build/lib/urwid/widget/constants.py -> build/bdist.linux-aarch64/wheel/./urwid/widget 2026-08-20 08:33:20,079 root INFO copying build/lib/urwid/widget/filler.py -> build/bdist.linux-aarch64/wheel/./urwid/widget 2026-08-20 08:33:20,079 root INFO copying build/lib/urwid/widget/scrollable.py -> build/bdist.linux-aarch64/wheel/./urwid/widget 2026-08-20 08:33:20,079 root INFO copying build/lib/urwid/widget/pile.py -> build/bdist.linux-aarch64/wheel/./urwid/widget 2026-08-20 08:33:20,079 root INFO copying build/lib/urwid/widget/listbox.py -> build/bdist.linux-aarch64/wheel/./urwid/widget 2026-08-20 08:33:20,080 root INFO copying build/lib/urwid/widget/bar_graph.py -> build/bdist.linux-aarch64/wheel/./urwid/widget 2026-08-20 08:33:20,080 root INFO copying build/lib/urwid/widget/edit.py -> build/bdist.linux-aarch64/wheel/./urwid/widget 2026-08-20 08:33:20,080 root INFO copying build/lib/urwid/widget/padding.py -> build/bdist.linux-aarch64/wheel/./urwid/widget 2026-08-20 08:33:20,080 root INFO copying build/lib/urwid/widget/progress_bar.py -> build/bdist.linux-aarch64/wheel/./urwid/widget 2026-08-20 08:33:20,081 root INFO copying build/lib/urwid/widget/monitored_list.py -> build/bdist.linux-aarch64/wheel/./urwid/widget 2026-08-20 08:33:20,081 root INFO copying build/lib/urwid/widget/widget_decoration.py -> build/bdist.linux-aarch64/wheel/./urwid/widget 2026-08-20 08:33:20,081 root INFO copying build/lib/urwid/widget/text.py -> build/bdist.linux-aarch64/wheel/./urwid/widget 2026-08-20 08:33:20,081 root INFO copying build/lib/urwid/widget/treetools.py -> build/bdist.linux-aarch64/wheel/./urwid/widget 2026-08-20 08:33:20,081 root INFO copying build/lib/urwid/canvas.py -> build/bdist.linux-aarch64/wheel/./urwid 2026-08-20 08:33:20,082 root INFO copying build/lib/urwid/signals.py -> build/bdist.linux-aarch64/wheel/./urwid 2026-08-20 08:33:20,082 root INFO copying build/lib/urwid/numedit.py -> build/bdist.linux-aarch64/wheel/./urwid 2026-08-20 08:33:20,082 root INFO creating build/bdist.linux-aarch64/wheel/urwid/event_loop 2026-08-20 08:33:20,082 root INFO copying build/lib/urwid/event_loop/__init__.py -> build/bdist.linux-aarch64/wheel/./urwid/event_loop 2026-08-20 08:33:20,082 root INFO copying build/lib/urwid/event_loop/glib_loop.py -> build/bdist.linux-aarch64/wheel/./urwid/event_loop 2026-08-20 08:33:20,083 root INFO copying build/lib/urwid/event_loop/tornado_loop.py -> build/bdist.linux-aarch64/wheel/./urwid/event_loop 2026-08-20 08:33:20,083 root INFO copying build/lib/urwid/event_loop/twisted_loop.py -> build/bdist.linux-aarch64/wheel/./urwid/event_loop 2026-08-20 08:33:20,083 root INFO copying build/lib/urwid/event_loop/main_loop.py -> build/bdist.linux-aarch64/wheel/./urwid/event_loop 2026-08-20 08:33:20,083 root INFO copying build/lib/urwid/event_loop/asyncio_loop.py -> build/bdist.linux-aarch64/wheel/./urwid/event_loop 2026-08-20 08:33:20,083 root INFO copying build/lib/urwid/event_loop/select_loop.py -> build/bdist.linux-aarch64/wheel/./urwid/event_loop 2026-08-20 08:33:20,084 root INFO copying build/lib/urwid/event_loop/abstract_loop.py -> build/bdist.linux-aarch64/wheel/./urwid/event_loop 2026-08-20 08:33:20,084 root INFO copying build/lib/urwid/event_loop/trio_loop.py -> build/bdist.linux-aarch64/wheel/./urwid/event_loop 2026-08-20 08:33:20,084 root INFO copying build/lib/urwid/event_loop/zmq_loop.py -> build/bdist.linux-aarch64/wheel/./urwid/event_loop 2026-08-20 08:33:20,084 root INFO copying build/lib/urwid/version.py -> build/bdist.linux-aarch64/wheel/./urwid 2026-08-20 08:33:20,084 root INFO creating build/bdist.linux-aarch64/wheel/urwid/display 2026-08-20 08:33:20,085 root INFO copying build/lib/urwid/display/__init__.py -> build/bdist.linux-aarch64/wheel/./urwid/display 2026-08-20 08:33:20,085 root INFO copying build/lib/urwid/display/escape.py -> build/bdist.linux-aarch64/wheel/./urwid/display 2026-08-20 08:33:20,085 root INFO copying build/lib/urwid/display/_web.css -> build/bdist.linux-aarch64/wheel/./urwid/display 2026-08-20 08:33:20,085 root INFO copying build/lib/urwid/display/html_fragment.py -> build/bdist.linux-aarch64/wheel/./urwid/display 2026-08-20 08:33:20,085 root INFO copying build/lib/urwid/display/raw.py -> build/bdist.linux-aarch64/wheel/./urwid/display 2026-08-20 08:33:20,085 root INFO copying build/lib/urwid/display/_raw_display_base.py -> build/bdist.linux-aarch64/wheel/./urwid/display 2026-08-20 08:33:20,086 root INFO copying build/lib/urwid/display/lcd.py -> build/bdist.linux-aarch64/wheel/./urwid/display 2026-08-20 08:33:20,086 root INFO copying build/lib/urwid/display/curses.py -> build/bdist.linux-aarch64/wheel/./urwid/display 2026-08-20 08:33:20,086 root INFO copying build/lib/urwid/display/_posix_raw_display.py -> build/bdist.linux-aarch64/wheel/./urwid/display 2026-08-20 08:33:20,086 root INFO copying build/lib/urwid/display/web.py -> build/bdist.linux-aarch64/wheel/./urwid/display 2026-08-20 08:33:20,086 root INFO copying build/lib/urwid/display/_win32_raw_display.py -> build/bdist.linux-aarch64/wheel/./urwid/display 2026-08-20 08:33:20,087 root INFO copying build/lib/urwid/display/_win32.py -> build/bdist.linux-aarch64/wheel/./urwid/display 2026-08-20 08:33:20,087 root INFO copying build/lib/urwid/display/_web.js -> build/bdist.linux-aarch64/wheel/./urwid/display 2026-08-20 08:33:20,087 root INFO copying build/lib/urwid/display/common.py -> build/bdist.linux-aarch64/wheel/./urwid/display 2026-08-20 08:33:20,087 root INFO copying build/lib/urwid/text_layout.py -> build/bdist.linux-aarch64/wheel/./urwid 2026-08-20 08:33:20,088 root INFO copying build/lib/urwid/util.py -> build/bdist.linux-aarch64/wheel/./urwid 2026-08-20 08:33:20,088 root INFO copying build/lib/urwid/graphics.py -> build/bdist.linux-aarch64/wheel/./urwid 2026-08-20 08:33:20,088 root INFO copying build/lib/urwid/split_repr.py -> build/bdist.linux-aarch64/wheel/./urwid 2026-08-20 08:33:20,088 root INFO copying build/lib/urwid/vterm.py -> build/bdist.linux-aarch64/wheel/./urwid 2026-08-20 08:33:20,088 root INFO copying build/lib/urwid/py.typed -> build/bdist.linux-aarch64/wheel/./urwid 2026-08-20 08:33:20,089 root INFO copying build/lib/urwid/str_util.py -> build/bdist.linux-aarch64/wheel/./urwid 2026-08-20 08:33:20,089 root INFO copying build/lib/urwid/command_map.py -> build/bdist.linux-aarch64/wheel/./urwid 2026-08-20 08:33:20,089 root INFO copying build/lib/urwid/font.py -> build/bdist.linux-aarch64/wheel/./urwid 2026-08-20 08:33:20,089 root INFO running install_egg_info 2026-08-20 08:33:20,093 root INFO Copying urwid.egg-info to build/bdist.linux-aarch64/wheel/./urwid-4.0.8-py3.14.egg-info 2026-08-20 08:33:20,094 root INFO running install_scripts 2026-08-20 08:33:20,095 root INFO creating build/bdist.linux-aarch64/wheel/urwid-4.0.8.dist-info/WHEEL 2026-08-20 08:33:20,096 wheel INFO creating '/home/buildozer/aports/community/py3-urwid/src/urwid-4.0.8/.dist/.tmp-7805_61r/urwid-4.0.8-py3-none-any.whl' and adding 'build/bdist.linux-aarch64/wheel' to it 2026-08-20 08:33:20,096 wheel INFO adding 'urwid/__init__.py' 2026-08-20 08:33:20,097 wheel INFO adding 'urwid/canvas.py' 2026-08-20 08:33:20,097 wheel INFO adding 'urwid/command_map.py' 2026-08-20 08:33:20,097 wheel INFO adding 'urwid/font.py' 2026-08-20 08:33:20,097 wheel INFO adding 'urwid/graphics.py' 2026-08-20 08:33:20,097 wheel INFO adding 'urwid/numedit.py' 2026-08-20 08:33:20,098 wheel INFO adding 'urwid/py.typed' 2026-08-20 08:33:20,098 wheel INFO adding 'urwid/signals.py' 2026-08-20 08:33:20,098 wheel INFO adding 'urwid/split_repr.py' 2026-08-20 08:33:20,098 wheel INFO adding 'urwid/str_util.py' 2026-08-20 08:33:20,098 wheel INFO adding 'urwid/text_layout.py' 2026-08-20 08:33:20,099 wheel INFO adding 'urwid/util.py' 2026-08-20 08:33:20,099 wheel INFO adding 'urwid/version.py' 2026-08-20 08:33:20,099 wheel INFO adding 'urwid/vterm.py' 2026-08-20 08:33:20,099 wheel INFO adding 'urwid/display/__init__.py' 2026-08-20 08:33:20,099 wheel INFO adding 'urwid/display/_posix_raw_display.py' 2026-08-20 08:33:20,100 wheel INFO adding 'urwid/display/_raw_display_base.py' 2026-08-20 08:33:20,100 wheel INFO adding 'urwid/display/_web.css' 2026-08-20 08:33:20,100 wheel INFO adding 'urwid/display/_web.js' 2026-08-20 08:33:20,100 wheel INFO adding 'urwid/display/_win32.py' 2026-08-20 08:33:20,100 wheel INFO adding 'urwid/display/_win32_raw_display.py' 2026-08-20 08:33:20,101 wheel INFO adding 'urwid/display/common.py' 2026-08-20 08:33:20,101 wheel INFO adding 'urwid/display/curses.py' 2026-08-20 08:33:20,101 wheel INFO adding 'urwid/display/escape.py' 2026-08-20 08:33:20,101 wheel INFO adding 'urwid/display/html_fragment.py' 2026-08-20 08:33:20,101 wheel INFO adding 'urwid/display/lcd.py' 2026-08-20 08:33:20,102 wheel INFO adding 'urwid/display/raw.py' 2026-08-20 08:33:20,102 wheel INFO adding 'urwid/display/web.py' 2026-08-20 08:33:20,102 wheel INFO adding 'urwid/event_loop/__init__.py' 2026-08-20 08:33:20,102 wheel INFO adding 'urwid/event_loop/abstract_loop.py' 2026-08-20 08:33:20,102 wheel INFO adding 'urwid/event_loop/asyncio_loop.py' 2026-08-20 08:33:20,103 wheel INFO adding 'urwid/event_loop/glib_loop.py' 2026-08-20 08:33:20,103 wheel INFO adding 'urwid/event_loop/main_loop.py' 2026-08-20 08:33:20,103 wheel INFO adding 'urwid/event_loop/select_loop.py' 2026-08-20 08:33:20,103 wheel INFO adding 'urwid/event_loop/tornado_loop.py' 2026-08-20 08:33:20,103 wheel INFO adding 'urwid/event_loop/trio_loop.py' 2026-08-20 08:33:20,104 wheel INFO adding 'urwid/event_loop/twisted_loop.py' 2026-08-20 08:33:20,104 wheel INFO adding 'urwid/event_loop/zmq_loop.py' 2026-08-20 08:33:20,104 wheel INFO adding 'urwid/widget/__init__.py' 2026-08-20 08:33:20,104 wheel INFO adding 'urwid/widget/attr_map.py' 2026-08-20 08:33:20,104 wheel INFO adding 'urwid/widget/attr_wrap.py' 2026-08-20 08:33:20,104 wheel INFO adding 'urwid/widget/bar_graph.py' 2026-08-20 08:33:20,105 wheel INFO adding 'urwid/widget/big_text.py' 2026-08-20 08:33:20,105 wheel INFO adding 'urwid/widget/box_adapter.py' 2026-08-20 08:33:20,105 wheel INFO adding 'urwid/widget/columns.py' 2026-08-20 08:33:20,105 wheel INFO adding 'urwid/widget/constants.py' 2026-08-20 08:33:20,105 wheel INFO adding 'urwid/widget/container.py' 2026-08-20 08:33:20,106 wheel INFO adding 'urwid/widget/divider.py' 2026-08-20 08:33:20,106 wheel INFO adding 'urwid/widget/edit.py' 2026-08-20 08:33:20,106 wheel INFO adding 'urwid/widget/filler.py' 2026-08-20 08:33:20,106 wheel INFO adding 'urwid/widget/frame.py' 2026-08-20 08:33:20,106 wheel INFO adding 'urwid/widget/grid_flow.py' 2026-08-20 08:33:20,107 wheel INFO adding 'urwid/widget/line_box.py' 2026-08-20 08:33:20,107 wheel INFO adding 'urwid/widget/listbox.py' 2026-08-20 08:33:20,107 wheel INFO adding 'urwid/widget/monitored_list.py' 2026-08-20 08:33:20,107 wheel INFO adding 'urwid/widget/overlay.py' 2026-08-20 08:33:20,108 wheel INFO adding 'urwid/widget/padding.py' 2026-08-20 08:33:20,108 wheel INFO adding 'urwid/widget/pile.py' 2026-08-20 08:33:20,108 wheel INFO adding 'urwid/widget/popup.py' 2026-08-20 08:33:20,108 wheel INFO adding 'urwid/widget/progress_bar.py' 2026-08-20 08:33:20,108 wheel INFO adding 'urwid/widget/scrollable.py' 2026-08-20 08:33:20,109 wheel INFO adding 'urwid/widget/solid_fill.py' 2026-08-20 08:33:20,109 wheel INFO adding 'urwid/widget/text.py' 2026-08-20 08:33:20,109 wheel INFO adding 'urwid/widget/treetools.py' 2026-08-20 08:33:20,109 wheel INFO adding 'urwid/widget/widget.py' 2026-08-20 08:33:20,109 wheel INFO adding 'urwid/widget/widget_decoration.py' 2026-08-20 08:33:20,110 wheel INFO adding 'urwid/widget/wimp.py' 2026-08-20 08:33:20,110 wheel INFO adding 'urwid-4.0.8.dist-info/licenses/COPYING' 2026-08-20 08:33:20,110 wheel INFO adding 'urwid-4.0.8.dist-info/METADATA' 2026-08-20 08:33:20,110 wheel INFO adding 'urwid-4.0.8.dist-info/WHEEL' 2026-08-20 08:33:20,110 wheel INFO adding 'urwid-4.0.8.dist-info/scm_file_list.json' 2026-08-20 08:33:20,111 wheel INFO adding 'urwid-4.0.8.dist-info/scm_version.json' 2026-08-20 08:33:20,111 wheel INFO adding 'urwid-4.0.8.dist-info/top_level.txt' 2026-08-20 08:33:20,111 wheel INFO adding 'urwid-4.0.8.dist-info/RECORD' 2026-08-20 08:33:20,111 root INFO removing build/bdist.linux-aarch64/wheel 2026-08-20 08:33:20,113 gpep517 INFO The backend produced .dist/urwid-4.0.8-py3-none-any.whl urwid-4.0.8-py3-none-any.whl ============================= test session starts ============================== platform linux -- Python 3.14.7, pytest-9.1.1, pluggy-1.6.0 -- /home/buildozer/aports/community/py3-urwid/src/urwid-4.0.8/.testenv/bin/python3 cachedir: .pytest_cache rootdir: /home/buildozer/aports/community/py3-urwid/src/urwid-4.0.8 configfile: pyproject.toml testpaths: tests plugins: cov-5.0.0 collecting ... collected 367 items tests/test_canvas.py::CanvasCacheTest::test1 SUBPASSED(widget=, size=(10, 1), focus=False, expected=) tests/test_canvas.py::CanvasCacheTest::test1 SUBPASSED(widget=, size=(15, 1), focus=False, expected=) tests/test_canvas.py::CanvasCacheTest::test1 SUBPASSED(widget=, size=(15, 1), focus=True, expected=None) tests/test_canvas.py::CanvasCacheTest::test1 SUBPASSED(widget=, size=(10, 2), focus=False, expected=None) tests/test_canvas.py::CanvasCacheTest::test1 SUBPASSED(widget=, size=(20, 2), focus=True, expected=) tests/test_canvas.py::CanvasCacheTest::test1 SUBPASSED(widget=, size=(21, 2), focus=True, expected=None) tests/test_canvas.py::CanvasCacheTest::test1 SUBPASSED(widget=, size=(10, 1), focus=False, expected=None) tests/test_canvas.py::CanvasCacheTest::test1 SUBPASSED(widget=, size=(15, 1), focus=False, expected=None) tests/test_canvas.py::CanvasCacheTest::test1 SUBPASSED(widget=, size=(20, 2), focus=True, expected=) tests/test_canvas.py::CanvasCacheTest::test1 PASSED tests/test_canvas.py::CanvasTest::test1 SUBPASSED(text=['Hello world'], attr=None, exp_content=[[(None, None, b'Hello world')]]) tests/test_canvas.py::CanvasTest::test1 SUBPASSED(text=['Hello world'], attr=[[('a', 5), (None, 6)]], exp_content=[[('a', None, b'Hello'), (None, None, b' world')]]) tests/test_canvas.py::CanvasTest::test1 SUBPASSED(text=['Hi', 'There'], attr=None, exp_content=[[(None, None, b'Hi ')], [(None, None, b'There')]]) tests/test_canvas.py::CanvasTest::test1 PASSED tests/test_canvas.py::CanvasTest::test2 PASSED tests/test_canvas.py::CanvasTest::test_basic_info PASSED tests/test_canvas.py::CanvasTest::test_composite_basic_info PASSED tests/test_canvas.py::ShardBodyTest::test1 PASSED tests/test_canvas.py::ShardBodyTest::test2 PASSED tests/test_canvas.py::ShardBodyTest::test3 PASSED tests/test_canvas.py::ShardsTrimTest::test1 PASSED tests/test_canvas.py::ShardsTrimTest::test2 PASSED tests/test_canvas.py::ShardsJoinTest::test PASSED tests/test_canvas.py::CanvasJoinTest::test PASSED tests/test_canvas.py::CanvasOverlayTest::test1 SUBPASSED[left] tests/test_canvas.py::CanvasOverlayTest::test1 SUBPASSED[right] tests/test_canvas.py::CanvasOverlayTest::test1 SUBPASSED[center] tests/test_canvas.py::CanvasOverlayTest::test1 SUBPASSED[center2] tests/test_canvas.py::CanvasOverlayTest::test1 SUBPASSED[full] tests/test_canvas.py::CanvasOverlayTest::test1 PASSED tests/test_canvas.py::CanvasOverlayTest::test2 SUBPASSED[same] tests/test_canvas.py::CanvasOverlayTest::test2 SUBPASSED[diff] tests/test_canvas.py::CanvasOverlayTest::test2 SUBPASSED[None end] tests/test_canvas.py::CanvasOverlayTest::test2 SUBPASSED[float end] tests/test_canvas.py::CanvasOverlayTest::test2 SUBPASSED[cover 2] tests/test_canvas.py::CanvasOverlayTest::test2 SUBPASSED[cover 2-2] tests/test_canvas.py::CanvasOverlayTest::test2 PASSED tests/test_canvas.py::CanvasOverlayTest::test3 SUBPASSED[db0] tests/test_canvas.py::CanvasOverlayTest::test3 SUBPASSED[db1] tests/test_canvas.py::CanvasOverlayTest::test3 SUBPASSED[db2] tests/test_canvas.py::CanvasOverlayTest::test3 SUBPASSED[db3] tests/test_canvas.py::CanvasOverlayTest::test3 PASSED tests/test_canvas.py::CanvasPadTrimTest::test1 SUBPASSED[none] tests/test_canvas.py::CanvasPadTrimTest::test1 SUBPASSED[left pad] tests/test_canvas.py::CanvasPadTrimTest::test1 SUBPASSED[right pad] tests/test_canvas.py::CanvasPadTrimTest::test1 PASSED tests/test_canvas.py::CanvasPadTrimTest::test2 SUBPASSED[left trim] tests/test_canvas.py::CanvasPadTrimTest::test2 SUBPASSED[right trim] tests/test_canvas.py::CanvasPadTrimTest::test2 PASSED tests/test_columns.py::ColumnsTest::test_basic_sizing SUBPASSED[No sizing calculation possible] tests/test_columns.py::ColumnsTest::test_basic_sizing SUBPASSED[BOX-only widget] tests/test_columns.py::ColumnsTest::test_basic_sizing SUBPASSED[BOX-only widget with "get height from max"] tests/test_columns.py::ColumnsTest::test_basic_sizing SUBPASSED[No FLOW - BOX only] tests/test_columns.py::ColumnsTest::test_basic_sizing SUBPASSED[GIVEN BOX only -> BOX only] tests/test_columns.py::ColumnsTest::test_basic_sizing SUBPASSED[FLOW-only] tests/test_columns.py::ColumnsTest::test_basic_sizing SUBPASSED[BOX/FLOW by "box_columns": can be rendered as box only as fallback] tests/test_columns.py::ColumnsTest::test_basic_sizing SUBPASSED[FLOW/FIXED] tests/test_columns.py::ColumnsTest::test_basic_sizing SUBPASSED[FIXED only] tests/test_columns.py::ColumnsTest::test_basic_sizing SUBPASSED[FIXED only use FLOW methods - drop & replace by solid] tests/test_columns.py::ColumnsTest::test_basic_sizing SUBPASSED[FIXED only use FLOW methods - add empty space] tests/test_columns.py::ColumnsTest::test_basic_sizing SUBPASSED[GIVEN BOX + FLOW/FIXED, but other widgets do not support box] tests/test_columns.py::ColumnsTest::test_basic_sizing SUBPASSED[Wrong sizing -> fallback to historic hardcoded] tests/test_columns.py::ColumnsTest::test_basic_sizing SUBPASSED[Wrong sizing -> fallback to historic hardcoded 2] tests/test_columns.py::ColumnsTest::test_basic_sizing SUBPASSED[BOX not added to "box_columns" but widget handled as FLOW] tests/test_columns.py::ColumnsTest::test_basic_sizing PASSED tests/test_columns.py::ColumnsTest::test_box_column PASSED tests/test_columns.py::ColumnsTest::test_common SUBPASSED[Focus] tests/test_columns.py::ColumnsTest::test_common SUBPASSED[Contents change] tests/test_columns.py::ColumnsTest::test_common SUBPASSED[Contents change validation] tests/test_columns.py::ColumnsTest::test_common PASSED tests/test_columns.py::ColumnsTest::test_deprecated SUBPASSED[Focus] tests/test_columns.py::ColumnsTest::test_deprecated SUBPASSED[Contents] tests/test_columns.py::ColumnsTest::test_deprecated SUBPASSED[Contents change] tests/test_columns.py::ColumnsTest::test_deprecated SUBPASSED[Contents change 2] tests/test_columns.py::ColumnsTest::test_deprecated PASSED tests/test_columns.py::ColumnsTest::test_focus_column SUBPASSED[Not provided -> select first selectable] tests/test_columns.py::ColumnsTest::test_focus_column SUBPASSED[Exact index] tests/test_columns.py::ColumnsTest::test_focus_column SUBPASSED[Exact widget] tests/test_columns.py::ColumnsTest::test_focus_column PASSED tests/test_columns.py::ColumnsTest::test_focus_position PASSED tests/test_columns.py::ColumnsTest::test_implement_widget_interface SUBPASSED[Box] tests/test_columns.py::ColumnsTest::test_implement_widget_interface SUBPASSED[Flow] tests/test_columns.py::ColumnsTest::test_implement_widget_interface PASSED tests/test_columns.py::ColumnsTest::test_init_with_a_generator PASSED tests/test_columns.py::ColumnsTest::test_length PASSED tests/test_columns.py::ColumnsTest::test_move_cursor PASSED tests/test_columns.py::ColumnsTest::test_no_height PASSED tests/test_columns.py::ColumnsTest::test_not_a_widget SUBPASSED[Box] tests/test_columns.py::ColumnsTest::test_not_a_widget SUBPASSED[Flow] tests/test_columns.py::ColumnsTest::test_not_a_widget PASSED tests/test_columns.py::ColumnsTest::test_old_attributes PASSED tests/test_columns.py::ColumnsTest::test_pack_flow_with_fixed_item SUBPASSED[Skip] tests/test_columns.py::ColumnsTest::test_pack_flow_with_fixed_item SUBPASSED[Fit all] tests/test_columns.py::ColumnsTest::test_pack_flow_with_fixed_item SUBPASSED[Use SolidCanvas instead] tests/test_columns.py::ColumnsTest::test_pack_flow_with_fixed_item PASSED tests/test_columns.py::ColumnsTest::test_pack_not_enough_info PASSED tests/test_columns.py::ColumnsTest::test_pack_render_broken_sizing PASSED tests/test_columns.py::ColumnsTest::test_pack_render_empty_widget PASSED tests/test_columns.py::ColumnsTest::test_pack_render_fixed PASSED tests/test_columns.py::ColumnsTest::test_pack_render_skip_widget PASSED tests/test_columns.py::ColumnsTest::test_regression_columns_different_height SUBPASSED[BoxFlow weight] tests/test_columns.py::ColumnsTest::test_regression_columns_different_height SUBPASSED[BoxFlow GIVEN] tests/test_columns.py::ColumnsTest::test_regression_columns_different_height PASSED tests/test_columns.py::ColumnsTest::test_render_fixed_consistency PASSED tests/test_columns.py::ColumnsTest::test_render_pack_item_not_fit PASSED tests/test_columns.py::ColumnsTest::test_widths SUBPASSED[simple 4+1] tests/test_columns.py::ColumnsTest::test_widths SUBPASSED[squish 4+1] tests/test_columns.py::ColumnsTest::test_widths SUBPASSED[squish 4+1] tests/test_columns.py::ColumnsTest::test_widths SUBPASSED[squish 4+1] tests/test_columns.py::ColumnsTest::test_widths SUBPASSED[FIXED] tests/test_columns.py::ColumnsTest::test_widths SUBPASSED[fixed 3] tests/test_columns.py::ColumnsTest::test_widths SUBPASSED[fixed 3 cut] tests/test_columns.py::ColumnsTest::test_widths SUBPASSED[fixed 3 cut2] tests/test_columns.py::ColumnsTest::test_widths SUBPASSED[mixed 4] tests/test_columns.py::ColumnsTest::test_widths SUBPASSED[mixed 4 a] tests/test_columns.py::ColumnsTest::test_widths SUBPASSED[mixed 4 b] tests/test_columns.py::ColumnsTest::test_widths SUBPASSED[mixed 4 c] tests/test_columns.py::ColumnsTest::test_widths PASSED tests/test_columns.py::ColumnsTest::test_widths_focus_end SUBPASSED[end simple 4+1] tests/test_columns.py::ColumnsTest::test_widths_focus_end SUBPASSED[end squish 4+1] tests/test_columns.py::ColumnsTest::test_widths_focus_end SUBPASSED[end squish 4+1] tests/test_columns.py::ColumnsTest::test_widths_focus_end SUBPASSED[end squish 4+1] tests/test_columns.py::ColumnsTest::test_widths_focus_end SUBPASSED[FIXED] tests/test_columns.py::ColumnsTest::test_widths_focus_end SUBPASSED[end fixed 3] tests/test_columns.py::ColumnsTest::test_widths_focus_end SUBPASSED[end fixed 3 cut] tests/test_columns.py::ColumnsTest::test_widths_focus_end SUBPASSED[end fixed 3 cut2] tests/test_columns.py::ColumnsTest::test_widths_focus_end SUBPASSED[end mixed 4] tests/test_columns.py::ColumnsTest::test_widths_focus_end SUBPASSED[end mixed 4 a] tests/test_columns.py::ColumnsTest::test_widths_focus_end SUBPASSED[end mixed 4 b] tests/test_columns.py::ColumnsTest::test_widths_focus_end SUBPASSED[end mixed 4 c] tests/test_columns.py::ColumnsTest::test_widths_focus_end PASSED tests/test_columns.py::ColumnsTest::test_zero_width_column PASSED tests/test_container.py::WidgetSquishTest::testFocus PASSED tests/test_container.py::WidgetSquishTest::test_bargraph PASSED tests/test_container.py::WidgetSquishTest::test_buttons SUBPASSED[Button cols=0 and focus=False] tests/test_container.py::WidgetSquishTest::test_buttons SUBPASSED[Button cols=1 and focus=False] tests/test_container.py::WidgetSquishTest::test_buttons SUBPASSED[Button cols=0 and focus=True] tests/test_container.py::WidgetSquishTest::test_buttons SUBPASSED[Button cols=1 and focus=True] tests/test_container.py::WidgetSquishTest::test_buttons SUBPASSED[RadioButton cols=0 and focus=False] tests/test_container.py::WidgetSquishTest::test_buttons SUBPASSED[RadioButton cols=1 and focus=False] tests/test_container.py::WidgetSquishTest::test_buttons SUBPASSED[RadioButton cols=0 and focus=True] tests/test_container.py::WidgetSquishTest::test_buttons SUBPASSED[RadioButton cols=1 and focus=True] tests/test_container.py::WidgetSquishTest::test_buttons PASSED tests/test_container.py::WidgetSquishTest::test_columns PASSED tests/test_container.py::WidgetSquishTest::test_filler PASSED tests/test_container.py::WidgetSquishTest::test_frame PASSED tests/test_container.py::WidgetSquishTest::test_graphvscale PASSED tests/test_container.py::WidgetSquishTest::test_listbox PASSED tests/test_container.py::WidgetSquishTest::test_overlay PASSED tests/test_container.py::WidgetSquishTest::test_pile PASSED tests/test_container.py::WidgetSquishTest::test_solidfill PASSED tests/test_container.py::CommonContainerTest::test_focus_path PASSED tests/test_container.py::CommonContainerTest::test_list_box PASSED tests/test_escapes.py::InputEscapeSequenceParserTest::test_bare_escape PASSED tests/test_escapes.py::InputEscapeSequenceParserTest::test_bug_104 PASSED tests/test_escapes.py::InputEscapeSequenceParserTest::test_ctrl_pgup PASSED tests/test_escapes.py::InputEscapeSequenceParserTest::test_esc_meta_1 PASSED tests/test_escapes.py::InputEscapeSequenceParserTest::test_functional_keys PASSED tests/test_escapes.py::InputEscapeSequenceParserTest::test_functional_keys_mods_f1_f4 PASSED tests/test_escapes.py::InputEscapeSequenceParserTest::test_functional_keys_mods_simple_f1_20 PASSED tests/test_escapes.py::InputEscapeSequenceParserTest::test_meta PASSED tests/test_escapes.py::InputEscapeSequenceParserTest::test_midsequence PASSED tests/test_escapes.py::InputEscapeSequenceParserTest::test_mouse_press PASSED tests/test_escapes.py::InputEscapeSequenceParserTest::test_sgrmouse PASSED tests/test_escapes.py::InputEscapeSequenceParserTest::test_shift_arrows PASSED tests/test_event_loops.py::SelectEventLoopTest::test_event_loop PASSED tests/test_event_loops.py::SelectEventLoopTest::test_remove_alarm PASSED tests/test_event_loops.py::SelectEventLoopTest::test_remove_watch_file PASSED tests/test_event_loops.py::SelectEventLoopTest::test_run PASSED tests/test_event_loops.py::SelectEventLoopTest::test_run_in_executor PASSED tests/test_event_loops.py::AsyncioEventLoopTest::test_coroutine_error PASSED tests/test_event_loops.py::AsyncioEventLoopTest::test_error PASSED tests/test_event_loops.py::AsyncioEventLoopTest::test_event_loop PASSED tests/test_event_loops.py::AsyncioEventLoopTest::test_remove_alarm PASSED tests/test_event_loops.py::AsyncioEventLoopTest::test_remove_watch_file PASSED tests/test_event_loops.py::AsyncioEventLoopTest::test_run PASSED tests/test_event_loops.py::AsyncioEventLoopTest::test_run_in_executor PASSED tests/test_event_loops.py::GLibEventLoopTest::test_error SKIPPED tests/test_event_loops.py::GLibEventLoopTest::test_event_loop SKIPPED tests/test_event_loops.py::GLibEventLoopTest::test_remove_alarm SKIPPED tests/test_event_loops.py::GLibEventLoopTest::test_remove_watch_file SKIPPED tests/test_event_loops.py::GLibEventLoopTest::test_run SKIPPED (Unstable test: race conditions happens) tests/test_event_loops.py::GLibEventLoopTest::test_run_in_executor SKIPPED tests/test_event_loops.py::TornadoEventLoopTest::test_event_loop PASSED tests/test_event_loops.py::TornadoEventLoopTest::test_remove_alarm PASSED tests/test_event_loops.py::TornadoEventLoopTest::test_remove_watch_file PASSED tests/test_event_loops.py::TornadoEventLoopTest::test_run PASSED tests/test_event_loops.py::TornadoEventLoopTest::test_run_in_executor PASSED tests/test_event_loops.py::TwistedEventLoopTest::test_error (, ZeroDivisionError('division by zero'), ) PASSED tests/test_event_loops.py::TwistedEventLoopTest::test_event_loop PASSED tests/test_event_loops.py::TwistedEventLoopTest::test_remove_alarm PASSED tests/test_event_loops.py::TwistedEventLoopTest::test_remove_watch_file PASSED tests/test_event_loops.py::TwistedEventLoopTest::test_run PASSED tests/test_event_loops.py::TwistedEventLoopTest::test_run_in_executor SKIPPED tests/test_event_loops.py::TrioEventLoopTest::test_error PASSED tests/test_event_loops.py::TrioEventLoopTest::test_event_loop PASSED tests/test_event_loops.py::TrioEventLoopTest::test_remove_alarm PASSED tests/test_event_loops.py::TrioEventLoopTest::test_remove_watch_file PASSED tests/test_event_loops.py::TrioEventLoopTest::test_run PASSED tests/test_event_loops.py::TrioEventLoopTest::test_run_in_executor SKIPPED tests/test_event_loops.py::ZMQEventLoopTest::test_event_loop PASSED tests/test_event_loops.py::ZMQEventLoopTest::test_remove_alarm PASSED tests/test_event_loops.py::ZMQEventLoopTest::test_remove_watch_file PASSED tests/test_event_loops.py::ZMQEventLoopTest::test_run PASSED tests/test_event_loops.py::ZMQEventLoopTest::test_run_in_executor PASSED tests/test_filler.py::FillerTest::test_create SUBPASSED[invalid pad] tests/test_filler.py::FillerTest::test_create SUBPASSED[invalid pad type] tests/test_filler.py::FillerTest::test_create SUBPASSED[invalid width] tests/test_filler.py::FillerTest::test_create SUBPASSED[invalid width type] tests/test_filler.py::FillerTest::test_create SUBPASSED[invalid combination] tests/test_filler.py::FillerTest::test_create SUBPASSED[invalid combination 2] tests/test_filler.py::FillerTest::test_create PASSED tests/test_filler.py::FillerTest::test_render_focused_not_fit PASSED tests/test_filler.py::FillerTest::test_repr PASSED tests/test_filler.py::FillerTest::test_sizing SUBPASSED[Flow supported for PACK height (flow widget)] tests/test_filler.py::FillerTest::test_sizing SUBPASSED[Flow supported for GIVEN height (box widget)] tests/test_filler.py::FillerTest::test_sizing SUBPASSED[Flow is not supported for RELATIVE scenarios] tests/test_filler.py::FillerTest::test_sizing PASSED tests/test_filler.py::FillerTest::test_values SUBPASSED[top align 5 7] tests/test_filler.py::FillerTest::test_values SUBPASSED[top align 7 7] tests/test_filler.py::FillerTest::test_values SUBPASSED[top align 9 7] tests/test_filler.py::FillerTest::test_values SUBPASSED[bottom align 5 7] tests/test_filler.py::FillerTest::test_values SUBPASSED[middle align 5 7] tests/test_filler.py::FillerTest::test_values SUBPASSED[fixed top] tests/test_filler.py::FillerTest::test_values SUBPASSED[fixed top reduce] tests/test_filler.py::FillerTest::test_values SUBPASSED[fixed top shrink] tests/test_filler.py::FillerTest::test_values SUBPASSED[fixed top, bottom] tests/test_filler.py::FillerTest::test_values SUBPASSED[fixed top, bottom, min_width] tests/test_filler.py::FillerTest::test_values SUBPASSED[fixed top, bottom, min_width 2] tests/test_filler.py::FillerTest::test_values SUBPASSED[fixed bottom] tests/test_filler.py::FillerTest::test_values SUBPASSED[fixed bottom reduce] tests/test_filler.py::FillerTest::test_values SUBPASSED[fixed bottom shrink] tests/test_filler.py::FillerTest::test_values SUBPASSED[fixed bottom, top] tests/test_filler.py::FillerTest::test_values SUBPASSED[fixed bottom, top, min_height] tests/test_filler.py::FillerTest::test_values SUBPASSED[fixed bottom, top, min_height 2] tests/test_filler.py::FillerTest::test_values SUBPASSED[relative 30] tests/test_filler.py::FillerTest::test_values SUBPASSED[relative 50] tests/test_filler.py::FillerTest::test_values SUBPASSED[relative 130 edge] tests/test_filler.py::FillerTest::test_values SUBPASSED[relative -10 edge] tests/test_filler.py::FillerTest::test_values SUBPASSED[middle relative 70] tests/test_filler.py::FillerTest::test_values SUBPASSED[middle relative 70 grow 8] tests/test_filler.py::FillerTest::test_values PASSED tests/test_floatedit.py::FloatEditNoPreservePrecicionTest::test 1.01 1.01 2.5 2.5 300 300 4.100 4.100 5.001 5.001 PASSED tests/test_floatedit.py::FloatEditNoPreservePrecicionTest::test_int PASSED tests/test_floatedit.py::FloatEditNoPreservePrecicionTest::test_no_post_dot PASSED tests/test_floatedit.py::FloatEditPreservePrecicionTest::test PASSED tests/test_font.py::TestFontRender::test_001_basic PASSED tests/test_font.py::TestFontRender::test_002_non_rect PASSED tests/test_frame.py::FrameTest::test SUBPASSED[simple] tests/test_frame.py::FrameTest::test SUBPASSED[simple h] tests/test_frame.py::FrameTest::test SUBPASSED[simple f] tests/test_frame.py::FrameTest::test SUBPASSED[simple hf] tests/test_frame.py::FrameTest::test SUBPASSED[almost full hf] tests/test_frame.py::FrameTest::test SUBPASSED[full hf] tests/test_frame.py::FrameTest::test SUBPASSED[x full h+1f] tests/test_frame.py::FrameTest::test SUBPASSED[full h+1f] tests/test_frame.py::FrameTest::test SUBPASSED[full hf+1] tests/test_frame.py::FrameTest::test SUBPASSED[F full h+1f] tests/test_frame.py::FrameTest::test SUBPASSED[F full hf+1] tests/test_frame.py::FrameTest::test SUBPASSED[F full hf+5] tests/test_frame.py::FrameTest::test SUBPASSED[full hf+5] tests/test_frame.py::FrameTest::test SUBPASSED[H full hf+1] tests/test_frame.py::FrameTest::test SUBPASSED[H full h+1f] tests/test_frame.py::FrameTest::test SUBPASSED[H full h+5f] tests/test_frame.py::FrameTest::test PASSED tests/test_frame.py::FrameTest::test_common PASSED tests/test_frame.py::FrameTest::test_focus SUBPASSED[default] tests/test_frame.py::FrameTest::test_focus SUBPASSED[body] tests/test_frame.py::FrameTest::test_focus SUBPASSED[header] tests/test_frame.py::FrameTest::test_focus SUBPASSED[footer] tests/test_frame.py::FrameTest::test_focus PASSED tests/test_grapheme_clusters.py::CalcWidthGraphemeTest::test_basic PASSED tests/test_grapheme_clusters.py::CalcWidthGraphemeTest::test_combining PASSED tests/test_grapheme_clusters.py::CalcWidthGraphemeTest::test_flags PASSED tests/test_grapheme_clusters.py::CalcWidthGraphemeTest::test_skin_tones PASSED tests/test_grapheme_clusters.py::CalcWidthGraphemeTest::test_variation_selectors PASSED tests/test_grapheme_clusters.py::CalcWidthGraphemeTest::test_zwj_sequences PASSED tests/test_grapheme_clusters.py::CalcTextPosGraphemeTest::test_basic PASSED tests/test_grapheme_clusters.py::CalcTextPosGraphemeTest::test_flag_boundaries PASSED tests/test_grapheme_clusters.py::CalcTextPosGraphemeTest::test_zwj_boundaries PASSED tests/test_grapheme_clusters.py::MoveNextCharGraphemeTest::test_basic_ascii PASSED tests/test_grapheme_clusters.py::MoveNextCharGraphemeTest::test_move_through_combining PASSED tests/test_grapheme_clusters.py::MoveNextCharGraphemeTest::test_move_through_family_emoji PASSED tests/test_grapheme_clusters.py::MoveNextCharGraphemeTest::test_move_through_flag PASSED tests/test_grapheme_clusters.py::MoveNextCharGraphemeTest::test_move_through_skin_tone PASSED tests/test_grapheme_clusters.py::MovePrevCharGraphemeTest::test_basic_ascii PASSED tests/test_grapheme_clusters.py::MovePrevCharGraphemeTest::test_move_back_through_combining PASSED tests/test_grapheme_clusters.py::MovePrevCharGraphemeTest::test_move_back_through_family_emoji PASSED tests/test_grapheme_clusters.py::MovePrevCharGraphemeTest::test_move_back_through_flag PASSED tests/test_grapheme_clusters.py::MovePrevCharGraphemeTest::test_move_back_through_skin_tone PASSED tests/test_grapheme_clusters.py::IsWideCharGraphemeTest::test_ascii_not_wide PASSED tests/test_grapheme_clusters.py::IsWideCharGraphemeTest::test_cjk_is_wide PASSED tests/test_grapheme_clusters.py::IsWideCharGraphemeTest::test_family_emoji_is_wide PASSED tests/test_grapheme_clusters.py::IsWideCharGraphemeTest::test_flag_is_wide PASSED tests/test_grapheme_clusters.py::IsWideCharGraphemeTest::test_skin_tone_is_wide PASSED tests/test_grapheme_clusters.py::Utf8BytesGraphemeTest::test_calc_text_pos_flag_boundaries_bytes PASSED tests/test_grapheme_clusters.py::Utf8BytesGraphemeTest::test_calc_width_family_emoji_bytes PASSED tests/test_grapheme_clusters.py::Utf8BytesGraphemeTest::test_calc_width_flag_bytes PASSED tests/test_grapheme_clusters.py::Utf8BytesGraphemeTest::test_is_wide_family_emoji_bytes PASSED tests/test_grapheme_clusters.py::Utf8BytesGraphemeTest::test_is_wide_flag_bytes PASSED tests/test_grapheme_clusters.py::Utf8BytesGraphemeTest::test_move_next_through_family_emoji_bytes PASSED tests/test_grapheme_clusters.py::Utf8BytesGraphemeTest::test_move_next_through_flag_bytes PASSED tests/test_grapheme_clusters.py::Utf8BytesGraphemeTest::test_move_prev_through_family_emoji_bytes PASSED tests/test_grapheme_clusters.py::Utf8BytesGraphemeTest::test_move_prev_through_flag_bytes PASSED tests/test_graphics.py::BarGraphTest::test1 PASSED tests/test_graphics.py::BarGraphTest::test2 PASSED tests/test_graphics.py::SmoothBarGraphTest::test1 PASSED tests/test_grid_flow.py::GridFlowTest::test_basics PASSED tests/test_grid_flow.py::GridFlowTest::test_cell_width PASSED tests/test_grid_flow.py::GridFlowTest::test_common SUBPASSED[Focus] tests/test_grid_flow.py::GridFlowTest::test_common SUBPASSED[Contents options] tests/test_grid_flow.py::GridFlowTest::test_common PASSED tests/test_grid_flow.py::GridFlowTest::test_default_focus SUBPASSED[Simple] tests/test_grid_flow.py::GridFlowTest::test_default_focus SUBPASSED[Simple not selectable] tests/test_grid_flow.py::GridFlowTest::test_default_focus SUBPASSED[Explicit index] tests/test_grid_flow.py::GridFlowTest::test_default_focus SUBPASSED[Explicit widget] tests/test_grid_flow.py::GridFlowTest::test_default_focus SUBPASSED[Selectable not first] tests/test_grid_flow.py::GridFlowTest::test_default_focus PASSED tests/test_grid_flow.py::GridFlowTest::test_deprecated PASSED tests/test_grid_flow.py::GridFlowTest::test_empty SUBPASSED[Flow] tests/test_grid_flow.py::GridFlowTest::test_empty SUBPASSED[Fixed] tests/test_grid_flow.py::GridFlowTest::test_empty PASSED tests/test_grid_flow.py::GridFlowTest::test_fixed PASSED tests/test_grid_flow.py::GridFlowTest::test_focus_position PASSED tests/test_grid_flow.py::GridFlowTest::test_keypress_v_sep_0 PASSED tests/test_grid_flow.py::GridFlowTest::test_length PASSED tests/test_grid_flow.py::GridFlowTest::test_multiline PASSED tests/test_grid_flow.py::GridFlowTest::test_multiline_2 PASSED tests/test_grid_flow.py::GridFlowTest::test_not_fit PASSED tests/test_grid_flow.py::GridFlowTest::test_v_sep PASSED tests/test_line_box.py::LineBoxTest::test_border PASSED tests/test_line_box.py::LineBoxTest::test_columns_of_lineboxes PASSED tests/test_line_box.py::LineBoxTest::test_header PASSED tests/test_line_box.py::LineBoxTest::test_linebox_pack PASSED tests/test_line_box.py::LineBoxTest::test_negative PASSED tests/test_line_box.py::LineBoxTest::test_partial_contour SUBPASSED[No top line -> no top] tests/test_line_box.py::LineBoxTest::test_partial_contour SUBPASSED[No right side elements -> no side] tests/test_line_box.py::LineBoxTest::test_partial_contour SUBPASSED[No left side elements -> no side] tests/test_line_box.py::LineBoxTest::test_partial_contour SUBPASSED[No bottom line -> no bottom] tests/test_line_box.py::LineBoxTest::test_partial_contour PASSED tests/test_line_box.py::LineBoxTest::test_replace_widget PASSED tests/test_listbox.py::ListBoxCalculateVisibleTest::test1_simple SUBPASSED[simple top position] tests/test_listbox.py::ListBoxCalculateVisibleTest::test1_simple SUBPASSED[simple middle position] tests/test_listbox.py::ListBoxCalculateVisibleTest::test1_simple SUBPASSED[simple bottom position] tests/test_listbox.py::ListBoxCalculateVisibleTest::test1_simple SUBPASSED[straddle top edge] tests/test_listbox.py::ListBoxCalculateVisibleTest::test1_simple SUBPASSED[straddle bottom edge] tests/test_listbox.py::ListBoxCalculateVisibleTest::test1_simple SUBPASSED[off bottom edge] tests/test_listbox.py::ListBoxCalculateVisibleTest::test1_simple SUBPASSED[way off bottom edge] tests/test_listbox.py::ListBoxCalculateVisibleTest::test1_simple SUBPASSED[gap at top] tests/test_listbox.py::ListBoxCalculateVisibleTest::test1_simple SUBPASSED[gap at top and off bottom edge] tests/test_listbox.py::ListBoxCalculateVisibleTest::test1_simple SUBPASSED[gap at bottom] tests/test_listbox.py::ListBoxCalculateVisibleTest::test1_simple SUBPASSED[gap at bottom and straddling top edge] tests/test_listbox.py::ListBoxCalculateVisibleTest::test1_simple SUBPASSED[gap at bottom cannot completely fill] tests/test_listbox.py::ListBoxCalculateVisibleTest::test1_simple SUBPASSED[gap at top and bottom] tests/test_listbox.py::ListBoxCalculateVisibleTest::test1_simple PASSED tests/test_listbox.py::ListBoxCalculateVisibleTest::test2_cursor SUBPASSED[plain cursor in view] tests/test_listbox.py::ListBoxCalculateVisibleTest::test2_cursor SUBPASSED[cursor off top] tests/test_listbox.py::ListBoxCalculateVisibleTest::test2_cursor SUBPASSED[cursor further off top] tests/test_listbox.py::ListBoxCalculateVisibleTest::test2_cursor SUBPASSED[cursor off bottom] tests/test_listbox.py::ListBoxCalculateVisibleTest::test2_cursor SUBPASSED[cursor way off bottom] tests/test_listbox.py::ListBoxCalculateVisibleTest::test2_cursor PASSED tests/test_listbox.py::ListBoxCalculateVisibleTest::test_not_sized PASSED tests/test_listbox.py::ListBoxCalculateVisibleTest::test_sized PASSED tests/test_listbox.py::ListBoxChangeFocusTest::test1unselectable SUBPASSED[simple unselectable] tests/test_listbox.py::ListBoxChangeFocusTest::test1unselectable SUBPASSED[unselectable] tests/test_listbox.py::ListBoxChangeFocusTest::test1unselectable SUBPASSED[unselectable off top] tests/test_listbox.py::ListBoxChangeFocusTest::test1unselectable SUBPASSED[unselectable off bottom] tests/test_listbox.py::ListBoxChangeFocusTest::test1unselectable PASSED tests/test_listbox.py::ListBoxChangeFocusTest::test2selectable SUBPASSED[simple selectable] tests/test_listbox.py::ListBoxChangeFocusTest::test2selectable SUBPASSED[selectable] tests/test_listbox.py::ListBoxChangeFocusTest::test2selectable SUBPASSED[selectable at top] tests/test_listbox.py::ListBoxChangeFocusTest::test2selectable SUBPASSED[selectable at bottom] tests/test_listbox.py::ListBoxChangeFocusTest::test2selectable SUBPASSED[selectable off top snap] tests/test_listbox.py::ListBoxChangeFocusTest::test2selectable SUBPASSED[selectable off bottom snap] tests/test_listbox.py::ListBoxChangeFocusTest::test2selectable SUBPASSED[selectable off top no snap] tests/test_listbox.py::ListBoxChangeFocusTest::test2selectable SUBPASSED[selectable off bottom no snap] tests/test_listbox.py::ListBoxChangeFocusTest::test2selectable PASSED tests/test_listbox.py::ListBoxChangeFocusTest::test3large_selectable SUBPASSED[large selectable no snap] tests/test_listbox.py::ListBoxChangeFocusTest::test3large_selectable SUBPASSED[large selectable snap up] tests/test_listbox.py::ListBoxChangeFocusTest::test3large_selectable SUBPASSED[large selectable snap up2] tests/test_listbox.py::ListBoxChangeFocusTest::test3large_selectable SUBPASSED[large selectable almost snap up] tests/test_listbox.py::ListBoxChangeFocusTest::test3large_selectable SUBPASSED[large selectable snap down] tests/test_listbox.py::ListBoxChangeFocusTest::test3large_selectable SUBPASSED[large selectable snap down2] tests/test_listbox.py::ListBoxChangeFocusTest::test3large_selectable SUBPASSED[large selectable almost snap down] tests/test_listbox.py::ListBoxChangeFocusTest::test3large_selectable SUBPASSED[large selectable outside view down] tests/test_listbox.py::ListBoxChangeFocusTest::test3large_selectable SUBPASSED[large selectable outside view up] tests/test_listbox.py::ListBoxChangeFocusTest::test3large_selectable PASSED tests/test_listbox.py::ListBoxChangeFocusTest::test4cursor PASSED tests/test_listbox.py::ListBoxChangeFocusTest::test5set_focus_valign PASSED tests/test_listbox.py::ListBoxRenderTest::test1_simple SUBPASSED[simple one text item render] tests/test_listbox.py::ListBoxRenderTest::test1_simple SUBPASSED[simple multi text item render off bottom] tests/test_listbox.py::ListBoxRenderTest::test1_simple SUBPASSED[simple multi text item render off top] tests/test_listbox.py::ListBoxRenderTest::test1_simple PASSED tests/test_listbox.py::ListBoxRenderTest::test2_trim SUBPASSED[trim unfocused bottom] tests/test_listbox.py::ListBoxRenderTest::test2_trim SUBPASSED[trim unfocused top] tests/test_listbox.py::ListBoxRenderTest::test2_trim SUBPASSED[trim none full focus] tests/test_listbox.py::ListBoxRenderTest::test2_trim SUBPASSED[trim focus bottom] tests/test_listbox.py::ListBoxRenderTest::test2_trim SUBPASSED[trim focus top] tests/test_listbox.py::ListBoxRenderTest::test2_trim SUBPASSED[trim focus top and bottom] tests/test_listbox.py::ListBoxRenderTest::test2_trim PASSED tests/test_listbox.py::ListBoxRenderTest::test3_shift SUBPASSED[shift up one fit] tests/test_listbox.py::ListBoxRenderTest::test3_shift SUBPASSED[shift down one cursor over edge] tests/test_listbox.py::ListBoxRenderTest::test3_shift SUBPASSED[shift up one cursor over edge] tests/test_listbox.py::ListBoxRenderTest::test3_shift SUBPASSED[shift none cursor top focus over edge] tests/test_listbox.py::ListBoxRenderTest::test3_shift SUBPASSED[shift none cursor bottom focus over edge] tests/test_listbox.py::ListBoxRenderTest::test3_shift PASSED tests/test_listbox.py::ListBoxRenderTest::test4_really_large_contents SUBPASSED[really large edit] tests/test_listbox.py::ListBoxRenderTest::test4_really_large_contents SUBPASSED[really large edit] tests/test_listbox.py::ListBoxRenderTest::test4_really_large_contents PASSED tests/test_listbox.py::ListBoxKeypressTest::test1_up PASSED tests/test_listbox.py::ListBoxKeypressTest::test2_down PASSED tests/test_listbox.py::ListBoxKeypressTest::test3_page_up PASSED tests/test_listbox.py::ListBoxKeypressTest::test4_page_down PASSED tests/test_listbox.py::ZeroHeightContentsTest::test_listbox_pile PASSED tests/test_listbox.py::ZeroHeightContentsTest::test_listbox_text_pile_down PASSED tests/test_listbox.py::ZeroHeightContentsTest::test_listbox_text_pile_page_down PASSED tests/test_listbox.py::ZeroHeightContentsTest::test_listbox_text_pile_page_up PASSED tests/test_listbox.py::ZeroHeightContentsTest::test_listbox_text_pile_up PASSED tests/test_listbox.py::PageDownAboveTopTest::test_page_down_does_not_raise PASSED tests/test_listbox.py::ListBoxSetBodyTest::test_signal_connected PASSED tests/test_listbox.py::TestListWalkerFromIterable::test_01_simple_list_walker PASSED tests/test_listbox.py::TestListWalkerFromIterable::test_02_simple_focus_list_walker PASSED tests/test_main_loop.py::TestMainLoop::test_watch_pipe PASSED tests/test_overlay.py::OverlayTest::test_common PASSED tests/test_overlay.py::OverlayTest::test_get_cursor_coords PASSED tests/test_overlay.py::OverlayTest::test_length PASSED tests/test_overlay.py::OverlayTest::test_old_params PASSED tests/test_overlay.py::OverlayTest::test_relative PASSED tests/test_overlay.py::OverlayTest::test_sizing_box_fixed_given SUBPASSED[All GIVEN FIXED] tests/test_overlay.py::OverlayTest::test_sizing_box_fixed_given SUBPASSED[ALL GIVEN FLOW] tests/test_overlay.py::OverlayTest::test_sizing_box_fixed_given SUBPASSED[ALL GIVEN BOX] tests/test_overlay.py::OverlayTest::test_sizing_box_fixed_given PASSED tests/test_overlay.py::OverlayTest::test_sizing_box_fixed_relative SUBPASSED[All GIVEN FIXED] tests/test_overlay.py::OverlayTest::test_sizing_box_fixed_relative SUBPASSED[ALL GIVEN FLOW] tests/test_overlay.py::OverlayTest::test_sizing_box_fixed_relative SUBPASSED[ALL GIVEN BOX] tests/test_overlay.py::OverlayTest::test_sizing_box_fixed_relative PASSED tests/test_overlay.py::OverlayTest::test_sizing_flow_fixed SUBPASSED[Fixed render no size] tests/test_overlay.py::OverlayTest::test_sizing_flow_fixed SUBPASSED[Fixed render + corners] tests/test_overlay.py::OverlayTest::test_sizing_flow_fixed SUBPASSED[Fixed render from FLOW] tests/test_overlay.py::OverlayTest::test_sizing_flow_fixed SUBPASSED[Fixed render from FLOW + corners] tests/test_overlay.py::OverlayTest::test_sizing_flow_fixed SUBPASSED[Fixed Relative] tests/test_overlay.py::OverlayTest::test_sizing_flow_fixed SUBPASSED[Flow Relative] tests/test_overlay.py::OverlayTest::test_sizing_flow_fixed SUBPASSED[Fixed Relative + corners] tests/test_overlay.py::OverlayTest::test_sizing_flow_fixed SUBPASSED[Fixed Relative + corners] tests/test_overlay.py::OverlayTest::test_sizing_flow_fixed PASSED tests/test_padding.py::PaddingTest::test_create PASSED tests/test_padding.py::PaddingTest::test_cursor PASSED tests/test_padding.py::PaddingTest::test_fixed PASSED tests/test_padding.py::PaddingTest::test_insufficient_space PASSED tests/test_padding.py::PaddingTest::test_reduced_padding_cursor PASSED tests/test_padding.py::PaddingTest::test_sizing SUBPASSED[Fixed only] tests/test_padding.py::PaddingTest::test_sizing SUBPASSED[Fixed only + relative size & default align] tests/test_padding.py::PaddingTest::test_sizing SUBPASSED[FIXED/FLOW] tests/test_padding.py::PaddingTest::test_sizing SUBPASSED[FIXED/FLOW + relative size & right align] tests/test_padding.py::PaddingTest::test_sizing SUBPASSED[GIVEN FLOW make FIXED] tests/test_padding.py::PaddingTest::test_sizing SUBPASSED[GIVEN FIXED = error] tests/test_padding.py::PaddingTest::test_sizing PASSED tests/test_padding.py::PaddingTest::test_values PASSED tests/test_pile.py::PileTest::test_basic_sizing SUBPASSED[BOX-only widget] tests/test_pile.py::PileTest::test_basic_sizing SUBPASSED[GIVEN BOX -> BOX/FLOW] tests/test_pile.py::PileTest::test_basic_sizing SUBPASSED[FLOW-only] tests/test_pile.py::PileTest::test_basic_sizing SUBPASSED[FIXED -> FIXED] tests/test_pile.py::PileTest::test_basic_sizing SUBPASSED[FLOW/FIXED -> FLOW/FIXED] tests/test_pile.py::PileTest::test_basic_sizing SUBPASSED[FLOW + FLOW/FIXED -> FLOW/FIXED] tests/test_pile.py::PileTest::test_basic_sizing SUBPASSED[FLOW + FIXED widgets -> FLOW/FIXED] tests/test_pile.py::PileTest::test_basic_sizing SUBPASSED[GIVEN BOX + FIXED widgets -> BOX/FLOW/FIXED] tests/test_pile.py::PileTest::test_basic_sizing PASSED tests/test_pile.py::PileTest::test_change_focus_with_mouse PASSED tests/test_pile.py::PileTest::test_common SUBPASSED[Focus] tests/test_pile.py::PileTest::test_common SUBPASSED[Contents change] tests/test_pile.py::PileTest::test_common SUBPASSED[Contents change validation] tests/test_pile.py::PileTest::test_common PASSED tests/test_pile.py::PileTest::test_deprecated SUBPASSED[Focus] tests/test_pile.py::PileTest::test_deprecated SUBPASSED[Contents] tests/test_pile.py::PileTest::test_deprecated SUBPASSED[Contents change] tests/test_pile.py::PileTest::test_deprecated SUBPASSED[Contents change 2] tests/test_pile.py::PileTest::test_deprecated PASSED tests/test_pile.py::PileTest::test_focus_position PASSED tests/test_pile.py::PileTest::test_focused_not_fit SUBPASSED[Fit selectable only] tests/test_pile.py::PileTest::test_focused_not_fit SUBPASSED[Fit selectable and some items] tests/test_pile.py::PileTest::test_focused_not_fit SUBPASSED[Fit selectable and symmetric items] tests/test_pile.py::PileTest::test_focused_not_fit SUBPASSED[Not symmetric top] tests/test_pile.py::PileTest::test_focused_not_fit SUBPASSED[Not symmetric bottom] tests/test_pile.py::PileTest::test_focused_not_fit SUBPASSED[Non-linear sizes should not break rendering] tests/test_pile.py::PileTest::test_focused_not_fit SUBPASSED[In multiple weighted need to choose correct to show] tests/test_pile.py::PileTest::test_focused_not_fit PASSED tests/test_pile.py::PileTest::test_implement_widget_interface SUBPASSED[Box] tests/test_pile.py::PileTest::test_implement_widget_interface SUBPASSED[Flow] tests/test_pile.py::PileTest::test_implement_widget_interface PASSED tests/test_pile.py::PileTest::test_init_with_a_generator PASSED tests/test_pile.py::PileTest::test_length PASSED tests/test_pile.py::PileTest::test_mouse_event_in_empty_pile PASSED tests/test_pile.py::PileTest::test_not_a_widget SUBPASSED[Box] tests/test_pile.py::PileTest::test_not_a_widget SUBPASSED[Flow] tests/test_pile.py::PileTest::test_not_a_widget PASSED tests/test_pile.py::PileTest::test_pack_render_fixed PASSED tests/test_pile.py::PileTest::test_select_change PASSED tests/test_pile.py::PileTest::test_zero_weight PASSED tests/test_raw_display.py::TestRawDisplay::test_attrspec_to_escape PASSED tests/test_scrollable.py::TestScrollable::test_basic PASSED tests/test_scrollable.py::TestScrollable::test_negative PASSED tests/test_scrollable.py::TestScrollBarScrollable::test_alt_symbols PASSED tests/test_scrollable.py::TestScrollBarScrollable::test_basic PASSED tests/test_scrollable.py::TestScrollBarScrollable::test_fixed PASSED tests/test_scrollable.py::TestScrollBarScrollable::test_mouse_left_click_content_ignored PASSED tests/test_scrollable.py::TestScrollBarScrollable::test_mouse_left_click_left_side_scrollbar PASSED tests/test_scrollable.py::TestScrollBarScrollable::test_mouse_left_click_scrollbar PASSED tests/test_scrollable.py::TestScrollBarScrollable::test_mouse_left_click_without_scrollbar PASSED tests/test_scrollable.py::TestScrollBarScrollable::test_negative PASSED tests/test_scrollable.py::TestScrollBarScrollable::test_no_scrollbar PASSED tests/test_scrollable.py::TestScrollBarListBox::test_empty PASSED tests/test_scrollable.py::TestScrollBarListBox::test_minimal_height PASSED tests/test_scrollable.py::TestScrollBarListBox::test_relative_non_selectable PASSED tests/test_scrollable.py::TestScrollableAttrMap::test_basic PASSED tests/test_scrollable.py::TestScrollableAttrMap::test_negative PASSED tests/test_scrollable.py::TestScrollBarAttrMap::test_basic PASSED tests/test_scrollable.py::TestScrollBarListBoxAttrMap::test_hinted_len PASSED tests/test_scrollable.py::TestScrollBarListBoxAttrMap::test_large_non_selectable PASSED tests/test_scrollable.py::TestScrollBarListBoxAttrMap::test_large_selectable PASSED tests/test_scrollable.py::TestScrollBarListBoxAttrMap::test_relative_non_selectable PASSED tests/test_signals.py::SiglnalsTest::test_connect PASSED tests/test_signals.py::SiglnalsTest::test_handler_mutation_during_emit PASSED tests/test_signals.py::SiglnalsTest::test_weak_del PASSED tests/test_str_util.py::DecodeOneTest::test1byte PASSED tests/test_str_util.py::DecodeOneTest::test2byte PASSED tests/test_str_util.py::DecodeOneTest::test3byte PASSED tests/test_str_util.py::DecodeOneTest::test4byte PASSED tests/test_text_layout.py::CalcBreaksTest::test_calc_breaks_char PASSED tests/test_text_layout.py::CalcBreaksTest::test_calc_breaks_db_word PASSED tests/test_text_layout.py::CalcBreaksTest::test_calc_breaks_utf8 PASSED tests/test_text_layout.py::CalcBreaksTest::test_calc_breaks_word PASSED tests/test_text_layout.py::CalcBreaksTest::test_calc_breaks_word_2 PASSED tests/test_text_layout.py::CalcBreaksTest::test_calc_reaks_db_char PASSED tests/test_text_layout.py::CalcBreaksCantDisplayTest::test PASSED tests/test_text_layout.py::SubsegTest::test1_padding PASSED tests/test_text_layout.py::SubsegTest::test2_text PASSED tests/test_text_layout.py::SubsegTest::test3_range PASSED tests/test_text_layout.py::CalcTranslateTest::test_calc_translate SUBPASSED[left] tests/test_text_layout.py::CalcTranslateTest::test_calc_translate SUBPASSED[center] tests/test_text_layout.py::CalcTranslateTest::test_calc_translate SUBPASSED[right] tests/test_text_layout.py::CalcTranslateTest::test_calc_translate PASSED tests/test_text_layout.py::CalcTranslateTest::test_calc_translate_cant_display SUBPASSED[left] tests/test_text_layout.py::CalcTranslateTest::test_calc_translate_cant_display SUBPASSED[center] tests/test_text_layout.py::CalcTranslateTest::test_calc_translate_cant_display SUBPASSED[right] tests/test_text_layout.py::CalcTranslateTest::test_calc_translate_cant_display PASSED tests/test_text_layout.py::CalcTranslateTest::test_calc_translate_char SUBPASSED[left] tests/test_text_layout.py::CalcTranslateTest::test_calc_translate_char SUBPASSED[center] tests/test_text_layout.py::CalcTranslateTest::test_calc_translate_char SUBPASSED[right] tests/test_text_layout.py::CalcTranslateTest::test_calc_translate_char PASSED tests/test_text_layout.py::CalcTranslateTest::test_calc_translate_clip SUBPASSED[left] tests/test_text_layout.py::CalcTranslateTest::test_calc_translate_clip SUBPASSED[center] tests/test_text_layout.py::CalcTranslateTest::test_calc_translate_clip SUBPASSED[right] tests/test_text_layout.py::CalcTranslateTest::test_calc_translate_clip PASSED tests/test_text_layout.py::CalcTranslateTest::test_calc_translate_clip_2 SUBPASSED[left] tests/test_text_layout.py::CalcTranslateTest::test_calc_translate_clip_2 SUBPASSED[center] tests/test_text_layout.py::CalcTranslateTest::test_calc_translate_clip_2 SUBPASSED[right] tests/test_text_layout.py::CalcTranslateTest::test_calc_translate_clip_2 PASSED tests/test_text_layout.py::CalcTranslateTest::test_calc_translate_word SUBPASSED[left] tests/test_text_layout.py::CalcTranslateTest::test_calc_translate_word SUBPASSED[center] tests/test_text_layout.py::CalcTranslateTest::test_calc_translate_word SUBPASSED[right] tests/test_text_layout.py::CalcTranslateTest::test_calc_translate_word PASSED tests/test_text_layout.py::CalcTranslateTest::test_calc_translate_word_2 SUBPASSED[left] tests/test_text_layout.py::CalcTranslateTest::test_calc_translate_word_2 SUBPASSED[center] tests/test_text_layout.py::CalcTranslateTest::test_calc_translate_word_2 SUBPASSED[right] tests/test_text_layout.py::CalcTranslateTest::test_calc_translate_word_2 PASSED tests/test_text_layout.py::CalcTranslateTest::test_calc_translate_word_3 SUBPASSED[left] tests/test_text_layout.py::CalcTranslateTest::test_calc_translate_word_3 SUBPASSED[center] tests/test_text_layout.py::CalcTranslateTest::test_calc_translate_word_3 SUBPASSED[right] tests/test_text_layout.py::CalcTranslateTest::test_calc_translate_word_3 PASSED tests/test_text_layout.py::CalcTranslateTest::test_calc_translate_word_3_decoded SUBPASSED[left] tests/test_text_layout.py::CalcTranslateTest::test_calc_translate_word_3_decoded SUBPASSED[center] tests/test_text_layout.py::CalcTranslateTest::test_calc_translate_word_3_decoded SUBPASSED[right] tests/test_text_layout.py::CalcTranslateTest::test_calc_translate_word_3_decoded PASSED tests/test_text_layout.py::CalcTranslateTest::test_calc_translate_word_4 SUBPASSED[left] tests/test_text_layout.py::CalcTranslateTest::test_calc_translate_word_4 SUBPASSED[center] tests/test_text_layout.py::CalcTranslateTest::test_calc_translate_word_4 SUBPASSED[right] tests/test_text_layout.py::CalcTranslateTest::test_calc_translate_word_4 PASSED tests/test_text_layout.py::CalcTranslateTest::test_calc_translate_word_5 SUBPASSED[left] tests/test_text_layout.py::CalcTranslateTest::test_calc_translate_word_5 SUBPASSED[center] tests/test_text_layout.py::CalcTranslateTest::test_calc_translate_word_5 SUBPASSED[right] tests/test_text_layout.py::CalcTranslateTest::test_calc_translate_word_5 PASSED tests/test_text_layout.py::CalcPosTest::tests PASSED tests/test_text_layout.py::Pos2CoordsTest::test PASSED tests/test_text_layout.py::TestEllipsis::test_ellipsis_encoding_support SUBPASSED[Unicode] tests/test_text_layout.py::TestEllipsis::test_ellipsis_encoding_support SUBPASSED[ascii] tests/test_text_layout.py::TestEllipsis::test_ellipsis_encoding_support SUBPASSED[ascii not fit] tests/test_text_layout.py::TestEllipsis::test_ellipsis_encoding_support SUBPASSED[ascii nothing fit] tests/test_text_layout.py::TestEllipsis::test_ellipsis_encoding_support PASSED tests/test_text_layout.py::TestTextLayoutNoPack::test PASSED tests/test_tree.py::TestTree::test_basic PASSED tests/test_tree.py::TestTree::test_deep_nested_collapse_expand PASSED tests/test_tree.py::TestTree::test_nested_behavior PASSED tests/test_util.py::CalcWidthTest::test1 PASSED tests/test_util.py::CalcWidthTest::test2 PASSED tests/test_util.py::ConvertDecSpecialTest::test1 PASSED tests/test_util.py::WithinDoubleByteTest::test1 PASSED tests/test_util.py::WithinDoubleByteTest::test2 PASSED tests/test_util.py::WithinDoubleByteTest::test3 PASSED tests/test_util.py::CalcTextPosTest::test1 PASSED tests/test_util.py::CalcTextPosTest::test2_wide PASSED tests/test_util.py::CalcTextPosTest::test3_utf8 PASSED tests/test_util.py::CalcTextPosTest::test4_utf8 PASSED tests/test_util.py::TagMarkupTest::test PASSED tests/test_util.py::TagMarkupTest::test_bad_tuple PASSED tests/test_util.py::TagMarkupTest::test_bad_type PASSED tests/test_util.py::RleTest::test_rle_append PASSED tests/test_util.py::RleTest::test_rle_prepend PASSED tests/test_util.py::PortabilityTest::test_locale PASSED tests/test_util.py::TestEmptyMarkup::test_001_empty PASSED tests/test_vterm.py::TermTest::test_bracketed_paste_mode_off PASSED tests/test_vterm.py::TermTest::test_bracketed_paste_mode_on PASSED tests/test_vterm.py::TermTest::test_carriage_return PASSED tests/test_vterm.py::TermTest::test_cursor_scrolling_region PASSED tests/test_vterm.py::TermTest::test_cursor_scrolling_region_with_focus PASSED tests/test_vterm.py::TermTest::test_cursor_visibility PASSED tests/test_vterm.py::TermTest::test_defargs PASSED tests/test_vterm.py::TermTest::test_deletelines PASSED tests/test_vterm.py::TermTest::test_encoding_unicode PASSED tests/test_vterm.py::TermTest::test_encoding_unicode_ascii PASSED tests/test_vterm.py::TermTest::test_encoding_vt100_graphics PASSED tests/test_vterm.py::TermTest::test_encoding_wrong_unicode PASSED tests/test_vterm.py::TermTest::test_erase_display PASSED tests/test_vterm.py::TermTest::test_erase_line PASSED tests/test_vterm.py::TermTest::test_get_utf8_len PASSED tests/test_vterm.py::TermTest::test_horizontal_resize PASSED tests/test_vterm.py::TermTest::test_ibmpc_mapping PASSED tests/test_vterm.py::TermTest::test_in_listbox PASSED tests/test_vterm.py::TermTest::test_insertlines PASSED tests/test_vterm.py::TermTest::test_linefeed PASSED tests/test_vterm.py::TermTest::test_linefeed2 PASSED tests/test_vterm.py::TermTest::test_movement PASSED tests/test_vterm.py::TermTest::test_nul PASSED tests/test_vterm.py::TermTest::test_nullargs PASSED tests/test_vterm.py::TermTest::test_relative_region_jump PASSED tests/test_vterm.py::TermTest::test_scrolling_region_move PASSED tests/test_vterm.py::TermTest::test_scrolling_region_move_with_focus PASSED tests/test_vterm.py::TermTest::test_scrolling_region_reverse PASSED tests/test_vterm.py::TermTest::test_scrolling_region_reverse_with_focus PASSED tests/test_vterm.py::TermTest::test_scrolling_region_simple PASSED tests/test_vterm.py::TermTest::test_scrolling_region_simple_with_focus PASSED tests/test_vterm.py::TermTest::test_scrolling_twice PASSED tests/test_vterm.py::TermTest::test_scrolling_twice_with_focus PASSED tests/test_vterm.py::TermTest::test_set_leds PASSED tests/test_vterm.py::TermTest::test_set_multiple_modes PASSED tests/test_vterm.py::TermTest::test_set_title PASSED tests/test_vterm.py::TermTest::test_simplestring PASSED tests/test_vterm.py::TermTest::test_vertical_resize PASSED tests/test_vterm.py::TermTest::test_wrap_backspace_tab PASSED tests/test_vterm.py::TermTest::test_wrap_simple PASSED tests/test_widget.py::TextTest::test1_wrap PASSED tests/test_widget.py::TextTest::test2_left PASSED tests/test_widget.py::TextTest::test3_right PASSED tests/test_widget.py::TextTest::test4_center PASSED tests/test_widget.py::TextTest::test5_encode_error PASSED tests/test_widget.py::TextTest::test_empty_markup_segment_end PASSED tests/test_widget.py::TextTest::test_empty_markup_segment_middle PASSED tests/test_widget.py::TextTest::test_empty_markup_segment_render_content PASSED tests/test_widget.py::TextTest::test_empty_markup_segment_start PASSED tests/test_widget.py::TextTest::test_multiple_empty_markup_segments PASSED tests/test_widget.py::EditTest::test1_left PASSED tests/test_widget.py::EditTest::test2_right PASSED tests/test_widget.py::EditTest::test3_up PASSED tests/test_widget.py::EditTest::test4_down PASSED tests/test_widget.py::EditTest::test_utf8_input PASSED tests/test_widget.py::EditRenderTest::test1_SpaceWrap PASSED tests/test_widget.py::EditRenderTest::test2_ClipWrap PASSED tests/test_widget.py::EditRenderTest::test3_AnyWrap PASSED tests/test_widget.py::EditRenderTest::test4_CursorNudge PASSED =============================== warnings summary =============================== ../../../../../../../usr/lib/python3.14/site-packages/gi/overrides/__init__.py:159 /usr/lib/python3.14/site-packages/gi/overrides/__init__.py:159: PyGIDeprecationWarning: GLib.unix_signal_add_full is deprecated; use GLibUnix.signal_add_full instead value = getattr(proxy, attr) tests/test_columns.py::ColumnsTest::test_deprecated /home/buildozer/aports/community/py3-urwid/src/urwid-4.0.8/tests/test_columns.py:951: DeprecationWarning: only for backwards compatibility.You may also use the new standard container property `focus_position` to get the focus.API will be removed in version 5.0. c.set_focus(0) tests/test_columns.py::ColumnsTest::test_deprecated /home/buildozer/aports/community/py3-urwid/src/urwid-4.0.8/tests/test_columns.py:952: DeprecationWarning: only for backwards compatibility.You may also use the new standard container property `focus_position` to get the focus.API will be removed in version 5.0. self.assertRaises(IndexError, lambda: c.set_focus(-1)) tests/test_columns.py::ColumnsTest::test_deprecated /home/buildozer/aports/community/py3-urwid/src/urwid-4.0.8/tests/test_columns.py:953: DeprecationWarning: only for backwards compatibility.You may also use the new standard container property `focus_position` to get the focus.API will be removed in version 5.0. self.assertRaises(IndexError, lambda: c.set_focus(3)) tests/test_columns.py::ColumnsTest::test_deprecated /home/buildozer/aports/community/py3-urwid/src/urwid-4.0.8/tests/test_columns.py:954: DeprecationWarning: only for backwards compatibility.You may also use the new standard container property `focus_position` to get the focus.API will be removed in version 5.0. c.set_focus(t2) tests/test_columns.py::ColumnsTest::test_deprecated /home/buildozer/aports/community/py3-urwid/src/urwid-4.0.8/tests/test_columns.py:956: DeprecationWarning: only for backwards compatibility.You may also use the new standard container property `focus_position` to get the focus.API will be removed in version 5.0. self.assertRaises(ValueError, lambda: c.set_focus("nonexistant")) tests/test_columns.py::ColumnsTest::test_deprecated /home/buildozer/aports/community/py3-urwid/src/urwid-4.0.8/tests/test_columns.py:959: DeprecationWarning: only for backwards compatibility. You should use the new standard container `contents`.API will be removed in version 5.0. self.assertEqual(c.widget_list, [t1, t2, sf]) tests/test_columns.py::ColumnsTest::test_deprecated /home/buildozer/aports/community/py3-urwid/src/urwid-4.0.8/tests/test_columns.py:960: DeprecationWarning: for backwards compatibility only.You should use the new standard container property .contents to modify Pile contents.API will be removed in version 5.0. self.assertEqual(c.column_types, [("weight", 1), ("weight", 3), ("weight", 1)]) tests/test_columns.py::ColumnsTest::test_deprecated /home/buildozer/aports/community/py3-urwid/src/urwid-4.0.8/tests/test_columns.py:961: DeprecationWarning: only for backwards compatibility.You should use the new standard container property `contents`.API will be removed in version 5.0. self.assertEqual(c.box_columns, [2]) tests/test_columns.py::ColumnsTest::test_deprecated /home/buildozer/aports/community/py3-urwid/src/urwid-4.0.8/tests/test_columns.py:964: DeprecationWarning: only for backwards compatibility. You should use the new standard container `contents`.API will be removed in version 5.0. c.widget_list = [t2, t1, sf] tests/test_columns.py::ColumnsTest::test_deprecated /home/buildozer/aports/community/py3-urwid/src/urwid-4.0.8/tests/test_columns.py:965: DeprecationWarning: only for backwards compatibility. You should use the new standard container `contents`.API will be removed in version 5.0. self.assertEqual(c.widget_list, [t2, t1, sf]) tests/test_columns.py::ColumnsTest::test_deprecated /home/buildozer/aports/community/py3-urwid/src/urwid-4.0.8/tests/test_columns.py:966: DeprecationWarning: only for backwards compatibility.You should use the new standard container property `contents`.API will be removed in version 5.0. self.assertEqual(c.box_columns, [2]) tests/test_columns.py::ColumnsTest::test_deprecated /home/buildozer/aports/community/py3-urwid/src/urwid-4.0.8/tests/test_columns.py:973: DeprecationWarning: for backwards compatibility only.You should use the new standard container property .contents to modify Pile contents.API will be removed in version 5.0. c.column_types = [("flow", None), ("weight", 2), ("fixed", 5)] # use the old name tests/test_columns.py::ColumnsTest::test_deprecated /home/buildozer/aports/community/py3-urwid/src/urwid-4.0.8/tests/test_columns.py:974: DeprecationWarning: for backwards compatibility only.You should use the new standard container property .contents to modify Pile contents.API will be removed in version 5.0. self.assertEqual(c.column_types, [("flow", None), ("weight", 2), ("fixed", 5)]) tests/test_columns.py::ColumnsTest::test_deprecated /home/buildozer/aports/community/py3-urwid/src/urwid-4.0.8/tests/test_columns.py:982: DeprecationWarning: only for backwards compatibility. You should use the new standard container `contents`.API will be removed in version 5.0. c.widget_list = [t1] tests/test_columns.py::ColumnsTest::test_deprecated /home/buildozer/aports/community/py3-urwid/src/urwid-4.0.8/tests/test_columns.py:985: DeprecationWarning: only for backwards compatibility. You should use the new standard container `contents`.API will be removed in version 5.0. c.widget_list.extend([t2, t1]) tests/test_columns.py::ColumnsTest::test_deprecated /home/buildozer/aports/community/py3-urwid/src/urwid-4.0.8/urwid/widget/columns.py:419: DeprecationWarning: only for backwards compatibility. You should use the new standard container `contents`.API will be removed in version 5.0. self.widget_list = ml tests/test_columns.py::ColumnsTest::test_deprecated /home/buildozer/aports/community/py3-urwid/src/urwid-4.0.8/tests/test_columns.py:987: DeprecationWarning: for backwards compatibility only.You should use the new standard container property .contents to modify Pile contents.API will be removed in version 5.0. self.assertEqual(c.column_types, [("flow", None), ("weight", 1), ("weight", 1)]) tests/test_columns.py::ColumnsTest::test_deprecated /home/buildozer/aports/community/py3-urwid/src/urwid-4.0.8/tests/test_columns.py:988: DeprecationWarning: for backwards compatibility only.You should use the new standard container property .contents to modify Pile contents.API will be removed in version 5.0. c.column_types[:] = [("weight", 2)] tests/test_columns.py::ColumnsTest::test_deprecated /home/buildozer/aports/community/py3-urwid/src/urwid-4.0.8/urwid/widget/columns.py:477: DeprecationWarning: for backwards compatibility only.You should use the new standard container property .contents to modify Pile contents.API will be removed in version 5.0. self.column_types = ml # type: ignore[assignment] tests/test_columns.py::ColumnsTest::test_old_attributes /home/buildozer/aports/community/py3-urwid/src/urwid-4.0.8/tests/test_columns.py:869: DeprecationWarning: only for backwards compatibility.You should use the new standard container property `contents`.API will be removed in version 5.0. self.assertEqual(c.box_columns, []) tests/test_event_loops.py::ZMQEventLoopTest::test_event_loop tests/test_event_loops.py::ZMQEventLoopTest::test_run /usr/lib/python3.14/site-packages/_pytest/unraisableexception.py:67: PytestUnraisableExceptionWarning: Exception ignored while finalizing file <_io.TextIOWrapper name=26 mode='r' encoding='UTF-8'>: None Traceback (most recent call last): File "/usr/lib/python3.14/site-packages/_pytest/unittest.py", line 259, in teardown del self._instance ^^^^^^^^^^^^^^ OSError: [Errno 9] Bad file descriptor warnings.warn(pytest.PytestUnraisableExceptionWarning(msg)) tests/test_event_loops.py::ZMQEventLoopTest::test_remove_watch_file tests/test_event_loops.py::ZMQEventLoopTest::test_run /usr/lib/python3.14/site-packages/_pytest/unraisableexception.py:67: PytestUnraisableExceptionWarning: Exception ignored while finalizing file <_io.TextIOWrapper name=26 mode='r' encoding='UTF-8'>: None Traceback (most recent call last): File "/usr/lib/python3.14/unittest/case.py", line 615, in _callTestMethod result = method() OSError: [Errno 9] Bad file descriptor warnings.warn(pytest.PytestUnraisableExceptionWarning(msg)) tests/test_filler.py: 29 warnings /home/buildozer/aports/community/py3-urwid/src/urwid-4.0.8/urwid/widget/filler.py:88: DeprecationWarning: builtins.NoneType is not implementing Widget API super().__init__(body) tests/test_floatedit.py: 47 warnings /usr/lib/python3.14/unittest/case.py:615: DeprecationWarning: 'preserveSignificance' argument is deprecated. Use 'preserve_significance' keyword argument result = method() tests/test_floatedit.py: 40 warnings /usr/lib/python3.14/unittest/case.py:615: DeprecationWarning: 'decimalSeparator' argument is deprecated. Use 'decimal_separator' keyword argument result = method() tests/test_frame.py: 28 warnings /home/buildozer/aports/community/py3-urwid/src/urwid-4.0.8/tests/test_frame.py:26: DeprecationWarning: tests.test_frame.FakeWidget is not implementing Widget API f = urwid.Frame(urwid.SolidFill(), header, footer, focus_part) tests/test_grid_flow.py::GridFlowTest::test_deprecated /home/buildozer/aports/community/py3-urwid/src/urwid-4.0.8/tests/test_grid_flow.py:201: DeprecationWarning: only for backwards compatibility.You may also use the new standard container property `focus_position` to set the focus.API will be removed in version 5.0. gf.set_focus(0) tests/test_grid_flow.py::GridFlowTest::test_deprecated /home/buildozer/aports/community/py3-urwid/src/urwid-4.0.8/tests/test_grid_flow.py:202: DeprecationWarning: only for backwards compatibility.You may also use the new standard container property `focus_position` to set the focus.API will be removed in version 5.0. self.assertRaises(IndexError, lambda: gf.set_focus(-1)) tests/test_grid_flow.py::GridFlowTest::test_deprecated /home/buildozer/aports/community/py3-urwid/src/urwid-4.0.8/tests/test_grid_flow.py:203: DeprecationWarning: only for backwards compatibility.You may also use the new standard container property `focus_position` to set the focus.API will be removed in version 5.0. self.assertRaises(IndexError, lambda: gf.set_focus(3)) tests/test_grid_flow.py::GridFlowTest::test_deprecated /home/buildozer/aports/community/py3-urwid/src/urwid-4.0.8/tests/test_grid_flow.py:204: DeprecationWarning: only for backwards compatibility.You may also use the new standard container property `focus_position` to set the focus.API will be removed in version 5.0. gf.set_focus(t1) tests/test_grid_flow.py::GridFlowTest::test_deprecated /home/buildozer/aports/community/py3-urwid/src/urwid-4.0.8/tests/test_grid_flow.py:206: DeprecationWarning: only for backwards compatibility.You may also use the new standard container property `focus_position` to set the focus.API will be removed in version 5.0. self.assertRaises(ValueError, lambda: gf.set_focus("nonexistant")) tests/test_padding.py: 27 warnings /home/buildozer/aports/community/py3-urwid/src/urwid-4.0.8/urwid/widget/padding.py:129: DeprecationWarning: builtins.NoneType is not implementing Widget API super().__init__(w) tests/test_padding.py::PaddingTest::test_cursor tests/test_padding.py::PaddingTest::test_cursor tests/test_padding.py::PaddingTest::test_cursor tests/test_padding.py::PaddingTest::test_cursor /home/buildozer/aports/community/py3-urwid/src/urwid-4.0.8/urwid/widget/padding.py:129: DeprecationWarning: tests.test_padding.Inner is not implementing Widget API super().__init__(w) tests/test_pile.py::PileTest::test_deprecated /home/buildozer/aports/community/py3-urwid/src/urwid-4.0.8/tests/test_pile.py:531: DeprecationWarning: for backwards compatibility.You may also use the new standard container property .focus to get the child widget in focus.API will be removed in version 5.0. p.set_focus(0) tests/test_pile.py::PileTest::test_deprecated /home/buildozer/aports/community/py3-urwid/src/urwid-4.0.8/tests/test_pile.py:532: DeprecationWarning: for backwards compatibility.You may also use the new standard container property .focus to get the child widget in focus.API will be removed in version 5.0. self.assertRaises(IndexError, lambda: p.set_focus(-1)) tests/test_pile.py::PileTest::test_deprecated /home/buildozer/aports/community/py3-urwid/src/urwid-4.0.8/tests/test_pile.py:533: DeprecationWarning: for backwards compatibility.You may also use the new standard container property .focus to get the child widget in focus.API will be removed in version 5.0. self.assertRaises(IndexError, lambda: p.set_focus(2)) tests/test_pile.py::PileTest::test_deprecated /home/buildozer/aports/community/py3-urwid/src/urwid-4.0.8/tests/test_pile.py:534: DeprecationWarning: for backwards compatibility.You may also use the new standard container property .focus to get the child widget in focus.API will be removed in version 5.0. p.set_focus(t2) tests/test_pile.py::PileTest::test_deprecated /home/buildozer/aports/community/py3-urwid/src/urwid-4.0.8/tests/test_pile.py:536: DeprecationWarning: for backwards compatibility.You may also use the new standard container property .focus to get the child widget in focus.API will be removed in version 5.0. self.assertRaises(ValueError, lambda: p.set_focus("nonexistant")) tests/test_pile.py::PileTest::test_deprecated /home/buildozer/aports/community/py3-urwid/src/urwid-4.0.8/tests/test_pile.py:539: DeprecationWarning: only for backwards compatibility. You should use the new standard container property `contents`.API will be removed in version 5.0. self.assertEqual(p.widget_list, [t1, t2]) tests/test_pile.py::PileTest::test_deprecated /home/buildozer/aports/community/py3-urwid/src/urwid-4.0.8/tests/test_pile.py:540: DeprecationWarning: only for backwards compatibility. You should use the new standard container property `contents`.API will be removed in version 5.0. self.assertEqual(p.item_types, [("weight", 1), ("weight", 1)]) tests/test_pile.py::PileTest::test_deprecated /home/buildozer/aports/community/py3-urwid/src/urwid-4.0.8/tests/test_pile.py:544: DeprecationWarning: only for backwards compatibility. You should use the new standard container property `contents`.API will be removed in version 5.0. self.assertEqual(p.widget_list, [t2, t1]) tests/test_pile.py::PileTest::test_deprecated /home/buildozer/aports/community/py3-urwid/src/urwid-4.0.8/tests/test_pile.py:547: DeprecationWarning: only for backwards compatibility. You should use the new standard container property `contents`.API will be removed in version 5.0. p.item_types = [("flow", None), ("weight", 2)] tests/test_pile.py::PileTest::test_deprecated /home/buildozer/aports/community/py3-urwid/src/urwid-4.0.8/tests/test_pile.py:548: DeprecationWarning: only for backwards compatibility. You should use the new standard container property `contents`.API will be removed in version 5.0. self.assertEqual(p.item_types, [("flow", None), ("weight", 2)]) tests/test_pile.py::PileTest::test_deprecated /home/buildozer/aports/community/py3-urwid/src/urwid-4.0.8/tests/test_pile.py:556: DeprecationWarning: only for backwards compatibility. You should use the new standard container property `contents`.API will be removed in version 5.0. p.widget_list.extend([t2, t1]) tests/test_pile.py::PileTest::test_deprecated /home/buildozer/aports/community/py3-urwid/src/urwid-4.0.8/tests/test_pile.py:558: DeprecationWarning: only for backwards compatibility. You should use the new standard container property `contents`.API will be removed in version 5.0. self.assertEqual(p.item_types, [("flow", None), ("weight", 1), ("weight", 1)]) tests/test_pile.py::PileTest::test_deprecated /home/buildozer/aports/community/py3-urwid/src/urwid-4.0.8/tests/test_pile.py:559: DeprecationWarning: only for backwards compatibility. You should use the new standard container property `contents`.API will be removed in version 5.0. p.item_types[:] = [("weight", 2)] tests/test_pile.py::PileTest::test_deprecated /home/buildozer/aports/community/py3-urwid/src/urwid-4.0.8/urwid/widget/pile.py:397: DeprecationWarning: only for backwards compatibility. You should use the new standard container property `contents`.API will be removed in version 5.0. self.item_types = ml # type: ignore[assignment] tests/test_util.py::CalcWidthTest::test1 /home/buildozer/aports/community/py3-urwid/src/urwid-4.0.8/tests/test_util.py:19: UnicodeWarning: `calc_width` with text encoded to bytes can produce incorrect resultsdue to possible offset in the middle of character: 'utf-8' codec can't decode byte 0xe6 in position 0: unexpected end of data result = str_util.calc_width(s, 0, len(s)) -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html ---------- coverage: platform linux, python 3.14.7-final-0 ----------- Name Stmts Miss Branch BrPart Cover ----------------------------------------------------------------------- urwid/__init__.py 54 17 10 5 66% urwid/canvas.py 743 130 348 50 80% urwid/command_map.py 42 15 6 0 56% urwid/display/__init__.py 18 3 6 3 75% urwid/display/_posix_raw_display.py 228 143 110 18 31% urwid/display/_raw_display_base.py 428 217 184 40 44% urwid/display/_win32.py 49 49 0 0 0% urwid/display/_win32_raw_display.py 123 123 44 0 0% urwid/display/common.py 459 212 212 39 46% urwid/display/curses.py 300 275 148 0 6% urwid/display/escape.py 237 91 160 34 56% urwid/display/html_fragment.py 106 88 54 0 11% urwid/display/lcd.py 225 165 82 0 20% urwid/display/raw.py 1 0 0 0 100% urwid/display/web.py 306 271 102 0 9% urwid/event_loop/__init__.py 12 0 0 0 100% urwid/event_loop/abstract_loop.py 8 0 0 0 100% urwid/event_loop/asyncio_loop.py 81 21 24 5 71% urwid/event_loop/glib_loop.py 106 91 22 0 12% urwid/event_loop/main_loop.py 232 121 80 10 40% urwid/event_loop/select_loop.py 85 6 22 2 91% urwid/event_loop/tornado_loop.py 93 10 12 2 89% urwid/event_loop/trio_loop.py 91 16 16 4 81% urwid/event_loop/twisted_loop.py 94 6 18 4 91% urwid/event_loop/zmq_loop.py 96 20 22 2 78% urwid/font.py 162 22 42 8 84% urwid/graphics.py 16 16 0 0 0% urwid/numedit.py 81 39 44 7 44% urwid/signals.py 68 3 20 5 91% urwid/split_repr.py 27 5 14 3 80% urwid/str_util.py 205 53 132 22 72% urwid/text_layout.py 355 47 196 32 84% urwid/util.py 243 26 96 14 88% urwid/version.py 13 4 2 1 67% urwid/vterm.py 942 264 514 88 68% urwid/widget/__init__.py 0 0 0 0 100% urwid/widget/attr_map.py 42 11 20 5 65% urwid/widget/attr_wrap.py 28 14 2 0 47% urwid/widget/bar_graph.py 359 97 172 30 70% urwid/widget/big_text.py 45 6 12 3 84% urwid/widget/box_adapter.py 50 24 10 1 45% urwid/widget/columns.py 506 42 254 23 91% urwid/widget/constants.py 125 5 42 5 94% urwid/widget/container.py 67 8 18 1 87% urwid/widget/divider.py 32 1 2 1 94% urwid/widget/edit.py 265 61 74 11 74% urwid/widget/filler.py 154 21 72 16 84% urwid/widget/frame.py 279 117 134 13 54% urwid/widget/grid_flow.py 215 45 70 4 80% urwid/widget/line_box.py 62 4 22 4 90% urwid/widget/listbox.py 1045 191 498 75 79% urwid/widget/monitored_list.py 163 46 32 5 70% urwid/widget/overlay.py 297 49 132 24 81% urwid/widget/padding.py 208 39 106 23 78% urwid/widget/pile.py 480 85 264 31 80% urwid/widget/popup.py 60 40 6 0 30% urwid/widget/progress_bar.py 54 20 12 2 55% urwid/widget/scrollable.py 323 69 144 22 73% urwid/widget/solid_fill.py 11 0 0 0 100% urwid/widget/text.py 84 4 20 3 93% urwid/widget/treetools.py 266 49 90 13 79% urwid/widget/widget.py 182 44 42 6 73% urwid/widget/widget_decoration.py 40 4 4 0 91% urwid/widget/wimp.py 135 52 52 7 52% ----------------------------------------------------------------------- TOTAL 11906 3717 5048 726 66% ====== 359 passed, 8 skipped, 220 warnings, 301 subtests passed in 4.78s ======= >>> py3-urwid: Entering fakeroot... >>> py3-urwid-pyc*: Running split function pyc... 'usr/lib/python3.14/site-packages/urwid/widget/__pycache__' -> '/home/buildozer/aports/community/py3-urwid/pkg/py3-urwid-pyc/usr/lib/python3.14/site-packages/urwid/widget/__pycache__' 'usr/lib/python3.14/site-packages/urwid/__pycache__' -> '/home/buildozer/aports/community/py3-urwid/pkg/py3-urwid-pyc/usr/lib/python3.14/site-packages/urwid/__pycache__' 'usr/lib/python3.14/site-packages/urwid/event_loop/__pycache__' -> '/home/buildozer/aports/community/py3-urwid/pkg/py3-urwid-pyc/usr/lib/python3.14/site-packages/urwid/event_loop/__pycache__' 'usr/lib/python3.14/site-packages/urwid/display/__pycache__' -> '/home/buildozer/aports/community/py3-urwid/pkg/py3-urwid-pyc/usr/lib/python3.14/site-packages/urwid/display/__pycache__' >>> py3-urwid-pyc*: Preparing subpackage py3-urwid-pyc... >>> py3-urwid-pyc*: Running postcheck for py3-urwid-pyc >>> py3-urwid*: Running postcheck for py3-urwid >>> py3-urwid*: Preparing package py3-urwid... >>> py3-urwid*: Tracing dependencies... py3-wcwidth python3~3.14 >>> py3-urwid*: Package size: 1.1 MB >>> py3-urwid*: Compressing data... >>> py3-urwid*: Create checksum... >>> py3-urwid*: Create py3-urwid-4.0.8-r0.apk >>> py3-urwid-pyc*: Tracing dependencies... python3~3.14 >>> py3-urwid-pyc*: Package size: 1.4 MB >>> py3-urwid-pyc*: Compressing data... >>> py3-urwid-pyc*: Create checksum... >>> py3-urwid-pyc*: Create py3-urwid-pyc-4.0.8-r0.apk >>> py3-urwid: Build complete at Thu, 20 Aug 2026 08:33:26 +0000 elapsed time 0h 0m 9s >>> py3-urwid: Cleaning up srcdir >>> py3-urwid: Cleaning up pkgdir >>> py3-urwid: Cleaning up tmpdir >>> py3-urwid: Uninstalling dependencies... ( 1/124) Purging .makedepends-py3-urwid (20260820.083317) ( 2/124) Purging py3-wcwidth-pyc (0.6.0-r1) ( 3/124) Purging py3-wcwidth (0.6.0-r1) ( 4/124) Purging python3-dev (3.14.7-r0) ( 5/124) Purging py3-gpep517-pyc (19-r2) ( 6/124) Purging py3-gpep517 (19-r2) ( 7/124) Purging py3-installer-pyc (1.0.1-r0) ( 8/124) Purging py3-installer (1.0.1-r0) ( 9/124) Purging py3-setuptools_scm-pyc (9.2.2-r1) ( 10/124) Purging py3-setuptools_scm (9.2.2-r1) ( 11/124) Purging py3-wheel-pyc (0.48.0-r0) ( 12/124) Purging py3-wheel (0.48.0-r0) ( 13/124) Purging py3-gobject3-pyc (3.56.3-r0) ( 14/124) Purging py3-gobject3 (3.56.3-r0) ( 15/124) Purging gobject-introspection (1.86.0-r1) ( 16/124) Purging py3-pytest-cov-pyc (5.0.0-r2) ( 17/124) Purging py3-pytest-cov (5.0.0-r2) ( 18/124) Purging py3-pytest-pyc (9.1.1-r0) ( 19/124) Purging py3-pytest (9.1.1-r0) ( 20/124) Purging py3-iniconfig-pyc (2.3.0-r1) ( 21/124) Purging py3-iniconfig (2.3.0-r1) ( 22/124) Purging py3-pluggy-pyc (1.6.0-r1) ( 23/124) Purging py3-pluggy (1.6.0-r1) ( 24/124) Purging py3-py-pyc (1.11.0-r5) ( 25/124) Purging py3-py (1.11.0-r5) ( 26/124) Purging py3-pygments-pyc (2.21.0-r0) ( 27/124) Purging py3-pygments (2.21.0-r0) ( 28/124) Purging py3-coverage-pyc (7.15.4-r0) ( 29/124) Purging py3-coverage (7.15.4-r0) ( 30/124) Purging py3-pyzmq-pyc (27.1.0-r1) ( 31/124) Purging py3-pyzmq (27.1.0-r1) ( 32/124) Purging py3-tornado-pyc (6.5.6-r0) ( 33/124) Purging py3-tornado (6.5.6-r0) ( 34/124) Purging py3-trio-pyc (0.33.0-r1) ( 35/124) Purging py3-trio (0.33.0-r1) ( 36/124) Purging py3-openssl-pyc (26.4.0-r0) ( 37/124) Purging py3-openssl (26.4.0-r0) ( 38/124) Purging py3-outcome-pyc (1.3.0-r2) ( 39/124) Purging py3-outcome (1.3.0-r2) ( 40/124) Purging py3-async_generator-pyc (1.10-r7) ( 41/124) Purging py3-async_generator (1.10-r7) ( 42/124) Purging py3-sniffio-pyc (1.3.1-r2) ( 43/124) Purging py3-sniffio (1.3.1-r2) ( 44/124) Purging py3-curio-pyc (1.6-r4) ( 45/124) Purging py3-curio (1.6-r4) ( 46/124) Purging py3-sortedcontainers-pyc (2.4.0-r6) ( 47/124) Purging py3-sortedcontainers (2.4.0-r6) ( 48/124) Purging py3-twisted-pyc (26.4.0-r0) ( 49/124) Purging py3-twisted (26.4.0-r0) ( 50/124) Purging py3-zope-interface-pyc (7.2-r1) ( 51/124) Purging py3-zope-interface (7.2-r1) ( 52/124) Purging py3-constantly-pyc (23.10.4-r3) ( 53/124) Purging py3-constantly (23.10.4-r3) ( 54/124) Purging py3-incremental-pyc (24.7.2-r1) ( 55/124) Purging py3-incremental (24.7.2-r1) ( 56/124) Purging py3-automat-pyc (24.8.1-r2) ( 57/124) Purging py3-automat (24.8.1-r2) ( 58/124) Purging py3-hyperlink-pyc (21.0.0-r6) ( 59/124) Purging py3-hyperlink (21.0.0-r6) ( 60/124) Purging py3-typing-extensions-pyc (4.16.0-r0) ( 61/124) Purging py3-typing-extensions (4.16.0-r0) ( 62/124) Purging py3-pyhamcrest-pyc (2.1.0-r3) ( 63/124) Purging py3-pyhamcrest (2.1.0-r3) ( 64/124) Purging py3-service_identity-pyc (26.1.0-r0) ( 65/124) Purging py3-service_identity (26.1.0-r0) ( 66/124) Purging py3-asn1-modules-pyc (0.4.2-r1) ( 67/124) Purging py3-asn1-modules (0.4.2-r1) ( 68/124) Purging py3-asn1-pyc (0.6.4-r0) ( 69/124) Purging py3-asn1 (0.6.4-r0) ( 70/124) Purging py3-attrs-pyc (26.1.0-r0) ( 71/124) Purging py3-attrs (26.1.0-r0) ( 72/124) Purging py3-cryptography-pyc (50.0.0-r0) ( 73/124) Purging py3-cryptography (50.0.0-r0) ( 74/124) Purging py3-cffi-pyc (2.0.0-r0) ( 75/124) Purging py3-cffi (2.0.0-r0) ( 76/124) Purging py3-cparser-pyc (3.0-r1) ( 77/124) Purging py3-cparser (3.0-r1) ( 78/124) Purging py3-idna-pyc (3.18-r0) ( 79/124) Purging py3-idna (3.18-r0) ( 80/124) Purging py3-pyserial-pyc (3.5-r9) ( 81/124) Purging py3-pyserial (3.5-r9) ( 82/124) Purging py3-h2-pyc (4.1.0-r5) ( 83/124) Purging py3-h2 (4.1.0-r5) ( 84/124) Purging py3-hyperframe-pyc (6.1.0-r1) ( 85/124) Purging py3-hyperframe (6.1.0-r1) ( 86/124) Purging py3-hpack-pyc (4.1.0-r1) ( 87/124) Purging py3-hpack (4.1.0-r1) ( 88/124) Purging py3-setuptools-pyc (83.0.0-r0) ( 89/124) Purging py3-setuptools (83.0.0-r0) ( 90/124) Purging py3-packaging-pyc (26.2-r0) ( 91/124) Purging py3-packaging (26.2-r0) ( 92/124) Purging py3-parsing-pyc (3.3.2-r1) ( 93/124) Purging py3-parsing (3.3.2-r1) ( 94/124) Purging python3-pyc (3.14.7-r0) ( 95/124) Purging python3-pycache-pyc0 (3.14.7-r0) ( 96/124) Purging pyc (3.14.7-r0) ( 97/124) Purging python3 (3.14.7-r0) ( 98/124) Purging cairo-gobject (1.18.4-r1) ( 99/124) Purging glib (2.88.2-r0) (100/124) Purging libffi (3.5.2-r1) (101/124) Purging libmount (2.42.2-r1) (102/124) Purging libpanelw (6.6_p20260516-r0) (103/124) Purging libzmq (4.3.5-r2) (104/124) Purging mpdecimal (4.0.1-r0) (105/124) Purging readline (8.3.3-r1) (106/124) Purging sqlite-libs (3.53.4-r0) (107/124) Purging xz-libs (5.8.3-r0) (108/124) Purging cairo (1.18.4-r1) (109/124) Purging fontconfig (2.18.1-r0) (110/124) Purging freetype (2.14.3-r0) (111/124) Purging libblkid (2.42.2-r1) (112/124) Purging libxext (1.3.7-r0) (113/124) Purging libxrender (0.9.12-r0) (114/124) Purging libx11 (1.8.13-r0) (115/124) Purging libxcb (1.17.0-r2) (116/124) Purging libxdmcp (1.1.5-r1) (117/124) Purging libbsd (0.12.2-r0) (118/124) Purging libbz2 (1.0.8-r6) (119/124) Purging libeconf (0.8.4-r0) (120/124) Purging libmd (1.2.0-r0) (121/124) Purging libpng (1.6.58-r1) (122/124) Purging libsodium (1.0.22-r0) (123/124) Purging libxau (1.0.12-r0) (124/124) Purging pixman (0.46.4-r0) Executing busybox-1.38.0-r4.trigger OK: 433.3 MiB in 109 packages >>> py3-urwid: Updating the community/aarch64 repository index... >>> py3-urwid: Signing the index...