>>> py3-cli_helpers: Building community/py3-cli_helpers 2.10.0-r1 (using abuild 3.17.0_rc1-r0) started Mon, 13 Apr 2026 14:15:16 +0000 >>> py3-cli_helpers: Validating /home/buildozer/aports/community/py3-cli_helpers/APKBUILD... >>> py3-cli_helpers: Analyzing dependencies... >>> py3-cli_helpers: Installing for build: build-base py3-tabulate py3-configobj py3-gpep517 py3-setuptools py3-wheel py3-pytest py3-wcwidth ( 1/40) Installing libbz2 (1.0.8-r6) ( 2/40) Installing libffi (3.5.2-r0) ( 3/40) Installing gdbm (1.26-r0) ( 4/40) Installing xz-libs (5.8.2-r0) ( 5/40) Installing mpdecimal (4.0.1-r0) ( 6/40) Installing libpanelw (6.6_p20260404-r0) ( 7/40) Installing sqlite-libs (3.53.0-r0) ( 8/40) Installing python3 (3.14.3-r0) ( 9/40) Installing python3-pycache-pyc0 (3.14.3-r0) (10/40) Installing pyc (3.14.3-r0) (11/40) Installing py3-tabulate-pyc (0.10.0-r0) (12/40) Installing python3-pyc (3.14.3-r0) (13/40) Installing py3-wcwidth (0.6.0-r1) (14/40) Installing py3-wcwidth-pyc (0.6.0-r1) (15/40) Installing py3-tabulate (0.10.0-r0) (16/40) Installing py3-configobj (5.0.9-r2) (17/40) Installing py3-configobj-pyc (5.0.9-r2) (18/40) Installing py3-installer (1.0.0-r0) (19/40) Installing py3-installer-pyc (1.0.0-r0) (20/40) Installing py3-gpep517 (19-r2) (21/40) Installing py3-gpep517-pyc (19-r2) (22/40) Installing py3-parsing (3.3.2-r1) (23/40) Installing py3-parsing-pyc (3.3.2-r1) (24/40) Installing py3-packaging (26.0-r1) (25/40) Installing py3-packaging-pyc (26.0-r1) (26/40) Installing py3-setuptools (82.0.1-r1) (27/40) Installing py3-setuptools-pyc (82.0.1-r1) (28/40) Installing py3-wheel (0.46.3-r1) (29/40) Installing py3-wheel-pyc (0.46.3-r1) (30/40) Installing py3-iniconfig (2.3.0-r1) (31/40) Installing py3-iniconfig-pyc (2.3.0-r1) (32/40) Installing py3-pluggy (1.6.0-r1) (33/40) Installing py3-pluggy-pyc (1.6.0-r1) (34/40) Installing py3-py (1.11.0-r5) (35/40) Installing py3-py-pyc (1.11.0-r5) (36/40) Installing py3-pygments (2.20.0-r0) (37/40) Installing py3-pygments-pyc (2.20.0-r0) (38/40) Installing py3-pytest (9.0.3-r0) (39/40) Installing py3-pytest-pyc (9.0.3-r0) (40/40) Installing .makedepends-py3-cli_helpers (20260413.141530) Executing busybox-1.37.0-r31.trigger OK: 448.6 MiB in 145 packages >>> py3-cli_helpers: Cleaning up srcdir >>> py3-cli_helpers: Cleaning up pkgdir >>> py3-cli_helpers: Cleaning up tmpdir >>> py3-cli_helpers: Fetching https://distfiles.alpinelinux.org/distfiles/edge/py3-cli_helpers-2.10.0.tar.gz /var/cache/distfiles/edge/py3-cli_helpers-2.10.0.tar.gz: OK >>> py3-cli_helpers: Fetching https://distfiles.alpinelinux.org/distfiles/edge/py3-cli_helpers-2.10.0.tar.gz /var/cache/distfiles/edge/py3-cli_helpers-2.10.0.tar.gz: OK >>> py3-cli_helpers: Unpacking /var/cache/distfiles/edge/py3-cli_helpers-2.10.0.tar.gz... 2026-04-13 14:15:33,855 gpep517 INFO Building wheel via backend setuptools.build_meta:__legacy__ /usr/lib/python3.14/site-packages/setuptools/dist.py:765: SetuptoolsDeprecationWarning: License classifiers are deprecated. !! ******************************************************************************** Please consider removing the following classifiers in favor of a SPDX license expression: License :: OSI Approved :: BSD License See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details. ******************************************************************************** !! self._finalize_license_expression() 2026-04-13 14:15:33,967 root INFO running bdist_wheel 2026-04-13 14:15:34,041 root INFO running build 2026-04-13 14:15:34,041 root INFO running build_py 2026-04-13 14:15:34,058 root INFO creating build/lib/cli_helpers 2026-04-13 14:15:34,060 root INFO copying cli_helpers/__init__.py -> build/lib/cli_helpers 2026-04-13 14:15:34,061 root INFO copying cli_helpers/utils.py -> build/lib/cli_helpers 2026-04-13 14:15:34,063 root INFO copying cli_helpers/compat.py -> build/lib/cli_helpers 2026-04-13 14:15:34,065 root INFO copying cli_helpers/config.py -> build/lib/cli_helpers 2026-04-13 14:15:34,067 root INFO creating build/lib/cli_helpers/tabular_output 2026-04-13 14:15:34,068 root INFO copying cli_helpers/tabular_output/vertical_table_adapter.py -> build/lib/cli_helpers/tabular_output 2026-04-13 14:15:34,069 root INFO copying cli_helpers/tabular_output/__init__.py -> build/lib/cli_helpers/tabular_output 2026-04-13 14:15:34,070 root INFO copying cli_helpers/tabular_output/preprocessors.py -> build/lib/cli_helpers/tabular_output 2026-04-13 14:15:34,072 root INFO copying cli_helpers/tabular_output/output_formatter.py -> build/lib/cli_helpers/tabular_output 2026-04-13 14:15:34,074 root INFO copying cli_helpers/tabular_output/tabulate_adapter.py -> build/lib/cli_helpers/tabular_output 2026-04-13 14:15:34,075 root INFO copying cli_helpers/tabular_output/tsv_output_adapter.py -> build/lib/cli_helpers/tabular_output 2026-04-13 14:15:34,077 root INFO copying cli_helpers/tabular_output/delimited_output_adapter.py -> build/lib/cli_helpers/tabular_output 2026-04-13 14:15:34,078 root INFO copying cli_helpers/tabular_output/json_output_adapter.py -> build/lib/cli_helpers/tabular_output 2026-04-13 14:15:34,079 root INFO running egg_info 2026-04-13 14:15:34,091 root INFO creating cli_helpers.egg-info 2026-04-13 14:15:34,092 root INFO writing cli_helpers.egg-info/PKG-INFO 2026-04-13 14:15:34,095 root INFO writing dependency_links to cli_helpers.egg-info/dependency_links.txt 2026-04-13 14:15:34,096 root INFO writing requirements to cli_helpers.egg-info/requires.txt 2026-04-13 14:15:34,097 root INFO writing top-level names to cli_helpers.egg-info/top_level.txt 2026-04-13 14:15:34,098 root INFO writing manifest file 'cli_helpers.egg-info/SOURCES.txt' 2026-04-13 14:15:34,114 root INFO reading manifest file 'cli_helpers.egg-info/SOURCES.txt' 2026-04-13 14:15:34,116 root INFO reading manifest template 'MANIFEST.in' 2026-04-13 14:15:34,125 root WARNING warning: no previously-included files found matching '.pre-commit-config.yaml' 2026-04-13 14:15:34,126 root WARNING warning: no previously-included files found matching '.git-blame-ignore-revs' 2026-04-13 14:15:34,126 root INFO adding license file 'LICENSE' 2026-04-13 14:15:34,127 root INFO adding license file 'AUTHORS' 2026-04-13 14:15:34,131 root INFO writing manifest file 'cli_helpers.egg-info/SOURCES.txt' 2026-04-13 14:15:34,166 root INFO installing to build/bdist.linux-riscv64/wheel 2026-04-13 14:15:34,166 root INFO running install 2026-04-13 14:15:34,201 root INFO running install_lib 2026-04-13 14:15:34,216 root INFO creating build/bdist.linux-riscv64/wheel 2026-04-13 14:15:34,218 root INFO creating build/bdist.linux-riscv64/wheel/cli_helpers 2026-04-13 14:15:34,219 root INFO creating build/bdist.linux-riscv64/wheel/cli_helpers/tabular_output 2026-04-13 14:15:34,219 root INFO copying build/lib/cli_helpers/tabular_output/vertical_table_adapter.py -> build/bdist.linux-riscv64/wheel/./cli_helpers/tabular_output 2026-04-13 14:15:34,221 root INFO copying build/lib/cli_helpers/tabular_output/__init__.py -> build/bdist.linux-riscv64/wheel/./cli_helpers/tabular_output 2026-04-13 14:15:34,222 root INFO copying build/lib/cli_helpers/tabular_output/preprocessors.py -> build/bdist.linux-riscv64/wheel/./cli_helpers/tabular_output 2026-04-13 14:15:34,224 root INFO copying build/lib/cli_helpers/tabular_output/output_formatter.py -> build/bdist.linux-riscv64/wheel/./cli_helpers/tabular_output 2026-04-13 14:15:34,225 root INFO copying build/lib/cli_helpers/tabular_output/tabulate_adapter.py -> build/bdist.linux-riscv64/wheel/./cli_helpers/tabular_output 2026-04-13 14:15:34,226 root INFO copying build/lib/cli_helpers/tabular_output/tsv_output_adapter.py -> build/bdist.linux-riscv64/wheel/./cli_helpers/tabular_output 2026-04-13 14:15:34,227 root INFO copying build/lib/cli_helpers/tabular_output/delimited_output_adapter.py -> build/bdist.linux-riscv64/wheel/./cli_helpers/tabular_output 2026-04-13 14:15:34,228 root INFO copying build/lib/cli_helpers/tabular_output/json_output_adapter.py -> build/bdist.linux-riscv64/wheel/./cli_helpers/tabular_output 2026-04-13 14:15:34,230 root INFO copying build/lib/cli_helpers/__init__.py -> build/bdist.linux-riscv64/wheel/./cli_helpers 2026-04-13 14:15:34,231 root INFO copying build/lib/cli_helpers/utils.py -> build/bdist.linux-riscv64/wheel/./cli_helpers 2026-04-13 14:15:34,232 root INFO copying build/lib/cli_helpers/compat.py -> build/bdist.linux-riscv64/wheel/./cli_helpers 2026-04-13 14:15:34,233 root INFO copying build/lib/cli_helpers/config.py -> build/bdist.linux-riscv64/wheel/./cli_helpers 2026-04-13 14:15:34,234 root INFO running install_egg_info 2026-04-13 14:15:34,251 root INFO Copying cli_helpers.egg-info to build/bdist.linux-riscv64/wheel/./cli_helpers-2.10.0-py3.14.egg-info 2026-04-13 14:15:34,256 root INFO running install_scripts 2026-04-13 14:15:34,264 root INFO creating build/bdist.linux-riscv64/wheel/cli_helpers-2.10.0.dist-info/WHEEL 2026-04-13 14:15:34,266 wheel INFO creating '/home/buildozer/aports/community/py3-cli_helpers/src/cli_helpers-2.10.0/.dist/.tmp-ziapllip/cli_helpers-2.10.0-py3-none-any.whl' and adding 'build/bdist.linux-riscv64/wheel' to it 2026-04-13 14:15:34,268 wheel INFO adding 'cli_helpers/__init__.py' 2026-04-13 14:15:34,269 wheel INFO adding 'cli_helpers/compat.py' 2026-04-13 14:15:34,270 wheel INFO adding 'cli_helpers/config.py' 2026-04-13 14:15:34,272 wheel INFO adding 'cli_helpers/utils.py' 2026-04-13 14:15:34,273 wheel INFO adding 'cli_helpers/tabular_output/__init__.py' 2026-04-13 14:15:34,274 wheel INFO adding 'cli_helpers/tabular_output/delimited_output_adapter.py' 2026-04-13 14:15:34,275 wheel INFO adding 'cli_helpers/tabular_output/json_output_adapter.py' 2026-04-13 14:15:34,276 wheel INFO adding 'cli_helpers/tabular_output/output_formatter.py' 2026-04-13 14:15:34,278 wheel INFO adding 'cli_helpers/tabular_output/preprocessors.py' 2026-04-13 14:15:34,279 wheel INFO adding 'cli_helpers/tabular_output/tabulate_adapter.py' 2026-04-13 14:15:34,280 wheel INFO adding 'cli_helpers/tabular_output/tsv_output_adapter.py' 2026-04-13 14:15:34,281 wheel INFO adding 'cli_helpers/tabular_output/vertical_table_adapter.py' 2026-04-13 14:15:34,283 wheel INFO adding 'cli_helpers-2.10.0.dist-info/licenses/AUTHORS' 2026-04-13 14:15:34,284 wheel INFO adding 'cli_helpers-2.10.0.dist-info/licenses/LICENSE' 2026-04-13 14:15:34,285 wheel INFO adding 'cli_helpers-2.10.0.dist-info/METADATA' 2026-04-13 14:15:34,286 wheel INFO adding 'cli_helpers-2.10.0.dist-info/WHEEL' 2026-04-13 14:15:34,287 wheel INFO adding 'cli_helpers-2.10.0.dist-info/top_level.txt' 2026-04-13 14:15:34,288 wheel INFO adding 'cli_helpers-2.10.0.dist-info/RECORD' 2026-04-13 14:15:34,289 root INFO removing build/bdist.linux-riscv64/wheel 2026-04-13 14:15:34,293 gpep517 INFO The backend produced .dist/cli_helpers-2.10.0-py3-none-any.whl cli_helpers-2.10.0-py3-none-any.whl ============================= test session starts ============================== platform linux -- Python 3.14.3, pytest-9.0.3, pluggy-1.6.0 rootdir: /home/buildozer/aports/community/py3-cli_helpers/src/cli_helpers-2.10.0 configfile: setup.cfg testpaths: tests collected 87 items tests/tabular_output/test_delimited_output_adapter.py ... [ 3%] tests/tabular_output/test_json_output_adapter.py ..... [ 9%] tests/tabular_output/test_output_formatter.py ................. [ 28%] tests/tabular_output/test_preprocessors.py .............sFFF........ [ 57%] tests/tabular_output/test_tabulate_adapter.py ... [ 60%] tests/tabular_output/test_tsv_output_adapter.py ... [ 64%] tests/tabular_output/test_vertical_table_adapter.py .. [ 66%] tests/test_cli_helpers.py . [ 67%] tests/test_config.py ..sss............. [ 88%] tests/test_utils.py .......... [100%] =================================== FAILURES =================================== ______________________________ test_style_output _______________________________ TwoFiftySixColor = None @pytest.mark.skipif(not HAS_PYGMENTS, reason="requires the Pygments library") def test_style_output(TwoFiftySixColor): """Test that *style_output()* styles output.""" class CliStyle(Style): default_style = "" styles = { Token.Output.Header: "bold ansibrightred", Token.Output.OddRow: "bg:#eee #111", Token.Output.EvenRow: "#0f0", } headers = ["h1", "h2"] data = [["观音", "2"], ["Ποσειδῶν", "b"]] expected_headers = ["\x1b[91;01mh1\x1b[39;00m", "\x1b[91;01mh2\x1b[39;00m"] expected_data = [ ["\x1b[38;5;233;48;5;7m观音\x1b[39;49m", "\x1b[38;5;233;48;5;7m2\x1b[39;49m"], ["\x1b[38;5;10mΠοσειδῶν\x1b[39m", "\x1b[38;5;10mb\x1b[39m"], ] results = style_output(data, headers, style=CliStyle) > assert (expected_data, expected_headers) == (list(results[0]), results[1]) E AssertionError: assert ([['\x1b[38;5...\x1b[39;00m']) == ([['\x1b[38;5...\x1b[39;00m']) E E At index 0 diff: [['\x1b[38;5;233;48;5;7m观音\x1b[39;49m', '\x1b[38;5;233;48;5;7m2\x1b[39;49m'], ['\x1b[38;5;10mΠοσειδῶν\x1b[39m', '\x1b[38;5;10mb\x1b[39m']] != [['\x1b[38;5;233;48;5;255m观音\x1b[39;49m', '\x1b[38;5;233;48;5;255m2\x1b[39;49m'], ['\x1b[38;5;10mΠοσειδῶν\x1b[39m', '\x1b[38;5;10mb\x1b[39m']] E Use -v to get more diff tests/tabular_output/test_preprocessors.py:216: AssertionError _______________________ test_style_output_with_newlines ________________________ TwoFiftySixColor = None @pytest.mark.skipif(not HAS_PYGMENTS, reason="requires the Pygments library") def test_style_output_with_newlines(TwoFiftySixColor): """Test that *style_output()* styles output with newlines in it.""" class CliStyle(Style): default_style = "" styles = { Token.Output.Header: "bold ansibrightred", Token.Output.OddRow: "bg:#eee #111", Token.Output.EvenRow: "#0f0", } headers = ["h1", "h2"] data = [["观音\nLine2", "Ποσειδῶν"]] expected_headers = ["\x1b[91;01mh1\x1b[39;00m", "\x1b[91;01mh2\x1b[39;00m"] expected_data = [ [ "\x1b[38;5;233;48;5;7m观音\x1b[39;49m\n\x1b[38;5;233;48;5;7m" "Line2\x1b[39;49m", "\x1b[38;5;233;48;5;7mΠοσειδῶν\x1b[39;49m", ] ] results = style_output(data, headers, style=CliStyle) > assert (expected_data, expected_headers) == (list(results[0]), results[1]) E AssertionError: assert ([['\x1b[38;5...\x1b[39;00m']) == ([['\x1b[38;5...\x1b[39;00m']) E E At index 0 diff: [['\x1b[38;5;233;48;5;7m观音\x1b[39;49m\n\x1b[38;5;233;48;5;7mLine2\x1b[39;49m', '\x1b[38;5;233;48;5;7mΠοσειδῶν\x1b[39;49m']] != [['\x1b[38;5;233;48;5;255m观音\x1b[39;49m\n\x1b[38;5;233;48;5;255mLine2\x1b[39;49m', '\x1b[38;5;233;48;5;255mΠοσειδῶν\x1b[39;49m']] E Use -v to get more diff tests/tabular_output/test_preprocessors.py:244: AssertionError _______________________ test_style_output_custom_tokens ________________________ TwoFiftySixColor = None @pytest.mark.skipif(not HAS_PYGMENTS, reason="requires the Pygments library") def test_style_output_custom_tokens(TwoFiftySixColor): """Test that *style_output()* styles output with custom token names.""" class CliStyle(Style): default_style = "" styles = { Token.Results.Headers: "bold ansibrightred", Token.Results.OddRows: "bg:#eee #111", Token.Results.EvenRows: "#0f0", } headers = ["h1", "h2"] data = [["1", "2"], ["a", "b"]] expected_headers = ["\x1b[91;01mh1\x1b[39;00m", "\x1b[91;01mh2\x1b[39;00m"] expected_data = [ ["\x1b[38;5;233;48;5;7m1\x1b[39;49m", "\x1b[38;5;233;48;5;7m2\x1b[39;49m"], ["\x1b[38;5;10ma\x1b[39m", "\x1b[38;5;10mb\x1b[39m"], ] output = style_output( data, headers, style=CliStyle, header_token=Token.Results.Headers, odd_row_token=Token.Results.OddRows, even_row_token=Token.Results.EvenRows, ) > assert (expected_data, expected_headers) == (list(output[0]), output[1]) E AssertionError: assert ([['\x1b[38;5...\x1b[39;00m']) == ([['\x1b[38;5...\x1b[39;00m']) E E At index 0 diff: [['\x1b[38;5;233;48;5;7m1\x1b[39;49m', '\x1b[38;5;233;48;5;7m2\x1b[39;49m'], ['\x1b[38;5;10ma\x1b[39m', '\x1b[38;5;10mb\x1b[39m']] != [['\x1b[38;5;233;48;5;255m1\x1b[39;49m', '\x1b[38;5;233;48;5;255m2\x1b[39;49m'], ['\x1b[38;5;10ma\x1b[39m', '\x1b[38;5;10mb\x1b[39m']] E Use -v to get more diff tests/tabular_output/test_preprocessors.py:277: AssertionError =========================== short test summary info ============================ FAILED tests/tabular_output/test_preprocessors.py::test_style_output - Assert... FAILED tests/tabular_output/test_preprocessors.py::test_style_output_with_newlines FAILED tests/tabular_output/test_preprocessors.py::test_style_output_custom_tokens =================== 3 failed, 80 passed, 4 skipped in 2.02s ==================== >>> ERROR: py3-cli_helpers: check failed >>> py3-cli_helpers: Uninstalling dependencies... ( 1/40) Purging .makedepends-py3-cli_helpers (20260413.141530) ( 2/40) Purging py3-tabulate-pyc (0.10.0-r0) ( 3/40) Purging py3-tabulate (0.10.0-r0) ( 4/40) Purging py3-configobj-pyc (5.0.9-r2) ( 5/40) Purging py3-configobj (5.0.9-r2) ( 6/40) Purging py3-gpep517-pyc (19-r2) ( 7/40) Purging py3-gpep517 (19-r2) ( 8/40) Purging py3-installer-pyc (1.0.0-r0) ( 9/40) Purging py3-installer (1.0.0-r0) (10/40) Purging py3-setuptools-pyc (82.0.1-r1) (11/40) Purging py3-setuptools (82.0.1-r1) (12/40) Purging py3-wheel-pyc (0.46.3-r1) (13/40) Purging py3-wheel (0.46.3-r1) (14/40) Purging py3-pytest-pyc (9.0.3-r0) (15/40) Purging py3-pytest (9.0.3-r0) (16/40) Purging py3-iniconfig-pyc (2.3.0-r1) (17/40) Purging py3-iniconfig (2.3.0-r1) (18/40) Purging py3-packaging-pyc (26.0-r1) (19/40) Purging py3-packaging (26.0-r1) (20/40) Purging py3-parsing-pyc (3.3.2-r1) (21/40) Purging py3-parsing (3.3.2-r1) (22/40) Purging py3-pluggy-pyc (1.6.0-r1) (23/40) Purging py3-pluggy (1.6.0-r1) (24/40) Purging py3-py-pyc (1.11.0-r5) (25/40) Purging py3-py (1.11.0-r5) (26/40) Purging py3-pygments-pyc (2.20.0-r0) (27/40) Purging py3-pygments (2.20.0-r0) (28/40) Purging py3-wcwidth-pyc (0.6.0-r1) (29/40) Purging py3-wcwidth (0.6.0-r1) (30/40) Purging python3-pyc (3.14.3-r0) (31/40) Purging python3-pycache-pyc0 (3.14.3-r0) (32/40) Purging pyc (3.14.3-r0) (33/40) Purging python3 (3.14.3-r0) (34/40) Purging gdbm (1.26-r0) (35/40) Purging libbz2 (1.0.8-r6) (36/40) Purging libffi (3.5.2-r0) (37/40) Purging libpanelw (6.6_p20260404-r0) (38/40) Purging mpdecimal (4.0.1-r0) (39/40) Purging sqlite-libs (3.53.0-r0) (40/40) Purging xz-libs (5.8.2-r0) Executing busybox-1.37.0-r31.trigger OK: 390.9 MiB in 105 packages