>>> py3-pathable: Building community/py3-pathable 0.5.0-r0 (using abuild 3.16.0-r0) started Sun, 01 Mar 2026 16:23:39 +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/113) Installing libbz2 (1.0.8-r6) ( 2/113) Installing libffi (3.5.2-r0) ( 3/113) Installing gdbm (1.26-r0) ( 4/113) Installing xz-libs (5.8.2-r0) ( 5/113) Installing mpdecimal (4.0.1-r0) ( 6/113) Installing libpanelw (6.6_p20251231-r0) ( 7/113) Installing sqlite-libs (3.51.2-r1) ( 8/113) Installing python3 (3.12.12-r0) ( 9/113) Installing python3-pycache-pyc0 (3.12.12-r0) ( 10/113) Installing pyc (3.12.12-r0) ( 11/113) Installing poetry-pyc (2.2.1-r0) ( 12/113) Installing py3-fastjsonschema-pyc (2.21.2-r1) ( 13/113) Installing py3-poetry-core-pyc (2.2.1-r0) ( 14/113) Installing python3-pyc (3.12.12-r0) ( 15/113) Installing py3-fastjsonschema (2.21.2-r1) ( 16/113) Installing py3-lark-parser (1.2.2-r0) ( 17/113) Installing py3-lark-parser-pyc (1.2.2-r0) ( 18/113) Installing py3-parsing (3.3.2-r0) ( 19/113) Installing py3-parsing-pyc (3.3.2-r0) ( 20/113) Installing py3-packaging (25.0-r0) ( 21/113) Installing py3-packaging-pyc (25.0-r0) ( 22/113) Installing py3-poetry-core (2.2.1-r0) ( 23/113) Installing py3-pyproject-hooks (1.2.0-r0) ( 24/113) Installing py3-pyproject-hooks-pyc (1.2.0-r0) ( 25/113) Installing py3-build (1.4.0-r0) ( 26/113) Installing py3-build-pyc (1.4.0-r0) ( 27/113) Installing py3-msgpack (1.0.8-r1) ( 28/113) Installing py3-msgpack-pyc (1.0.8-r1) ( 29/113) Installing py3-certifi (2026.2.25-r0) ( 30/113) Installing py3-certifi-pyc (2026.2.25-r0) ( 31/113) Installing py3-charset-normalizer (3.4.4-r0) ( 32/113) Installing py3-charset-normalizer-pyc (3.4.4-r0) ( 33/113) Installing py3-idna (3.11-r0) ( 34/113) Installing py3-idna-pyc (3.11-r0) ( 35/113) Installing py3-urllib3 (2.6.3-r0) ( 36/113) Installing py3-urllib3-pyc (2.6.3-r0) ( 37/113) Installing py3-requests (2.32.5-r0) ( 38/113) Installing py3-requests-pyc (2.32.5-r0) ( 39/113) Installing py3-cachecontrol (0.14.3-r0) ( 40/113) Installing py3-cachecontrol-pyc (0.14.3-r0) ( 41/113) Installing py3-crashtest (0.4.1-r5) ( 42/113) Installing py3-crashtest-pyc (0.4.1-r5) ( 43/113) Installing py3-rapidfuzz (3.14.3-r0) ( 44/113) Installing py3-rapidfuzz-pyc (3.14.3-r0) ( 45/113) Installing py3-cleo (2.2.1-r0) ( 46/113) Installing py3-cleo-pyc (2.2.1-r0) ( 47/113) Installing py3-dulwich (0.24.2-r0) ( 48/113) Installing py3-dulwich-pyc (0.24.2-r0) ( 49/113) Installing py3-installer (0.7.0-r2) ( 50/113) Installing py3-installer-pyc (0.7.0-r2) ( 51/113) Installing py3-zipp (3.23.0-r0) ( 52/113) Installing py3-zipp-pyc (3.23.0-r0) ( 53/113) Installing py3-importlib-metadata (8.7.1-r0) ( 54/113) Installing py3-importlib-metadata-pyc (8.7.1-r0) ( 55/113) Installing py3-more-itertools (10.8.0-r0) ( 56/113) Installing py3-more-itertools-pyc (10.8.0-r0) ( 57/113) Installing py3-jaraco.classes (3.4.0-r1) ( 58/113) Installing py3-jaraco.classes-pyc (3.4.0-r1) ( 59/113) Installing py3-jeepney (0.9.0-r0) ( 60/113) Installing py3-jeepney-pyc (0.9.0-r0) ( 61/113) Installing py3-cparser (3.0-r0) ( 62/113) Installing py3-cparser-pyc (3.0-r0) ( 63/113) Installing py3-cffi (1.17.1-r1) ( 64/113) Installing py3-cffi-pyc (1.17.1-r1) ( 65/113) Installing py3-cryptography (46.0.3-r0) ( 66/113) Installing py3-cryptography-pyc (46.0.3-r0) ( 67/113) Installing py3-secretstorage (3.5.0-r0) ( 68/113) Installing py3-secretstorage-pyc (3.5.0-r0) ( 69/113) Installing py3-keyring (24.3.1-r2) ( 70/113) Installing py3-keyring-pyc (24.3.1-r2) ( 71/113) Installing py3-pkginfo (1.12.1.2-r0) ( 72/113) Installing py3-pkginfo-pyc (1.12.1.2-r0) ( 73/113) Installing py3-platformdirs (4.5.1-r0) ( 74/113) Installing py3-platformdirs-pyc (4.5.1-r0) ( 75/113) Installing py3-requests-toolbelt (1.0.0-r1) ( 76/113) Installing py3-requests-toolbelt-pyc (1.0.0-r1) ( 77/113) Installing py3-shellingham (1.5.4-r1) ( 78/113) Installing py3-shellingham-pyc (1.5.4-r1) ( 79/113) Installing py3-tomlkit (0.13.3-r0) ( 80/113) Installing py3-tomlkit-pyc (0.13.3-r0) ( 81/113) Installing py3-trove-classifiers (2026.1.14.14-r0) ( 82/113) Installing py3-trove-classifiers-pyc (2026.1.14.14-r0) ( 83/113) Installing py3-distlib (0.4.0-r0) ( 84/113) Installing py3-distlib-pyc (0.4.0-r0) ( 85/113) Installing py3-filelock (3.18.0-r0) ( 86/113) Installing py3-filelock-pyc (3.18.0-r0) ( 87/113) Installing py3-virtualenv (20.32.0-r0) ( 88/113) Installing py3-virtualenv-pyc (20.32.0-r0) ( 89/113) Installing py3-findpython (0.7.1-r0) ( 90/113) Installing py3-pbs-installer (2026.02.11-r0) ( 91/113) Installing py3-pbs-installer-pyc (2026.02.11-r0) ( 92/113) Installing poetry (2.2.1-r0) ( 93/113) Installing py3-setuptools (82.0.0-r0) ( 94/113) Installing py3-setuptools-pyc (82.0.0-r0) ( 95/113) Installing py3-gpep517 (19-r1) ( 96/113) Installing py3-gpep517-pyc (19-r1) ( 97/113) Installing py3-wheel (0.46.1-r0) ( 98/113) Installing py3-wheel-pyc (0.46.1-r0) ( 99/113) Installing py3-iniconfig (2.3.0-r0) (100/113) Installing py3-iniconfig-pyc (2.3.0-r0) (101/113) Installing py3-pluggy (1.6.0-r0) (102/113) Installing py3-pluggy-pyc (1.6.0-r0) (103/113) Installing py3-py (1.11.0-r4) (104/113) Installing py3-py-pyc (1.11.0-r4) (105/113) Installing py3-pygments (2.19.2-r0) (106/113) Installing py3-pygments-pyc (2.19.2-r0) (107/113) Installing py3-pytest (9.0.2-r0) (108/113) Installing py3-pytest-pyc (9.0.2-r0) (109/113) Installing py3-coverage (7.13.4-r0) (110/113) Installing py3-coverage-pyc (7.13.4-r0) (111/113) Installing py3-pytest-cov (5.0.0-r1) (112/113) Installing py3-pytest-cov-pyc (5.0.0-r1) (113/113) Installing .makedepends-py3-pathable (20260301.162340) Executing busybox-1.37.0-r31.trigger OK: 387.3 MiB in 219 packages >>> py3-pathable: Cleaning up srcdir >>> py3-pathable: Cleaning up pkgdir >>> py3-pathable: Cleaning up tmpdir >>> py3-pathable: Fetching https://distfiles.alpinelinux.org/distfiles/edge/py3-pathable-0.5.0.tar.gz Connecting to distfiles.alpinelinux.org (172.105.82.32:443) wget: server returned error: HTTP/1.1 404 Not Found >>> py3-pathable: Fetching py3-pathable-0.5.0.tar.gz::https://github.com/p1c2u/pathable/archive/refs/tags/0.5.0.tar.gz Connecting to github.com (20.26.156.215:443) Connecting to codeload.github.com (20.26.156.216:443) saving to '/var/cache/distfiles/py3-pathable-0.5.0.tar.gz.part' py3-pathable-0.5.0.t 13000 --:--:-- ETA py3-pathable-0.5.0.t 100% |********************************| 58424 0:00:00 ETA '/var/cache/distfiles/py3-pathable-0.5.0.tar.gz.part' saved /var/cache/distfiles/py3-pathable-0.5.0.tar.gz: OK >>> py3-pathable: Fetching https://distfiles.alpinelinux.org/distfiles/edge/py3-pathable-0.5.0.tar.gz /var/cache/distfiles/py3-pathable-0.5.0.tar.gz: OK >>> py3-pathable: Unpacking /var/cache/distfiles/py3-pathable-0.5.0.tar.gz... 2026-03-01 16:23:45,859 gpep517 INFO Building wheel via backend poetry.core.masonry.api 2026-03-01 16:23:46,002 poetry.core.masonry.builders.wheel INFO Building wheel 2026-03-01 16:23:46,039 poetry.core.masonry.builders.wheel INFO Built pathable-0.5.0-py3-none-any.whl 2026-03-01 16:23:46,040 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.12.12, pytest-9.0.2, 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.12.12-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 307 35 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, 450-454, 458-461 pathable/protocols.py 8 0 0 0 100% pathable/types.py 5 0 0 0 100% ------------------------------------------------------------------- TOTAL 638 84 160 26 83% Coverage XML written to file reports/coverage.xml ============================= 260 passed in 3.09s ============================== >>> py3-pathable: Entering fakeroot... >>> py3-pathable-pyc*: Running split function pyc... 'usr/lib/python3.12/site-packages/pathable/__pycache__' -> '/home/buildozer/aports/community/py3-pathable/pkg/py3-pathable-pyc/usr/lib/python3.12/site-packages/pathable/__pycache__' >>> py3-pathable-pyc*: Preparing subpackage py3-pathable-pyc... >>> py3-pathable-pyc*: Running postcheck for py3-pathable-pyc >>> py3-pathable*: Running postcheck for py3-pathable >>> py3-pathable*: Preparing package py3-pathable... >>> py3-pathable-pyc*: Tracing dependencies... python3~3.12 >>> py3-pathable-pyc*: Package size: 49.5 KB >>> py3-pathable-pyc*: Compressing data... >>> py3-pathable-pyc*: Create checksum... >>> py3-pathable-pyc*: Create py3-pathable-pyc-0.5.0-r0.apk >>> py3-pathable*: Tracing dependencies... python3~3.12 >>> py3-pathable*: Package size: 52.1 KB >>> py3-pathable*: Compressing data... >>> py3-pathable*: Create checksum... >>> py3-pathable*: Create py3-pathable-0.5.0-r0.apk >>> py3-pathable: Build complete at Sun, 01 Mar 2026 16:23:50 +0000 elapsed time 0h 0m 11s >>> py3-pathable: Cleaning up srcdir >>> py3-pathable: Cleaning up pkgdir >>> py3-pathable: Uninstalling dependencies... ( 1/113) Purging .makedepends-py3-pathable (20260301.162340) ( 2/113) Purging poetry-pyc (2.2.1-r0) ( 3/113) Purging poetry (2.2.1-r0) ( 4/113) Purging py3-poetry-core-pyc (2.2.1-r0) ( 5/113) Purging py3-poetry-core (2.2.1-r0) ( 6/113) Purging py3-lark-parser-pyc (1.2.2-r0) ( 7/113) Purging py3-lark-parser (1.2.2-r0) ( 8/113) Purging py3-build-pyc (1.4.0-r0) ( 9/113) Purging py3-build (1.4.0-r0) ( 10/113) Purging py3-cachecontrol-pyc (0.14.3-r0) ( 11/113) Purging py3-cachecontrol (0.14.3-r0) ( 12/113) Purging py3-msgpack-pyc (1.0.8-r1) ( 13/113) Purging py3-msgpack (1.0.8-r1) ( 14/113) Purging py3-cleo-pyc (2.2.1-r0) ( 15/113) Purging py3-cleo (2.2.1-r0) ( 16/113) Purging py3-crashtest-pyc (0.4.1-r5) ( 17/113) Purging py3-crashtest (0.4.1-r5) ( 18/113) Purging py3-rapidfuzz-pyc (3.14.3-r0) ( 19/113) Purging py3-rapidfuzz (3.14.3-r0) ( 20/113) Purging py3-dulwich-pyc (0.24.2-r0) ( 21/113) Purging py3-dulwich (0.24.2-r0) ( 22/113) Purging py3-fastjsonschema-pyc (2.21.2-r1) ( 23/113) Purging py3-fastjsonschema (2.21.2-r1) ( 24/113) Purging py3-keyring-pyc (24.3.1-r2) ( 25/113) Purging py3-keyring (24.3.1-r2) ( 26/113) Purging py3-importlib-metadata-pyc (8.7.1-r0) ( 27/113) Purging py3-importlib-metadata (8.7.1-r0) ( 28/113) Purging py3-zipp-pyc (3.23.0-r0) ( 29/113) Purging py3-zipp (3.23.0-r0) ( 30/113) Purging py3-jaraco.classes-pyc (3.4.0-r1) ( 31/113) Purging py3-jaraco.classes (3.4.0-r1) ( 32/113) Purging py3-more-itertools-pyc (10.8.0-r0) ( 33/113) Purging py3-more-itertools (10.8.0-r0) ( 34/113) Purging py3-secretstorage-pyc (3.5.0-r0) ( 35/113) Purging py3-secretstorage (3.5.0-r0) ( 36/113) Purging py3-cryptography-pyc (46.0.3-r0) ( 37/113) Purging py3-cryptography (46.0.3-r0) ( 38/113) Purging py3-cffi-pyc (1.17.1-r1) ( 39/113) Purging py3-cffi (1.17.1-r1) ( 40/113) Purging py3-cparser-pyc (3.0-r0) ( 41/113) Purging py3-cparser (3.0-r0) ( 42/113) Purging py3-jeepney-pyc (0.9.0-r0) ( 43/113) Purging py3-jeepney (0.9.0-r0) ( 44/113) Purging py3-pkginfo-pyc (1.12.1.2-r0) ( 45/113) Purging py3-pkginfo (1.12.1.2-r0) ( 46/113) Purging py3-pyproject-hooks-pyc (1.2.0-r0) ( 47/113) Purging py3-pyproject-hooks (1.2.0-r0) ( 48/113) Purging py3-requests-toolbelt-pyc (1.0.0-r1) ( 49/113) Purging py3-requests-toolbelt (1.0.0-r1) ( 50/113) Purging py3-requests-pyc (2.32.5-r0) ( 51/113) Purging py3-requests (2.32.5-r0) ( 52/113) Purging py3-certifi-pyc (2026.2.25-r0) ( 53/113) Purging py3-certifi (2026.2.25-r0) ( 54/113) Purging py3-charset-normalizer-pyc (3.4.4-r0) ( 55/113) Purging py3-charset-normalizer (3.4.4-r0) ( 56/113) Purging py3-idna-pyc (3.11-r0) ( 57/113) Purging py3-idna (3.11-r0) ( 58/113) Purging py3-urllib3-pyc (2.6.3-r0) ( 59/113) Purging py3-urllib3 (2.6.3-r0) ( 60/113) Purging py3-shellingham-pyc (1.5.4-r1) ( 61/113) Purging py3-shellingham (1.5.4-r1) ( 62/113) Purging py3-tomlkit-pyc (0.13.3-r0) ( 63/113) Purging py3-tomlkit (0.13.3-r0) ( 64/113) Purging py3-trove-classifiers-pyc (2026.1.14.14-r0) ( 65/113) Purging py3-trove-classifiers (2026.1.14.14-r0) ( 66/113) Purging py3-virtualenv-pyc (20.32.0-r0) ( 67/113) Purging py3-virtualenv (20.32.0-r0) ( 68/113) Purging py3-distlib-pyc (0.4.0-r0) ( 69/113) Purging py3-distlib (0.4.0-r0) ( 70/113) Purging py3-filelock-pyc (3.18.0-r0) ( 71/113) Purging py3-filelock (3.18.0-r0) ( 72/113) Purging py3-findpython (0.7.1-r0) ( 73/113) Purging py3-platformdirs-pyc (4.5.1-r0) ( 74/113) Purging py3-platformdirs (4.5.1-r0) ( 75/113) Purging py3-pbs-installer-pyc (2026.02.11-r0) ( 76/113) Purging py3-pbs-installer (2026.02.11-r0) ( 77/113) Purging py3-setuptools-pyc (82.0.0-r0) ( 78/113) Purging py3-setuptools (82.0.0-r0) ( 79/113) Purging py3-gpep517-pyc (19-r1) ( 80/113) Purging py3-gpep517 (19-r1) ( 81/113) Purging py3-installer-pyc (0.7.0-r2) ( 82/113) Purging py3-installer (0.7.0-r2) ( 83/113) Purging py3-wheel-pyc (0.46.1-r0) ( 84/113) Purging py3-wheel (0.46.1-r0) ( 85/113) Purging py3-pytest-cov-pyc (5.0.0-r1) ( 86/113) Purging py3-pytest-cov (5.0.0-r1) ( 87/113) Purging py3-pytest-pyc (9.0.2-r0) ( 88/113) Purging py3-pytest (9.0.2-r0) ( 89/113) Purging py3-iniconfig-pyc (2.3.0-r0) ( 90/113) Purging py3-iniconfig (2.3.0-r0) ( 91/113) Purging py3-packaging-pyc (25.0-r0) ( 92/113) Purging py3-packaging (25.0-r0) ( 93/113) Purging py3-parsing-pyc (3.3.2-r0) ( 94/113) Purging py3-parsing (3.3.2-r0) ( 95/113) Purging py3-pluggy-pyc (1.6.0-r0) ( 96/113) Purging py3-pluggy (1.6.0-r0) ( 97/113) Purging py3-py-pyc (1.11.0-r4) ( 98/113) Purging py3-py (1.11.0-r4) ( 99/113) Purging py3-pygments-pyc (2.19.2-r0) (100/113) Purging py3-pygments (2.19.2-r0) (101/113) Purging py3-coverage-pyc (7.13.4-r0) (102/113) Purging py3-coverage (7.13.4-r0) (103/113) Purging python3-pyc (3.12.12-r0) (104/113) Purging python3-pycache-pyc0 (3.12.12-r0) (105/113) Purging pyc (3.12.12-r0) (106/113) Purging python3 (3.12.12-r0) (107/113) Purging gdbm (1.26-r0) (108/113) Purging libbz2 (1.0.8-r6) (109/113) Purging libffi (3.5.2-r0) (110/113) Purging libpanelw (6.6_p20251231-r0) (111/113) Purging mpdecimal (4.0.1-r0) (112/113) Purging sqlite-libs (3.51.2-r1) (113/113) Purging xz-libs (5.8.2-r0) Executing busybox-1.37.0-r31.trigger OK: 288.6 MiB in 106 packages >>> py3-pathable: Updating the community/ppc64le repository index... >>> py3-pathable: Signing the index...