>>> py3-pathable: Building community/py3-pathable 0.5.0-r1 (using abuild 3.17.0_rc1-r2) started Thu, 23 Apr 2026 05:52:51 +0000 >>> py3-pathable: Validating /home/buildozer/aports/community/py3-pathable/APKBUILD... >>> py3-pathable: Analyzing dependencies... >>> py3-pathable: Installing for build: build-base poetry py3-setuptools py3-gpep517 py3-wheel py3-pytest py3-pytest-cov ( 1/115) Installing libbz2 (1.0.8-r6) ( 2/115) Installing libffi (3.5.2-r1) ( 3/115) Installing gdbm (1.26-r0) ( 4/115) Installing xz-libs (5.8.2-r0) ( 5/115) Installing mpdecimal (4.0.1-r0) ( 6/115) Installing libpanelw (6.6_p20260404-r0) ( 7/115) Installing readline (8.3.3-r1) ( 8/115) Installing sqlite-libs (3.53.0-r0) ( 9/115) Installing python3 (3.14.3-r0) ( 10/115) Installing python3-pycache-pyc0 (3.14.3-r0) ( 11/115) Installing pyc (3.14.3-r0) ( 12/115) Installing poetry-pyc (2.3.3-r0) ( 13/115) Installing py3-fastjsonschema-pyc (2.21.2-r2) ( 14/115) Installing py3-poetry-core-pyc (2.3.2-r0) ( 15/115) Installing python3-pyc (3.14.3-r0) ( 16/115) Installing py3-fastjsonschema (2.21.2-r2) ( 17/115) Installing py3-lark-parser (1.2.2-r1) ( 18/115) Installing py3-lark-parser-pyc (1.2.2-r1) ( 19/115) Installing py3-parsing (3.3.2-r1) ( 20/115) Installing py3-parsing-pyc (3.3.2-r1) ( 21/115) Installing py3-packaging (26.0-r1) ( 22/115) Installing py3-packaging-pyc (26.0-r1) ( 23/115) Installing py3-poetry-core (2.3.2-r0) ( 24/115) Installing py3-pyproject-hooks (1.2.0-r1) ( 25/115) Installing py3-pyproject-hooks-pyc (1.2.0-r1) ( 26/115) Installing py3-build (1.4.2-r0) ( 27/115) Installing py3-build-pyc (1.4.2-r0) ( 28/115) Installing py3-msgpack (1.1.2-r1) ( 29/115) Installing py3-msgpack-pyc (1.1.2-r1) ( 30/115) Installing py3-certifi (2026.2.25-r1) ( 31/115) Installing py3-certifi-pyc (2026.2.25-r1) ( 32/115) Installing py3-charset-normalizer (3.4.7-r0) ( 33/115) Installing py3-charset-normalizer-pyc (3.4.7-r0) ( 34/115) Installing py3-idna (3.11-r1) ( 35/115) Installing py3-idna-pyc (3.11-r1) ( 36/115) Installing py3-urllib3 (2.6.3-r1) ( 37/115) Installing py3-urllib3-pyc (2.6.3-r1) ( 38/115) Installing py3-requests (2.32.5-r1) ( 39/115) Installing py3-requests-pyc (2.32.5-r1) ( 40/115) Installing py3-cachecontrol (0.14.3-r1) ( 41/115) Installing py3-cachecontrol-pyc (0.14.3-r1) ( 42/115) Installing py3-crashtest (0.4.1-r6) ( 43/115) Installing py3-crashtest-pyc (0.4.1-r6) ( 44/115) Installing py3-rapidfuzz (3.14.3-r1) ( 45/115) Installing py3-rapidfuzz-pyc (3.14.3-r1) ( 46/115) Installing py3-cleo (2.2.1-r1) ( 47/115) Installing py3-cleo-pyc (2.2.1-r1) ( 48/115) Installing py3-dulwich (1.1.0-r0) ( 49/115) Installing py3-dulwich-pyc (1.1.0-r0) ( 50/115) Installing py3-installer (1.0.0-r0) ( 51/115) Installing py3-installer-pyc (1.0.0-r0) ( 52/115) Installing py3-zipp (3.23.0-r1) ( 53/115) Installing py3-zipp-pyc (3.23.0-r1) ( 54/115) Installing py3-importlib-metadata (9.0.0-r0) ( 55/115) Installing py3-importlib-metadata-pyc (9.0.0-r0) ( 56/115) Installing py3-more-itertools (10.8.0-r1) ( 57/115) Installing py3-more-itertools-pyc (10.8.0-r1) ( 58/115) Installing py3-jaraco.classes (3.4.0-r2) ( 59/115) Installing py3-jaraco.classes-pyc (3.4.0-r2) ( 60/115) Installing py3-jeepney (0.9.0-r1) ( 61/115) Installing py3-jeepney-pyc (0.9.0-r1) ( 62/115) Installing py3-cparser (3.0-r1) ( 63/115) Installing py3-cparser-pyc (3.0-r1) ( 64/115) Installing py3-cffi (2.0.0-r0) ( 65/115) Installing py3-cffi-pyc (2.0.0-r0) ( 66/115) Installing py3-cryptography (46.0.7-r0) ( 67/115) Installing py3-cryptography-pyc (46.0.7-r0) ( 68/115) Installing py3-secretstorage (3.5.0-r1) ( 69/115) Installing py3-secretstorage-pyc (3.5.0-r1) ( 70/115) Installing py3-keyring (24.3.1-r3) ( 71/115) Installing py3-keyring-pyc (24.3.1-r3) ( 72/115) Installing py3-pkginfo (1.12.1.2-r1) ( 73/115) Installing py3-pkginfo-pyc (1.12.1.2-r1) ( 74/115) Installing py3-platformdirs (4.9.2-r1) ( 75/115) Installing py3-platformdirs-pyc (4.9.2-r1) ( 76/115) Installing py3-requests-toolbelt (1.0.0-r2) ( 77/115) Installing py3-requests-toolbelt-pyc (1.0.0-r2) ( 78/115) Installing py3-shellingham (1.5.4-r2) ( 79/115) Installing py3-shellingham-pyc (1.5.4-r2) ( 80/115) Installing py3-tomlkit (0.13.3-r1) ( 81/115) Installing py3-tomlkit-pyc (0.13.3-r1) ( 82/115) Installing py3-trove-classifiers (2026.1.14.14-r1) ( 83/115) Installing py3-trove-classifiers-pyc (2026.1.14.14-r1) ( 84/115) Installing py3-distlib (0.4.0-r1) ( 85/115) Installing py3-distlib-pyc (0.4.0-r1) ( 86/115) Installing py3-filelock (3.18.0-r1) ( 87/115) Installing py3-filelock-pyc (3.18.0-r1) ( 88/115) Installing py3-virtualenv (20.32.0-r1) ( 89/115) Installing py3-virtualenv-pyc (20.32.0-r1) ( 90/115) Installing py3-findpython (0.7.1-r2) ( 91/115) Installing py3-findpython-pyc (0.7.1-r2) ( 92/115) Installing py3-pbs-installer (2026.03.24-r1) ( 93/115) Installing py3-pbs-installer-pyc (2026.03.24-r1) ( 94/115) Installing poetry (2.3.3-r0) ( 95/115) Installing py3-setuptools (82.0.1-r1) ( 96/115) Installing py3-setuptools-pyc (82.0.1-r1) ( 97/115) Installing py3-gpep517 (19-r2) ( 98/115) Installing py3-gpep517-pyc (19-r2) ( 99/115) Installing py3-wheel (0.47.0-r0) (100/115) Installing py3-wheel-pyc (0.47.0-r0) (101/115) Installing py3-iniconfig (2.3.0-r1) (102/115) Installing py3-iniconfig-pyc (2.3.0-r1) (103/115) Installing py3-pluggy (1.6.0-r1) (104/115) Installing py3-pluggy-pyc (1.6.0-r1) (105/115) Installing py3-py (1.11.0-r5) (106/115) Installing py3-py-pyc (1.11.0-r5) (107/115) Installing py3-pygments (2.20.0-r0) (108/115) Installing py3-pygments-pyc (2.20.0-r0) (109/115) Installing py3-pytest (9.0.3-r0) (110/115) Installing py3-pytest-pyc (9.0.3-r0) (111/115) Installing py3-coverage (7.13.5-r1) (112/115) Installing py3-coverage-pyc (7.13.5-r1) (113/115) Installing py3-pytest-cov (5.0.0-r2) (114/115) Installing py3-pytest-cov-pyc (5.0.0-r2) (115/115) Installing .makedepends-py3-pathable (20260423.055301) Executing busybox-1.37.0-r31.trigger OK: 536.7 MiB in 217 packages >>> py3-pathable: Cleaning up srcdir >>> py3-pathable: Cleaning up pkgdir >>> py3-pathable: Cleaning up tmpdir >>> py3-pathable: Fetching https://distfiles.alpinelinux.org/distfiles/v3.24/py3-pathable-0.5.0.tar.gz Connecting to distfiles.alpinelinux.org (172.105.82.32:443) saving to '/var/cache/distfiles/v3.24/py3-pathable-0.5.0.tar.gz.part' py3-pathable-0.5.0.t 100% |********************************| 58424 0:00:00 ETA '/var/cache/distfiles/v3.24/py3-pathable-0.5.0.tar.gz.part' saved /var/cache/distfiles/v3.24/py3-pathable-0.5.0.tar.gz: OK >>> py3-pathable: Fetching https://distfiles.alpinelinux.org/distfiles/v3.24/py3-pathable-0.5.0.tar.gz /var/cache/distfiles/v3.24/py3-pathable-0.5.0.tar.gz: OK >>> py3-pathable: Unpacking /var/cache/distfiles/v3.24/py3-pathable-0.5.0.tar.gz... 2026-04-23 05:53:04,294 gpep517 INFO Building wheel via backend poetry.core.masonry.api 2026-04-23 05:53:04,471 poetry.core.masonry.builders.wheel INFO Building wheel 2026-04-23 05:53:04,498 poetry.core.masonry.builders.wheel INFO Built pathable-0.5.0-py3-none-any.whl 2026-04-23 05:53:04,498 gpep517 INFO The backend produced .dist/pathable-0.5.0-py3-none-any.whl pathable-0.5.0-py3-none-any.whl ============================= test session starts ============================== platform linux -- Python 3.14.3, pytest-9.0.3, pluggy-1.6.0 -- /home/buildozer/aports/community/py3-pathable/src/pathable-0.5.0/.testenv/bin/python3 cachedir: .pytest_cache rootdir: /home/buildozer/aports/community/py3-pathable/src/pathable-0.5.0 configfile: pyproject.toml plugins: cov-5.0.0 collecting ... collected 260 items tests/unit/test_filesystem.py::TestPathAccessorStat::test_stat_existing_file PASSED tests/unit/test_filesystem.py::TestPathAccessorStat::test_stat_existing_directory PASSED tests/unit/test_filesystem.py::TestPathAccessorStat::test_stat_nonexistent_path_returns_none PASSED tests/unit/test_filesystem.py::TestPathAccessorStat::test_stat_oserror_returns_none PASSED tests/unit/test_filesystem.py::TestPathAccessorStat::test_stat_nested_path PASSED tests/unit/test_filesystem.py::TestPathAccessorStat::test_stat_symlink_not_followed PASSED tests/unit/test_filesystem.py::TestPathAccessorKeys::test_keys_empty_directory PASSED tests/unit/test_filesystem.py::TestPathAccessorKeys::test_keys_with_files PASSED tests/unit/test_filesystem.py::TestPathAccessorKeys::test_keys_with_directories PASSED tests/unit/test_filesystem.py::TestPathAccessorKeys::test_keys_mixed_files_and_directories PASSED tests/unit/test_filesystem.py::TestPathAccessorKeys::test_keys_returns_names_not_paths PASSED tests/unit/test_filesystem.py::TestPathAccessorKeys::test_keys_nested_directory PASSED tests/unit/test_filesystem.py::TestPathAccessorKeys::test_keys_hidden_files PASSED tests/unit/test_filesystem.py::TestPathAccessorKeys::test_keys_non_existing_directory PASSED tests/unit/test_filesystem.py::TestPathAccessorKeys::test_keys_raises_keyerror_for_not_a_directory PASSED tests/unit/test_filesystem.py::TestPathAccessorKeys::test_keys_propagates_permission_error PASSED tests/unit/test_filesystem.py::TestPathAccessorLen::test_len_non_existing_directory PASSED tests/unit/test_filesystem.py::TestPathAccessorLen::test_len_raises_keyerror_for_not_a_directory PASSED tests/unit/test_filesystem.py::TestPathAccessorLen::test_len_propagates_permission_error PASSED tests/unit/test_filesystem.py::TestPathAccessorIsTraversable::test_is_traversable_true_for_directory PASSED tests/unit/test_filesystem.py::TestPathAccessorIsTraversable::test_is_traversable_false_for_file PASSED tests/unit/test_filesystem.py::TestPathAccessorIsTraversable::test_is_traversable_false_for_missing PASSED tests/unit/test_filesystem.py::TestFilesystemPathExists::test_exists_true_for_file PASSED tests/unit/test_filesystem.py::TestFilesystemPathExists::test_exists_true_for_directory PASSED tests/unit/test_filesystem.py::TestFilesystemPathExists::test_exists_false_for_nonexistent PASSED tests/unit/test_filesystem.py::TestFilesystemPathExists::test_exists_false_when_stat_raises_oserror PASSED tests/unit/test_filesystem.py::TestFilesystemPathExists::test_exists_with_nested_path PASSED tests/unit/test_filesystem.py::TestFilesystemPathIsTraversable::test_is_traversable PASSED tests/unit/test_filesystem.py::TestFilesystemPathKeys::test_keys_empty_directory PASSED tests/unit/test_filesystem.py::TestFilesystemPathKeys::test_keys_with_files PASSED tests/unit/test_filesystem.py::TestFilesystemPathKeys::test_keys_returns_names_not_paths PASSED tests/unit/test_filesystem.py::TestFilesystemPathKeys::test_keys_nested_with_child_path PASSED tests/unit/test_filesystem.py::TestFilesystemPathLen::test_len_non_existing_directory PASSED tests/unit/test_lookup_cache.py::test_lookuppath_caches_within_instance PASSED tests/unit/test_lookup_cache.py::test_lookuppath_cache_is_not_shared_between_instances PASSED tests/unit/test_lookup_cache.py::test_lookup_accessor_disable_cache_reads_each_time PASSED tests/unit/test_lookup_cache.py::test_lookup_accessor_clear_cache_forces_reread PASSED tests/unit/test_lookup_cache.py::test_lookup_accessor_lru_eviction_respects_maxsize PASSED tests/unit/test_lookup_cache.py::test_lookup_accessor_node_is_immutable PASSED tests/unit/test_parsers.py::TestParseParts::test_empty PASSED tests/unit/test_parsers.py::TestParseParts::test_one PASSED tests/unit/test_parsers.py::TestParseParts::test_simple PASSED tests/unit/test_parsers.py::TestParseParts::test_none PASSED tests/unit/test_parsers.py::TestParseParts::test_relative PASSED tests/unit/test_parsers.py::TestParseParts::test_separator PASSED tests/unit/test_parsers.py::TestParseParts::test_separator_with_relative PASSED tests/unit/test_parsers.py::TestParseParts::test_int PASSED tests/unit/test_parsers.py::TestParseParts::test_hashable_passthrough PASSED tests/unit/test_parsers.py::TestParseParts::test_bytes PASSED tests/unit/test_parsers.py::TestParseParts::test_invalid_part_message PASSED tests/unit/test_paths.py::TestBasePathParseArgs::test_empty PASSED tests/unit/test_paths.py::TestBasePathParseArgs::test_string PASSED tests/unit/test_paths.py::TestBasePathParseArgs::test_string_many PASSED tests/unit/test_paths.py::TestBasePathParseArgs::test_int PASSED tests/unit/test_paths.py::TestBasePathParseArgs::test_bytes PASSED tests/unit/test_paths.py::TestBasePathParseArgs::test_hashable_passthrough PASSED tests/unit/test_paths.py::TestBasePathParseArgs::test_path PASSED tests/unit/test_paths.py::TestBasePathParseArgs::test_pathlike PASSED tests/unit/test_paths.py::TestBasePathParseArgs::test_invalid_part PASSED tests/unit/test_paths.py::TestBasePathInit::test_default PASSED tests/unit/test_paths.py::TestBasePathInit::test_part_text PASSED tests/unit/test_paths.py::TestBasePathInit::test_part_binary PASSED tests/unit/test_paths.py::TestBasePathInit::test_part_binary_many PASSED tests/unit/test_paths.py::TestBasePathInit::test_part_text_many PASSED tests/unit/test_paths.py::TestBasePathInit::test_part_path PASSED tests/unit/test_paths.py::TestBasePathInit::test_part_path_many PASSED tests/unit/test_paths.py::TestBasePathInit::test_separator PASSED tests/unit/test_paths.py::TestBasePathStr::test_empty PASSED tests/unit/test_paths.py::TestBasePathStr::test_single PASSED tests/unit/test_paths.py::TestBasePathStr::test_double PASSED tests/unit/test_paths.py::TestBasePathStr::test_separator PASSED tests/unit/test_paths.py::TestBasePathStr::test_cparts_cached PASSED tests/unit/test_paths.py::TestBasePathRepr::test_empty PASSED tests/unit/test_paths.py::TestBasePathRepr::test_single PASSED tests/unit/test_paths.py::TestBasePathRepr::test_double PASSED tests/unit/test_paths.py::TestBasePathRepr::test_separator PASSED tests/unit/test_paths.py::TestBasePathHash::test_empty PASSED tests/unit/test_paths.py::TestBasePathHash::test_single PASSED tests/unit/test_paths.py::TestBasePathHash::test_double PASSED tests/unit/test_paths.py::TestBasePathHash::test_separator PASSED tests/unit/test_paths.py::TestBasePathHash::test_cparts_cached PASSED tests/unit/test_paths.py::TestBasePathHash::test_separator_part_of_hash PASSED tests/unit/test_paths.py::TestBasePathMakeChild::test_none PASSED tests/unit/test_paths.py::TestBasePathMakeChild::test_arg PASSED tests/unit/test_paths.py::TestBasePathMakeChild::test_arg_unparsed PASSED tests/unit/test_paths.py::TestBasePathMakeChild::test_args_many PASSED tests/unit/test_paths.py::TestBasePathMakeChildRelPath::test_part PASSED tests/unit/test_paths.py::TestBasePathTruediv::test_default_empty PASSED tests/unit/test_paths.py::TestBasePathTruediv::test_parts[--parts0-/] PASSED tests/unit/test_paths.py::TestBasePathTruediv::test_parts[-part1-parts1-/] PASSED tests/unit/test_paths.py::TestBasePathTruediv::test_parts[part1--parts2-/] PASSED tests/unit/test_paths.py::TestBasePathTruediv::test_parts[part1-part2-parts3-/] PASSED tests/unit/test_paths.py::TestBasePathTruediv::test_parts[--parts4-/] PASSED tests/unit/test_paths.py::TestBasePathTruediv::test_parts[-part1-parts5-/] PASSED tests/unit/test_paths.py::TestBasePathTruediv::test_parts[part1--parts6-/] PASSED tests/unit/test_paths.py::TestBasePathTruediv::test_parts[part1-part2-parts7-/] PASSED tests/unit/test_paths.py::TestBasePathTruediv::test_parts[part1-part28-parts8-/] PASSED tests/unit/test_paths.py::TestBasePathTruediv::test_parts[part19-part2-parts9-/] PASSED tests/unit/test_paths.py::TestBasePathTruediv::test_parts[part110-part210-parts10-/] PASSED tests/unit/test_paths.py::TestBasePathTruediv::test_combined PASSED tests/unit/test_paths.py::TestBasePathTruediv::test_combined_different_separators PASSED tests/unit/test_paths.py::TestBasePathTruediv::test_type_not_implemented PASSED tests/unit/test_paths.py::TestBasePathRtruediv::test_default_empty PASSED tests/unit/test_paths.py::TestBasePathRtruediv::test_parts[--parts0-/] PASSED tests/unit/test_paths.py::TestBasePathRtruediv::test_parts[-part1-parts1-/] PASSED tests/unit/test_paths.py::TestBasePathRtruediv::test_parts[part1--parts2-/] PASSED tests/unit/test_paths.py::TestBasePathRtruediv::test_parts[part1-part2-parts3-/] PASSED tests/unit/test_paths.py::TestBasePathRtruediv::test_parts[--parts4-/] PASSED tests/unit/test_paths.py::TestBasePathRtruediv::test_parts[-part1-parts5-/] PASSED tests/unit/test_paths.py::TestBasePathRtruediv::test_parts[part1--parts6-/] PASSED tests/unit/test_paths.py::TestBasePathRtruediv::test_parts[part1-part2-parts7-/] PASSED tests/unit/test_paths.py::TestBasePathRtruediv::test_parts[part1-part28-parts8-/] PASSED tests/unit/test_paths.py::TestBasePathRtruediv::test_parts[part19-part2-parts9-/] PASSED tests/unit/test_paths.py::TestBasePathRtruediv::test_parts[part110-part210-parts10-/] PASSED tests/unit/test_paths.py::TestBasePathRtruediv::test_combined PASSED tests/unit/test_paths.py::TestBasePathRtruediv::test_type_not_implemented PASSED tests/unit/test_paths.py::TestBasePathRtruediv::test_preserves_separator PASSED tests/unit/test_paths.py::TestBasePathEq::test_parts[--True] PASSED tests/unit/test_paths.py::TestBasePathEq::test_parts[-part-False] PASSED tests/unit/test_paths.py::TestBasePathEq::test_parts[part--False] PASSED tests/unit/test_paths.py::TestBasePathEq::test_parts[part-part-True] PASSED tests/unit/test_paths.py::TestBasePathEq::test_parts[part-part24-True] PASSED tests/unit/test_paths.py::TestBasePathEq::test_parts[part15-part-True] PASSED tests/unit/test_paths.py::TestBasePathEq::test_parts[part16-part26-True] PASSED tests/unit/test_paths.py::TestBasePathEq::test_type_not_implemented PASSED tests/unit/test_paths.py::TestBasePathEq::test_type_sensitive_parts PASSED tests/unit/test_paths.py::TestBasePathEq::test_separator_part_of_equality PASSED tests/unit/test_paths.py::TestBasePathLt::test_parts[--False] PASSED tests/unit/test_paths.py::TestBasePathLt::test_parts[-part-True] PASSED tests/unit/test_paths.py::TestBasePathLt::test_parts[part--False] PASSED tests/unit/test_paths.py::TestBasePathLt::test_parts[part-part-False] PASSED tests/unit/test_paths.py::TestBasePathLt::test_parts[part-part2-True] PASSED tests/unit/test_paths.py::TestBasePathLt::test_parts[part-part25-False] PASSED tests/unit/test_paths.py::TestBasePathLt::test_parts[part-part26-True] PASSED tests/unit/test_paths.py::TestBasePathLt::test_parts[part17-part-False] PASSED tests/unit/test_paths.py::TestBasePathLt::test_parts[part18-part28-False] PASSED tests/unit/test_paths.py::TestBasePathLt::test_parts[part19-part29-True] PASSED tests/unit/test_paths.py::TestBasePathLt::test_type_not_implemented PASSED tests/unit/test_paths.py::TestBasePathLt::test_mixed_type_ordering_is_deterministic PASSED tests/unit/test_paths.py::TestBasePathLt::test_separator_affects_ordering PASSED tests/unit/test_paths.py::TestBasePathLt::test_type_identifier_includes_module PASSED tests/unit/test_paths.py::TestBasePathLe::test_parts[--True] PASSED tests/unit/test_paths.py::TestBasePathLe::test_parts[-part-True] PASSED tests/unit/test_paths.py::TestBasePathLe::test_parts[part--False] PASSED tests/unit/test_paths.py::TestBasePathLe::test_parts[part-part-True] PASSED tests/unit/test_paths.py::TestBasePathLe::test_parts[part-part2-True] PASSED tests/unit/test_paths.py::TestBasePathLe::test_parts[part-part25-True] PASSED tests/unit/test_paths.py::TestBasePathLe::test_parts[part-part26-True] PASSED tests/unit/test_paths.py::TestBasePathLe::test_parts[part17-part-True] PASSED tests/unit/test_paths.py::TestBasePathLe::test_parts[part18-part28-True] PASSED tests/unit/test_paths.py::TestBasePathLe::test_parts[part19-part29-True] PASSED tests/unit/test_paths.py::TestBasePathLe::test_type_not_implemented PASSED tests/unit/test_paths.py::TestBasePathGt::test_parts[--False] PASSED tests/unit/test_paths.py::TestBasePathGt::test_parts[-part-False] PASSED tests/unit/test_paths.py::TestBasePathGt::test_parts[part--True] PASSED tests/unit/test_paths.py::TestBasePathGt::test_parts[part-part-False] PASSED tests/unit/test_paths.py::TestBasePathGt::test_parts[part-part2-False] PASSED tests/unit/test_paths.py::TestBasePathGt::test_parts[part-part25-False] PASSED tests/unit/test_paths.py::TestBasePathGt::test_parts[part-part26-False] PASSED tests/unit/test_paths.py::TestBasePathGt::test_parts[part17-part-False] PASSED tests/unit/test_paths.py::TestBasePathGt::test_parts[part18-part28-False] PASSED tests/unit/test_paths.py::TestBasePathGt::test_parts[part19-part29-False] PASSED tests/unit/test_paths.py::TestBasePathGt::test_type_not_implemented PASSED tests/unit/test_paths.py::TestBasePathGe::test_parts[--True] PASSED tests/unit/test_paths.py::TestBasePathGe::test_parts[-part-False] PASSED tests/unit/test_paths.py::TestBasePathGe::test_parts[part--True] PASSED tests/unit/test_paths.py::TestBasePathGe::test_parts[part-part-True] PASSED tests/unit/test_paths.py::TestBasePathGe::test_parts[part-part2-False] PASSED tests/unit/test_paths.py::TestBasePathGe::test_parts[part-part25-True] PASSED tests/unit/test_paths.py::TestBasePathGe::test_parts[part-part26-False] PASSED tests/unit/test_paths.py::TestBasePathGe::test_parts[part17-part-True] PASSED tests/unit/test_paths.py::TestBasePathGe::test_parts[part18-part28-True] PASSED tests/unit/test_paths.py::TestBasePathGe::test_parts[part19-part29-False] PASSED tests/unit/test_paths.py::TestBasePathGe::test_type_not_implemented PASSED tests/unit/test_paths.py::TestAccessorPathLen::test_empty PASSED tests/unit/test_paths.py::TestAccessorPathLen::test_value PASSED tests/unit/test_paths.py::TestAccessorPathKeys::test_empty PASSED tests/unit/test_paths.py::TestAccessorPathKeys::test_value PASSED tests/unit/test_paths.py::TestAccessorPathContains::test_valid PASSED tests/unit/test_paths.py::TestAccessorPathContains::test_invalid PASSED tests/unit/test_paths.py::TestAccessorPathContains::test_missing_path_does_not_raise PASSED tests/unit/test_paths.py::TestAccessorPathContains::test_fast_path_valid PASSED tests/unit/test_paths.py::TestAccessorPathContains::test_fast_path_invalid PASSED tests/unit/test_paths.py::TestAccessorPathContains::test_fast_path_nested PASSED tests/unit/test_paths.py::TestAccessorPathContains::test_fast_path_missing_parent PASSED tests/unit/test_paths.py::TestAccessorPathRequireChild::test_fast_path_valid_child PASSED tests/unit/test_paths.py::TestAccessorPathRequireChild::test_fast_path_invalid_child PASSED tests/unit/test_paths.py::TestAccessorPathRequireChild::test_fast_path_nested_valid PASSED tests/unit/test_paths.py::TestAccessorPathRequireChild::test_fast_path_missing_parent PASSED tests/unit/test_paths.py::TestAccessorPathItems::test_empty PASSED tests/unit/test_paths.py::TestAccessorPathItems::test_keys PASSED tests/unit/test_paths.py::TestAccessorPathIter::test_empty PASSED tests/unit/test_paths.py::TestAccessorPathIter::test_value PASSED tests/unit/test_paths.py::TestLookupPathIter::test_object PASSED tests/unit/test_paths.py::TestLookupPathIter::test_list PASSED tests/unit/test_paths.py::TestLookupPathIter::test_leaf_raises_keyerror PASSED tests/unit/test_paths.py::TestLookupPathGetItem::test_valid PASSED tests/unit/test_paths.py::TestLookupPathGetItem::test_invalid PASSED tests/unit/test_paths.py::TestAccessorPathGetItemPerformance::test_single_traversal_for_leaf_value PASSED tests/unit/test_paths.py::TestLookupPathReadValue::test_valid[resource0-args0-testvalue] PASSED tests/unit/test_paths.py::TestLookupPathReadValue::test_valid[resource1-args1-testvalue] PASSED tests/unit/test_paths.py::TestLookupPathReadValue::test_invalid[resource0-args0] PASSED tests/unit/test_paths.py::TestLookupPathReadValue::test_invalid[resource1-args1] PASSED tests/unit/test_paths.py::TestLookupPathGet::test_non_existing_key_default_none PASSED tests/unit/test_paths.py::TestLookupPathGet::test_non_existing_key_default_defined PASSED tests/unit/test_paths.py::TestLookupPathGet::test_key_exists[resource0-test1-test2] PASSED tests/unit/test_paths.py::TestLookupPathGet::test_key_exists[resource1-test1-expected1] PASSED tests/unit/test_paths.py::TestLookupPathExists::test_non_existing_key PASSED tests/unit/test_paths.py::TestLookupPathExists::test_key_exists[resource0-test1] PASSED tests/unit/test_paths.py::TestLookupPathExists::test_key_exists[resource1-test1] PASSED tests/unit/test_paths.py::TestLookupPathExists::test_key_exists[resource2-test1] PASSED tests/unit/test_paths.py::TestLookupPathExists::test_key_exists[resource3-test1] PASSED tests/unit/test_paths.py::TestLookupPathFloorDiv::test_non_existing_key PASSED tests/unit/test_paths.py::TestLookupPathFloorDiv::test_missing_intermediate_raises_missing_segment PASSED tests/unit/test_paths.py::TestLookupPathFloorDiv::test_key_exists[resource0-test1-expected0] PASSED tests/unit/test_paths.py::TestLookupPathFloorDiv::test_key_exists[resource1-test1-expected1] PASSED tests/unit/test_paths.py::TestLookupPathRfloorDiv::test_non_existing_key PASSED tests/unit/test_paths.py::TestLookupPathRfloorDiv::test_missing_intermediate_raises_missing_segment PASSED tests/unit/test_paths.py::TestLookupPathRfloorDiv::test_key_exists[resource0-test1-expected0] PASSED tests/unit/test_paths.py::TestLookupPathRfloorDiv::test_key_exists[resource1-test1-expected1] PASSED tests/unit/test_paths.py::TestFilesystemPathValidate::test_validate_missing_first_segment PASSED tests/unit/test_paths.py::TestFilesystemPathValidate::test_validate_missing_intermediate_segment PASSED tests/unit/test_paths.py::TestFilesystemPathKeysAndLenDiagnostics::test_keys_missing_intermediate_reports_first_missing PASSED tests/unit/test_paths.py::TestFilesystemPathKeysAndLenDiagnostics::test_len_missing_intermediate_reports_first_missing PASSED tests/unit/test_paths.py::TestFilesystemPathFloorDivDiagnostics::test_floordiv_missing_intermediate_reports_first_missing PASSED tests/unit/test_paths.py::TestLookupPathLen::test_empty PASSED tests/unit/test_paths.py::TestLookupPathLen::test_value PASSED tests/unit/test_paths.py::TestLookupPathLen::test_single PASSED tests/unit/test_paths.py::TestLookupPathLen::test_list PASSED tests/unit/test_paths.py::TestLookupPathLen::test_non_existing PASSED tests/unit/test_paths.py::TestLookupPathKeys::test_empty PASSED tests/unit/test_paths.py::TestLookupPathKeys::test_value PASSED tests/unit/test_paths.py::TestLookupPathKeys::test_string PASSED tests/unit/test_paths.py::TestLookupPathKeys::test_dict PASSED tests/unit/test_paths.py::TestLookupPathKeys::test_list PASSED tests/unit/test_paths.py::TestLookupPathKeys::test_non_existing PASSED tests/unit/test_paths.py::TestLookupTraversable::test_lookup_accessor_is_traversable PASSED tests/unit/test_paths.py::TestLookupTraversable::test_lookuppath_is_traversable PASSED tests/unit/test_paths.py::TestLookupPathContains::test_valid PASSED tests/unit/test_paths.py::TestLookupPathContains::test_invalid PASSED tests/unit/test_paths.py::TestLookupPathContains::test_missing_intermediate_does_not_raise PASSED tests/unit/test_paths.py::TestLookupPathContains::test_out_of_bounds_list_index_does_not_raise PASSED tests/unit/test_paths.py::TestLookupPathItems::test_empty PASSED tests/unit/test_paths.py::TestLookupPathItems::test_keys PASSED tests/unit/test_paths.py::TestLookupPathOpen::test_content_cached PASSED tests/unit/test_paths.py::TestLookupPathFromLookup::test_from_lookup_matches_private_constructor PASSED tests/unit/test_paths.py::TestAccessorPathOpenAndStat::test_open_yields_read_value PASSED tests/unit/test_paths.py::TestAccessorPathOpenAndStat::test_stat_returns_none_for_missing PASSED tests/unit/test_paths.py::TestPathlibLikeManipulation::test_name_parent_parents PASSED tests/unit/test_paths.py::TestPathlibLikeManipulation::test_joinpath PASSED tests/unit/test_paths.py::TestPathlibLikeManipulation::test_suffix_stem_suffixes PASSED tests/unit/test_paths.py::TestPathlibLikeManipulation::test_with_name_and_with_suffix PASSED tests/unit/test_paths.py::TestPathlibLikeManipulation::test_with_name_respects_separator PASSED tests/unit/test_paths.py::TestPathlibLikeManipulation::test_relative_to_and_is_relative_to PASSED tests/unit/test_paths.py::TestPathlibLikeManipulation::test_relative_to_and_is_relative_to_custom_separator PASSED tests/unit/test_paths.py::TestPathlibLikeManipulation::test_as_posix_and_fspath PASSED tests/unit/test_paths.py::TestAccessorPathPathlibCompat::test_parent_preserves_accessor PASSED tests/unit/test_paths.py::TestAccessorPathPathlibCompat::test_relative_to_preserves_accessor PASSED tests/unit/test_paths.py::TestAccessorPathPathlibCompat::test_with_name_preserves_accessor PASSED tests/unit/test_traversable.py::test_is_traversable_falls_back_to_keys PASSED - generated xml file: /home/buildozer/aports/community/py3-pathable/src/pathable-0.5.0/reports/junit.xml - ---------- coverage: platform linux, python 3.14.3-final-0 ----------- Name Stmts Miss Branch BrPart Cover Missing ------------------------------------------------------------------- pathable/__init__.py 14 0 0 0 100% pathable/accessors.py 266 44 50 5 79% 41-43, 46, 53, 78, 85-86, 130-132, 135, 138-139, 163, 201-202, 205-209, 213-219, 233-234, 238, 258, 317->321, 360-363, 376-381, 403 pathable/parsers.py 38 5 28 2 83% 41, 43-46 pathable/paths.py 304 34 82 19 84% 77-78, 165, 172, 178, 192, 197, 200, 213, 220, 233, 235, 237, 246, 248, 250, 253, 261, 364, 375, 401-402, 441-444, 451-454, 458-461 pathable/protocols.py 8 0 0 0 100% pathable/types.py 5 0 0 0 100% ------------------------------------------------------------------- TOTAL 635 83 160 26 83% Coverage XML written to file reports/coverage.xml ============================= 260 passed in 1.80s ============================== >>> py3-pathable: Entering fakeroot... >>> py3-pathable-pyc*: Running split function pyc... 'usr/lib/python3.14/site-packages/pathable/__pycache__' -> '/home/buildozer/aports/community/py3-pathable/pkg/py3-pathable-pyc/usr/lib/python3.14/site-packages/pathable/__pycache__' >>> py3-pathable-pyc*: Preparing subpackage py3-pathable-pyc... Please specify at least one package name on the command line. >>> py3-pathable-pyc*: Running postcheck for py3-pathable-pyc >>> py3-pathable*: Running postcheck for py3-pathable >>> py3-pathable*: Preparing package py3-pathable... Please specify at least one package name on the command line. >>> py3-pathable-pyc*: Tracing dependencies... python3~3.14 >>> py3-pathable-pyc*: Package size: 67.3 KB >>> py3-pathable-pyc*: Compressing data... >>> py3-pathable-pyc*: Create checksum... >>> py3-pathable-pyc*: Create py3-pathable-pyc-0.5.0-r1.apk >>> py3-pathable*: Tracing dependencies... python3~3.14 >>> py3-pathable*: Package size: 52.1 KB >>> py3-pathable*: Compressing data... >>> py3-pathable*: Create checksum... >>> py3-pathable*: Create py3-pathable-0.5.0-r1.apk >>> py3-pathable: Build complete at Thu, 23 Apr 2026 05:53:08 +0000 elapsed time 0h 0m 17s >>> py3-pathable: Cleaning up srcdir >>> py3-pathable: Cleaning up pkgdir >>> py3-pathable: Uninstalling dependencies... ( 1/115) Purging .makedepends-py3-pathable (20260423.055301) ( 2/115) Purging poetry-pyc (2.3.3-r0) ( 3/115) Purging poetry (2.3.3-r0) ( 4/115) Purging py3-poetry-core-pyc (2.3.2-r0) ( 5/115) Purging py3-poetry-core (2.3.2-r0) ( 6/115) Purging py3-lark-parser-pyc (1.2.2-r1) ( 7/115) Purging py3-lark-parser (1.2.2-r1) ( 8/115) Purging py3-build-pyc (1.4.2-r0) ( 9/115) Purging py3-build (1.4.2-r0) ( 10/115) Purging py3-cachecontrol-pyc (0.14.3-r1) ( 11/115) Purging py3-cachecontrol (0.14.3-r1) ( 12/115) Purging py3-msgpack-pyc (1.1.2-r1) ( 13/115) Purging py3-msgpack (1.1.2-r1) ( 14/115) Purging py3-cleo-pyc (2.2.1-r1) ( 15/115) Purging py3-cleo (2.2.1-r1) ( 16/115) Purging py3-crashtest-pyc (0.4.1-r6) ( 17/115) Purging py3-crashtest (0.4.1-r6) ( 18/115) Purging py3-rapidfuzz-pyc (3.14.3-r1) ( 19/115) Purging py3-rapidfuzz (3.14.3-r1) ( 20/115) Purging py3-dulwich-pyc (1.1.0-r0) ( 21/115) Purging py3-dulwich (1.1.0-r0) ( 22/115) Purging py3-fastjsonschema-pyc (2.21.2-r2) ( 23/115) Purging py3-fastjsonschema (2.21.2-r2) ( 24/115) Purging py3-keyring-pyc (24.3.1-r3) ( 25/115) Purging py3-keyring (24.3.1-r3) ( 26/115) Purging py3-importlib-metadata-pyc (9.0.0-r0) ( 27/115) Purging py3-importlib-metadata (9.0.0-r0) ( 28/115) Purging py3-zipp-pyc (3.23.0-r1) ( 29/115) Purging py3-zipp (3.23.0-r1) ( 30/115) Purging py3-jaraco.classes-pyc (3.4.0-r2) ( 31/115) Purging py3-jaraco.classes (3.4.0-r2) ( 32/115) Purging py3-more-itertools-pyc (10.8.0-r1) ( 33/115) Purging py3-more-itertools (10.8.0-r1) ( 34/115) Purging py3-secretstorage-pyc (3.5.0-r1) ( 35/115) Purging py3-secretstorage (3.5.0-r1) ( 36/115) Purging py3-cryptography-pyc (46.0.7-r0) ( 37/115) Purging py3-cryptography (46.0.7-r0) ( 38/115) Purging py3-cffi-pyc (2.0.0-r0) ( 39/115) Purging py3-cffi (2.0.0-r0) ( 40/115) Purging py3-cparser-pyc (3.0-r1) ( 41/115) Purging py3-cparser (3.0-r1) ( 42/115) Purging py3-jeepney-pyc (0.9.0-r1) ( 43/115) Purging py3-jeepney (0.9.0-r1) ( 44/115) Purging py3-pkginfo-pyc (1.12.1.2-r1) ( 45/115) Purging py3-pkginfo (1.12.1.2-r1) ( 46/115) Purging py3-pyproject-hooks-pyc (1.2.0-r1) ( 47/115) Purging py3-pyproject-hooks (1.2.0-r1) ( 48/115) Purging py3-requests-toolbelt-pyc (1.0.0-r2) ( 49/115) Purging py3-requests-toolbelt (1.0.0-r2) ( 50/115) Purging py3-requests-pyc (2.32.5-r1) ( 51/115) Purging py3-requests (2.32.5-r1) ( 52/115) Purging py3-certifi-pyc (2026.2.25-r1) ( 53/115) Purging py3-certifi (2026.2.25-r1) ( 54/115) Purging py3-charset-normalizer-pyc (3.4.7-r0) ( 55/115) Purging py3-charset-normalizer (3.4.7-r0) ( 56/115) Purging py3-idna-pyc (3.11-r1) ( 57/115) Purging py3-idna (3.11-r1) ( 58/115) Purging py3-urllib3-pyc (2.6.3-r1) ( 59/115) Purging py3-urllib3 (2.6.3-r1) ( 60/115) Purging py3-shellingham-pyc (1.5.4-r2) ( 61/115) Purging py3-shellingham (1.5.4-r2) ( 62/115) Purging py3-tomlkit-pyc (0.13.3-r1) ( 63/115) Purging py3-tomlkit (0.13.3-r1) ( 64/115) Purging py3-trove-classifiers-pyc (2026.1.14.14-r1) ( 65/115) Purging py3-trove-classifiers (2026.1.14.14-r1) ( 66/115) Purging py3-virtualenv-pyc (20.32.0-r1) ( 67/115) Purging py3-virtualenv (20.32.0-r1) ( 68/115) Purging py3-distlib-pyc (0.4.0-r1) ( 69/115) Purging py3-distlib (0.4.0-r1) ( 70/115) Purging py3-filelock-pyc (3.18.0-r1) ( 71/115) Purging py3-filelock (3.18.0-r1) ( 72/115) Purging py3-findpython-pyc (0.7.1-r2) ( 73/115) Purging py3-findpython (0.7.1-r2) ( 74/115) Purging py3-platformdirs-pyc (4.9.2-r1) ( 75/115) Purging py3-platformdirs (4.9.2-r1) ( 76/115) Purging py3-pbs-installer-pyc (2026.03.24-r1) ( 77/115) Purging py3-pbs-installer (2026.03.24-r1) ( 78/115) Purging py3-setuptools-pyc (82.0.1-r1) ( 79/115) Purging py3-setuptools (82.0.1-r1) ( 80/115) Purging py3-gpep517-pyc (19-r2) ( 81/115) Purging py3-gpep517 (19-r2) ( 82/115) Purging py3-installer-pyc (1.0.0-r0) ( 83/115) Purging py3-installer (1.0.0-r0) ( 84/115) Purging py3-wheel-pyc (0.47.0-r0) ( 85/115) Purging py3-wheel (0.47.0-r0) ( 86/115) Purging py3-pytest-cov-pyc (5.0.0-r2) ( 87/115) Purging py3-pytest-cov (5.0.0-r2) ( 88/115) Purging py3-pytest-pyc (9.0.3-r0) ( 89/115) Purging py3-pytest (9.0.3-r0) ( 90/115) Purging py3-iniconfig-pyc (2.3.0-r1) ( 91/115) Purging py3-iniconfig (2.3.0-r1) ( 92/115) Purging py3-packaging-pyc (26.0-r1) ( 93/115) Purging py3-packaging (26.0-r1) ( 94/115) Purging py3-parsing-pyc (3.3.2-r1) ( 95/115) Purging py3-parsing (3.3.2-r1) ( 96/115) Purging py3-pluggy-pyc (1.6.0-r1) ( 97/115) Purging py3-pluggy (1.6.0-r1) ( 98/115) Purging py3-py-pyc (1.11.0-r5) ( 99/115) Purging py3-py (1.11.0-r5) (100/115) Purging py3-pygments-pyc (2.20.0-r0) (101/115) Purging py3-pygments (2.20.0-r0) (102/115) Purging py3-coverage-pyc (7.13.5-r1) (103/115) Purging py3-coverage (7.13.5-r1) (104/115) Purging python3-pyc (3.14.3-r0) (105/115) Purging python3-pycache-pyc0 (3.14.3-r0) (106/115) Purging pyc (3.14.3-r0) (107/115) Purging python3 (3.14.3-r0) (108/115) Purging gdbm (1.26-r0) (109/115) Purging libbz2 (1.0.8-r6) (110/115) Purging libffi (3.5.2-r1) (111/115) Purging libpanelw (6.6_p20260404-r0) (112/115) Purging mpdecimal (4.0.1-r0) (113/115) Purging readline (8.3.3-r1) (114/115) Purging sqlite-libs (3.53.0-r0) (115/115) Purging xz-libs (5.8.2-r0) Executing busybox-1.37.0-r31.trigger OK: 425.2 MiB in 102 packages >>> py3-pathable: Updating the community/x86 repository index... >>> py3-pathable: Signing the index...