py$(PYV): commands[0]> python -m pytest --junitxml $(@D)/.tox/junit.py$(PYV).xml tests
============================= test session starts ==============================
platform sunos5 -- Python $(PYTHON_VERSION).X -- $(@D)/.tox/py$(PYV)/bin/python
cachedir: .tox/py$(PYV)/.pytest_cache
rootdir: $(@D)
configfile: pyproject.toml
collecting ... collected 491 items

tests/py_info/test_py_info.py::test_current_as_json PASSED
tests/py_info/test_py_info.py::test_bad_exe_py_info_raise PASSED
tests/py_info/test_py_info.py::test_bad_exe_py_info_no_raise PASSED
tests/py_info/test_py_info.py::test_satisfy_py_info[$(@D)/.tox/py$(PYV)/bin/python] PASSED
tests/py_info/test_py_info.py::test_satisfy_py_info[CPython3] PASSED
tests/py_info/test_py_info.py::test_satisfy_py_info[CPython3-64] PASSED
tests/py_info/test_py_info.py::test_satisfy_py_info[CPython3.14] PASSED
tests/py_info/test_py_info.py::test_satisfy_py_info[CPython3.14-64] PASSED
tests/py_info/test_py_info.py::test_satisfy_py_info[CPython3.14.4] PASSED
tests/py_info/test_py_info.py::test_satisfy_py_info[CPython3.14.4-64] PASSED
tests/py_info/test_py_info.py::test_satisfy_py_info[python3] PASSED
tests/py_info/test_py_info.py::test_satisfy_py_info[python3-64] PASSED
tests/py_info/test_py_info.py::test_satisfy_py_info[python3.14] PASSED
tests/py_info/test_py_info.py::test_satisfy_py_info[python3.14-64] PASSED
tests/py_info/test_py_info.py::test_satisfy_py_info[python3.14.4] PASSED
tests/py_info/test_py_info.py::test_satisfy_py_info[python3.14.4-64] PASSED
tests/py_info/test_py_info.py::test_satisfy_py_info[cpython3] PASSED
tests/py_info/test_py_info.py::test_satisfy_py_info[cpython3-64] PASSED
tests/py_info/test_py_info.py::test_satisfy_py_info[cpython3.14] PASSED
tests/py_info/test_py_info.py::test_satisfy_py_info[cpython3.14-64] PASSED
tests/py_info/test_py_info.py::test_satisfy_py_info[cpython3.14.4] PASSED
tests/py_info/test_py_info.py::test_satisfy_py_info[cpython3.14.4-64] PASSED
tests/py_info/test_py_info.py::test_satisfy_not_arch PASSED
tests/py_info/test_py_info.py::test_satisfy_not_threaded PASSED
tests/py_info/test_py_info.py::test_satisfy_not_version[2] PASSED
tests/py_info/test_py_info.py::test_satisfy_not_version[4] PASSED
tests/py_info/test_py_info.py::test_satisfy_not_version[2.14] PASSED
tests/py_info/test_py_info.py::test_satisfy_not_version[4.14] PASSED
tests/py_info/test_py_info.py::test_satisfy_not_version[3.13] PASSED
tests/py_info/test_py_info.py::test_satisfy_not_version[3.15] PASSED
tests/py_info/test_py_info.py::test_satisfy_not_version[2.14.4] PASSED
tests/py_info/test_py_info.py::test_satisfy_not_version[4.14.4] PASSED
tests/py_info/test_py_info.py::test_satisfy_not_version[3.13.4] PASSED
tests/py_info/test_py_info.py::test_satisfy_not_version[3.15.4] PASSED
tests/py_info/test_py_info.py::test_satisfy_not_version[3.14.3] PASSED
tests/py_info/test_py_info.py::test_satisfy_not_version[3.14.5] PASSED
tests/py_info/test_py_info.py::test_py_info_cached_error PASSED
tests/py_info/test_py_info.py::test_py_info_cache_clear PASSED
tests/py_info/test_py_info.py::test_system_executable_no_exact_match[target0-0-discovered0] PASSED
tests/py_info/test_py_info.py::test_system_executable_no_exact_match[target1-0-discovered1] PASSED
tests/py_info/test_py_info.py::test_system_executable_no_exact_match[target2-0-discovered2] PASSED
tests/py_info/test_py_info.py::test_py_info_ignores_distutils_config PASSED
tests/py_info/test_py_info.py::test_discover_exe_on_path_non_spec_name_match PASSED
tests/py_info/test_py_info.py::test_discover_exe_on_path_non_spec_name_not_match PASSED
tests/py_info/test_py_info.py::test_py_info_setuptools PASSED
tests/py_info/test_py_info.py::test_py_info_to_system_raises SKIPPED
tests/py_info/test_py_info.py::test_sysconfig_vars_include_shared_lib_keys PASSED
tests/py_info/test_py_info.py::test_py_info_has_sysconfig_platform PASSED
tests/py_info/test_py_info.py::test_py_info_machine_property PASSED
tests/py_info/test_py_info.py::test_py_info_machine_in_spec PASSED
tests/py_info/test_py_info.py::test_py_info_sysconfig_platform_matches_sysconfig PASSED
tests/py_info/test_py_info.py::test_py_info_machine_derivation[win32] PASSED
tests/py_info/test_py_info.py::test_py_info_machine_derivation[win-amd64] PASSED
tests/py_info/test_py_info.py::test_py_info_machine_derivation[win-arm64] PASSED
tests/py_info/test_py_info.py::test_py_info_machine_derivation[linux-x86_64] PASSED
tests/py_info/test_py_info.py::test_py_info_machine_derivation[linux-aarch64] PASSED
tests/py_info/test_py_info.py::test_py_info_machine_derivation[linux-riscv64] PASSED
tests/py_info/test_py_info.py::test_py_info_machine_derivation[linux-ppc64le] PASSED
tests/py_info/test_py_info.py::test_py_info_machine_derivation[linux-s390x] PASSED
tests/py_info/test_py_info.py::test_py_info_machine_derivation[macos-arm64] PASSED
tests/py_info/test_py_info.py::test_py_info_machine_derivation[macos-x86_64] PASSED
tests/py_info/test_py_info.py::test_py_info_machine_derivation_universal2[arm64] PASSED
tests/py_info/test_py_info.py::test_py_info_machine_derivation_universal2[x86_64] PASSED
tests/py_info/test_py_info.py::test_py_info_satisfies_with_machine PASSED
tests/py_info/test_py_info.py::test_py_info_satisfies_not_machine PASSED
tests/py_info/test_py_info.py::test_py_info_satisfies_no_machine_in_spec PASSED
tests/py_info/test_py_info.py::test_py_info_satisfies_machine_cross_os_normalization[amd64-matches-x86_64] PASSED
tests/py_info/test_py_info.py::test_py_info_satisfies_machine_cross_os_normalization[aarch64-matches-arm64] PASSED
tests/py_info/test_py_info.py::test_py_info_to_dict_includes_sysconfig_platform PASSED
tests/py_info/test_py_info.py::test_py_info_json_round_trip PASSED
tests/py_info/test_py_info.py::test_select_most_likely_prefers_machine_match[x86_64-over-aarch64] PASSED
tests/py_info/test_py_info.py::test_select_most_likely_prefers_machine_match[arm64-over-x86_64] PASSED
tests/py_info/test_py_info_exe_based_of.py::test_discover_empty_folder PASSED
tests/py_info/test_py_info_exe_based_of.py::test_discover_ok[CPython-3.14.4-64-.-] PASSED
tests/py_info/test_py_info_exe_based_of.py::test_discover_ok[CPython-3.14.4--.-] PASSED
tests/py_info/test_py_info_exe_based_of.py::test_discover_ok[CPython-3.14-64-.-] PASSED
tests/py_info/test_py_info_exe_based_of.py::test_discover_ok[CPython-3.14--.-] PASSED
tests/py_info/test_py_info_exe_based_of.py::test_discover_ok[CPython-3-64-.-] PASSED
tests/py_info/test_py_info_exe_based_of.py::test_discover_ok[CPython-3--.-] PASSED
tests/py_info/test_py_info_exe_based_of.py::test_discover_ok[python-3.14.4-64-.-] PASSED
tests/py_info/test_py_info_exe_based_of.py::test_discover_ok[python-3.14.4--.-] PASSED
tests/py_info/test_py_info_exe_based_of.py::test_discover_ok[python-3.14-64-.-] PASSED
tests/py_info/test_py_info_exe_based_of.py::test_discover_ok[python-3.14--.-] PASSED
tests/py_info/test_py_info_exe_based_of.py::test_discover_ok[python-3-64-.-] PASSED
tests/py_info/test_py_info_exe_based_of.py::test_discover_ok[python-3--.-] PASSED
tests/test_cache.py::test_disk_content_store_read_valid_json PASSED
tests/test_cache.py::test_disk_content_store_read_invalid_json PASSED
tests/test_cache.py::test_disk_content_store_read_missing_file PASSED
tests/test_cache.py::test_disk_content_store_remove PASSED
tests/test_cache.py::test_disk_content_store_remove_missing_file PASSED
tests/test_cache.py::test_disk_content_store_locked PASSED
tests/test_cache.py::test_disk_content_store_exists PASSED
tests/test_cache.py::test_disk_cache_py_info PASSED
tests/test_cache.py::test_disk_cache_py_info_clear PASSED
tests/test_cache.py::test_disk_cache_py_info_clear_empty PASSED
tests/test_cache.py::test_disk_cache_py_info_clear_skips_non_json PASSED
tests/test_cache.py::test_noop_content_store_exists PASSED
tests/test_cache.py::test_noop_content_store_read PASSED
tests/test_cache.py::test_noop_content_store_write PASSED
tests/test_cache.py::test_noop_content_store_remove PASSED
tests/test_cache.py::test_noop_content_store_locked PASSED
tests/test_cache.py::test_noop_cache_py_info PASSED
tests/test_cache.py::test_noop_cache_py_info_clear PASSED
tests/test_cached_py_info.py::test_gen_cookie_length PASSED
tests/test_cached_py_info.py::test_log_cmd_repr PASSED
tests/test_cached_py_info.py::test_log_cmd_repr_with_env PASSED
tests/test_cached_py_info.py::test_resolve_py_info_script_file_exists PASSED
tests/test_cached_py_info.py::test_resolve_py_info_script_fallback_to_pkgutil PASSED
tests/test_cached_py_info.py::test_resolve_py_info_script_pkgutil_returns_none PASSED
tests/test_cached_py_info.py::test_run_subprocess_success PASSED
tests/test_cached_py_info.py::test_run_subprocess_bad_exe PASSED
tests/test_cached_py_info.py::test_run_subprocess_invalid_json PASSED
tests/test_cached_py_info.py::test_run_subprocess_with_cookies PASSED
tests/test_cached_py_info.py::test_run_subprocess_timeout PASSED
tests/test_cached_py_info.py::test_run_subprocess_custom_timeout PASSED
tests/test_cached_py_info.py::test_run_subprocess_nonzero_exit PASSED
tests/test_cached_py_info.py::test_load_cached_py_info_valid PASSED
tests/test_cached_py_info.py::test_load_cached_py_info_bad_data PASSED
tests/test_cached_py_info.py::test_load_cached_py_info_system_exe_missing PASSED
tests/test_cached_py_info.py::test_get_via_file_cache_uses_cached PASSED
tests/test_cached_py_info.py::test_get_via_file_cache_stale_hash PASSED
tests/test_cached_py_info.py::test_get_via_file_cache_nonexistent_path PASSED
tests/test_cached_py_info.py::test_from_exe_retry_on_first_failure PASSED
tests/test_cached_py_info.py::test_get_via_file_cache_hash_oserror PASSED
tests/test_cached_py_info.py::test_get_via_file_cache_py_info_none PASSED
tests/test_discovery.py::test_discovery_via_path[more-mixed] PASSED
tests/test_discovery.py::test_discovery_via_path[more-lower] PASSED
tests/test_discovery.py::test_discovery_via_path[more-upper] PASSED
tests/test_discovery.py::test_discovery_via_path[less-mixed] PASSED
tests/test_discovery.py::test_discovery_via_path[less-lower] PASSED
tests/test_discovery.py::test_discovery_via_path[less-upper] PASSED
tests/test_discovery.py::test_discovery_via_path[none-mixed] PASSED
tests/test_discovery.py::test_discovery_via_path[none-lower] PASSED
tests/test_discovery.py::test_discovery_via_path[none-upper] PASSED
tests/test_discovery.py::test_discovery_via_path_not_found PASSED
tests/test_discovery.py::test_discovery_via_path_in_nonbrowseable_directory PASSED
tests/test_discovery.py::test_relative_path PASSED
tests/test_discovery.py::test_uv_python PASSED
tests/test_discovery.py::test_discovery_fallback_fail PASSED
tests/test_discovery.py::test_discovery_fallback_ok PASSED
tests/test_discovery.py::test_returns_first_python_specified PASSED
tests/test_discovery.py::test_discovery_absolute_path_with_try_first PASSED
tests/test_discovery.py::test_discovery_via_path_with_file PASSED
tests/test_discovery.py::test_get_paths_no_path_env PASSED
tests/test_discovery.py::test_lazy_path_dump_debug PASSED
tests/test_discovery.py::test_discovery_via_version_specifier PASSED
tests/test_discovery.py::test_shim_resolved_to_real_binary[pyenv] PASSED
tests/test_discovery.py::test_shim_resolved_to_real_binary[mise] PASSED
tests/test_discovery.py::test_shim_resolved_to_real_binary[asdf] PASSED
tests/test_discovery.py::test_shim_not_resolved_without_version_manager_env PASSED
tests/test_discovery.py::test_shim_falls_through_when_binary_missing PASSED
tests/test_discovery.py::test_shim_uses_python_version_file PASSED
tests/test_discovery.py::test_shim_pyenv_version_env_takes_priority_over_file PASSED
tests/test_discovery.py::test_shim_uses_global_version_file PASSED
tests/test_discovery.py::test_shim_colon_separated_pyenv_version_picks_first_match PASSED
tests/test_discovery.py::test_predicate_filters_interpreters PASSED
tests/test_discovery.py::test_predicate_accepts_interpreter PASSED
tests/test_discovery.py::test_predicate_none_is_noop PASSED
tests/test_discovery.py::test_predicate_with_fallback_specs PASSED
tests/test_discovery_extra.py::test_propose_interpreters_abs_path_oserror PASSED
tests/test_discovery_extra.py::test_propose_interpreters_try_first_with_valid PASSED
tests/test_discovery_extra.py::test_propose_interpreters_try_first_with_missing PASSED
tests/test_discovery_extra.py::test_propose_interpreters_try_first_with_duplicate PASSED
tests/test_discovery_extra.py::test_propose_interpreters_relative_path PASSED
tests/test_discovery_extra.py::test_lazy_path_dump_basic PASSED
tests/test_discovery_extra.py::test_lazy_path_dump_debug_with_dir PASSED
tests/test_discovery_extra.py::test_lazy_path_dump_debug_non_executable PASSED
tests/test_discovery_extra.py::test_lazy_path_dump_debug_oserror PASSED
tests/test_discovery_extra.py::test_active_versions_pyenv_version PASSED
tests/test_discovery_extra.py::test_active_versions_python_version_file PASSED
tests/test_discovery_extra.py::test_active_versions_global_version_file PASSED
tests/test_discovery_extra.py::test_active_versions_no_source PASSED
tests/test_discovery_extra.py::test_read_python_version_file_found PASSED
tests/test_discovery_extra.py::test_read_python_version_file_not_found PASSED
tests/test_discovery_extra.py::test_read_python_version_file_search_parents PASSED
tests/test_discovery_extra.py::test_read_python_version_file_direct_path PASSED
tests/test_discovery_extra.py::test_resolve_shim_no_match PASSED
tests/test_discovery_extra.py::test_path_exe_finder_returns_callable PASSED
tests/test_discovery_extra.py::test_get_paths_no_path_env PASSED
tests/test_discovery_extra.py::test_propose_interpreters_abs_path_exists PASSED
tests/test_discovery_extra.py::test_propose_interpreters_relative_spec_is_abs PASSED
tests/test_discovery_extra.py::test_resolve_shim_match_no_binary PASSED
tests/test_discovery_extra.py::test_resolve_shim_dir_no_match PASSED
tests/test_discovery_extra.py::test_read_python_version_file_reaches_root PASSED
tests/test_discovery_extra.py::test_read_python_version_file_empty_versions PASSED
tests/test_discovery_extra.py::test_get_interpreter_multi_spec_all_fail PASSED
tests/test_discovery_extra.py::test_get_interpreter_multi_spec_fallback PASSED
tests/test_iter_interpreters.py::test_iter_interpreters_returns_iterator PASSED
tests/test_iter_interpreters.py::test_iter_interpreters_with_abs_path_yields_one PASSED
tests/test_iter_interpreters.py::test_iter_interpreters_sequence_dedups_across_keys PASSED
tests/test_iter_interpreters.py::test_iter_interpreters_predicate[none-is-noop] PASSED
tests/test_iter_interpreters.py::test_iter_interpreters_predicate[accepts-all] PASSED
tests/test_iter_interpreters.py::test_iter_interpreters_predicate[rejects-all] PASSED
tests/test_iter_interpreters.py::test_iter_interpreters_filters_to_empty[filename-cannot-match] PASSED
tests/test_iter_interpreters.py::test_iter_interpreters_filters_to_empty[version-cannot-match] PASSED
tests/test_iter_interpreters.py::test_iter_interpreters_no_key_includes_running_interpreter PASSED
tests/test_iter_interpreters.py::test_iter_interpreters_dedups_symlinks PASSED
tests/test_iter_interpreters.py::test_iter_interpreters_try_first_with_yields_first PASSED
tests/test_iter_interpreters.py::test_iter_interpreters_skips_none_from_propose PASSED
tests/test_iter_interpreters.py::test_iter_interpreters_skips_when_no_executable PASSED
tests/test_iter_interpreters.py::test_iter_interpreters_uv_yields_when_interrogation_succeeds PASSED
tests/test_iter_interpreters.py::test_iter_interpreters_uv_layout[pypy-unix-with-python-symlink] PASSED
tests/test_iter_interpreters.py::test_iter_interpreters_uv_layout[graalpy-unix] PASSED
tests/test_iter_interpreters.py::test_iter_interpreters_uv_layout[windows-all-impls] PASSED
tests/test_py_info_extra.py::test_py_info_pypy_version PASSED
tests/test_py_info_extra.py::test_py_info_canonicalizes_graalvm PASSED
tests/test_py_info_extra.py::test_has_venv_attribute PASSED
tests/test_py_info_extra.py::test_tcl_tk_libs_with_env PASSED
tests/test_py_info_extra.py::test_get_tcl_tk_libs_returns_tuple PASSED
tests/test_py_info_extra.py::test_get_tcl_tk_libs_tcl_error PASSED
tests/test_py_info_extra.py::test_fast_get_system_executable_not_venv PASSED
tests/test_py_info_extra.py::test_fast_get_system_executable_real_prefix PASSED
tests/test_py_info_extra.py::test_fast_get_system_executable_no_base_executable PASSED
tests/test_py_info_extra.py::test_fast_get_system_executable_same_as_current PASSED
tests/test_py_info_extra.py::test_try_posix_fallback_not_posix PASSED
tests/test_py_info_extra.py::test_try_posix_fallback_old_python PASSED
tests/test_py_info_extra.py::test_try_posix_fallback_finds_versioned PASSED
tests/test_py_info_extra.py::test_try_posix_fallback_pypy PASSED
tests/test_py_info_extra.py::test_try_posix_fallback_not_found PASSED
tests/test_py_info_extra.py::test_version_str PASSED
tests/test_py_info_extra.py::test_version_release_str PASSED
tests/test_py_info_extra.py::test_python_name PASSED
tests/test_py_info_extra.py::test_is_old_virtualenv PASSED
tests/test_py_info_extra.py::test_is_venv PASSED
tests/test_py_info_extra.py::test_system_prefix PASSED
tests/test_py_info_extra.py::test_system_exec_prefix PASSED
tests/test_py_info_extra.py::test_repr PASSED
tests/test_py_info_extra.py::test_str PASSED
tests/test_py_info_extra.py::test_machine_none_platform PASSED
tests/test_py_info_extra.py::test_from_json_round_trip PASSED
tests/test_py_info_extra.py::test_from_dict PASSED
tests/test_py_info_extra.py::test_resolve_to_system_circle PASSED
tests/test_py_info_extra.py::test_resolve_to_system_single_prefix_self_link PASSED
tests/test_py_info_extra.py::test_discover_exe_cache_hit PASSED
tests/test_py_info_extra.py::test_check_exe_none_path PASSED
tests/test_py_info_extra.py::test_satisfies_version_specifier PASSED
tests/test_py_info_extra.py::test_satisfies_version_specifier_fails PASSED
tests/test_py_info_extra.py::test_satisfies_version_specifier_prerelease[alpha_match_exact] PASSED
tests/test_py_info_extra.py::test_satisfies_version_specifier_prerelease[beta_match_exact] PASSED
tests/test_py_info_extra.py::test_satisfies_version_specifier_prerelease[rc_match_exact] PASSED
tests/test_py_info_extra.py::test_satisfies_version_specifier_prerelease[prerelease_match_major_minor] PASSED
tests/test_py_info_extra.py::test_satisfies_version_specifier_prerelease[prerelease_not_match_full_precision] PASSED
tests/test_py_info_extra.py::test_satisfies_version_specifier_prerelease[earlier_prerelease_less_than] PASSED
tests/test_py_info_extra.py::test_satisfies_version_specifier_prerelease[prerelease_not_less_than_itself] PASSED
tests/test_py_info_extra.py::test_satisfies_version_specifier_prerelease[prerelease_match_itself] PASSED
tests/test_py_info_extra.py::test_satisfies_version_specifier_prerelease[prerelease_not_match_later] PASSED
tests/test_py_info_extra.py::test_satisfies_version_specifier_prerelease[final_greater_than_prerelease] PASSED
tests/test_py_info_extra.py::test_satisfies_version_specifier_prerelease[final_not_less_than_prerelease] PASSED
tests/test_py_info_extra.py::test_satisfies_version_specifier_prerelease[final_match_major_minor] PASSED
tests/test_py_info_extra.py::test_satisfies_version_specifier_prerelease[later_micro_prerelease_match] PASSED
tests/test_py_info_extra.py::test_satisfies_path_not_abs_basename_match PASSED
tests/test_py_info_extra.py::test_satisfies_path_not_abs_basename_no_match PASSED
tests/test_py_info_extra.py::test_satisfies_path_win32 PASSED
tests/test_py_info_extra.py::test_distutils_install PASSED
tests/test_py_info_extra.py::test_install_path PASSED
tests/test_py_info_extra.py::test_system_include PASSED
tests/test_py_info_extra.py::test_system_include_fallback PASSED
tests/test_py_info_extra.py::test_sysconfig_path_missing_key PASSED
tests/test_py_info_extra.py::test_sysconfig_path_with_config_var PASSED
tests/test_py_info_extra.py::test_current_system_cached PASSED
tests/test_py_info_extra.py::test_current_cached PASSED
tests/test_py_info_extra.py::test_from_exe_resolve_error PASSED
tests/test_py_info_extra.py::test_sysconfig_path_no_config_var PASSED
tests/test_py_info_extra.py::test_satisfies_abs_spec_path_falls_through PASSED
tests/test_py_info_extra.py::test_satisfies_abs_spec_path_match PASSED
tests/test_py_info_extra.py::test_current_returns_none_raises PASSED
tests/test_py_info_extra.py::test_current_system_returns_none_raises PASSED
tests/test_py_info_extra.py::test_check_exe_from_exe_returns_none PASSED
tests/test_py_info_extra.py::test_check_exe_mismatch_not_exact PASSED
tests/test_py_info_extra.py::test_check_exe_mismatch_exact PASSED
tests/test_py_info_extra.py::test_find_possible_exe_names_free_threaded PASSED
tests/test_py_info_extra.py::test_possible_base_python_basename PASSED
tests/test_py_info_extra.py::test_possible_base_case_sensitive PASSED
tests/test_py_info_extra.py::test_possible_base_case_sensitive_upper_equals_base PASSED
tests/test_py_info_extra.py::test_resolve_to_system_resolved_from_exe PASSED
tests/test_py_info_extra.py::test_resolve_to_system_from_exe_returns_none PASSED
tests/test_py_spec.py::test_bad_py_spec PASSED
tests/test_py_spec.py::test_py_spec_first_digit_only_major PASSED
tests/test_py_spec.py::test_spec_satisfies_path_ok PASSED
tests/test_py_spec.py::test_spec_satisfies_path_nok PASSED
tests/test_py_spec.py::test_spec_satisfies_arch PASSED
tests/test_py_spec.py::test_spec_satisfies_free_threaded PASSED
tests/test_py_spec.py::test_spec_satisfies_implementation_ok[py-python] PASSED
tests/test_py_spec.py::test_spec_satisfies_implementation_ok[jython-jython] PASSED
tests/test_py_spec.py::test_spec_satisfies_implementation_ok[CPython-cpython] PASSED
tests/test_py_spec.py::test_spec_satisfies_implementation_nok PASSED
tests/test_py_spec.py::test_version_satisfies_ok[-] PASSED
tests/test_py_spec.py::test_version_satisfies_ok[-3] PASSED
tests/test_py_spec.py::test_version_satisfies_ok[-3.14] PASSED
tests/test_py_spec.py::test_version_satisfies_ok[-3.14.4] PASSED
tests/test_py_spec.py::test_version_satisfies_ok[3-3] PASSED
tests/test_py_spec.py::test_version_satisfies_ok[3-3.14] PASSED
tests/test_py_spec.py::test_version_satisfies_ok[3-3.14.4] PASSED
tests/test_py_spec.py::test_version_satisfies_ok[3.14-3] PASSED
tests/test_py_spec.py::test_version_satisfies_ok[3.14-3.14] PASSED
tests/test_py_spec.py::test_version_satisfies_ok[3.14-3.14.4] PASSED
tests/test_py_spec.py::test_version_satisfies_ok[3.14.4-3] PASSED
tests/test_py_spec.py::test_version_satisfies_ok[3.14.4-3.14] PASSED
tests/test_py_spec.py::test_version_satisfies_ok[3.14.4-3.14.4] PASSED
tests/test_py_spec.py::test_version_satisfies_ok[3.14.4t-3.14.4t] PASSED
tests/test_py_spec.py::test_version_satisfies_ok[3.14.4t-3.14t] PASSED
tests/test_py_spec.py::test_version_satisfies_ok[3.14.4t-3t] PASSED
tests/test_py_spec.py::test_version_satisfies_ok[3.14t-3.14.4t] PASSED
tests/test_py_spec.py::test_version_satisfies_ok[3.14t-3.14t] PASSED
tests/test_py_spec.py::test_version_satisfies_ok[3.14t-3t] PASSED
tests/test_py_spec.py::test_version_satisfies_ok[3t-3.14.4t] PASSED
tests/test_py_spec.py::test_version_satisfies_ok[3t-3.14t] PASSED
tests/test_py_spec.py::test_version_satisfies_ok[3t-3t] PASSED
tests/test_py_spec.py::test_version_satisfies_nok[3-2] PASSED
tests/test_py_spec.py::test_version_satisfies_nok[3-4] PASSED
tests/test_py_spec.py::test_version_satisfies_nok[3.14-2] PASSED
tests/test_py_spec.py::test_version_satisfies_nok[3.14-2.14] PASSED
tests/test_py_spec.py::test_version_satisfies_nok[3.14-3.13] PASSED
tests/test_py_spec.py::test_version_satisfies_nok[3.14-3.15] PASSED
tests/test_py_spec.py::test_version_satisfies_nok[3.14-4] PASSED
tests/test_py_spec.py::test_version_satisfies_nok[3.14-4.14] PASSED
tests/test_py_spec.py::test_version_satisfies_nok[3.14.4-2] PASSED
tests/test_py_spec.py::test_version_satisfies_nok[3.14.4-2.14] PASSED
tests/test_py_spec.py::test_version_satisfies_nok[3.14.4-2.14.4] PASSED
tests/test_py_spec.py::test_version_satisfies_nok[3.14.4-3.13] PASSED
tests/test_py_spec.py::test_version_satisfies_nok[3.14.4-3.13.4] PASSED
tests/test_py_spec.py::test_version_satisfies_nok[3.14.4-3.14.3] PASSED
tests/test_py_spec.py::test_version_satisfies_nok[3.14.4-3.14.5] PASSED
tests/test_py_spec.py::test_version_satisfies_nok[3.14.4-3.15] PASSED
tests/test_py_spec.py::test_version_satisfies_nok[3.14.4-3.15.4] PASSED
tests/test_py_spec.py::test_version_satisfies_nok[3.14.4-4] PASSED
tests/test_py_spec.py::test_version_satisfies_nok[3.14.4-4.14] PASSED
tests/test_py_spec.py::test_version_satisfies_nok[3.14.4-4.14.4] PASSED
tests/test_py_spec.py::test_relative_spec PASSED
tests/test_py_spec.py::test_specifier_parsing[>=3.12->=3.12] PASSED
tests/test_py_spec.py::test_specifier_parsing[python>=3.12->=3.12] PASSED
tests/test_py_spec.py::test_specifier_parsing[cpython!=3.11.*-!=3.11.*] PASSED
tests/test_py_spec.py::test_specifier_parsing[<=3.13,>=3.12-<=3.13,>=3.12] PASSED
tests/test_py_spec.py::test_specifier_with_implementation PASSED
tests/test_py_spec.py::test_specifier_with_graalpy_implementation_alias PASSED
tests/test_py_spec.py::test_specifier_satisfies_with_partial_information PASSED
tests/test_py_spec.py::test_spec_parse_machine[arm64] PASSED
tests/test_py_spec.py::test_spec_parse_machine[x86_64] PASSED
tests/test_py_spec.py::test_spec_parse_machine[x86] PASSED
tests/test_py_spec.py::test_spec_parse_machine[aarch64] PASSED
tests/test_py_spec.py::test_spec_parse_machine[ppc64le] PASSED
tests/test_py_spec.py::test_spec_parse_machine[s390x] PASSED
tests/test_py_spec.py::test_spec_parse_machine[riscv64] PASSED
tests/test_py_spec.py::test_spec_parse_machine[no-machine] PASSED
tests/test_py_spec.py::test_spec_parse_machine[no-arch-no-machine] PASSED
tests/test_py_spec.py::test_spec_parse_machine[python-impl] PASSED
tests/test_py_spec.py::test_spec_parse_arch_and_machine_together[64bit-arm64] PASSED
tests/test_py_spec.py::test_spec_parse_arch_and_machine_together[32bit-x86] PASSED
tests/test_py_spec.py::test_spec_parse_arch_and_machine_together[64bit-no-machine] PASSED
tests/test_py_spec.py::test_spec_satisfies_machine[same-machine] PASSED
tests/test_py_spec.py::test_spec_satisfies_machine[different-machine] PASSED
tests/test_py_spec.py::test_spec_satisfies_machine[none-matches-any] PASSED
tests/test_py_spec.py::test_spec_satisfies_machine[amd64-eq-x86_64] PASSED
tests/test_py_spec.py::test_spec_satisfies_machine[aarch64-eq-arm64] PASSED
tests/test_py_spec.py::test_normalize_isa[amd64] PASSED
tests/test_py_spec.py::test_normalize_isa[aarch64] PASSED
tests/test_py_spec.py::test_normalize_isa[x86_64] PASSED
tests/test_py_spec.py::test_normalize_isa[arm64] PASSED
tests/test_py_spec.py::test_normalize_isa[x86] PASSED
tests/test_py_spec.py::test_normalize_isa[i386] PASSED
tests/test_py_spec.py::test_normalize_isa[i486] PASSED
tests/test_py_spec.py::test_normalize_isa[i586] PASSED
tests/test_py_spec.py::test_normalize_isa[i686] PASSED
tests/test_py_spec.py::test_normalize_isa[ppc64le] PASSED
tests/test_py_spec.py::test_normalize_isa[powerpc] PASSED
tests/test_py_spec.py::test_normalize_isa[powerpc64] PASSED
tests/test_py_spec.py::test_normalize_isa[powerpc64le] PASSED
tests/test_py_spec.py::test_normalize_isa[riscv64] PASSED
tests/test_py_spec.py::test_normalize_isa[s390x] PASSED
tests/test_py_spec.py::test_normalize_isa[sparcv9] PASSED
tests/test_py_spec.py::test_normalize_isa[sparc64] PASSED
tests/test_py_spec.py::test_normalize_isa[alpha-passthrough] PASSED
tests/test_py_spec.py::test_spec_repr_machine[with-machine] PASSED
tests/test_py_spec.py::test_spec_repr_machine[without-machine] PASSED
tests/test_py_spec.py::test_spec_satisfies_graalpy_implementation_aliases[graalpy-graalvm] PASSED
tests/test_py_spec.py::test_spec_satisfies_graalpy_implementation_aliases[graalvm-graalpy] PASSED
tests/test_py_spec_extra.py::test_specifier_parse_failure_fallback PASSED
tests/test_py_spec_extra.py::test_version_specifier_satisfies_micro PASSED
tests/test_py_spec_extra.py::test_version_specifier_satisfies_fails_micro PASSED
tests/test_py_spec_extra.py::test_version_specifier_no_components PASSED
tests/test_py_spec_extra.py::test_check_version_specifier_precision PASSED
tests/test_py_spec_extra.py::test_check_version_specifier_precision_micro PASSED
tests/test_py_spec_extra.py::test_check_version_specifier_fails PASSED
tests/test_py_spec_extra.py::test_check_version_specifier_none PASSED
tests/test_py_spec_extra.py::test_get_required_precision_none PASSED
tests/test_py_spec_extra.py::test_get_required_precision_normal PASSED
tests/test_py_spec_extra.py::test_generate_re_no_threaded PASSED
tests/test_py_spec_extra.py::test_generate_re_with_threaded PASSED
tests/test_py_spec_extra.py::test_single_digit_version PASSED
tests/test_py_spec_extra.py::test_specifier_with_invalid_inner PASSED
tests/test_py_spec_extra.py::test_two_digit_version PASSED
tests/test_py_spec_extra.py::test_single_digit_major_only PASSED
tests/test_py_spec_extra.py::test_specifier_set_parsed_for_valid_format PASSED
tests/test_py_spec_extra.py::test_get_required_precision_attribute_error PASSED
tests/test_specifier.py::test_version_parse[basic] PASSED
tests/test_specifier.py::test_version_parse[alpha] PASSED
tests/test_specifier.py::test_version_parse[beta] PASSED
tests/test_specifier.py::test_version_parse[rc] PASSED
tests/test_specifier.py::test_version_parse[major-only] PASSED
tests/test_specifier.py::test_version_parse[major-minor] PASSED
tests/test_specifier.py::test_version_invalid_raises PASSED
tests/test_specifier.py::test_version_eq_same PASSED
tests/test_specifier.py::test_version_eq_different PASSED
tests/test_specifier.py::test_version_eq_not_implemented PASSED
tests/test_specifier.py::test_version_hash PASSED
tests/test_specifier.py::test_version_lt[release] PASSED
tests/test_specifier.py::test_version_lt[prerelease-vs-final] PASSED
tests/test_specifier.py::test_version_lt[final-not-less-than-prerelease] PASSED
tests/test_specifier.py::test_version_lt[equal] PASSED
tests/test_specifier.py::test_version_lt[alpha-lt-beta] PASSED
tests/test_specifier.py::test_version_lt[beta-lt-rc] PASSED
tests/test_specifier.py::test_version_lt[same-type-ordering] PASSED
tests/test_specifier.py::test_version_lt_not_implemented PASSED
tests/test_specifier.py::test_version_le PASSED
tests/test_specifier.py::test_version_gt PASSED
tests/test_specifier.py::test_version_gt_not_implemented PASSED
tests/test_specifier.py::test_version_ge PASSED
tests/test_specifier.py::test_version_str PASSED
tests/test_specifier.py::test_version_repr PASSED
tests/test_specifier.py::test_specifier_invalid_raises PASSED
tests/test_specifier.py::test_specifier_parse_gte PASSED
tests/test_specifier.py::test_specifier_parse_wildcard PASSED
tests/test_specifier.py::test_specifier_contains[wildcard-eq-match] PASSED
tests/test_specifier.py::test_specifier_contains[wildcard-eq-no-match] PASSED
tests/test_specifier.py::test_specifier_contains[wildcard-ne-match] PASSED
tests/test_specifier.py::test_specifier_contains[wildcard-ne-no-match] PASSED
tests/test_specifier.py::test_specifier_contains[wildcard-unsupported-op] PASSED
tests/test_specifier.py::test_specifier_contains[gte-match] PASSED
tests/test_specifier.py::test_specifier_contains[gte-above] PASSED
tests/test_specifier.py::test_specifier_contains[gte-below] PASSED
tests/test_specifier.py::test_specifier_contains[lte-match] PASSED
tests/test_specifier.py::test_specifier_contains[lte-below] PASSED
tests/test_specifier.py::test_specifier_contains[lte-above] PASSED
tests/test_specifier.py::test_specifier_contains[gt-above] PASSED
tests/test_specifier.py::test_specifier_contains[gt-equal] PASSED
tests/test_specifier.py::test_specifier_contains[lt-below] PASSED
tests/test_specifier.py::test_specifier_contains[lt-equal] PASSED
tests/test_specifier.py::test_specifier_contains[eq-match] PASSED
tests/test_specifier.py::test_specifier_contains[eq-no-match] PASSED
tests/test_specifier.py::test_specifier_contains[ne-match] PASSED
tests/test_specifier.py::test_specifier_contains[ne-no-match] PASSED
tests/test_specifier.py::test_specifier_contains[exact-match] PASSED
tests/test_specifier.py::test_specifier_contains[exact-no-match] PASSED
tests/test_specifier.py::test_specifier_contains[compatible-above] PASSED
tests/test_specifier.py::test_specifier_contains[compatible-next-minor] PASSED
tests/test_specifier.py::test_specifier_contains[compatible-below] PASSED
tests/test_specifier.py::test_specifier_contains[compatible-just-below] PASSED
tests/test_specifier.py::test_specifier_contains[invalid-version] PASSED
tests/test_specifier.py::test_specifier_contains_version_none PASSED
tests/test_specifier.py::test_specifier_wildcard_version_none PASSED
tests/test_specifier.py::test_specifier_compatible_release_version_none PASSED
tests/test_specifier.py::test_specifier_eq PASSED
tests/test_specifier.py::test_specifier_eq_not_implemented PASSED
tests/test_specifier.py::test_specifier_hash PASSED
tests/test_specifier.py::test_specifier_str PASSED
tests/test_specifier.py::test_specifier_repr PASSED
tests/test_specifier.py::test_specifier_version_parse_failure_stores_none PASSED
tests/test_specifier.py::test_specifier_unknown_operator PASSED
tests/test_specifier.py::test_specifier_set_contains[empty-always-matches] PASSED
tests/test_specifier.py::test_specifier_set_contains[single-match] PASSED
tests/test_specifier.py::test_specifier_set_contains[single-no-match] PASSED
tests/test_specifier.py::test_specifier_set_contains[compound-lower-bound] PASSED
tests/test_specifier.py::test_specifier_set_contains[compound-middle] PASSED
tests/test_specifier.py::test_specifier_set_contains[compound-upper-bound] PASSED
tests/test_specifier.py::test_specifier_set_contains[compound-below] PASSED
tests/test_specifier.py::test_specifier_set_iter PASSED
tests/test_specifier.py::test_specifier_set_eq PASSED
tests/test_specifier.py::test_specifier_set_eq_not_implemented PASSED
tests/test_specifier.py::test_specifier_set_hash PASSED
tests/test_specifier.py::test_specifier_set_str PASSED
tests/test_specifier.py::test_specifier_set_repr PASSED
tests/test_specifier.py::test_specifier_set_invalid_specifier_skipped PASSED
tests/test_specifier.py::test_specifier_set_contains_no_specifiers PASSED
tests/test_specifier.py::test_specifier_set_empty_item_in_comma_list PASSED
tests/test_specifier.py::test_specifier_compatible_release_major_only PASSED
tests/windows/test_windows.py::test_propose_interpreters[python3.10-C:\\Users\\user\\Miniconda3-64\\python.exe] SKIPPED
tests/windows/test_windows.py::test_propose_interpreters[cpython3.10-C:\\Users\\user\\Miniconda3-64\\python.exe] SKIPPED
tests/windows/test_windows.py::test_propose_interpreters[python3.12-C:\\Users\\user\\AppData\\Local\\Programs\\Python\\Python312\\python.exe] SKIPPED
tests/windows/test_windows.py::test_propose_interpreters[cpython3.12-C:\\Users\\user\\AppData\\Local\\Programs\\Python\\Python312\\python.exe] SKIPPED
tests/windows/test_windows.py::test_propose_interpreters[python-C:\\Users\\user\\AppData\\Local\\Programs\\Python\\Python313\\python3.13t.exe] SKIPPED
tests/windows/test_windows.py::test_propose_interpreters[cpython-C:\\Users\\user\\AppData\\Local\\Programs\\Python\\Python313\\python3.13t.exe] SKIPPED
tests/windows/test_windows.py::test_propose_interpreters[python3-C:\\Users\\user\\AppData\\Local\\Programs\\Python\\Python312\\python.exe] SKIPPED
tests/windows/test_windows.py::test_propose_interpreters[cpython3-C:\\Users\\user\\AppData\\Local\\Programs\\Python\\Python312\\python.exe] SKIPPED
tests/windows/test_windows.py::test_propose_interpreters[python3.6-Z:\\CompanyA\\Python\\3.6\\python.exe] SKIPPED
tests/windows/test_windows.py::test_propose_interpreters[cpython3.6-Z:\\CompanyA\\Python\\3.6\\python.exe] SKIPPED
tests/windows/test_windows.py::test_propose_interpreters[3t-C:\\Users\\user\\AppData\\Local\\Programs\\Python\\Python313\\python3.13t.exe] SKIPPED
tests/windows/test_windows.py::test_propose_interpreters[python3.13t-C:\\Users\\user\\AppData\\Local\\Programs\\Python\\Python313\\python3.13t.exe] SKIPPED
tests/windows/test_windows_pep514.py::test_pep514_discovers_interpreters PASSED
tests/windows/test_windows_pep514.py::test_pep514_parse_functions PASSED
tests/windows/test_windows_pep514.py::test_pep514 SKIPPED (path join...)
tests/windows/test_windows_pep514.py::test_pep514_run SKIPPED (path ...)

- generated xml file: $(@D)/.tox/junit.py$(PYV).xml -
======== 476 passed, 15 skipped ========
$(PYTHON_DIR)/vendor-packages/_pytest/pathlib.py:96: PytestWarning: (rm_rf) error removing $(TMPDIR)/test_discovery_via_path_in_non0
<class 'FileExistsError'>: [Errno 17] File exists: '$(TMPDIR)/test_discovery_via_path_in_non0'
  warnings.warn(
$(PYTHON_DIR)/vendor-packages/_pytest/pathlib.py:96: PytestWarning: (rm_rf) error removing $(TMPDIR)
<class 'FileExistsError'>: [Errno 17] File exists: '$(TMPDIR)
  warnings.warn(
$(PYTHON_DIR)/vendor-packages/_pytest/pathlib.py:96: PytestWarning: (rm_rf) error removing $(TMPDIR)/popen-gw3/test_discovery_via_path_in_non0
<class 'FileExistsError'>: [Errno 17] File exists: '$(TMPDIR)/popen-gw3/test_discovery_via_path_in_non0'
  warnings.warn(
$(PYTHON_DIR)/vendor-packages/_pytest/pathlib.py:96: PytestWarning: (rm_rf) error removing $(TMPDIR)/popen-gw3
<class 'FileExistsError'>: [Errno 17] File exists: '$(TMPDIR)/popen-gw3'
  warnings.warn(
$(PYTHON_DIR)/vendor-packages/_pytest/pathlib.py:96: PytestWarning: (rm_rf) error removing $(TMPDIR)
<class 'FileExistsError'>: [Errno 17] File exists: '$(TMPDIR)
  warnings.warn(
$(PYTHON_DIR)/vendor-packages/_pytest/pathlib.py:96: PytestWarning: (rm_rf) error removing $(TMPDIR)/popen-gw3/test_discovery_via_path_in_non0
<class 'FileExistsError'>: [Errno 17] File exists: '$(TMPDIR)/popen-gw3/test_discovery_via_path_in_non0'
  warnings.warn(
$(PYTHON_DIR)/vendor-packages/_pytest/pathlib.py:96: PytestWarning: (rm_rf) error removing $(TMPDIR)/popen-gw3
<class 'FileExistsError'>: [Errno 17] File exists: '$(TMPDIR)/popen-gw3'
  warnings.warn(
$(PYTHON_DIR)/vendor-packages/_pytest/pathlib.py:96: PytestWarning: (rm_rf) error removing $(TMPDIR)
<class 'FileExistsError'>: [Errno 17] File exists: '$(TMPDIR)
  warnings.warn(
$(PYTHON_DIR)/vendor-packages/_pytest/pathlib.py:96: PytestWarning: (rm_rf) error removing $(TMPDIR)/test_discovery_via_path_in_non0
<class 'FileExistsError'>: [Errno 17] File exists: '$(TMPDIR)/test_discovery_via_path_in_non0'
  warnings.warn(
$(PYTHON_DIR)/vendor-packages/_pytest/pathlib.py:96: PytestWarning: (rm_rf) error removing $(TMPDIR)
<class 'FileExistsError'>: [Errno 17] File exists: '$(TMPDIR)
  warnings.warn(
$(PYTHON_DIR)/vendor-packages/_pytest/pathlib.py:96: PytestWarning: (rm_rf) error removing $(TMPDIR)/test_discovery_via_path_in_non0
<class 'FileExistsError'>: [Errno 17] File exists: '$(TMPDIR)/test_discovery_via_path_in_non0'
  warnings.warn(
$(PYTHON_DIR)/vendor-packages/_pytest/pathlib.py:96: PytestWarning: (rm_rf) error removing $(TMPDIR)
<class 'FileExistsError'>: [Errno 17] File exists: '$(TMPDIR)
  warnings.warn(
$(PYTHON_DIR)/vendor-packages/_pytest/pathlib.py:96: PytestWarning: (rm_rf) error removing $(TMPDIR)/test_discovery_via_path_in_non0
<class 'FileExistsError'>: [Errno 17] File exists: '$(TMPDIR)/test_discovery_via_path_in_non0'
  warnings.warn(
$(PYTHON_DIR)/vendor-packages/_pytest/pathlib.py:96: PytestWarning: (rm_rf) error removing $(TMPDIR)
<class 'FileExistsError'>: [Errno 17] File exists: '$(TMPDIR)
  warnings.warn(
  py$(PYV): OK
  congratulations :)
