py$(PYV): commands[0]> python -m pytest --durations 10 --junitxml $(@D)/.tox/py$(PYV)/tmp/junit.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 2391 items tests/test_android.py::test_android[user_data_dir-no_args] PASSED tests/test_android.py::test_android[user_data_dir-app_name] PASSED tests/test_android.py::test_android[user_data_dir-app_name_with_app_author] PASSED tests/test_android.py::test_android[user_data_dir-app_name_author_version] PASSED tests/test_android.py::test_android[user_data_dir-app_name_author_version_false_opinion] PASSED tests/test_android.py::test_android[user_config_dir-no_args] PASSED tests/test_android.py::test_android[user_config_dir-app_name] PASSED tests/test_android.py::test_android[user_config_dir-app_name_with_app_author] PASSED tests/test_android.py::test_android[user_config_dir-app_name_author_version] PASSED tests/test_android.py::test_android[user_config_dir-app_name_author_version_false_opinion] PASSED tests/test_android.py::test_android[user_cache_dir-no_args] PASSED tests/test_android.py::test_android[user_cache_dir-app_name] PASSED tests/test_android.py::test_android[user_cache_dir-app_name_with_app_author] PASSED tests/test_android.py::test_android[user_cache_dir-app_name_author_version] PASSED tests/test_android.py::test_android[user_cache_dir-app_name_author_version_false_opinion] PASSED tests/test_android.py::test_android[user_state_dir-no_args] PASSED tests/test_android.py::test_android[user_state_dir-app_name] PASSED tests/test_android.py::test_android[user_state_dir-app_name_with_app_author] PASSED tests/test_android.py::test_android[user_state_dir-app_name_author_version] PASSED tests/test_android.py::test_android[user_state_dir-app_name_author_version_false_opinion] PASSED tests/test_android.py::test_android[user_log_dir-no_args] PASSED tests/test_android.py::test_android[user_log_dir-app_name] PASSED tests/test_android.py::test_android[user_log_dir-app_name_with_app_author] PASSED tests/test_android.py::test_android[user_log_dir-app_name_author_version] PASSED tests/test_android.py::test_android[user_log_dir-app_name_author_version_false_opinion] PASSED tests/test_android.py::test_android[user_documents_dir-no_args] PASSED tests/test_android.py::test_android[user_documents_dir-app_name] PASSED tests/test_android.py::test_android[user_documents_dir-app_name_with_app_author] PASSED tests/test_android.py::test_android[user_documents_dir-app_name_author_version] PASSED tests/test_android.py::test_android[user_documents_dir-app_name_author_version_false_opinion] PASSED tests/test_android.py::test_android[user_downloads_dir-no_args] PASSED tests/test_android.py::test_android[user_downloads_dir-app_name] PASSED tests/test_android.py::test_android[user_downloads_dir-app_name_with_app_author] PASSED tests/test_android.py::test_android[user_downloads_dir-app_name_author_version] PASSED tests/test_android.py::test_android[user_downloads_dir-app_name_author_version_false_opinion] PASSED tests/test_android.py::test_android[user_pictures_dir-no_args] PASSED tests/test_android.py::test_android[user_pictures_dir-app_name] PASSED tests/test_android.py::test_android[user_pictures_dir-app_name_with_app_author] PASSED tests/test_android.py::test_android[user_pictures_dir-app_name_author_version] PASSED tests/test_android.py::test_android[user_pictures_dir-app_name_author_version_false_opinion] PASSED tests/test_android.py::test_android[user_videos_dir-no_args] PASSED tests/test_android.py::test_android[user_videos_dir-app_name] PASSED tests/test_android.py::test_android[user_videos_dir-app_name_with_app_author] PASSED tests/test_android.py::test_android[user_videos_dir-app_name_author_version] PASSED tests/test_android.py::test_android[user_videos_dir-app_name_author_version_false_opinion] PASSED tests/test_android.py::test_android[user_music_dir-no_args] PASSED tests/test_android.py::test_android[user_music_dir-app_name] PASSED tests/test_android.py::test_android[user_music_dir-app_name_with_app_author] PASSED tests/test_android.py::test_android[user_music_dir-app_name_author_version] PASSED tests/test_android.py::test_android[user_music_dir-app_name_author_version_false_opinion] PASSED tests/test_android.py::test_android[user_desktop_dir-no_args] PASSED tests/test_android.py::test_android[user_desktop_dir-app_name] PASSED tests/test_android.py::test_android[user_desktop_dir-app_name_with_app_author] PASSED tests/test_android.py::test_android[user_desktop_dir-app_name_author_version] PASSED tests/test_android.py::test_android[user_desktop_dir-app_name_author_version_false_opinion] PASSED tests/test_android.py::test_android[user_projects_dir-no_args] PASSED tests/test_android.py::test_android[user_projects_dir-app_name] PASSED tests/test_android.py::test_android[user_projects_dir-app_name_with_app_author] PASSED tests/test_android.py::test_android[user_projects_dir-app_name_author_version] PASSED tests/test_android.py::test_android[user_projects_dir-app_name_author_version_false_opinion] PASSED tests/test_android.py::test_android[user_publicshare_dir-no_args] PASSED tests/test_android.py::test_android[user_publicshare_dir-app_name] PASSED tests/test_android.py::test_android[user_publicshare_dir-app_name_with_app_author] PASSED tests/test_android.py::test_android[user_publicshare_dir-app_name_author_version] PASSED tests/test_android.py::test_android[user_publicshare_dir-app_name_author_version_false_opinion] PASSED tests/test_android.py::test_android[user_templates_dir-no_args] PASSED tests/test_android.py::test_android[user_templates_dir-app_name] PASSED tests/test_android.py::test_android[user_templates_dir-app_name_with_app_author] PASSED tests/test_android.py::test_android[user_templates_dir-app_name_author_version] PASSED tests/test_android.py::test_android[user_templates_dir-app_name_author_version_false_opinion] PASSED tests/test_android.py::test_android[user_fonts_dir-no_args] PASSED tests/test_android.py::test_android[user_fonts_dir-app_name] PASSED tests/test_android.py::test_android[user_fonts_dir-app_name_with_app_author] PASSED tests/test_android.py::test_android[user_fonts_dir-app_name_author_version] PASSED tests/test_android.py::test_android[user_fonts_dir-app_name_author_version_false_opinion] PASSED tests/test_android.py::test_android[user_preference_dir-no_args] PASSED tests/test_android.py::test_android[user_preference_dir-app_name] PASSED tests/test_android.py::test_android[user_preference_dir-app_name_with_app_author] PASSED tests/test_android.py::test_android[user_preference_dir-app_name_author_version] PASSED tests/test_android.py::test_android[user_preference_dir-app_name_author_version_false_opinion] PASSED tests/test_android.py::test_android[user_bin_dir-no_args] PASSED tests/test_android.py::test_android[user_bin_dir-app_name] PASSED tests/test_android.py::test_android[user_bin_dir-app_name_with_app_author] PASSED tests/test_android.py::test_android[user_bin_dir-app_name_author_version] PASSED tests/test_android.py::test_android[user_bin_dir-app_name_author_version_false_opinion] PASSED tests/test_android.py::test_android[site_bin_dir-no_args] PASSED tests/test_android.py::test_android[site_bin_dir-app_name] PASSED tests/test_android.py::test_android[site_bin_dir-app_name_with_app_author] PASSED tests/test_android.py::test_android[site_bin_dir-app_name_author_version] PASSED tests/test_android.py::test_android[site_bin_dir-app_name_author_version_false_opinion] PASSED tests/test_android.py::test_android[user_applications_dir-no_args] PASSED tests/test_android.py::test_android[user_applications_dir-app_name] PASSED tests/test_android.py::test_android[user_applications_dir-app_name_with_app_author] PASSED tests/test_android.py::test_android[user_applications_dir-app_name_author_version] PASSED tests/test_android.py::test_android[user_applications_dir-app_name_author_version_false_opinion] PASSED tests/test_android.py::test_android[user_runtime_dir-no_args] PASSED tests/test_android.py::test_android[user_runtime_dir-app_name] PASSED tests/test_android.py::test_android[user_runtime_dir-app_name_with_app_author] PASSED tests/test_android.py::test_android[user_runtime_dir-app_name_author_version] PASSED tests/test_android.py::test_android[user_runtime_dir-app_name_author_version_false_opinion] PASSED tests/test_android.py::test_android[site_data_dir-no_args] PASSED tests/test_android.py::test_android[site_data_dir-app_name] PASSED tests/test_android.py::test_android[site_data_dir-app_name_with_app_author] PASSED tests/test_android.py::test_android[site_data_dir-app_name_author_version] PASSED tests/test_android.py::test_android[site_data_dir-app_name_author_version_false_opinion] PASSED tests/test_android.py::test_android[site_config_dir-no_args] PASSED tests/test_android.py::test_android[site_config_dir-app_name] PASSED tests/test_android.py::test_android[site_config_dir-app_name_with_app_author] PASSED tests/test_android.py::test_android[site_config_dir-app_name_author_version] PASSED tests/test_android.py::test_android[site_config_dir-app_name_author_version_false_opinion] PASSED tests/test_android.py::test_android[site_cache_dir-no_args] PASSED tests/test_android.py::test_android[site_cache_dir-app_name] PASSED tests/test_android.py::test_android[site_cache_dir-app_name_with_app_author] PASSED tests/test_android.py::test_android[site_cache_dir-app_name_author_version] PASSED tests/test_android.py::test_android[site_cache_dir-app_name_author_version_false_opinion] PASSED tests/test_android.py::test_android[site_state_dir-no_args] PASSED tests/test_android.py::test_android[site_state_dir-app_name] PASSED tests/test_android.py::test_android[site_state_dir-app_name_with_app_author] PASSED tests/test_android.py::test_android[site_state_dir-app_name_author_version] PASSED tests/test_android.py::test_android[site_state_dir-app_name_author_version_false_opinion] PASSED tests/test_android.py::test_android[site_log_dir-no_args] PASSED tests/test_android.py::test_android[site_log_dir-app_name] PASSED tests/test_android.py::test_android[site_log_dir-app_name_with_app_author] PASSED tests/test_android.py::test_android[site_log_dir-app_name_author_version] PASSED tests/test_android.py::test_android[site_log_dir-app_name_author_version_false_opinion] PASSED tests/test_android.py::test_android[site_applications_dir-no_args] PASSED tests/test_android.py::test_android[site_applications_dir-app_name] PASSED tests/test_android.py::test_android[site_applications_dir-app_name_with_app_author] PASSED tests/test_android.py::test_android[site_applications_dir-app_name_author_version] PASSED tests/test_android.py::test_android[site_applications_dir-app_name_author_version_false_opinion] PASSED tests/test_android.py::test_android[site_runtime_dir-no_args] PASSED tests/test_android.py::test_android[site_runtime_dir-app_name] PASSED tests/test_android.py::test_android[site_runtime_dir-app_name_with_app_author] PASSED tests/test_android.py::test_android[site_runtime_dir-app_name_author_version] PASSED tests/test_android.py::test_android[site_runtime_dir-app_name_author_version_false_opinion] PASSED tests/test_android.py::test_android_folder_from_sys_path[user] PASSED tests/test_android.py::test_android_folder_from_sys_path[data] PASSED tests/test_android.py::test_android_folder_from_sys_path[adopted] PASSED tests/test_android.py::test_android_folder_from_sys_path[data-files-prefix] PASSED tests/test_android.py::test_android_folder_from_sys_path[adopted-files-prefix] PASSED tests/test_android.py::test_android_folder_from_sys_path[nested-files] PASSED tests/test_android.py::test_android_shared_storage_follows_user[documents-owner] PASSED tests/test_android.py::test_android_shared_storage_follows_user[documents-secondary-user] PASSED tests/test_android.py::test_android_shared_storage_follows_user[documents-adopted] PASSED tests/test_android.py::test_android_shared_storage_follows_user[documents-unknown] PASSED tests/test_android.py::test_android_shared_storage_follows_user[downloads-owner] PASSED tests/test_android.py::test_android_shared_storage_follows_user[downloads-secondary-user] PASSED tests/test_android.py::test_android_shared_storage_follows_user[downloads-adopted] PASSED tests/test_android.py::test_android_shared_storage_follows_user[downloads-unknown] PASSED tests/test_android.py::test_android_shared_storage_follows_user[pictures-owner] PASSED tests/test_android.py::test_android_shared_storage_follows_user[pictures-secondary-user] PASSED tests/test_android.py::test_android_shared_storage_follows_user[pictures-adopted] PASSED tests/test_android.py::test_android_shared_storage_follows_user[pictures-unknown] PASSED tests/test_android.py::test_android_shared_storage_follows_user[videos-owner] PASSED tests/test_android.py::test_android_shared_storage_follows_user[videos-secondary-user] PASSED tests/test_android.py::test_android_shared_storage_follows_user[videos-adopted] PASSED tests/test_android.py::test_android_shared_storage_follows_user[videos-unknown] PASSED tests/test_android.py::test_android_shared_storage_follows_user[music-owner] PASSED tests/test_android.py::test_android_shared_storage_follows_user[music-secondary-user] PASSED tests/test_android.py::test_android_shared_storage_follows_user[music-adopted] PASSED tests/test_android.py::test_android_shared_storage_follows_user[music-unknown] PASSED tests/test_android.py::test_android_shared_storage_follows_user[desktop-owner] PASSED tests/test_android.py::test_android_shared_storage_follows_user[desktop-secondary-user] PASSED tests/test_android.py::test_android_shared_storage_follows_user[desktop-adopted] PASSED tests/test_android.py::test_android_shared_storage_follows_user[desktop-unknown] PASSED tests/test_android.py::test_android_shared_storage_follows_user[projects-owner] PASSED tests/test_android.py::test_android_shared_storage_follows_user[projects-secondary-user] PASSED tests/test_android.py::test_android_shared_storage_follows_user[projects-adopted] PASSED tests/test_android.py::test_android_shared_storage_follows_user[projects-unknown] PASSED tests/test_android.py::test_android_shared_storage_follows_user[publicshare-owner] PASSED tests/test_android.py::test_android_shared_storage_follows_user[publicshare-secondary-user] PASSED tests/test_android.py::test_android_shared_storage_follows_user[publicshare-adopted] PASSED tests/test_android.py::test_android_shared_storage_follows_user[publicshare-unknown] PASSED tests/test_android.py::test_android_shared_storage_follows_user[templates-owner] PASSED tests/test_android.py::test_android_shared_storage_follows_user[templates-secondary-user] PASSED tests/test_android.py::test_android_shared_storage_follows_user[templates-adopted] PASSED tests/test_android.py::test_android_shared_storage_follows_user[templates-unknown] PASSED tests/test_android.py::test_android_shared_storage_follows_user[fonts-owner] PASSED tests/test_android.py::test_android_shared_storage_follows_user[fonts-secondary-user] PASSED tests/test_android.py::test_android_shared_storage_follows_user[fonts-adopted] PASSED tests/test_android.py::test_android_shared_storage_follows_user[fonts-unknown] PASSED tests/test_android.py::test_android_folder_from_python_for_android[activity] PASSED tests/test_android.py::test_android_folder_from_python_for_android[service] PASSED tests/test_android.py::test_android_folder_without_python_for_android_uses_sys_path PASSED tests/test_android.py::test_android_media_dir_from_environment[documents] PASSED tests/test_android.py::test_android_media_dir_from_environment[downloads] PASSED tests/test_android.py::test_android_media_dir_from_environment[pictures] PASSED tests/test_android.py::test_android_media_dir_from_environment[videos] PASSED tests/test_android.py::test_android_media_dir_from_environment[music] PASSED tests/test_android.py::test_android_media_dir_without_environment_falls_back PASSED tests/test_android.py::test_android_folder_not_found PASSED tests/test_android.py::test_android_folder_not_found_raises[user_data_dir] PASSED tests/test_android.py::test_android_folder_not_found_raises[user_config_dir] PASSED tests/test_android.py::test_android_folder_not_found_raises[user_cache_dir] PASSED tests/test_android.py::test_android_folder_not_found_raises[user_bin_dir] PASSED tests/test_android.py::test_android_ensure_exists_creates_opinion_subdir[user_log_dir-log] PASSED tests/test_android.py::test_android_ensure_exists_creates_opinion_subdir[user_runtime_dir-tmp] PASSED tests/test_android.py::test_android_iter_dirs_no_duplicates[config] PASSED tests/test_android.py::test_android_iter_dirs_no_duplicates[data] PASSED tests/test_android.py::test_android_iter_dirs_no_duplicates[cache] PASSED tests/test_android.py::test_android_iter_dirs_no_duplicates[state] PASSED tests/test_android.py::test_android_iter_dirs_no_duplicates[log] PASSED tests/test_android.py::test_android_iter_dirs_no_duplicates[runtime] PASSED tests/test_android.py::test_android_applications_dir_function_takes_app_arguments[user_applications_dir] PASSED tests/test_android.py::test_android_applications_dir_function_takes_app_arguments[site_applications_dir] PASSED tests/test_android.py::test_android_applications_path_function_takes_app_arguments[user_applications_path] PASSED tests/test_android.py::test_android_applications_path_function_takes_app_arguments[site_applications_path] PASSED tests/test_android.py::test_android_site_applications_path_multipath_keeps_pathsep PASSED tests/test_android.py::test_android_opinion_subdir_created_private[user_log_dir] PASSED tests/test_android.py::test_android_opinion_subdir_created_private[user_runtime_dir] PASSED tests/test_android.py::test_android_folder_requires_files_segment[internal-prefix] PASSED tests/test_android.py::test_android_folder_requires_files_segment[secondary-user-prefix] PASSED tests/test_android.py::test_android_folder_requires_files_segment[internal-newline] PASSED tests/test_android.py::test_android_folder_requires_files_segment[adopted-prefix] PASSED tests/test_android.py::test_android_folder_requires_files_segment[adopted-newline] PASSED tests/test_api.py::test_package_metadata PASSED tests/test_api.py::test_method_result_is_str[user_data_dir] PASSED tests/test_api.py::test_method_result_is_str[user_config_dir] PASSED tests/test_api.py::test_method_result_is_str[user_cache_dir] PASSED tests/test_api.py::test_method_result_is_str[user_state_dir] PASSED tests/test_api.py::test_method_result_is_str[user_log_dir] PASSED tests/test_api.py::test_method_result_is_str[user_documents_dir] PASSED tests/test_api.py::test_method_result_is_str[user_downloads_dir] PASSED tests/test_api.py::test_method_result_is_str[user_pictures_dir] PASSED tests/test_api.py::test_method_result_is_str[user_videos_dir] PASSED tests/test_api.py::test_method_result_is_str[user_music_dir] PASSED tests/test_api.py::test_method_result_is_str[user_desktop_dir] PASSED tests/test_api.py::test_method_result_is_str[user_projects_dir] PASSED tests/test_api.py::test_method_result_is_str[user_publicshare_dir] PASSED tests/test_api.py::test_method_result_is_str[user_templates_dir] PASSED tests/test_api.py::test_method_result_is_str[user_fonts_dir] PASSED tests/test_api.py::test_method_result_is_str[user_preference_dir] PASSED tests/test_api.py::test_method_result_is_str[user_bin_dir] PASSED tests/test_api.py::test_method_result_is_str[site_bin_dir] PASSED tests/test_api.py::test_method_result_is_str[user_applications_dir] PASSED tests/test_api.py::test_method_result_is_str[user_runtime_dir] PASSED tests/test_api.py::test_method_result_is_str[site_data_dir] PASSED tests/test_api.py::test_method_result_is_str[site_config_dir] PASSED tests/test_api.py::test_method_result_is_str[site_cache_dir] PASSED tests/test_api.py::test_method_result_is_str[site_state_dir] PASSED tests/test_api.py::test_method_result_is_str[site_log_dir] PASSED tests/test_api.py::test_method_result_is_str[site_applications_dir] PASSED tests/test_api.py::test_method_result_is_str[site_runtime_dir] PASSED tests/test_api.py::test_property_result_is_str[user_data_dir] PASSED tests/test_api.py::test_property_result_is_str[user_config_dir] PASSED tests/test_api.py::test_property_result_is_str[user_cache_dir] PASSED tests/test_api.py::test_property_result_is_str[user_state_dir] PASSED tests/test_api.py::test_property_result_is_str[user_log_dir] PASSED tests/test_api.py::test_property_result_is_str[user_documents_dir] PASSED tests/test_api.py::test_property_result_is_str[user_downloads_dir] PASSED tests/test_api.py::test_property_result_is_str[user_pictures_dir] PASSED tests/test_api.py::test_property_result_is_str[user_videos_dir] PASSED tests/test_api.py::test_property_result_is_str[user_music_dir] PASSED tests/test_api.py::test_property_result_is_str[user_desktop_dir] PASSED tests/test_api.py::test_property_result_is_str[user_projects_dir] PASSED tests/test_api.py::test_property_result_is_str[user_publicshare_dir] PASSED tests/test_api.py::test_property_result_is_str[user_templates_dir] PASSED tests/test_api.py::test_property_result_is_str[user_fonts_dir] PASSED tests/test_api.py::test_property_result_is_str[user_preference_dir] PASSED tests/test_api.py::test_property_result_is_str[user_bin_dir] PASSED tests/test_api.py::test_property_result_is_str[site_bin_dir] PASSED tests/test_api.py::test_property_result_is_str[user_applications_dir] PASSED tests/test_api.py::test_property_result_is_str[user_runtime_dir] PASSED tests/test_api.py::test_property_result_is_str[site_data_dir] PASSED tests/test_api.py::test_property_result_is_str[site_config_dir] PASSED tests/test_api.py::test_property_result_is_str[site_cache_dir] PASSED tests/test_api.py::test_property_result_is_str[site_state_dir] PASSED tests/test_api.py::test_property_result_is_str[site_log_dir] PASSED tests/test_api.py::test_property_result_is_str[site_applications_dir] PASSED tests/test_api.py::test_property_result_is_str[site_runtime_dir] PASSED tests/test_api.py::test_method_result_is_path[user_data_dir] PASSED tests/test_api.py::test_method_result_is_path[user_config_dir] PASSED tests/test_api.py::test_method_result_is_path[user_cache_dir] PASSED tests/test_api.py::test_method_result_is_path[user_state_dir] PASSED tests/test_api.py::test_method_result_is_path[user_log_dir] PASSED tests/test_api.py::test_method_result_is_path[user_documents_dir] PASSED tests/test_api.py::test_method_result_is_path[user_downloads_dir] PASSED tests/test_api.py::test_method_result_is_path[user_pictures_dir] PASSED tests/test_api.py::test_method_result_is_path[user_videos_dir] PASSED tests/test_api.py::test_method_result_is_path[user_music_dir] PASSED tests/test_api.py::test_method_result_is_path[user_desktop_dir] PASSED tests/test_api.py::test_method_result_is_path[user_projects_dir] PASSED tests/test_api.py::test_method_result_is_path[user_publicshare_dir] PASSED tests/test_api.py::test_method_result_is_path[user_templates_dir] PASSED tests/test_api.py::test_method_result_is_path[user_fonts_dir] PASSED tests/test_api.py::test_method_result_is_path[user_preference_dir] PASSED tests/test_api.py::test_method_result_is_path[user_bin_dir] PASSED tests/test_api.py::test_method_result_is_path[site_bin_dir] PASSED tests/test_api.py::test_method_result_is_path[user_applications_dir] PASSED tests/test_api.py::test_method_result_is_path[user_runtime_dir] PASSED tests/test_api.py::test_method_result_is_path[site_data_dir] PASSED tests/test_api.py::test_method_result_is_path[site_config_dir] PASSED tests/test_api.py::test_method_result_is_path[site_cache_dir] PASSED tests/test_api.py::test_method_result_is_path[site_state_dir] PASSED tests/test_api.py::test_method_result_is_path[site_log_dir] PASSED tests/test_api.py::test_method_result_is_path[site_applications_dir] PASSED tests/test_api.py::test_method_result_is_path[site_runtime_dir] PASSED tests/test_api.py::test_property_result_is_path[user_data_dir] PASSED tests/test_api.py::test_property_result_is_path[user_config_dir] PASSED tests/test_api.py::test_property_result_is_path[user_cache_dir] PASSED tests/test_api.py::test_property_result_is_path[user_state_dir] PASSED tests/test_api.py::test_property_result_is_path[user_log_dir] PASSED tests/test_api.py::test_property_result_is_path[user_documents_dir] PASSED tests/test_api.py::test_property_result_is_path[user_downloads_dir] PASSED tests/test_api.py::test_property_result_is_path[user_pictures_dir] PASSED tests/test_api.py::test_property_result_is_path[user_videos_dir] PASSED tests/test_api.py::test_property_result_is_path[user_music_dir] PASSED tests/test_api.py::test_property_result_is_path[user_desktop_dir] PASSED tests/test_api.py::test_property_result_is_path[user_projects_dir] PASSED tests/test_api.py::test_property_result_is_path[user_publicshare_dir] PASSED tests/test_api.py::test_property_result_is_path[user_templates_dir] PASSED tests/test_api.py::test_property_result_is_path[user_fonts_dir] PASSED tests/test_api.py::test_property_result_is_path[user_preference_dir] PASSED tests/test_api.py::test_property_result_is_path[user_bin_dir] PASSED tests/test_api.py::test_property_result_is_path[site_bin_dir] PASSED tests/test_api.py::test_property_result_is_path[user_applications_dir] PASSED tests/test_api.py::test_property_result_is_path[user_runtime_dir] PASSED tests/test_api.py::test_property_result_is_path[site_data_dir] PASSED tests/test_api.py::test_property_result_is_path[site_config_dir] PASSED tests/test_api.py::test_property_result_is_path[site_cache_dir] PASSED tests/test_api.py::test_property_result_is_path[site_state_dir] PASSED tests/test_api.py::test_property_result_is_path[site_log_dir] PASSED tests/test_api.py::test_property_result_is_path[site_applications_dir] PASSED tests/test_api.py::test_property_result_is_path[site_runtime_dir] PASSED tests/test_api.py::test_function_interface_is_in_sync[user_data_dir] PASSED tests/test_api.py::test_function_interface_is_in_sync[user_config_dir] PASSED tests/test_api.py::test_function_interface_is_in_sync[user_cache_dir] PASSED tests/test_api.py::test_function_interface_is_in_sync[user_state_dir] PASSED tests/test_api.py::test_function_interface_is_in_sync[user_log_dir] PASSED tests/test_api.py::test_function_interface_is_in_sync[user_documents_dir] PASSED tests/test_api.py::test_function_interface_is_in_sync[user_downloads_dir] PASSED tests/test_api.py::test_function_interface_is_in_sync[user_pictures_dir] PASSED tests/test_api.py::test_function_interface_is_in_sync[user_videos_dir] PASSED tests/test_api.py::test_function_interface_is_in_sync[user_music_dir] PASSED tests/test_api.py::test_function_interface_is_in_sync[user_desktop_dir] PASSED tests/test_api.py::test_function_interface_is_in_sync[user_projects_dir] PASSED tests/test_api.py::test_function_interface_is_in_sync[user_publicshare_dir] PASSED tests/test_api.py::test_function_interface_is_in_sync[user_templates_dir] PASSED tests/test_api.py::test_function_interface_is_in_sync[user_fonts_dir] PASSED tests/test_api.py::test_function_interface_is_in_sync[user_preference_dir] PASSED tests/test_api.py::test_function_interface_is_in_sync[user_bin_dir] PASSED tests/test_api.py::test_function_interface_is_in_sync[site_bin_dir] PASSED tests/test_api.py::test_function_interface_is_in_sync[user_applications_dir] PASSED tests/test_api.py::test_function_interface_is_in_sync[user_runtime_dir] PASSED tests/test_api.py::test_function_interface_is_in_sync[site_data_dir] PASSED tests/test_api.py::test_function_interface_is_in_sync[site_config_dir] PASSED tests/test_api.py::test_function_interface_is_in_sync[site_cache_dir] PASSED tests/test_api.py::test_function_interface_is_in_sync[site_state_dir] PASSED tests/test_api.py::test_function_interface_is_in_sync[site_log_dir] PASSED tests/test_api.py::test_function_interface_is_in_sync[site_applications_dir] PASSED tests/test_api.py::test_function_interface_is_in_sync[site_runtime_dir] PASSED tests/test_api.py::test_user_applications_function_boolean_options_are_keyword_only[user_applications_dir] PASSED tests/test_api.py::test_user_applications_function_boolean_options_are_keyword_only[user_applications_path] PASSED tests/test_api.py::test_site_applications_function_keeps_multipath_positional[site_applications_dir] PASSED tests/test_api.py::test_site_applications_function_keeps_multipath_positional[site_applications_path] PASSED tests/test_api.py::test_function_matches_its_property_for_app_arguments[user_data_dir] PASSED tests/test_api.py::test_function_matches_its_property_for_app_arguments[user_config_dir] PASSED tests/test_api.py::test_function_matches_its_property_for_app_arguments[user_cache_dir] PASSED tests/test_api.py::test_function_matches_its_property_for_app_arguments[user_state_dir] PASSED tests/test_api.py::test_function_matches_its_property_for_app_arguments[user_log_dir] PASSED tests/test_api.py::test_function_matches_its_property_for_app_arguments[user_documents_dir] PASSED tests/test_api.py::test_function_matches_its_property_for_app_arguments[user_downloads_dir] PASSED tests/test_api.py::test_function_matches_its_property_for_app_arguments[user_pictures_dir] PASSED tests/test_api.py::test_function_matches_its_property_for_app_arguments[user_videos_dir] PASSED tests/test_api.py::test_function_matches_its_property_for_app_arguments[user_music_dir] PASSED tests/test_api.py::test_function_matches_its_property_for_app_arguments[user_desktop_dir] PASSED tests/test_api.py::test_function_matches_its_property_for_app_arguments[user_projects_dir] PASSED tests/test_api.py::test_function_matches_its_property_for_app_arguments[user_publicshare_dir] PASSED tests/test_api.py::test_function_matches_its_property_for_app_arguments[user_templates_dir] PASSED tests/test_api.py::test_function_matches_its_property_for_app_arguments[user_fonts_dir] PASSED tests/test_api.py::test_function_matches_its_property_for_app_arguments[user_preference_dir] PASSED tests/test_api.py::test_function_matches_its_property_for_app_arguments[user_bin_dir] PASSED tests/test_api.py::test_function_matches_its_property_for_app_arguments[site_bin_dir] PASSED tests/test_api.py::test_function_matches_its_property_for_app_arguments[user_applications_dir] PASSED tests/test_api.py::test_function_matches_its_property_for_app_arguments[user_runtime_dir] PASSED tests/test_api.py::test_function_matches_its_property_for_app_arguments[site_data_dir] PASSED tests/test_api.py::test_function_matches_its_property_for_app_arguments[site_config_dir] PASSED tests/test_api.py::test_function_matches_its_property_for_app_arguments[site_cache_dir] PASSED tests/test_api.py::test_function_matches_its_property_for_app_arguments[site_state_dir] PASSED tests/test_api.py::test_function_matches_its_property_for_app_arguments[site_log_dir] PASSED tests/test_api.py::test_function_matches_its_property_for_app_arguments[site_applications_dir] PASSED tests/test_api.py::test_function_matches_its_property_for_app_arguments[site_runtime_dir] PASSED tests/test_api.py::test_android_active[/data/data/com.termux/files/usr-/data/data/com.app/files/usr/bin/sh-/data/data/a/files-D-A] PASSED tests/test_api.py::test_android_active[/data/data/com.termux/files/usr-/data/data/com.app/files/usr/bin/sh-/data/data/a/files-D-/system] PASSED tests/test_api.py::test_android_active[/data/data/com.termux/files/usr-/data/data/com.app/files/usr/bin/sh-/data/data/a/files-D-None] PASSED tests/test_api.py::test_android_active[/data/data/com.termux/files/usr-/data/data/com.app/files/usr/bin/sh-/data/data/a/files-/data-A] PASSED tests/test_api.py::test_android_active[/data/data/com.termux/files/usr-/data/data/com.app/files/usr/bin/sh-/data/data/a/files-/data-/system] PASSED tests/test_api.py::test_android_active[/data/data/com.termux/files/usr-/data/data/com.app/files/usr/bin/sh-/data/data/a/files-/data-None] PASSED tests/test_api.py::test_android_active[/data/data/com.termux/files/usr-/data/data/com.app/files/usr/bin/sh-/data/data/a/files-None-A] PASSED tests/test_api.py::test_android_active[/data/data/com.termux/files/usr-/data/data/com.app/files/usr/bin/sh-/data/data/a/files-None-/system] PASSED tests/test_api.py::test_android_active[/data/data/com.termux/files/usr-/data/data/com.app/files/usr/bin/sh-/data/data/a/files-None-None] PASSED tests/test_api.py::test_android_active[/data/data/com.termux/files/usr-/data/data/com.app/files/usr/bin/sh-/C-D-A] PASSED tests/test_api.py::test_android_active[/data/data/com.termux/files/usr-/data/data/com.app/files/usr/bin/sh-/C-D-/system] PASSED tests/test_api.py::test_android_active[/data/data/com.termux/files/usr-/data/data/com.app/files/usr/bin/sh-/C-D-None] PASSED tests/test_api.py::test_android_active[/data/data/com.termux/files/usr-/data/data/com.app/files/usr/bin/sh-/C-/data-A] PASSED tests/test_api.py::test_android_active[/data/data/com.termux/files/usr-/data/data/com.app/files/usr/bin/sh-/C-/data-/system] PASSED tests/test_api.py::test_android_active[/data/data/com.termux/files/usr-/data/data/com.app/files/usr/bin/sh-/C-/data-None] PASSED tests/test_api.py::test_android_active[/data/data/com.termux/files/usr-/data/data/com.app/files/usr/bin/sh-/C-None-A] PASSED tests/test_api.py::test_android_active[/data/data/com.termux/files/usr-/data/data/com.app/files/usr/bin/sh-/C-None-/system] PASSED tests/test_api.py::test_android_active[/data/data/com.termux/files/usr-/data/data/com.app/files/usr/bin/sh-/C-None-None] PASSED tests/test_api.py::test_android_active[/data/data/com.termux/files/usr-/usr/bin/sh-/data/data/a/files-D-A] PASSED tests/test_api.py::test_android_active[/data/data/com.termux/files/usr-/usr/bin/sh-/data/data/a/files-D-/system] PASSED tests/test_api.py::test_android_active[/data/data/com.termux/files/usr-/usr/bin/sh-/data/data/a/files-D-None] PASSED tests/test_api.py::test_android_active[/data/data/com.termux/files/usr-/usr/bin/sh-/data/data/a/files-/data-A] PASSED tests/test_api.py::test_android_active[/data/data/com.termux/files/usr-/usr/bin/sh-/data/data/a/files-/data-/system] PASSED tests/test_api.py::test_android_active[/data/data/com.termux/files/usr-/usr/bin/sh-/data/data/a/files-/data-None] PASSED tests/test_api.py::test_android_active[/data/data/com.termux/files/usr-/usr/bin/sh-/data/data/a/files-None-A] PASSED tests/test_api.py::test_android_active[/data/data/com.termux/files/usr-/usr/bin/sh-/data/data/a/files-None-/system] PASSED tests/test_api.py::test_android_active[/data/data/com.termux/files/usr-/usr/bin/sh-/data/data/a/files-None-None] PASSED tests/test_api.py::test_android_active[/data/data/com.termux/files/usr-/usr/bin/sh-/C-D-A] PASSED tests/test_api.py::test_android_active[/data/data/com.termux/files/usr-/usr/bin/sh-/C-D-/system] PASSED tests/test_api.py::test_android_active[/data/data/com.termux/files/usr-/usr/bin/sh-/C-D-None] PASSED tests/test_api.py::test_android_active[/data/data/com.termux/files/usr-/usr/bin/sh-/C-/data-A] PASSED tests/test_api.py::test_android_active[/data/data/com.termux/files/usr-/usr/bin/sh-/C-/data-/system] PASSED tests/test_api.py::test_android_active[/data/data/com.termux/files/usr-/usr/bin/sh-/C-/data-None] PASSED tests/test_api.py::test_android_active[/data/data/com.termux/files/usr-/usr/bin/sh-/C-None-A] PASSED tests/test_api.py::test_android_active[/data/data/com.termux/files/usr-/usr/bin/sh-/C-None-/system] PASSED tests/test_api.py::test_android_active[/data/data/com.termux/files/usr-/usr/bin/sh-/C-None-None] PASSED tests/test_api.py::test_android_active[/data/data/com.termux/files/usr-None-/data/data/a/files-D-A] PASSED tests/test_api.py::test_android_active[/data/data/com.termux/files/usr-None-/data/data/a/files-D-/system] PASSED tests/test_api.py::test_android_active[/data/data/com.termux/files/usr-None-/data/data/a/files-D-None] PASSED tests/test_api.py::test_android_active[/data/data/com.termux/files/usr-None-/data/data/a/files-/data-A] PASSED tests/test_api.py::test_android_active[/data/data/com.termux/files/usr-None-/data/data/a/files-/data-/system] PASSED tests/test_api.py::test_android_active[/data/data/com.termux/files/usr-None-/data/data/a/files-/data-None] PASSED tests/test_api.py::test_android_active[/data/data/com.termux/files/usr-None-/data/data/a/files-None-A] PASSED tests/test_api.py::test_android_active[/data/data/com.termux/files/usr-None-/data/data/a/files-None-/system] PASSED tests/test_api.py::test_android_active[/data/data/com.termux/files/usr-None-/data/data/a/files-None-None] PASSED tests/test_api.py::test_android_active[/data/data/com.termux/files/usr-None-/C-D-A] PASSED tests/test_api.py::test_android_active[/data/data/com.termux/files/usr-None-/C-D-/system] PASSED tests/test_api.py::test_android_active[/data/data/com.termux/files/usr-None-/C-D-None] PASSED tests/test_api.py::test_android_active[/data/data/com.termux/files/usr-None-/C-/data-A] PASSED tests/test_api.py::test_android_active[/data/data/com.termux/files/usr-None-/C-/data-/system] PASSED tests/test_api.py::test_android_active[/data/data/com.termux/files/usr-None-/C-/data-None] PASSED tests/test_api.py::test_android_active[/data/data/com.termux/files/usr-None-/C-None-A] PASSED tests/test_api.py::test_android_active[/data/data/com.termux/files/usr-None-/C-None-/system] PASSED tests/test_api.py::test_android_active[/data/data/com.termux/files/usr-None-/C-None-None] PASSED tests/test_api.py::test_android_active[None-/data/data/com.app/files/usr/bin/sh-/data/data/a/files-D-A] PASSED tests/test_api.py::test_android_active[None-/data/data/com.app/files/usr/bin/sh-/data/data/a/files-D-/system] PASSED tests/test_api.py::test_android_active[None-/data/data/com.app/files/usr/bin/sh-/data/data/a/files-D-None] PASSED tests/test_api.py::test_android_active[None-/data/data/com.app/files/usr/bin/sh-/data/data/a/files-/data-A] PASSED tests/test_api.py::test_android_active[None-/data/data/com.app/files/usr/bin/sh-/data/data/a/files-/data-/system] PASSED tests/test_api.py::test_android_active[None-/data/data/com.app/files/usr/bin/sh-/data/data/a/files-/data-None] PASSED tests/test_api.py::test_android_active[None-/data/data/com.app/files/usr/bin/sh-/data/data/a/files-None-A] PASSED tests/test_api.py::test_android_active[None-/data/data/com.app/files/usr/bin/sh-/data/data/a/files-None-/system] PASSED tests/test_api.py::test_android_active[None-/data/data/com.app/files/usr/bin/sh-/data/data/a/files-None-None] PASSED tests/test_api.py::test_android_active[None-/data/data/com.app/files/usr/bin/sh-/C-D-A] PASSED tests/test_api.py::test_android_active[None-/data/data/com.app/files/usr/bin/sh-/C-D-/system] PASSED tests/test_api.py::test_android_active[None-/data/data/com.app/files/usr/bin/sh-/C-D-None] PASSED tests/test_api.py::test_android_active[None-/data/data/com.app/files/usr/bin/sh-/C-/data-A] PASSED tests/test_api.py::test_android_active[None-/data/data/com.app/files/usr/bin/sh-/C-/data-/system] PASSED tests/test_api.py::test_android_active[None-/data/data/com.app/files/usr/bin/sh-/C-/data-None] PASSED tests/test_api.py::test_android_active[None-/data/data/com.app/files/usr/bin/sh-/C-None-A] PASSED tests/test_api.py::test_android_active[None-/data/data/com.app/files/usr/bin/sh-/C-None-/system] PASSED tests/test_api.py::test_android_active[None-/data/data/com.app/files/usr/bin/sh-/C-None-None] PASSED tests/test_api.py::test_android_active[None-/usr/bin/sh-/data/data/a/files-D-A] PASSED tests/test_api.py::test_android_active[None-/usr/bin/sh-/data/data/a/files-D-/system] PASSED tests/test_api.py::test_android_active[None-/usr/bin/sh-/data/data/a/files-D-None] PASSED tests/test_api.py::test_android_active[None-/usr/bin/sh-/data/data/a/files-/data-A] PASSED tests/test_api.py::test_android_active[None-/usr/bin/sh-/data/data/a/files-/data-/system] PASSED tests/test_api.py::test_android_active[None-/usr/bin/sh-/data/data/a/files-/data-None] PASSED tests/test_api.py::test_android_active[None-/usr/bin/sh-/data/data/a/files-None-A] PASSED tests/test_api.py::test_android_active[None-/usr/bin/sh-/data/data/a/files-None-/system] PASSED tests/test_api.py::test_android_active[None-/usr/bin/sh-/data/data/a/files-None-None] PASSED tests/test_api.py::test_android_active[None-/usr/bin/sh-/C-D-A] PASSED tests/test_api.py::test_android_active[None-/usr/bin/sh-/C-D-/system] PASSED tests/test_api.py::test_android_active[None-/usr/bin/sh-/C-D-None] PASSED tests/test_api.py::test_android_active[None-/usr/bin/sh-/C-/data-A] PASSED tests/test_api.py::test_android_active[None-/usr/bin/sh-/C-/data-/system] PASSED tests/test_api.py::test_android_active[None-/usr/bin/sh-/C-/data-None] PASSED tests/test_api.py::test_android_active[None-/usr/bin/sh-/C-None-A] PASSED tests/test_api.py::test_android_active[None-/usr/bin/sh-/C-None-/system] PASSED tests/test_api.py::test_android_active[None-/usr/bin/sh-/C-None-None] PASSED tests/test_api.py::test_android_active[None-None-/data/data/a/files-D-A] PASSED tests/test_api.py::test_android_active[None-None-/data/data/a/files-D-/system] PASSED tests/test_api.py::test_android_active[None-None-/data/data/a/files-D-None] PASSED tests/test_api.py::test_android_active[None-None-/data/data/a/files-/data-A] PASSED tests/test_api.py::test_android_active[None-None-/data/data/a/files-/data-/system] PASSED tests/test_api.py::test_android_active[None-None-/data/data/a/files-/data-None] PASSED tests/test_api.py::test_android_active[None-None-/data/data/a/files-None-A] PASSED tests/test_api.py::test_android_active[None-None-/data/data/a/files-None-/system] PASSED tests/test_api.py::test_android_active[None-None-/data/data/a/files-None-None] PASSED tests/test_api.py::test_android_active[None-None-/C-D-A] PASSED tests/test_api.py::test_android_active[None-None-/C-D-/system] PASSED tests/test_api.py::test_android_active[None-None-/C-D-None] PASSED tests/test_api.py::test_android_active[None-None-/C-/data-A] PASSED tests/test_api.py::test_android_active[None-None-/C-/data-/system] PASSED tests/test_api.py::test_android_active[None-None-/C-/data-None] PASSED tests/test_api.py::test_android_active[None-None-/C-None-A] PASSED tests/test_api.py::test_android_active[None-None-/C-None-/system] PASSED tests/test_api.py::test_android_active[None-None-/C-None-None] PASSED tests/test_api.py::test_android_build_detected_without_environment[cleared-environment] PASSED tests/test_api.py::test_android_build_detected_without_environment[termux] PASSED tests/test_api.py::test_no_ctypes[user_data_dir] PASSED tests/test_api.py::test_no_ctypes[user_config_dir] PASSED tests/test_api.py::test_no_ctypes[user_cache_dir] PASSED tests/test_api.py::test_no_ctypes[user_state_dir] PASSED tests/test_api.py::test_no_ctypes[user_log_dir] PASSED tests/test_api.py::test_no_ctypes[user_documents_dir] PASSED tests/test_api.py::test_no_ctypes[user_downloads_dir] PASSED tests/test_api.py::test_no_ctypes[user_pictures_dir] PASSED tests/test_api.py::test_no_ctypes[user_videos_dir] PASSED tests/test_api.py::test_no_ctypes[user_music_dir] PASSED tests/test_api.py::test_no_ctypes[user_desktop_dir] PASSED tests/test_api.py::test_no_ctypes[user_projects_dir] PASSED tests/test_api.py::test_no_ctypes[user_publicshare_dir] PASSED tests/test_api.py::test_no_ctypes[user_templates_dir] PASSED tests/test_api.py::test_no_ctypes[user_fonts_dir] PASSED tests/test_api.py::test_no_ctypes[user_preference_dir] PASSED tests/test_api.py::test_no_ctypes[user_bin_dir] PASSED tests/test_api.py::test_no_ctypes[site_bin_dir] PASSED tests/test_api.py::test_no_ctypes[user_applications_dir] PASSED tests/test_api.py::test_no_ctypes[user_runtime_dir] PASSED tests/test_api.py::test_no_ctypes[site_data_dir] PASSED tests/test_api.py::test_no_ctypes[site_config_dir] PASSED tests/test_api.py::test_no_ctypes[site_cache_dir] PASSED tests/test_api.py::test_no_ctypes[site_state_dir] PASSED tests/test_api.py::test_no_ctypes[site_log_dir] PASSED tests/test_api.py::test_no_ctypes[site_applications_dir] PASSED tests/test_api.py::test_no_ctypes[site_runtime_dir] PASSED tests/test_api.py::test_mypy_subclassing PASSED tests/test_api.py::test_iter_dirs_yields_user_before_site[config] PASSED tests/test_api.py::test_iter_dirs_yields_user_before_site[data] PASSED tests/test_api.py::test_iter_dirs_yields_user_before_site[cache] PASSED tests/test_api.py::test_iter_dirs_yields_user_before_site[state] PASSED tests/test_api.py::test_iter_dirs_yields_user_before_site[log] PASSED tests/test_api.py::test_iter_dirs_yields_user_before_site[runtime] PASSED tests/test_api.py::test_app_argument_escaping_base_is_rejected[parent-appname] PASSED tests/test_api.py::test_app_argument_escaping_base_is_rejected[parent-appauthor] PASSED tests/test_api.py::test_app_argument_escaping_base_is_rejected[parent-version] PASSED tests/test_api.py::test_app_argument_escaping_base_is_rejected[nested-parent-appname] PASSED tests/test_api.py::test_app_argument_escaping_base_is_rejected[nested-parent-appauthor] PASSED tests/test_api.py::test_app_argument_escaping_base_is_rejected[nested-parent-version] PASSED tests/test_api.py::test_app_argument_escaping_base_is_rejected[backslash-parent-appname] PASSED tests/test_api.py::test_app_argument_escaping_base_is_rejected[backslash-parent-appauthor] PASSED tests/test_api.py::test_app_argument_escaping_base_is_rejected[backslash-parent-version] PASSED tests/test_api.py::test_app_argument_escaping_base_is_rejected[rooted-appname] PASSED tests/test_api.py::test_app_argument_escaping_base_is_rejected[rooted-appauthor] PASSED tests/test_api.py::test_app_argument_escaping_base_is_rejected[rooted-version] PASSED tests/test_api.py::test_app_argument_escaping_base_is_rejected[backslash-rooted-appname] PASSED tests/test_api.py::test_app_argument_escaping_base_is_rejected[backslash-rooted-appauthor] PASSED tests/test_api.py::test_app_argument_escaping_base_is_rejected[backslash-rooted-version] PASSED tests/test_api.py::test_app_argument_escaping_base_is_rejected[unc-appname] PASSED tests/test_api.py::test_app_argument_escaping_base_is_rejected[unc-appauthor] PASSED tests/test_api.py::test_app_argument_escaping_base_is_rejected[unc-version] PASSED tests/test_api.py::test_app_argument_escaping_base_is_rejected[drive-appname] SKIPPED tests/test_api.py::test_app_argument_escaping_base_is_rejected[drive-appauthor] SKIPPED tests/test_api.py::test_app_argument_escaping_base_is_rejected[drive-version] SKIPPED tests/test_api.py::test_app_argument_escaping_base_is_rejected_on_assignment[parent-appname] PASSED tests/test_api.py::test_app_argument_escaping_base_is_rejected_on_assignment[parent-appauthor] PASSED tests/test_api.py::test_app_argument_escaping_base_is_rejected_on_assignment[parent-version] PASSED tests/test_api.py::test_app_argument_escaping_base_is_rejected_on_assignment[nested-parent-appname] PASSED tests/test_api.py::test_app_argument_escaping_base_is_rejected_on_assignment[nested-parent-appauthor] PASSED tests/test_api.py::test_app_argument_escaping_base_is_rejected_on_assignment[nested-parent-version] PASSED tests/test_api.py::test_app_argument_escaping_base_is_rejected_on_assignment[backslash-parent-appname] PASSED tests/test_api.py::test_app_argument_escaping_base_is_rejected_on_assignment[backslash-parent-appauthor] PASSED tests/test_api.py::test_app_argument_escaping_base_is_rejected_on_assignment[backslash-parent-version] PASSED tests/test_api.py::test_app_argument_escaping_base_is_rejected_on_assignment[rooted-appname] PASSED tests/test_api.py::test_app_argument_escaping_base_is_rejected_on_assignment[rooted-appauthor] PASSED tests/test_api.py::test_app_argument_escaping_base_is_rejected_on_assignment[rooted-version] PASSED tests/test_api.py::test_app_argument_escaping_base_is_rejected_on_assignment[backslash-rooted-appname] PASSED tests/test_api.py::test_app_argument_escaping_base_is_rejected_on_assignment[backslash-rooted-appauthor] PASSED tests/test_api.py::test_app_argument_escaping_base_is_rejected_on_assignment[backslash-rooted-version] PASSED tests/test_api.py::test_app_argument_escaping_base_is_rejected_on_assignment[unc-appname] PASSED tests/test_api.py::test_app_argument_escaping_base_is_rejected_on_assignment[unc-appauthor] PASSED tests/test_api.py::test_app_argument_escaping_base_is_rejected_on_assignment[unc-version] PASSED tests/test_api.py::test_app_argument_escaping_base_is_rejected_on_assignment[drive-appname] SKIPPED tests/test_api.py::test_app_argument_escaping_base_is_rejected_on_assignment[drive-appauthor] SKIPPED tests/test_api.py::test_app_argument_escaping_base_is_rejected_on_assignment[drive-version] SKIPPED tests/test_api.py::test_app_argument_assignment_within_base_changes_the_path[appname] PASSED tests/test_api.py::test_app_argument_assignment_within_base_changes_the_path[appname-none] PASSED tests/test_api.py::test_app_argument_assignment_within_base_changes_the_path[appauthor-false] PASSED tests/test_api.py::test_app_argument_assignment_within_base_changes_the_path[version-none] PASSED tests/test_api.py::test_appname_within_base_is_accepted[nested] PASSED tests/test_api.py::test_appname_within_base_is_accepted[leading-dots] PASSED tests/test_api.py::test_appname_within_base_is_accepted[trailing-dots] PASSED tests/test_api.py::test_place_file_returns_path_under_user_dir[config] PASSED tests/test_api.py::test_place_file_returns_path_under_user_dir[data] PASSED tests/test_api.py::test_place_file_returns_path_under_user_dir[cache] PASSED tests/test_api.py::test_place_file_returns_path_under_user_dir[state] PASSED tests/test_api.py::test_place_file_returns_path_under_user_dir[log] PASSED tests/test_api.py::test_place_file_returns_path_under_user_dir[runtime] PASSED tests/test_api.py::test_place_file_creates_parent_directories[config] PASSED tests/test_api.py::test_place_file_creates_parent_directories[data] PASSED tests/test_api.py::test_place_file_creates_parent_directories[cache] PASSED tests/test_api.py::test_place_file_creates_parent_directories[state] PASSED tests/test_api.py::test_place_file_creates_parent_directories[log] PASSED tests/test_api.py::test_place_file_creates_parent_directories[runtime] PASSED tests/test_api.py::test_place_file_does_not_create_the_file[config] PASSED tests/test_api.py::test_place_file_does_not_create_the_file[data] PASSED tests/test_api.py::test_place_file_does_not_create_the_file[cache] PASSED tests/test_api.py::test_place_file_does_not_create_the_file[state] PASSED tests/test_api.py::test_place_file_does_not_create_the_file[log] PASSED tests/test_api.py::test_place_file_does_not_create_the_file[runtime] PASSED tests/test_api.py::test_place_file_accepts_path_like PASSED tests/test_api.py::test_place_file_creates_directories_private[config-lookup] PASSED tests/test_api.py::test_place_file_creates_directories_private[config-ensure-exists] PASSED tests/test_api.py::test_place_file_creates_directories_private[data-lookup] PASSED tests/test_api.py::test_place_file_creates_directories_private[data-ensure-exists] PASSED tests/test_api.py::test_place_file_creates_directories_private[cache-lookup] PASSED tests/test_api.py::test_place_file_creates_directories_private[cache-ensure-exists] PASSED tests/test_api.py::test_place_file_creates_directories_private[state-lookup] PASSED tests/test_api.py::test_place_file_creates_directories_private[state-ensure-exists] PASSED tests/test_api.py::test_place_file_creates_directories_private[log-lookup] PASSED tests/test_api.py::test_place_file_creates_directories_private[log-ensure-exists] PASSED tests/test_api.py::test_place_file_creates_directories_private[runtime-lookup] PASSED tests/test_api.py::test_place_file_creates_directories_private[runtime-ensure-exists] PASSED tests/test_api.py::test_place_file_keeps_mode_of_existing_directories PASSED tests/test_api.py::test_place_file_rejects_name_escaping_the_directory[parent] PASSED tests/test_api.py::test_place_file_rejects_name_escaping_the_directory[nested-parent] PASSED tests/test_api.py::test_place_file_rejects_name_escaping_the_directory[backslash-parent] PASSED tests/test_api.py::test_place_file_rejects_name_escaping_the_directory[rooted] PASSED tests/test_api.py::test_place_file_rejects_name_escaping_the_directory[backslash-rooted] PASSED tests/test_api.py::test_place_file_rejects_name_escaping_the_directory[unc] PASSED tests/test_api.py::test_place_file_rejects_name_escaping_the_directory[drive] SKIPPED tests/test_api.py::test_place_file_rejects_name_escaping_the_directory[drive-relative] SKIPPED tests/test_api.py::test_place_file_rejects_name_without_a_file[empty] PASSED tests/test_api.py::test_place_file_rejects_name_without_a_file[dot] PASSED tests/test_api.py::test_place_file_rejected_name_creates_nothing PASSED tests/test_api.py::test_find_file_returns_user_file[config] PASSED tests/test_api.py::test_find_file_returns_user_file[data] PASSED tests/test_api.py::test_find_file_returns_user_file[cache] PASSED tests/test_api.py::test_find_file_returns_user_file[state] PASSED tests/test_api.py::test_find_file_returns_user_file[log] PASSED tests/test_api.py::test_find_file_returns_user_file[runtime] PASSED tests/test_api.py::test_find_files_lists_user_file_once[config] PASSED tests/test_api.py::test_find_files_lists_user_file_once[data] PASSED tests/test_api.py::test_find_files_lists_user_file_once[cache] PASSED tests/test_api.py::test_find_files_lists_user_file_once[state] PASSED tests/test_api.py::test_find_files_lists_user_file_once[log] PASSED tests/test_api.py::test_find_files_lists_user_file_once[runtime] PASSED tests/test_api.py::test_find_missing_file[config-file] PASSED tests/test_api.py::test_find_missing_file[config-files] PASSED tests/test_api.py::test_find_missing_file[data-file] PASSED tests/test_api.py::test_find_missing_file[data-files] PASSED tests/test_api.py::test_find_missing_file[cache-file] PASSED tests/test_api.py::test_find_missing_file[cache-files] PASSED tests/test_api.py::test_find_missing_file[state-file] PASSED tests/test_api.py::test_find_missing_file[state-files] PASSED tests/test_api.py::test_find_missing_file[log-file] PASSED tests/test_api.py::test_find_missing_file[log-files] PASSED tests/test_api.py::test_find_missing_file[runtime-file] PASSED tests/test_api.py::test_find_missing_file[runtime-files] PASSED tests/test_api.py::test_find_skips_directory_with_the_name[file] PASSED tests/test_api.py::test_find_skips_directory_with_the_name[files] PASSED tests/test_api.py::test_find_config_file_prefers_user_over_site PASSED tests/test_api.py::test_find_config_file_falls_back_to_site PASSED tests/test_api.py::test_find_config_files_orders_user_before_site PASSED tests/test_api.py::test_find_config_file_accepts_nested_path_like PASSED tests/test_api.py::test_find_file_finds_root_placed_file_in_first_site_dir[config-multipath] PASSED tests/test_api.py::test_find_file_finds_root_placed_file_in_first_site_dir[config-single-path] PASSED tests/test_api.py::test_find_file_finds_root_placed_file_in_first_site_dir[data-multipath] PASSED tests/test_api.py::test_find_file_finds_root_placed_file_in_first_site_dir[data-single-path] PASSED tests/test_api.py::test_find_creates_no_directory_with_ensure_exists[config-file] PASSED tests/test_api.py::test_find_creates_no_directory_with_ensure_exists[config-files] PASSED tests/test_api.py::test_find_creates_no_directory_with_ensure_exists[data-file] PASSED tests/test_api.py::test_find_creates_no_directory_with_ensure_exists[data-files] PASSED tests/test_api.py::test_find_creates_no_directory_with_ensure_exists[cache-file] PASSED tests/test_api.py::test_find_creates_no_directory_with_ensure_exists[cache-files] PASSED tests/test_api.py::test_find_creates_no_directory_with_ensure_exists[state-file] PASSED tests/test_api.py::test_find_creates_no_directory_with_ensure_exists[state-files] PASSED tests/test_api.py::test_find_creates_no_directory_with_ensure_exists[log-file] PASSED tests/test_api.py::test_find_creates_no_directory_with_ensure_exists[log-files] PASSED tests/test_api.py::test_find_creates_no_directory_with_ensure_exists[runtime-file] PASSED tests/test_api.py::test_find_creates_no_directory_with_ensure_exists[runtime-files] PASSED tests/test_api.py::test_find_keeps_ensure_exists_on_the_instance PASSED tests/test_api.py::test_find_rejects_name_escaping_the_directory[parent-file] PASSED tests/test_api.py::test_find_rejects_name_escaping_the_directory[parent-files] PASSED tests/test_api.py::test_find_rejects_name_escaping_the_directory[nested-parent-file] PASSED tests/test_api.py::test_find_rejects_name_escaping_the_directory[nested-parent-files] PASSED tests/test_api.py::test_find_rejects_name_escaping_the_directory[backslash-parent-file] PASSED tests/test_api.py::test_find_rejects_name_escaping_the_directory[backslash-parent-files] PASSED tests/test_api.py::test_find_rejects_name_escaping_the_directory[rooted-file] PASSED tests/test_api.py::test_find_rejects_name_escaping_the_directory[rooted-files] PASSED tests/test_api.py::test_find_rejects_name_escaping_the_directory[backslash-rooted-file] PASSED tests/test_api.py::test_find_rejects_name_escaping_the_directory[backslash-rooted-files] PASSED tests/test_api.py::test_find_rejects_name_escaping_the_directory[unc-file] PASSED tests/test_api.py::test_find_rejects_name_escaping_the_directory[unc-files] PASSED tests/test_api.py::test_find_rejects_name_escaping_the_directory[path-like-parent-file] PASSED tests/test_api.py::test_find_rejects_name_escaping_the_directory[path-like-parent-files] PASSED tests/test_api.py::test_find_rejects_name_escaping_the_directory[drive-file] SKIPPED tests/test_api.py::test_find_rejects_name_escaping_the_directory[drive-files] SKIPPED tests/test_api.py::test_system_site_dir_keeps_default_mode[unix-cache] PASSED tests/test_api.py::test_system_site_dir_keeps_default_mode[unix-state] PASSED tests/test_api.py::test_system_site_dir_keeps_default_mode[unix-log] PASSED tests/test_api.py::test_system_site_dir_keeps_default_mode[unix-runtime] PASSED tests/test_api.py::test_system_site_dir_keeps_default_mode[macos-log] PASSED tests/test_comp_with_appdirs.py::test_has_backward_compatible_class PASSED tests/test_comp_with_appdirs.py::test_has_all_functions PASSED tests/test_comp_with_appdirs.py::test_has_all_properties PASSED tests/test_comp_with_appdirs.py::test_compatibility[user_data_dir-no_args] PASSED tests/test_comp_with_appdirs.py::test_compatibility[user_data_dir-app_name] PASSED tests/test_comp_with_appdirs.py::test_compatibility[user_data_dir-app_name_with_app_author] PASSED tests/test_comp_with_appdirs.py::test_compatibility[user_data_dir-app_name_author_version] PASSED tests/test_comp_with_appdirs.py::test_compatibility[user_config_dir-no_args] PASSED tests/test_comp_with_appdirs.py::test_compatibility[user_config_dir-app_name] PASSED tests/test_comp_with_appdirs.py::test_compatibility[user_config_dir-app_name_with_app_author] PASSED tests/test_comp_with_appdirs.py::test_compatibility[user_config_dir-app_name_author_version] PASSED tests/test_comp_with_appdirs.py::test_compatibility[user_cache_dir-no_args] PASSED tests/test_comp_with_appdirs.py::test_compatibility[user_cache_dir-app_name] PASSED tests/test_comp_with_appdirs.py::test_compatibility[user_cache_dir-app_name_with_app_author] PASSED tests/test_comp_with_appdirs.py::test_compatibility[user_cache_dir-app_name_author_version] PASSED tests/test_comp_with_appdirs.py::test_compatibility[user_state_dir-no_args] PASSED tests/test_comp_with_appdirs.py::test_compatibility[user_state_dir-app_name] PASSED tests/test_comp_with_appdirs.py::test_compatibility[user_state_dir-app_name_with_app_author] PASSED tests/test_comp_with_appdirs.py::test_compatibility[user_state_dir-app_name_author_version] PASSED tests/test_comp_with_appdirs.py::test_compatibility[user_log_dir-no_args] SKIPPED tests/test_comp_with_appdirs.py::test_compatibility[user_log_dir-app_name] SKIPPED tests/test_comp_with_appdirs.py::test_compatibility[user_log_dir-app_name_with_app_author] SKIPPED tests/test_comp_with_appdirs.py::test_compatibility[user_log_dir-app_name_author_version] SKIPPED tests/test_comp_with_appdirs.py::test_compatibility[user_documents_dir-no_args] SKIPPED tests/test_comp_with_appdirs.py::test_compatibility[user_documents_dir-app_name] SKIPPED tests/test_comp_with_appdirs.py::test_compatibility[user_documents_dir-app_name_with_app_author] SKIPPED tests/test_comp_with_appdirs.py::test_compatibility[user_documents_dir-app_name_author_version] SKIPPED tests/test_comp_with_appdirs.py::test_compatibility[user_downloads_dir-no_args] SKIPPED tests/test_comp_with_appdirs.py::test_compatibility[user_downloads_dir-app_name] SKIPPED tests/test_comp_with_appdirs.py::test_compatibility[user_downloads_dir-app_name_with_app_author] SKIPPED tests/test_comp_with_appdirs.py::test_compatibility[user_downloads_dir-app_name_author_version] SKIPPED tests/test_comp_with_appdirs.py::test_compatibility[user_pictures_dir-no_args] SKIPPED tests/test_comp_with_appdirs.py::test_compatibility[user_pictures_dir-app_name] SKIPPED tests/test_comp_with_appdirs.py::test_compatibility[user_pictures_dir-app_name_with_app_author] SKIPPED tests/test_comp_with_appdirs.py::test_compatibility[user_pictures_dir-app_name_author_version] SKIPPED tests/test_comp_with_appdirs.py::test_compatibility[user_videos_dir-no_args] SKIPPED tests/test_comp_with_appdirs.py::test_compatibility[user_videos_dir-app_name] SKIPPED tests/test_comp_with_appdirs.py::test_compatibility[user_videos_dir-app_name_with_app_author] SKIPPED tests/test_comp_with_appdirs.py::test_compatibility[user_videos_dir-app_name_author_version] SKIPPED tests/test_comp_with_appdirs.py::test_compatibility[user_music_dir-no_args] SKIPPED tests/test_comp_with_appdirs.py::test_compatibility[user_music_dir-app_name] SKIPPED tests/test_comp_with_appdirs.py::test_compatibility[user_music_dir-app_name_with_app_author] SKIPPED tests/test_comp_with_appdirs.py::test_compatibility[user_music_dir-app_name_author_version] SKIPPED tests/test_comp_with_appdirs.py::test_compatibility[user_desktop_dir-no_args] SKIPPED tests/test_comp_with_appdirs.py::test_compatibility[user_desktop_dir-app_name] SKIPPED tests/test_comp_with_appdirs.py::test_compatibility[user_desktop_dir-app_name_with_app_author] SKIPPED tests/test_comp_with_appdirs.py::test_compatibility[user_desktop_dir-app_name_author_version] SKIPPED tests/test_comp_with_appdirs.py::test_compatibility[user_projects_dir-no_args] SKIPPED tests/test_comp_with_appdirs.py::test_compatibility[user_projects_dir-app_name] SKIPPED tests/test_comp_with_appdirs.py::test_compatibility[user_projects_dir-app_name_with_app_author] SKIPPED tests/test_comp_with_appdirs.py::test_compatibility[user_projects_dir-app_name_author_version] SKIPPED tests/test_comp_with_appdirs.py::test_compatibility[user_publicshare_dir-no_args] SKIPPED tests/test_comp_with_appdirs.py::test_compatibility[user_publicshare_dir-app_name] SKIPPED tests/test_comp_with_appdirs.py::test_compatibility[user_publicshare_dir-app_name_with_app_author] SKIPPED tests/test_comp_with_appdirs.py::test_compatibility[user_publicshare_dir-app_name_author_version] SKIPPED tests/test_comp_with_appdirs.py::test_compatibility[user_templates_dir-no_args] SKIPPED tests/test_comp_with_appdirs.py::test_compatibility[user_templates_dir-app_name] SKIPPED tests/test_comp_with_appdirs.py::test_compatibility[user_templates_dir-app_name_with_app_author] SKIPPED tests/test_comp_with_appdirs.py::test_compatibility[user_templates_dir-app_name_author_version] SKIPPED tests/test_comp_with_appdirs.py::test_compatibility[user_fonts_dir-no_args] SKIPPED tests/test_comp_with_appdirs.py::test_compatibility[user_fonts_dir-app_name] SKIPPED tests/test_comp_with_appdirs.py::test_compatibility[user_fonts_dir-app_name_with_app_author] SKIPPED tests/test_comp_with_appdirs.py::test_compatibility[user_fonts_dir-app_name_author_version] SKIPPED tests/test_comp_with_appdirs.py::test_compatibility[user_preference_dir-no_args] SKIPPED tests/test_comp_with_appdirs.py::test_compatibility[user_preference_dir-app_name] SKIPPED tests/test_comp_with_appdirs.py::test_compatibility[user_preference_dir-app_name_with_app_author] SKIPPED tests/test_comp_with_appdirs.py::test_compatibility[user_preference_dir-app_name_author_version] SKIPPED tests/test_comp_with_appdirs.py::test_compatibility[user_bin_dir-no_args] SKIPPED tests/test_comp_with_appdirs.py::test_compatibility[user_bin_dir-app_name] SKIPPED tests/test_comp_with_appdirs.py::test_compatibility[user_bin_dir-app_name_with_app_author] SKIPPED tests/test_comp_with_appdirs.py::test_compatibility[user_bin_dir-app_name_author_version] SKIPPED tests/test_comp_with_appdirs.py::test_compatibility[site_bin_dir-no_args] SKIPPED tests/test_comp_with_appdirs.py::test_compatibility[site_bin_dir-app_name] SKIPPED tests/test_comp_with_appdirs.py::test_compatibility[site_bin_dir-app_name_with_app_author] SKIPPED tests/test_comp_with_appdirs.py::test_compatibility[site_bin_dir-app_name_author_version] SKIPPED tests/test_comp_with_appdirs.py::test_compatibility[user_applications_dir-no_args] SKIPPED tests/test_comp_with_appdirs.py::test_compatibility[user_applications_dir-app_name] SKIPPED tests/test_comp_with_appdirs.py::test_compatibility[user_applications_dir-app_name_with_app_author] SKIPPED tests/test_comp_with_appdirs.py::test_compatibility[user_applications_dir-app_name_author_version] SKIPPED tests/test_comp_with_appdirs.py::test_compatibility[user_runtime_dir-no_args] SKIPPED tests/test_comp_with_appdirs.py::test_compatibility[user_runtime_dir-app_name] SKIPPED tests/test_comp_with_appdirs.py::test_compatibility[user_runtime_dir-app_name_with_app_author] SKIPPED tests/test_comp_with_appdirs.py::test_compatibility[user_runtime_dir-app_name_author_version] SKIPPED tests/test_comp_with_appdirs.py::test_compatibility[site_data_dir-no_args] PASSED tests/test_comp_with_appdirs.py::test_compatibility[site_data_dir-app_name] PASSED tests/test_comp_with_appdirs.py::test_compatibility[site_data_dir-app_name_with_app_author] PASSED tests/test_comp_with_appdirs.py::test_compatibility[site_data_dir-app_name_author_version] PASSED tests/test_comp_with_appdirs.py::test_compatibility[site_config_dir-no_args] PASSED tests/test_comp_with_appdirs.py::test_compatibility[site_config_dir-app_name] PASSED tests/test_comp_with_appdirs.py::test_compatibility[site_config_dir-app_name_with_app_author] PASSED tests/test_comp_with_appdirs.py::test_compatibility[site_config_dir-app_name_author_version] PASSED tests/test_comp_with_appdirs.py::test_compatibility[site_cache_dir-no_args] SKIPPED tests/test_comp_with_appdirs.py::test_compatibility[site_cache_dir-app_name] SKIPPED tests/test_comp_with_appdirs.py::test_compatibility[site_cache_dir-app_name_with_app_author] SKIPPED tests/test_comp_with_appdirs.py::test_compatibility[site_cache_dir-app_name_author_version] SKIPPED tests/test_comp_with_appdirs.py::test_compatibility[site_state_dir-no_args] SKIPPED tests/test_comp_with_appdirs.py::test_compatibility[site_state_dir-app_name] SKIPPED tests/test_comp_with_appdirs.py::test_compatibility[site_state_dir-app_name_with_app_author] SKIPPED tests/test_comp_with_appdirs.py::test_compatibility[site_state_dir-app_name_author_version] SKIPPED tests/test_comp_with_appdirs.py::test_compatibility[site_log_dir-no_args] SKIPPED tests/test_comp_with_appdirs.py::test_compatibility[site_log_dir-app_name] SKIPPED tests/test_comp_with_appdirs.py::test_compatibility[site_log_dir-app_name_with_app_author] SKIPPED tests/test_comp_with_appdirs.py::test_compatibility[site_log_dir-app_name_author_version] SKIPPED tests/test_comp_with_appdirs.py::test_compatibility[site_applications_dir-no_args] SKIPPED tests/test_comp_with_appdirs.py::test_compatibility[site_applications_dir-app_name] SKIPPED tests/test_comp_with_appdirs.py::test_compatibility[site_applications_dir-app_name_with_app_author] SKIPPED tests/test_comp_with_appdirs.py::test_compatibility[site_applications_dir-app_name_author_version] SKIPPED tests/test_comp_with_appdirs.py::test_compatibility[site_runtime_dir-no_args] SKIPPED tests/test_comp_with_appdirs.py::test_compatibility[site_runtime_dir-app_name] SKIPPED tests/test_comp_with_appdirs.py::test_compatibility[site_runtime_dir-app_name_with_app_author] SKIPPED tests/test_comp_with_appdirs.py::test_compatibility[site_runtime_dir-app_name_author_version] SKIPPED tests/test_ios.py::test_ios_platform_uses_the_app_container_library PASSED tests/test_ios.py::test_ios[user_data_dir-no_args] PASSED tests/test_ios.py::test_ios[user_data_dir-app_name] PASSED tests/test_ios.py::test_ios[user_data_dir-app_name_version] PASSED tests/test_ios.py::test_ios[user_config_dir-no_args] PASSED tests/test_ios.py::test_ios[user_config_dir-app_name] PASSED tests/test_ios.py::test_ios[user_config_dir-app_name_version] PASSED tests/test_ios.py::test_ios[user_cache_dir-no_args] PASSED tests/test_ios.py::test_ios[user_cache_dir-app_name] PASSED tests/test_ios.py::test_ios[user_cache_dir-app_name_version] PASSED tests/test_ios.py::test_ios[user_state_dir-no_args] PASSED tests/test_ios.py::test_ios[user_state_dir-app_name] PASSED tests/test_ios.py::test_ios[user_state_dir-app_name_version] PASSED tests/test_ios.py::test_ios[user_log_dir-no_args] PASSED tests/test_ios.py::test_ios[user_log_dir-app_name] PASSED tests/test_ios.py::test_ios[user_log_dir-app_name_version] PASSED tests/test_ios.py::test_ios[user_documents_dir-no_args] PASSED tests/test_ios.py::test_ios[user_documents_dir-app_name] PASSED tests/test_ios.py::test_ios[user_documents_dir-app_name_version] PASSED tests/test_ios.py::test_ios[user_downloads_dir-no_args] PASSED tests/test_ios.py::test_ios[user_downloads_dir-app_name] PASSED tests/test_ios.py::test_ios[user_downloads_dir-app_name_version] PASSED tests/test_ios.py::test_ios[user_pictures_dir-no_args] PASSED tests/test_ios.py::test_ios[user_pictures_dir-app_name] PASSED tests/test_ios.py::test_ios[user_pictures_dir-app_name_version] PASSED tests/test_ios.py::test_ios[user_videos_dir-no_args] PASSED tests/test_ios.py::test_ios[user_videos_dir-app_name] PASSED tests/test_ios.py::test_ios[user_videos_dir-app_name_version] PASSED tests/test_ios.py::test_ios[user_music_dir-no_args] PASSED tests/test_ios.py::test_ios[user_music_dir-app_name] PASSED tests/test_ios.py::test_ios[user_music_dir-app_name_version] PASSED tests/test_ios.py::test_ios[user_desktop_dir-no_args] PASSED tests/test_ios.py::test_ios[user_desktop_dir-app_name] PASSED tests/test_ios.py::test_ios[user_desktop_dir-app_name_version] PASSED tests/test_ios.py::test_ios[user_projects_dir-no_args] PASSED tests/test_ios.py::test_ios[user_projects_dir-app_name] PASSED tests/test_ios.py::test_ios[user_projects_dir-app_name_version] PASSED tests/test_ios.py::test_ios[user_publicshare_dir-no_args] PASSED tests/test_ios.py::test_ios[user_publicshare_dir-app_name] PASSED tests/test_ios.py::test_ios[user_publicshare_dir-app_name_version] PASSED tests/test_ios.py::test_ios[user_templates_dir-no_args] PASSED tests/test_ios.py::test_ios[user_templates_dir-app_name] PASSED tests/test_ios.py::test_ios[user_templates_dir-app_name_version] PASSED tests/test_ios.py::test_ios[user_fonts_dir-no_args] PASSED tests/test_ios.py::test_ios[user_fonts_dir-app_name] PASSED tests/test_ios.py::test_ios[user_fonts_dir-app_name_version] PASSED tests/test_ios.py::test_ios[user_preference_dir-no_args] PASSED tests/test_ios.py::test_ios[user_preference_dir-app_name] PASSED tests/test_ios.py::test_ios[user_preference_dir-app_name_version] PASSED tests/test_ios.py::test_ios[user_bin_dir-no_args] PASSED tests/test_ios.py::test_ios[user_bin_dir-app_name] PASSED tests/test_ios.py::test_ios[user_bin_dir-app_name_version] PASSED tests/test_ios.py::test_ios[site_bin_dir-no_args] PASSED tests/test_ios.py::test_ios[site_bin_dir-app_name] PASSED tests/test_ios.py::test_ios[site_bin_dir-app_name_version] PASSED tests/test_ios.py::test_ios[user_applications_dir-no_args] PASSED tests/test_ios.py::test_ios[user_applications_dir-app_name] PASSED tests/test_ios.py::test_ios[user_applications_dir-app_name_version] PASSED tests/test_ios.py::test_ios[user_runtime_dir-no_args] PASSED tests/test_ios.py::test_ios[user_runtime_dir-app_name] PASSED tests/test_ios.py::test_ios[user_runtime_dir-app_name_version] PASSED tests/test_ios.py::test_ios[site_data_dir-no_args] PASSED tests/test_ios.py::test_ios[site_data_dir-app_name] PASSED tests/test_ios.py::test_ios[site_data_dir-app_name_version] PASSED tests/test_ios.py::test_ios[site_config_dir-no_args] PASSED tests/test_ios.py::test_ios[site_config_dir-app_name] PASSED tests/test_ios.py::test_ios[site_config_dir-app_name_version] PASSED tests/test_ios.py::test_ios[site_cache_dir-no_args] PASSED tests/test_ios.py::test_ios[site_cache_dir-app_name] PASSED tests/test_ios.py::test_ios[site_cache_dir-app_name_version] PASSED tests/test_ios.py::test_ios[site_state_dir-no_args] PASSED tests/test_ios.py::test_ios[site_state_dir-app_name] PASSED tests/test_ios.py::test_ios[site_state_dir-app_name_version] PASSED tests/test_ios.py::test_ios[site_log_dir-no_args] PASSED tests/test_ios.py::test_ios[site_log_dir-app_name] PASSED tests/test_ios.py::test_ios[site_log_dir-app_name_version] PASSED tests/test_ios.py::test_ios[site_applications_dir-no_args] PASSED tests/test_ios.py::test_ios[site_applications_dir-app_name] PASSED tests/test_ios.py::test_ios[site_applications_dir-app_name_version] PASSED tests/test_ios.py::test_ios[site_runtime_dir-no_args] PASSED tests/test_ios.py::test_ios[site_runtime_dir-app_name] PASSED tests/test_ios.py::test_ios[site_runtime_dir-app_name_version] PASSED tests/test_ios.py::test_ios_ensure_exists[site_config_dir] PASSED tests/test_ios.py::test_ios_ensure_exists[user_preference_dir] PASSED tests/test_ios.py::test_ios_ensure_exists[site_log_dir] PASSED tests/test_ios.py::test_ios_ensure_exists[site_runtime_dir] PASSED tests/test_ios.py::test_ios_ensure_exists[user_pictures_dir] PASSED tests/test_ios.py::test_ios_ensure_exists_creates_private[data] PASSED tests/test_ios.py::test_ios_ensure_exists_creates_private[cache] PASSED tests/test_ios.py::test_ios_ensure_exists_creates_private[log] PASSED tests/test_ios.py::test_ios_ensure_exists_creates_private[runtime] PASSED tests/test_ios.py::test_ios_ensure_exists_without_home_creates_nothing PASSED tests/test_ios.py::test_ios_ignores_xdg_variables[user_data_dir] PASSED tests/test_ios.py::test_ios_ignores_xdg_variables[site_config_dir] PASSED tests/test_ios.py::test_ios_ignores_xdg_variables[user_runtime_dir] PASSED tests/test_ios.py::test_ios_ignores_xdg_variables[user_documents_dir] PASSED tests/test_ios.py::test_without_home_ios_dir_raises[home-unset-data] PASSED tests/test_ios.py::test_without_home_ios_dir_raises[home-unset-config] PASSED tests/test_ios.py::test_without_home_ios_dir_raises[home-unset-cache] PASSED tests/test_ios.py::test_without_home_ios_dir_raises[home-unset-log] PASSED tests/test_ios.py::test_without_home_ios_dir_raises[home-unset-runtime] PASSED tests/test_ios.py::test_without_home_ios_dir_raises[home-unset-documents] PASSED tests/test_ios.py::test_without_home_ios_dir_raises[home-unset-applications] PASSED tests/test_ios.py::test_without_home_ios_dir_raises[home-unset-fonts] PASSED tests/test_ios.py::test_without_home_ios_dir_raises[home-empty-data] PASSED tests/test_ios.py::test_without_home_ios_dir_raises[home-empty-config] PASSED tests/test_ios.py::test_without_home_ios_dir_raises[home-empty-cache] PASSED tests/test_ios.py::test_without_home_ios_dir_raises[home-empty-log] PASSED tests/test_ios.py::test_without_home_ios_dir_raises[home-empty-runtime] PASSED tests/test_ios.py::test_without_home_ios_dir_raises[home-empty-documents] PASSED tests/test_ios.py::test_without_home_ios_dir_raises[home-empty-applications] PASSED tests/test_ios.py::test_without_home_ios_dir_raises[home-empty-fonts] PASSED tests/test_macos.py::test_macos[user_data_dir-no_args] PASSED tests/test_macos.py::test_macos[user_data_dir-app_name] PASSED tests/test_macos.py::test_macos[user_data_dir-app_name_version] PASSED tests/test_macos.py::test_macos[user_config_dir-no_args] PASSED tests/test_macos.py::test_macos[user_config_dir-app_name] PASSED tests/test_macos.py::test_macos[user_config_dir-app_name_version] PASSED tests/test_macos.py::test_macos[user_cache_dir-no_args] PASSED tests/test_macos.py::test_macos[user_cache_dir-app_name] PASSED tests/test_macos.py::test_macos[user_cache_dir-app_name_version] PASSED tests/test_macos.py::test_macos[user_state_dir-no_args] PASSED tests/test_macos.py::test_macos[user_state_dir-app_name] PASSED tests/test_macos.py::test_macos[user_state_dir-app_name_version] PASSED tests/test_macos.py::test_macos[user_log_dir-no_args] PASSED tests/test_macos.py::test_macos[user_log_dir-app_name] PASSED tests/test_macos.py::test_macos[user_log_dir-app_name_version] PASSED tests/test_macos.py::test_macos[user_documents_dir-no_args] PASSED tests/test_macos.py::test_macos[user_documents_dir-app_name] PASSED tests/test_macos.py::test_macos[user_documents_dir-app_name_version] PASSED tests/test_macos.py::test_macos[user_downloads_dir-no_args] PASSED tests/test_macos.py::test_macos[user_downloads_dir-app_name] PASSED tests/test_macos.py::test_macos[user_downloads_dir-app_name_version] PASSED tests/test_macos.py::test_macos[user_pictures_dir-no_args] PASSED tests/test_macos.py::test_macos[user_pictures_dir-app_name] PASSED tests/test_macos.py::test_macos[user_pictures_dir-app_name_version] PASSED tests/test_macos.py::test_macos[user_videos_dir-no_args] PASSED tests/test_macos.py::test_macos[user_videos_dir-app_name] PASSED tests/test_macos.py::test_macos[user_videos_dir-app_name_version] PASSED tests/test_macos.py::test_macos[user_music_dir-no_args] PASSED tests/test_macos.py::test_macos[user_music_dir-app_name] PASSED tests/test_macos.py::test_macos[user_music_dir-app_name_version] PASSED tests/test_macos.py::test_macos[user_desktop_dir-no_args] PASSED tests/test_macos.py::test_macos[user_desktop_dir-app_name] PASSED tests/test_macos.py::test_macos[user_desktop_dir-app_name_version] PASSED tests/test_macos.py::test_macos[user_projects_dir-no_args] PASSED tests/test_macos.py::test_macos[user_projects_dir-app_name] PASSED tests/test_macos.py::test_macos[user_projects_dir-app_name_version] PASSED tests/test_macos.py::test_macos[user_publicshare_dir-no_args] PASSED tests/test_macos.py::test_macos[user_publicshare_dir-app_name] PASSED tests/test_macos.py::test_macos[user_publicshare_dir-app_name_version] PASSED tests/test_macos.py::test_macos[user_templates_dir-no_args] PASSED tests/test_macos.py::test_macos[user_templates_dir-app_name] PASSED tests/test_macos.py::test_macos[user_templates_dir-app_name_version] PASSED tests/test_macos.py::test_macos[user_fonts_dir-no_args] PASSED tests/test_macos.py::test_macos[user_fonts_dir-app_name] PASSED tests/test_macos.py::test_macos[user_fonts_dir-app_name_version] PASSED tests/test_macos.py::test_macos[user_preference_dir-no_args] PASSED tests/test_macos.py::test_macos[user_preference_dir-app_name] PASSED tests/test_macos.py::test_macos[user_preference_dir-app_name_version] PASSED tests/test_macos.py::test_macos[user_bin_dir-no_args] PASSED tests/test_macos.py::test_macos[user_bin_dir-app_name] PASSED tests/test_macos.py::test_macos[user_bin_dir-app_name_version] PASSED tests/test_macos.py::test_macos[site_bin_dir-no_args] PASSED tests/test_macos.py::test_macos[site_bin_dir-app_name] PASSED tests/test_macos.py::test_macos[site_bin_dir-app_name_version] PASSED tests/test_macos.py::test_macos[user_applications_dir-no_args] PASSED tests/test_macos.py::test_macos[user_applications_dir-app_name] PASSED tests/test_macos.py::test_macos[user_applications_dir-app_name_version] PASSED tests/test_macos.py::test_macos[user_runtime_dir-no_args] PASSED tests/test_macos.py::test_macos[user_runtime_dir-app_name] PASSED tests/test_macos.py::test_macos[user_runtime_dir-app_name_version] PASSED tests/test_macos.py::test_macos[site_data_dir-no_args] PASSED tests/test_macos.py::test_macos[site_data_dir-app_name] PASSED tests/test_macos.py::test_macos[site_data_dir-app_name_version] PASSED tests/test_macos.py::test_macos[site_config_dir-no_args] PASSED tests/test_macos.py::test_macos[site_config_dir-app_name] PASSED tests/test_macos.py::test_macos[site_config_dir-app_name_version] PASSED tests/test_macos.py::test_macos[site_cache_dir-no_args] PASSED tests/test_macos.py::test_macos[site_cache_dir-app_name] PASSED tests/test_macos.py::test_macos[site_cache_dir-app_name_version] PASSED tests/test_macos.py::test_macos[site_state_dir-no_args] PASSED tests/test_macos.py::test_macos[site_state_dir-app_name] PASSED tests/test_macos.py::test_macos[site_state_dir-app_name_version] PASSED tests/test_macos.py::test_macos[site_log_dir-no_args] PASSED tests/test_macos.py::test_macos[site_log_dir-app_name] PASSED tests/test_macos.py::test_macos[site_log_dir-app_name_version] PASSED tests/test_macos.py::test_macos[site_applications_dir-no_args] PASSED tests/test_macos.py::test_macos[site_applications_dir-app_name] PASSED tests/test_macos.py::test_macos[site_applications_dir-app_name_version] PASSED tests/test_macos.py::test_macos[site_runtime_dir-no_args] PASSED tests/test_macos.py::test_macos[site_runtime_dir-app_name] PASSED tests/test_macos.py::test_macos[site_runtime_dir-app_name_version] PASSED tests/test_macos.py::test_macos_homebrew[multipath-site_data_dir-no_args] PASSED tests/test_macos.py::test_macos_homebrew[multipath-site_data_dir-app_name] PASSED tests/test_macos.py::test_macos_homebrew[multipath-site_data_dir-app_name_version] PASSED tests/test_macos.py::test_macos_homebrew[multipath-site_config_dir-no_args] PASSED tests/test_macos.py::test_macos_homebrew[multipath-site_config_dir-app_name] PASSED tests/test_macos.py::test_macos_homebrew[multipath-site_config_dir-app_name_version] PASSED tests/test_macos.py::test_macos_homebrew[multipath-site_cache_dir-no_args] PASSED tests/test_macos.py::test_macos_homebrew[multipath-site_cache_dir-app_name] PASSED tests/test_macos.py::test_macos_homebrew[multipath-site_cache_dir-app_name_version] PASSED tests/test_macos.py::test_macos_homebrew[multipath-site_runtime_dir-no_args] PASSED tests/test_macos.py::test_macos_homebrew[multipath-site_runtime_dir-app_name] PASSED tests/test_macos.py::test_macos_homebrew[multipath-site_runtime_dir-app_name_version] PASSED tests/test_macos.py::test_macos_homebrew[multipath-site_cache_path-no_args] PASSED tests/test_macos.py::test_macos_homebrew[multipath-site_cache_path-app_name] PASSED tests/test_macos.py::test_macos_homebrew[multipath-site_cache_path-app_name_version] PASSED tests/test_macos.py::test_macos_homebrew[multipath-site_data_path-no_args] PASSED tests/test_macos.py::test_macos_homebrew[multipath-site_data_path-app_name] PASSED tests/test_macos.py::test_macos_homebrew[multipath-site_data_path-app_name_version] PASSED tests/test_macos.py::test_macos_homebrew[multipath-site_config_path-no_args] PASSED tests/test_macos.py::test_macos_homebrew[multipath-site_config_path-app_name] PASSED tests/test_macos.py::test_macos_homebrew[multipath-site_config_path-app_name_version] PASSED tests/test_macos.py::test_macos_homebrew[singlepath-site_data_dir-no_args] PASSED tests/test_macos.py::test_macos_homebrew[singlepath-site_data_dir-app_name] PASSED tests/test_macos.py::test_macos_homebrew[singlepath-site_data_dir-app_name_version] PASSED tests/test_macos.py::test_macos_homebrew[singlepath-site_config_dir-no_args] PASSED tests/test_macos.py::test_macos_homebrew[singlepath-site_config_dir-app_name] PASSED tests/test_macos.py::test_macos_homebrew[singlepath-site_config_dir-app_name_version] PASSED tests/test_macos.py::test_macos_homebrew[singlepath-site_cache_dir-no_args] PASSED tests/test_macos.py::test_macos_homebrew[singlepath-site_cache_dir-app_name] PASSED tests/test_macos.py::test_macos_homebrew[singlepath-site_cache_dir-app_name_version] PASSED tests/test_macos.py::test_macos_homebrew[singlepath-site_runtime_dir-no_args] PASSED tests/test_macos.py::test_macos_homebrew[singlepath-site_runtime_dir-app_name] PASSED tests/test_macos.py::test_macos_homebrew[singlepath-site_runtime_dir-app_name_version] PASSED tests/test_macos.py::test_macos_homebrew[singlepath-site_cache_path-no_args] PASSED tests/test_macos.py::test_macos_homebrew[singlepath-site_cache_path-app_name] PASSED tests/test_macos.py::test_macos_homebrew[singlepath-site_cache_path-app_name_version] PASSED tests/test_macos.py::test_macos_homebrew[singlepath-site_data_path-no_args] PASSED tests/test_macos.py::test_macos_homebrew[singlepath-site_data_path-app_name] PASSED tests/test_macos.py::test_macos_homebrew[singlepath-site_data_path-app_name_version] PASSED tests/test_macos.py::test_macos_homebrew[singlepath-site_config_path-no_args] PASSED tests/test_macos.py::test_macos_homebrew[singlepath-site_config_path-app_name] PASSED tests/test_macos.py::test_macos_homebrew[singlepath-site_config_path-app_name_version] PASSED tests/test_macos.py::test_multipath_reaches_the_module_function[site_data-dir] PASSED tests/test_macos.py::test_multipath_reaches_the_module_function[site_data-path] PASSED tests/test_macos.py::test_multipath_reaches_the_module_function[site_config-dir] PASSED tests/test_macos.py::test_multipath_reaches_the_module_function[site_config-path] PASSED tests/test_macos.py::test_multipath_reaches_the_module_function[site_cache-dir] PASSED tests/test_macos.py::test_multipath_reaches_the_module_function[site_cache-path] PASSED tests/test_macos.py::test_multipath_reaches_the_module_function[site_applications-dir] PASSED tests/test_macos.py::test_multipath_reaches_the_module_function[site_applications-path] PASSED tests/test_macos.py::test_macos_xdg_env_vars[no_args-user_data_dir] PASSED tests/test_macos.py::test_macos_xdg_env_vars[no_args-user_config_dir] PASSED tests/test_macos.py::test_macos_xdg_env_vars[no_args-user_cache_dir] PASSED tests/test_macos.py::test_macos_xdg_env_vars[no_args-user_state_dir] PASSED tests/test_macos.py::test_macos_xdg_env_vars[no_args-user_runtime_dir] PASSED tests/test_macos.py::test_macos_xdg_env_vars[no_args-site_runtime_dir] PASSED tests/test_macos.py::test_macos_xdg_env_vars[app_name-user_data_dir] PASSED tests/test_macos.py::test_macos_xdg_env_vars[app_name-user_config_dir] PASSED tests/test_macos.py::test_macos_xdg_env_vars[app_name-user_cache_dir] PASSED tests/test_macos.py::test_macos_xdg_env_vars[app_name-user_state_dir] PASSED tests/test_macos.py::test_macos_xdg_env_vars[app_name-user_runtime_dir] PASSED tests/test_macos.py::test_macos_xdg_env_vars[app_name-site_runtime_dir] PASSED tests/test_macos.py::test_macos_xdg_env_vars[app_name_version-user_data_dir] PASSED tests/test_macos.py::test_macos_xdg_env_vars[app_name_version-user_config_dir] PASSED tests/test_macos.py::test_macos_xdg_env_vars[app_name_version-user_cache_dir] PASSED tests/test_macos.py::test_macos_xdg_env_vars[app_name_version-user_state_dir] PASSED tests/test_macos.py::test_macos_xdg_env_vars[app_name_version-user_runtime_dir] PASSED tests/test_macos.py::test_macos_xdg_env_vars[app_name_version-site_runtime_dir] PASSED tests/test_macos.py::test_macos_xdg_site_dirs[multipath-site_data_dir] PASSED tests/test_macos.py::test_macos_xdg_site_dirs[multipath-site_config_dir] PASSED tests/test_macos.py::test_macos_xdg_site_dirs[singlepath-site_data_dir] PASSED tests/test_macos.py::test_macos_xdg_site_dirs[singlepath-site_config_dir] PASSED tests/test_macos.py::test_macos_xdg_media_dirs[user_documents_dir] PASSED tests/test_macos.py::test_macos_xdg_media_dirs[user_downloads_dir] PASSED tests/test_macos.py::test_macos_xdg_media_dirs[user_pictures_dir] PASSED tests/test_macos.py::test_macos_xdg_media_dirs[user_videos_dir] PASSED tests/test_macos.py::test_macos_xdg_media_dirs[user_music_dir] PASSED tests/test_macos.py::test_macos_xdg_media_dirs[user_desktop_dir] PASSED tests/test_macos.py::test_macos_xdg_media_dirs[user_projects_dir] PASSED tests/test_macos.py::test_macos_xdg_media_dirs[user_publicshare_dir] PASSED tests/test_macos.py::test_macos_xdg_media_dirs[user_templates_dir] PASSED tests/test_macos.py::test_macos_ensure_exists_creates_configured_media_dir_only[user_documents_dir-xdg] PASSED tests/test_macos.py::test_macos_ensure_exists_creates_configured_media_dir_only[user_documents_dir-default] PASSED tests/test_macos.py::test_macos_ensure_exists_creates_configured_media_dir_only[user_downloads_dir-xdg] PASSED tests/test_macos.py::test_macos_ensure_exists_creates_configured_media_dir_only[user_downloads_dir-default] PASSED tests/test_macos.py::test_macos_ensure_exists_creates_configured_media_dir_only[user_pictures_dir-xdg] PASSED tests/test_macos.py::test_macos_ensure_exists_creates_configured_media_dir_only[user_pictures_dir-default] PASSED tests/test_macos.py::test_macos_ensure_exists_creates_configured_media_dir_only[user_videos_dir-xdg] PASSED tests/test_macos.py::test_macos_ensure_exists_creates_configured_media_dir_only[user_videos_dir-default] PASSED tests/test_macos.py::test_macos_ensure_exists_creates_configured_media_dir_only[user_music_dir-xdg] PASSED tests/test_macos.py::test_macos_ensure_exists_creates_configured_media_dir_only[user_music_dir-default] PASSED tests/test_macos.py::test_macos_ensure_exists_creates_configured_media_dir_only[user_desktop_dir-xdg] PASSED tests/test_macos.py::test_macos_ensure_exists_creates_configured_media_dir_only[user_desktop_dir-default] PASSED tests/test_macos.py::test_macos_ensure_exists_creates_configured_media_dir_only[user_projects_dir-xdg] PASSED tests/test_macos.py::test_macos_ensure_exists_creates_configured_media_dir_only[user_projects_dir-default] PASSED tests/test_macos.py::test_macos_ensure_exists_creates_configured_media_dir_only[user_publicshare_dir-xdg] PASSED tests/test_macos.py::test_macos_ensure_exists_creates_configured_media_dir_only[user_publicshare_dir-default] PASSED tests/test_macos.py::test_macos_ensure_exists_creates_configured_media_dir_only[user_templates_dir-xdg] PASSED tests/test_macos.py::test_macos_ensure_exists_creates_configured_media_dir_only[user_templates_dir-default] PASSED tests/test_macos.py::test_macos_xdg_empty_falls_back[user_data_dir] PASSED tests/test_macos.py::test_macos_xdg_empty_falls_back[user_config_dir] PASSED tests/test_macos.py::test_macos_xdg_empty_falls_back[user_cache_dir] PASSED tests/test_macos.py::test_macos_xdg_empty_falls_back[user_state_dir] PASSED tests/test_macos.py::test_macos_xdg_empty_falls_back[user_runtime_dir] PASSED tests/test_macos.py::test_macos_xdg_empty_falls_back[user_documents_dir] PASSED tests/test_macos.py::test_macos_xdg_empty_falls_back[user_downloads_dir] PASSED tests/test_macos.py::test_macos_xdg_empty_falls_back[user_pictures_dir] PASSED tests/test_macos.py::test_macos_xdg_empty_falls_back[user_videos_dir] PASSED tests/test_macos.py::test_macos_xdg_empty_falls_back[user_music_dir] PASSED tests/test_macos.py::test_macos_xdg_empty_falls_back[user_desktop_dir] PASSED tests/test_macos.py::test_macos_xdg_relative_falls_back[relative-user_data_dir] PASSED tests/test_macos.py::test_macos_xdg_relative_falls_back[relative-user_config_dir] PASSED tests/test_macos.py::test_macos_xdg_relative_falls_back[relative-user_cache_dir] PASSED tests/test_macos.py::test_macos_xdg_relative_falls_back[relative-user_state_dir] PASSED tests/test_macos.py::test_macos_xdg_relative_falls_back[relative-user_runtime_dir] PASSED tests/test_macos.py::test_macos_xdg_relative_falls_back[relative-user_documents_dir] PASSED tests/test_macos.py::test_macos_xdg_relative_falls_back[relative-user_downloads_dir] PASSED tests/test_macos.py::test_macos_xdg_relative_falls_back[relative-user_pictures_dir] PASSED tests/test_macos.py::test_macos_xdg_relative_falls_back[relative-user_videos_dir] PASSED tests/test_macos.py::test_macos_xdg_relative_falls_back[relative-user_music_dir] PASSED tests/test_macos.py::test_macos_xdg_relative_falls_back[relative-user_desktop_dir] PASSED tests/test_macos.py::test_macos_xdg_relative_falls_back[relative-user_projects_dir] PASSED tests/test_macos.py::test_macos_xdg_relative_falls_back[relative-user_publicshare_dir] PASSED tests/test_macos.py::test_macos_xdg_relative_falls_back[relative-user_templates_dir] PASSED tests/test_macos.py::test_macos_xdg_relative_falls_back[tilde-user_data_dir] PASSED tests/test_macos.py::test_macos_xdg_relative_falls_back[tilde-user_config_dir] PASSED tests/test_macos.py::test_macos_xdg_relative_falls_back[tilde-user_cache_dir] PASSED tests/test_macos.py::test_macos_xdg_relative_falls_back[tilde-user_state_dir] PASSED tests/test_macos.py::test_macos_xdg_relative_falls_back[tilde-user_runtime_dir] PASSED tests/test_macos.py::test_macos_xdg_relative_falls_back[tilde-user_documents_dir] PASSED tests/test_macos.py::test_macos_xdg_relative_falls_back[tilde-user_downloads_dir] PASSED tests/test_macos.py::test_macos_xdg_relative_falls_back[tilde-user_pictures_dir] PASSED tests/test_macos.py::test_macos_xdg_relative_falls_back[tilde-user_videos_dir] PASSED tests/test_macos.py::test_macos_xdg_relative_falls_back[tilde-user_music_dir] PASSED tests/test_macos.py::test_macos_xdg_relative_falls_back[tilde-user_desktop_dir] PASSED tests/test_macos.py::test_macos_xdg_relative_falls_back[tilde-user_projects_dir] PASSED tests/test_macos.py::test_macos_xdg_relative_falls_back[tilde-user_publicshare_dir] PASSED tests/test_macos.py::test_macos_xdg_relative_falls_back[tilde-user_templates_dir] PASSED tests/test_macos.py::test_macos_xdg_relative_falls_back[unexpanded-home-user_data_dir] PASSED tests/test_macos.py::test_macos_xdg_relative_falls_back[unexpanded-home-user_config_dir] PASSED tests/test_macos.py::test_macos_xdg_relative_falls_back[unexpanded-home-user_cache_dir] PASSED tests/test_macos.py::test_macos_xdg_relative_falls_back[unexpanded-home-user_state_dir] PASSED tests/test_macos.py::test_macos_xdg_relative_falls_back[unexpanded-home-user_runtime_dir] PASSED tests/test_macos.py::test_macos_xdg_relative_falls_back[unexpanded-home-user_documents_dir] PASSED tests/test_macos.py::test_macos_xdg_relative_falls_back[unexpanded-home-user_downloads_dir] PASSED tests/test_macos.py::test_macos_xdg_relative_falls_back[unexpanded-home-user_pictures_dir] PASSED tests/test_macos.py::test_macos_xdg_relative_falls_back[unexpanded-home-user_videos_dir] PASSED tests/test_macos.py::test_macos_xdg_relative_falls_back[unexpanded-home-user_music_dir] PASSED tests/test_macos.py::test_macos_xdg_relative_falls_back[unexpanded-home-user_desktop_dir] PASSED tests/test_macos.py::test_macos_xdg_relative_falls_back[unexpanded-home-user_projects_dir] PASSED tests/test_macos.py::test_macos_xdg_relative_falls_back[unexpanded-home-user_publicshare_dir] PASSED tests/test_macos.py::test_macos_xdg_relative_falls_back[unexpanded-home-user_templates_dir] PASSED tests/test_macos.py::test_macos_xdg_relative_falls_back[windows-drive-user_data_dir] PASSED tests/test_macos.py::test_macos_xdg_relative_falls_back[windows-drive-user_config_dir] PASSED tests/test_macos.py::test_macos_xdg_relative_falls_back[windows-drive-user_cache_dir] PASSED tests/test_macos.py::test_macos_xdg_relative_falls_back[windows-drive-user_state_dir] PASSED tests/test_macos.py::test_macos_xdg_relative_falls_back[windows-drive-user_runtime_dir] PASSED tests/test_macos.py::test_macos_xdg_relative_falls_back[windows-drive-user_documents_dir] PASSED tests/test_macos.py::test_macos_xdg_relative_falls_back[windows-drive-user_downloads_dir] PASSED tests/test_macos.py::test_macos_xdg_relative_falls_back[windows-drive-user_pictures_dir] PASSED tests/test_macos.py::test_macos_xdg_relative_falls_back[windows-drive-user_videos_dir] PASSED tests/test_macos.py::test_macos_xdg_relative_falls_back[windows-drive-user_music_dir] PASSED tests/test_macos.py::test_macos_xdg_relative_falls_back[windows-drive-user_desktop_dir] PASSED tests/test_macos.py::test_macos_xdg_relative_falls_back[windows-drive-user_projects_dir] PASSED tests/test_macos.py::test_macos_xdg_relative_falls_back[windows-drive-user_publicshare_dir] PASSED tests/test_macos.py::test_macos_xdg_relative_falls_back[windows-drive-user_templates_dir] PASSED tests/test_macos.py::test_no_xdg_vars_leak[data/config] PASSED tests/test_macos.py::test_no_xdg_vars_leak[data/state] PASSED tests/test_macos.py::test_no_xdg_vars_leak[config/state] PASSED tests/test_macos.py::test_iter_data_dirs_xdg PASSED tests/test_macos.py::test_iter_config_dirs_xdg PASSED tests/test_macos.py::test_iter_data_dirs_homebrew PASSED tests/test_macos.py::test_iter_config_dirs_homebrew PASSED tests/test_macos.py::test_site_applications_path_multipath_returns_first_path PASSED tests/test_macos.py::test_site_dirs_fall_back_when_xdg_var_has_no_absolute_paths[site_data_dir-single] PASSED tests/test_macos.py::test_site_dirs_fall_back_when_xdg_var_has_no_absolute_paths[site_data_dir-double] PASSED tests/test_macos.py::test_site_dirs_fall_back_when_xdg_var_has_no_absolute_paths[site_data_dir-padded] PASSED tests/test_macos.py::test_site_dirs_fall_back_when_xdg_var_has_no_absolute_paths[site_data_dir-spaced] PASSED tests/test_macos.py::test_site_dirs_fall_back_when_xdg_var_has_no_absolute_paths[site_data_dir-relative] PASSED tests/test_macos.py::test_site_dirs_fall_back_when_xdg_var_has_no_absolute_paths[site_data_dir-all-relative] PASSED tests/test_macos.py::test_site_dirs_fall_back_when_xdg_var_has_no_absolute_paths[site_config_dir-single] PASSED tests/test_macos.py::test_site_dirs_fall_back_when_xdg_var_has_no_absolute_paths[site_config_dir-double] PASSED tests/test_macos.py::test_site_dirs_fall_back_when_xdg_var_has_no_absolute_paths[site_config_dir-padded] PASSED tests/test_macos.py::test_site_dirs_fall_back_when_xdg_var_has_no_absolute_paths[site_config_dir-spaced] PASSED tests/test_macos.py::test_site_dirs_fall_back_when_xdg_var_has_no_absolute_paths[site_config_dir-relative] PASSED tests/test_macos.py::test_site_dirs_fall_back_when_xdg_var_has_no_absolute_paths[site_config_dir-all-relative] PASSED tests/test_macos.py::test_site_dirs_fall_back_when_xdg_var_has_no_absolute_paths[site_applications_dir-single] PASSED tests/test_macos.py::test_site_dirs_fall_back_when_xdg_var_has_no_absolute_paths[site_applications_dir-double] PASSED tests/test_macos.py::test_site_dirs_fall_back_when_xdg_var_has_no_absolute_paths[site_applications_dir-padded] PASSED tests/test_macos.py::test_site_dirs_fall_back_when_xdg_var_has_no_absolute_paths[site_applications_dir-spaced] PASSED tests/test_macos.py::test_site_dirs_fall_back_when_xdg_var_has_no_absolute_paths[site_applications_dir-relative] PASSED tests/test_macos.py::test_site_dirs_fall_back_when_xdg_var_has_no_absolute_paths[site_applications_dir-all-relative] PASSED tests/test_macos.py::test_iter_cache_dirs_homebrew[True] PASSED tests/test_macos.py::test_iter_cache_dirs_homebrew[False] PASSED tests/test_macos.py::test_iter_cache_paths_homebrew_multipath PASSED tests/test_macos.py::test_iter_data_dirs_no_homebrew PASSED tests/test_macos.py::test_homebrew_site_dir_ensure_exists_creates_only_the_returned_entries[data] PASSED tests/test_macos.py::test_homebrew_site_dir_ensure_exists_creates_only_the_returned_entries[config] PASSED tests/test_macos.py::test_homebrew_site_dir_ensure_exists_creates_only_the_returned_entries[state] PASSED tests/test_macos.py::test_homebrew_site_dir_ensure_exists_creates_only_the_returned_entries[cache] PASSED tests/test_macos.py::test_homebrew_site_dir_ensure_exists_creates_only_the_returned_entries[data-multipath] PASSED tests/test_macos.py::test_homebrew_site_dir_ensure_exists_creates_only_the_returned_entries[state-multipath] PASSED tests/test_macos.py::test_homebrew_site_dir_ensure_exists_creates_only_the_returned_entries[cache-multipath] PASSED tests/test_macos.py::test_homebrew_site_path_ensure_exists_ignores_multipath[data] PASSED tests/test_macos.py::test_homebrew_site_path_ensure_exists_ignores_multipath[config] PASSED tests/test_macos.py::test_homebrew_site_path_ensure_exists_ignores_multipath[cache] PASSED tests/test_macos.py::test_homebrew_iter_dirs_create_site_dirs_only_as_consumed[iter_data_dirs] PASSED tests/test_macos.py::test_homebrew_iter_dirs_create_site_dirs_only_as_consumed[iter_config_dirs] PASSED tests/test_macos.py::test_homebrew_iter_dirs_create_site_dirs_only_as_consumed[iter_cache_dirs] PASSED tests/test_macos.py::test_no_xdg_site_dirs_leak PASSED tests/test_macos.py::test_macos_site_runtime_path PASSED tests/test_macos.py::test_macos_ensure_exists_preexisting_dir PASSED tests/test_macos.py::test_macos_iter_runtime_dirs_no_duplicate PASSED tests/test_macos.py::test_without_home_macos_runtime_dir_raises[home-unset] PASSED tests/test_macos.py::test_without_home_macos_runtime_dir_raises[home-empty] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_data_dir-multipath-opt-apple-silicon] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_data_dir-multipath-opt-intel] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_data_dir-multipath-opt-custom-prefix] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_data_dir-multipath-cellar-apple-silicon] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_data_dir-multipath-cellar-intel] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_data_dir-multipath-cellar-custom-prefix] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_data_dir-multipath-cellar-prerelease-apple-silicon] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_data_dir-multipath-cellar-prerelease-intel] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_data_dir-multipath-cellar-prerelease-custom-prefix] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_data_dir-multipath-freethreading-opt-apple-silicon] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_data_dir-multipath-freethreading-opt-intel] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_data_dir-multipath-freethreading-opt-custom-prefix] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_data_dir-multipath-freethreading-cellar-apple-silicon] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_data_dir-multipath-freethreading-cellar-intel] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_data_dir-multipath-freethreading-cellar-custom-prefix] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_data_dir-singlepath-opt-apple-silicon] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_data_dir-singlepath-opt-intel] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_data_dir-singlepath-opt-custom-prefix] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_data_dir-singlepath-cellar-apple-silicon] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_data_dir-singlepath-cellar-intel] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_data_dir-singlepath-cellar-custom-prefix] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_data_dir-singlepath-cellar-prerelease-apple-silicon] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_data_dir-singlepath-cellar-prerelease-intel] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_data_dir-singlepath-cellar-prerelease-custom-prefix] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_data_dir-singlepath-freethreading-opt-apple-silicon] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_data_dir-singlepath-freethreading-opt-intel] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_data_dir-singlepath-freethreading-opt-custom-prefix] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_data_dir-singlepath-freethreading-cellar-apple-silicon] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_data_dir-singlepath-freethreading-cellar-intel] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_data_dir-singlepath-freethreading-cellar-custom-prefix] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_config_dir-multipath-opt-apple-silicon] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_config_dir-multipath-opt-intel] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_config_dir-multipath-opt-custom-prefix] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_config_dir-multipath-cellar-apple-silicon] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_config_dir-multipath-cellar-intel] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_config_dir-multipath-cellar-custom-prefix] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_config_dir-multipath-cellar-prerelease-apple-silicon] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_config_dir-multipath-cellar-prerelease-intel] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_config_dir-multipath-cellar-prerelease-custom-prefix] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_config_dir-multipath-freethreading-opt-apple-silicon] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_config_dir-multipath-freethreading-opt-intel] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_config_dir-multipath-freethreading-opt-custom-prefix] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_config_dir-multipath-freethreading-cellar-apple-silicon] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_config_dir-multipath-freethreading-cellar-intel] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_config_dir-multipath-freethreading-cellar-custom-prefix] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_config_dir-singlepath-opt-apple-silicon] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_config_dir-singlepath-opt-intel] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_config_dir-singlepath-opt-custom-prefix] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_config_dir-singlepath-cellar-apple-silicon] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_config_dir-singlepath-cellar-intel] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_config_dir-singlepath-cellar-custom-prefix] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_config_dir-singlepath-cellar-prerelease-apple-silicon] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_config_dir-singlepath-cellar-prerelease-intel] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_config_dir-singlepath-cellar-prerelease-custom-prefix] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_config_dir-singlepath-freethreading-opt-apple-silicon] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_config_dir-singlepath-freethreading-opt-intel] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_config_dir-singlepath-freethreading-opt-custom-prefix] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_config_dir-singlepath-freethreading-cellar-apple-silicon] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_config_dir-singlepath-freethreading-cellar-intel] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_config_dir-singlepath-freethreading-cellar-custom-prefix] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_cache_dir-multipath-opt-apple-silicon] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_cache_dir-multipath-opt-intel] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_cache_dir-multipath-opt-custom-prefix] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_cache_dir-multipath-cellar-apple-silicon] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_cache_dir-multipath-cellar-intel] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_cache_dir-multipath-cellar-custom-prefix] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_cache_dir-multipath-cellar-prerelease-apple-silicon] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_cache_dir-multipath-cellar-prerelease-intel] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_cache_dir-multipath-cellar-prerelease-custom-prefix] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_cache_dir-multipath-freethreading-opt-apple-silicon] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_cache_dir-multipath-freethreading-opt-intel] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_cache_dir-multipath-freethreading-opt-custom-prefix] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_cache_dir-multipath-freethreading-cellar-apple-silicon] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_cache_dir-multipath-freethreading-cellar-intel] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_cache_dir-multipath-freethreading-cellar-custom-prefix] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_cache_dir-singlepath-opt-apple-silicon] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_cache_dir-singlepath-opt-intel] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_cache_dir-singlepath-opt-custom-prefix] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_cache_dir-singlepath-cellar-apple-silicon] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_cache_dir-singlepath-cellar-intel] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_cache_dir-singlepath-cellar-custom-prefix] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_cache_dir-singlepath-cellar-prerelease-apple-silicon] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_cache_dir-singlepath-cellar-prerelease-intel] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_cache_dir-singlepath-cellar-prerelease-custom-prefix] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_cache_dir-singlepath-freethreading-opt-apple-silicon] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_cache_dir-singlepath-freethreading-opt-intel] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_cache_dir-singlepath-freethreading-opt-custom-prefix] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_cache_dir-singlepath-freethreading-cellar-apple-silicon] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_cache_dir-singlepath-freethreading-cellar-intel] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_cache_dir-singlepath-freethreading-cellar-custom-prefix] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_state_dir-multipath-opt-apple-silicon] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_state_dir-multipath-opt-intel] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_state_dir-multipath-opt-custom-prefix] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_state_dir-multipath-cellar-apple-silicon] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_state_dir-multipath-cellar-intel] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_state_dir-multipath-cellar-custom-prefix] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_state_dir-multipath-cellar-prerelease-apple-silicon] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_state_dir-multipath-cellar-prerelease-intel] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_state_dir-multipath-cellar-prerelease-custom-prefix] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_state_dir-multipath-freethreading-opt-apple-silicon] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_state_dir-multipath-freethreading-opt-intel] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_state_dir-multipath-freethreading-opt-custom-prefix] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_state_dir-multipath-freethreading-cellar-apple-silicon] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_state_dir-multipath-freethreading-cellar-intel] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_state_dir-multipath-freethreading-cellar-custom-prefix] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_state_dir-singlepath-opt-apple-silicon] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_state_dir-singlepath-opt-intel] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_state_dir-singlepath-opt-custom-prefix] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_state_dir-singlepath-cellar-apple-silicon] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_state_dir-singlepath-cellar-intel] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_state_dir-singlepath-cellar-custom-prefix] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_state_dir-singlepath-cellar-prerelease-apple-silicon] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_state_dir-singlepath-cellar-prerelease-intel] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_state_dir-singlepath-cellar-prerelease-custom-prefix] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_state_dir-singlepath-freethreading-opt-apple-silicon] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_state_dir-singlepath-freethreading-opt-intel] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_state_dir-singlepath-freethreading-opt-custom-prefix] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_state_dir-singlepath-freethreading-cellar-apple-silicon] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_state_dir-singlepath-freethreading-cellar-intel] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_state_dir-singlepath-freethreading-cellar-custom-prefix] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_data_path-multipath-opt-apple-silicon] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_data_path-multipath-opt-intel] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_data_path-multipath-opt-custom-prefix] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_data_path-multipath-cellar-apple-silicon] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_data_path-multipath-cellar-intel] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_data_path-multipath-cellar-custom-prefix] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_data_path-multipath-cellar-prerelease-apple-silicon] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_data_path-multipath-cellar-prerelease-intel] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_data_path-multipath-cellar-prerelease-custom-prefix] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_data_path-multipath-freethreading-opt-apple-silicon] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_data_path-multipath-freethreading-opt-intel] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_data_path-multipath-freethreading-opt-custom-prefix] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_data_path-multipath-freethreading-cellar-apple-silicon] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_data_path-multipath-freethreading-cellar-intel] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_data_path-multipath-freethreading-cellar-custom-prefix] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_data_path-singlepath-opt-apple-silicon] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_data_path-singlepath-opt-intel] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_data_path-singlepath-opt-custom-prefix] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_data_path-singlepath-cellar-apple-silicon] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_data_path-singlepath-cellar-intel] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_data_path-singlepath-cellar-custom-prefix] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_data_path-singlepath-cellar-prerelease-apple-silicon] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_data_path-singlepath-cellar-prerelease-intel] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_data_path-singlepath-cellar-prerelease-custom-prefix] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_data_path-singlepath-freethreading-opt-apple-silicon] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_data_path-singlepath-freethreading-opt-intel] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_data_path-singlepath-freethreading-opt-custom-prefix] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_data_path-singlepath-freethreading-cellar-apple-silicon] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_data_path-singlepath-freethreading-cellar-intel] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_data_path-singlepath-freethreading-cellar-custom-prefix] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_config_path-multipath-opt-apple-silicon] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_config_path-multipath-opt-intel] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_config_path-multipath-opt-custom-prefix] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_config_path-multipath-cellar-apple-silicon] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_config_path-multipath-cellar-intel] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_config_path-multipath-cellar-custom-prefix] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_config_path-multipath-cellar-prerelease-apple-silicon] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_config_path-multipath-cellar-prerelease-intel] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_config_path-multipath-cellar-prerelease-custom-prefix] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_config_path-multipath-freethreading-opt-apple-silicon] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_config_path-multipath-freethreading-opt-intel] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_config_path-multipath-freethreading-opt-custom-prefix] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_config_path-multipath-freethreading-cellar-apple-silicon] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_config_path-multipath-freethreading-cellar-intel] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_config_path-multipath-freethreading-cellar-custom-prefix] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_config_path-singlepath-opt-apple-silicon] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_config_path-singlepath-opt-intel] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_config_path-singlepath-opt-custom-prefix] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_config_path-singlepath-cellar-apple-silicon] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_config_path-singlepath-cellar-intel] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_config_path-singlepath-cellar-custom-prefix] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_config_path-singlepath-cellar-prerelease-apple-silicon] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_config_path-singlepath-cellar-prerelease-intel] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_config_path-singlepath-cellar-prerelease-custom-prefix] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_config_path-singlepath-freethreading-opt-apple-silicon] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_config_path-singlepath-freethreading-opt-intel] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_config_path-singlepath-freethreading-opt-custom-prefix] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_config_path-singlepath-freethreading-cellar-apple-silicon] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_config_path-singlepath-freethreading-cellar-intel] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_config_path-singlepath-freethreading-cellar-custom-prefix] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_cache_path-multipath-opt-apple-silicon] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_cache_path-multipath-opt-intel] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_cache_path-multipath-opt-custom-prefix] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_cache_path-multipath-cellar-apple-silicon] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_cache_path-multipath-cellar-intel] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_cache_path-multipath-cellar-custom-prefix] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_cache_path-multipath-cellar-prerelease-apple-silicon] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_cache_path-multipath-cellar-prerelease-intel] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_cache_path-multipath-cellar-prerelease-custom-prefix] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_cache_path-multipath-freethreading-opt-apple-silicon] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_cache_path-multipath-freethreading-opt-intel] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_cache_path-multipath-freethreading-opt-custom-prefix] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_cache_path-multipath-freethreading-cellar-apple-silicon] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_cache_path-multipath-freethreading-cellar-intel] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_cache_path-multipath-freethreading-cellar-custom-prefix] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_cache_path-singlepath-opt-apple-silicon] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_cache_path-singlepath-opt-intel] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_cache_path-singlepath-opt-custom-prefix] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_cache_path-singlepath-cellar-apple-silicon] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_cache_path-singlepath-cellar-intel] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_cache_path-singlepath-cellar-custom-prefix] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_cache_path-singlepath-cellar-prerelease-apple-silicon] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_cache_path-singlepath-cellar-prerelease-intel] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_cache_path-singlepath-cellar-prerelease-custom-prefix] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_cache_path-singlepath-freethreading-opt-apple-silicon] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_cache_path-singlepath-freethreading-opt-intel] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_cache_path-singlepath-freethreading-opt-custom-prefix] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_cache_path-singlepath-freethreading-cellar-apple-silicon] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_cache_path-singlepath-freethreading-cellar-intel] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_cache_path-singlepath-freethreading-cellar-custom-prefix] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_state_path-multipath-opt-apple-silicon] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_state_path-multipath-opt-intel] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_state_path-multipath-opt-custom-prefix] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_state_path-multipath-cellar-apple-silicon] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_state_path-multipath-cellar-intel] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_state_path-multipath-cellar-custom-prefix] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_state_path-multipath-cellar-prerelease-apple-silicon] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_state_path-multipath-cellar-prerelease-intel] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_state_path-multipath-cellar-prerelease-custom-prefix] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_state_path-multipath-freethreading-opt-apple-silicon] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_state_path-multipath-freethreading-opt-intel] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_state_path-multipath-freethreading-opt-custom-prefix] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_state_path-multipath-freethreading-cellar-apple-silicon] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_state_path-multipath-freethreading-cellar-intel] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_state_path-multipath-freethreading-cellar-custom-prefix] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_state_path-singlepath-opt-apple-silicon] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_state_path-singlepath-opt-intel] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_state_path-singlepath-opt-custom-prefix] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_state_path-singlepath-cellar-apple-silicon] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_state_path-singlepath-cellar-intel] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_state_path-singlepath-cellar-custom-prefix] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_state_path-singlepath-cellar-prerelease-apple-silicon] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_state_path-singlepath-cellar-prerelease-intel] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_state_path-singlepath-cellar-prerelease-custom-prefix] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_state_path-singlepath-freethreading-opt-apple-silicon] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_state_path-singlepath-freethreading-opt-intel] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_state_path-singlepath-freethreading-opt-custom-prefix] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_state_path-singlepath-freethreading-cellar-apple-silicon] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_state_path-singlepath-freethreading-cellar-intel] PASSED tests/test_macos.py::test_homebrew_virtual_environment[site_state_path-singlepath-freethreading-cellar-custom-prefix] PASSED tests/test_macos.py::test_non_homebrew_base_ignores_virtual_environment_name[data] PASSED tests/test_macos.py::test_non_homebrew_base_ignores_virtual_environment_name[config] PASSED tests/test_macos.py::test_non_homebrew_base_ignores_virtual_environment_name[cache] PASSED tests/test_macos.py::test_non_homebrew_base_ignores_virtual_environment_name[state] PASSED tests/test_macos.py::test_non_homebrew_python_uses_system_site_dirs[data-opt-python-at-root] PASSED tests/test_macos.py::test_non_homebrew_python_uses_system_site_dirs[data-opt-python-versioned-dir] PASSED tests/test_macos.py::test_non_homebrew_python_uses_system_site_dirs[data-opt-python-nested] PASSED tests/test_macos.py::test_non_homebrew_python_uses_system_site_dirs[data-cellar-unversioned-keg] PASSED tests/test_macos.py::test_non_homebrew_python_uses_system_site_dirs[cache-opt-python-at-root] PASSED tests/test_macos.py::test_non_homebrew_python_uses_system_site_dirs[cache-opt-python-versioned-dir] PASSED tests/test_macos.py::test_non_homebrew_python_uses_system_site_dirs[cache-opt-python-nested] PASSED tests/test_macos.py::test_non_homebrew_python_uses_system_site_dirs[cache-cellar-unversioned-keg] PASSED tests/test_macos.py::test_macos_user_log_dir_creates_missing_components_private PASSED tests/test_main.py::test_props_same_as_test PASSED tests/test_main.py::test_run_as_module PASSED tests/test_main.py::test_run_prints_permission_error_and_continues PASSED tests/test_pytest_plugin.py::test_platformdirs_isolated_yields_tmp_path PASSED tests/test_pytest_plugin.py::test_platformdirs_isolated_redirects PASSED tests/test_pytest_plugin.py::test_platformdirs_isolated_is_opt_in PASSED tests/test_pytest_plugin.py::test_import_platformdirs_skips_pytest PASSED tests/test_pytest_plugin.py::test_import_before_pytest_main[main-thread] PASSED tests/test_pytest_plugin.py::test_import_before_pytest_main[worker-thread] PASSED tests/test_testing.py::test_isolated_dirs_yields_root_as_path PASSED tests/test_testing.py::test_isolated_dirs_redirects_every_accessor PASSED tests/test_testing.py::test_isolated_dirs_redirects_android PASSED tests/test_testing.py::test_isolated_dirs_restores_android PASSED tests/test_testing.py::test_isolated_dirs_layout[user_data] PASSED tests/test_testing.py::test_isolated_dirs_layout[site_data] PASSED tests/test_testing.py::test_isolated_dirs_layout[user_config] PASSED tests/test_testing.py::test_isolated_dirs_layout[site_config] PASSED tests/test_testing.py::test_isolated_dirs_layout[user_cache] PASSED tests/test_testing.py::test_isolated_dirs_layout[site_cache] PASSED tests/test_testing.py::test_isolated_dirs_layout[user_state] PASSED tests/test_testing.py::test_isolated_dirs_layout[site_state] PASSED tests/test_testing.py::test_isolated_dirs_layout[user_log] PASSED tests/test_testing.py::test_isolated_dirs_layout[site_log] PASSED tests/test_testing.py::test_isolated_dirs_layout[user_runtime] PASSED tests/test_testing.py::test_isolated_dirs_layout[site_runtime] PASSED tests/test_testing.py::test_isolated_dirs_layout[user_preference] PASSED tests/test_testing.py::test_isolated_dirs_layout[user_documents] PASSED tests/test_testing.py::test_isolated_dirs_layout[user_downloads] PASSED tests/test_testing.py::test_isolated_dirs_layout[user_pictures] PASSED tests/test_testing.py::test_isolated_dirs_layout[user_videos] PASSED tests/test_testing.py::test_isolated_dirs_layout[user_music] PASSED tests/test_testing.py::test_isolated_dirs_layout[user_desktop] PASSED tests/test_testing.py::test_isolated_dirs_layout[user_projects] PASSED tests/test_testing.py::test_isolated_dirs_layout[user_publicshare] PASSED tests/test_testing.py::test_isolated_dirs_layout[user_templates] PASSED tests/test_testing.py::test_isolated_dirs_layout[user_fonts] PASSED tests/test_testing.py::test_isolated_dirs_layout[user_bin] PASSED tests/test_testing.py::test_isolated_dirs_layout[site_bin] PASSED tests/test_testing.py::test_isolated_dirs_layout[user_applications] PASSED tests/test_testing.py::test_isolated_dirs_layout[site_applications] PASSED tests/test_testing.py::test_isolated_dirs_ensure_exists_creates_under_root PASSED tests/test_testing.py::test_isolated_dirs_ensure_exists_mode[user] PASSED tests/test_testing.py::test_isolated_dirs_ensure_exists_mode[site] PASSED tests/test_testing.py::test_isolated_dirs_restores_on_exit PASSED tests/test_testing.py::test_isolated_dirs_restores_after_exception PASSED tests/test_testing.py::test_isolated_dirs_nested_restores_outer PASSED tests/test_testing.py::test_isolated_dirs_root_paths_follow_redirected_dirs[single-data] PASSED tests/test_testing.py::test_isolated_dirs_root_paths_follow_redirected_dirs[single-config] PASSED tests/test_testing.py::test_isolated_dirs_root_paths_follow_redirected_dirs[single-preference] PASSED tests/test_testing.py::test_isolated_dirs_root_paths_follow_redirected_dirs[single-applications] PASSED tests/test_testing.py::test_isolated_dirs_root_paths_follow_redirected_dirs[multiple-data] PASSED tests/test_testing.py::test_isolated_dirs_root_paths_follow_redirected_dirs[multiple-config] PASSED tests/test_testing.py::test_isolated_dirs_root_paths_follow_redirected_dirs[multiple-preference] PASSED tests/test_testing.py::test_isolated_dirs_root_paths_follow_redirected_dirs[multiple-applications] PASSED tests/test_testing.py::test_isolated_dirs_root_iter_config_paths PASSED tests/test_testing.py::test_isolated_dirs_restores_root_redirection PASSED tests/test_testing.py::test_isolated_dirs_nested_root_restores_after_exception PASSED tests/test_unix.py::test_user_media_dir[user_documents_dir] PASSED tests/test_unix.py::test_user_media_dir[user_downloads_dir] PASSED tests/test_unix.py::test_user_media_dir[user_pictures_dir] PASSED tests/test_unix.py::test_user_media_dir[user_videos_dir] PASSED tests/test_unix.py::test_user_media_dir[user_music_dir] PASSED tests/test_unix.py::test_user_media_dir[user_desktop_dir] PASSED tests/test_unix.py::test_user_media_dir[user_projects_dir] PASSED tests/test_unix.py::test_user_media_dir[user_publicshare_dir] PASSED tests/test_unix.py::test_user_media_dir[user_templates_dir] PASSED tests/test_unix.py::test_user_media_dir_env_var[user_documents_dir] PASSED tests/test_unix.py::test_user_media_dir_env_var[user_downloads_dir] PASSED tests/test_unix.py::test_user_media_dir_env_var[user_pictures_dir] PASSED tests/test_unix.py::test_user_media_dir_env_var[user_videos_dir] PASSED tests/test_unix.py::test_user_media_dir_env_var[user_music_dir] PASSED tests/test_unix.py::test_user_media_dir_env_var[user_desktop_dir] PASSED tests/test_unix.py::test_user_media_dir_env_var[user_projects_dir] PASSED tests/test_unix.py::test_user_media_dir_env_var[user_publicshare_dir] PASSED tests/test_unix.py::test_user_media_dir_env_var[user_templates_dir] PASSED tests/test_unix.py::test_user_media_dir_default[user_documents_dir] PASSED tests/test_unix.py::test_user_media_dir_default[user_downloads_dir] PASSED tests/test_unix.py::test_user_media_dir_default[user_pictures_dir] PASSED tests/test_unix.py::test_user_media_dir_default[user_videos_dir] PASSED tests/test_unix.py::test_user_media_dir_default[user_music_dir] PASSED tests/test_unix.py::test_user_media_dir_default[user_desktop_dir] PASSED tests/test_unix.py::test_user_media_dir_default[user_projects_dir] PASSED tests/test_unix.py::test_user_media_dir_default[user_publicshare_dir] PASSED tests/test_unix.py::test_user_media_dir_default[user_templates_dir] PASSED tests/test_unix.py::test_user_media_dir_relative_env_var_falls_back[relative-user_documents_dir] PASSED tests/test_unix.py::test_user_media_dir_relative_env_var_falls_back[relative-user_downloads_dir] PASSED tests/test_unix.py::test_user_media_dir_relative_env_var_falls_back[relative-user_pictures_dir] PASSED tests/test_unix.py::test_user_media_dir_relative_env_var_falls_back[relative-user_videos_dir] PASSED tests/test_unix.py::test_user_media_dir_relative_env_var_falls_back[relative-user_music_dir] PASSED tests/test_unix.py::test_user_media_dir_relative_env_var_falls_back[relative-user_desktop_dir] PASSED tests/test_unix.py::test_user_media_dir_relative_env_var_falls_back[relative-user_projects_dir] PASSED tests/test_unix.py::test_user_media_dir_relative_env_var_falls_back[relative-user_publicshare_dir] PASSED tests/test_unix.py::test_user_media_dir_relative_env_var_falls_back[relative-user_templates_dir] PASSED tests/test_unix.py::test_user_media_dir_relative_env_var_falls_back[tilde-user_documents_dir] PASSED tests/test_unix.py::test_user_media_dir_relative_env_var_falls_back[tilde-user_downloads_dir] PASSED tests/test_unix.py::test_user_media_dir_relative_env_var_falls_back[tilde-user_pictures_dir] PASSED tests/test_unix.py::test_user_media_dir_relative_env_var_falls_back[tilde-user_videos_dir] PASSED tests/test_unix.py::test_user_media_dir_relative_env_var_falls_back[tilde-user_music_dir] PASSED tests/test_unix.py::test_user_media_dir_relative_env_var_falls_back[tilde-user_desktop_dir] PASSED tests/test_unix.py::test_user_media_dir_relative_env_var_falls_back[tilde-user_projects_dir] PASSED tests/test_unix.py::test_user_media_dir_relative_env_var_falls_back[tilde-user_publicshare_dir] PASSED tests/test_unix.py::test_user_media_dir_relative_env_var_falls_back[tilde-user_templates_dir] PASSED tests/test_unix.py::test_user_media_dir_relative_env_var_falls_back[unexpanded-home-user_documents_dir] PASSED tests/test_unix.py::test_user_media_dir_relative_env_var_falls_back[unexpanded-home-user_downloads_dir] PASSED tests/test_unix.py::test_user_media_dir_relative_env_var_falls_back[unexpanded-home-user_pictures_dir] PASSED tests/test_unix.py::test_user_media_dir_relative_env_var_falls_back[unexpanded-home-user_videos_dir] PASSED tests/test_unix.py::test_user_media_dir_relative_env_var_falls_back[unexpanded-home-user_music_dir] PASSED tests/test_unix.py::test_user_media_dir_relative_env_var_falls_back[unexpanded-home-user_desktop_dir] PASSED tests/test_unix.py::test_user_media_dir_relative_env_var_falls_back[unexpanded-home-user_projects_dir] PASSED tests/test_unix.py::test_user_media_dir_relative_env_var_falls_back[unexpanded-home-user_publicshare_dir] PASSED tests/test_unix.py::test_user_media_dir_relative_env_var_falls_back[unexpanded-home-user_templates_dir] PASSED tests/test_unix.py::test_user_media_dir_relative_env_var_falls_back[windows-drive-user_documents_dir] PASSED tests/test_unix.py::test_user_media_dir_relative_env_var_falls_back[windows-drive-user_downloads_dir] PASSED tests/test_unix.py::test_user_media_dir_relative_env_var_falls_back[windows-drive-user_pictures_dir] PASSED tests/test_unix.py::test_user_media_dir_relative_env_var_falls_back[windows-drive-user_videos_dir] PASSED tests/test_unix.py::test_user_media_dir_relative_env_var_falls_back[windows-drive-user_music_dir] PASSED tests/test_unix.py::test_user_media_dir_relative_env_var_falls_back[windows-drive-user_desktop_dir] PASSED tests/test_unix.py::test_user_media_dir_relative_env_var_falls_back[windows-drive-user_projects_dir] PASSED tests/test_unix.py::test_user_media_dir_relative_env_var_falls_back[windows-drive-user_publicshare_dir] PASSED tests/test_unix.py::test_user_media_dir_relative_env_var_falls_back[windows-drive-user_templates_dir] PASSED tests/test_unix.py::test_user_fonts_dir_default PASSED tests/test_unix.py::test_user_data_home_derived_path[absolute-fonts] PASSED tests/test_unix.py::test_user_data_home_derived_path[absolute-applications] PASSED tests/test_unix.py::test_user_data_home_derived_path[relative-fonts] PASSED tests/test_unix.py::test_user_data_home_derived_path[relative-applications] PASSED tests/test_unix.py::test_user_preference_dir_is_config_dir PASSED tests/test_unix.py::test_xdg_variable_not_set[user_data_dir] PASSED tests/test_unix.py::test_xdg_variable_not_set[user_config_dir] PASSED tests/test_unix.py::test_xdg_variable_not_set[user_cache_dir] PASSED tests/test_unix.py::test_xdg_variable_not_set[user_state_dir] PASSED tests/test_unix.py::test_xdg_variable_not_set[user_log_dir] PASSED tests/test_unix.py::test_xdg_variable_not_set[user_documents_dir] PASSED tests/test_unix.py::test_xdg_variable_not_set[user_downloads_dir] PASSED tests/test_unix.py::test_xdg_variable_not_set[user_pictures_dir] PASSED tests/test_unix.py::test_xdg_variable_not_set[user_videos_dir] PASSED tests/test_unix.py::test_xdg_variable_not_set[user_music_dir] PASSED tests/test_unix.py::test_xdg_variable_not_set[user_desktop_dir] PASSED tests/test_unix.py::test_xdg_variable_not_set[user_projects_dir] PASSED tests/test_unix.py::test_xdg_variable_not_set[user_publicshare_dir] PASSED tests/test_unix.py::test_xdg_variable_not_set[user_templates_dir] PASSED tests/test_unix.py::test_xdg_variable_not_set[user_fonts_dir] PASSED tests/test_unix.py::test_xdg_variable_not_set[user_preference_dir] PASSED tests/test_unix.py::test_xdg_variable_not_set[user_bin_dir] PASSED tests/test_unix.py::test_xdg_variable_not_set[site_bin_dir] PASSED tests/test_unix.py::test_xdg_variable_not_set[user_applications_dir] PASSED tests/test_unix.py::test_xdg_variable_not_set[user_runtime_dir] PASSED tests/test_unix.py::test_xdg_variable_not_set[site_data_dir] PASSED tests/test_unix.py::test_xdg_variable_not_set[site_config_dir] PASSED tests/test_unix.py::test_xdg_variable_not_set[site_cache_dir] PASSED tests/test_unix.py::test_xdg_variable_not_set[site_state_dir] PASSED tests/test_unix.py::test_xdg_variable_not_set[site_log_dir] PASSED tests/test_unix.py::test_xdg_variable_not_set[site_applications_dir] PASSED tests/test_unix.py::test_xdg_variable_not_set[site_runtime_dir] PASSED tests/test_unix.py::test_xdg_variable_empty_value[user_data_dir] PASSED tests/test_unix.py::test_xdg_variable_empty_value[user_config_dir] PASSED tests/test_unix.py::test_xdg_variable_empty_value[user_cache_dir] PASSED tests/test_unix.py::test_xdg_variable_empty_value[user_state_dir] PASSED tests/test_unix.py::test_xdg_variable_empty_value[user_log_dir] PASSED tests/test_unix.py::test_xdg_variable_empty_value[user_documents_dir] PASSED tests/test_unix.py::test_xdg_variable_empty_value[user_downloads_dir] PASSED tests/test_unix.py::test_xdg_variable_empty_value[user_pictures_dir] PASSED tests/test_unix.py::test_xdg_variable_empty_value[user_videos_dir] PASSED tests/test_unix.py::test_xdg_variable_empty_value[user_music_dir] PASSED tests/test_unix.py::test_xdg_variable_empty_value[user_desktop_dir] PASSED tests/test_unix.py::test_xdg_variable_empty_value[user_projects_dir] PASSED tests/test_unix.py::test_xdg_variable_empty_value[user_publicshare_dir] PASSED tests/test_unix.py::test_xdg_variable_empty_value[user_templates_dir] PASSED tests/test_unix.py::test_xdg_variable_empty_value[user_fonts_dir] PASSED tests/test_unix.py::test_xdg_variable_empty_value[user_preference_dir] PASSED tests/test_unix.py::test_xdg_variable_empty_value[user_bin_dir] PASSED tests/test_unix.py::test_xdg_variable_empty_value[site_bin_dir] PASSED tests/test_unix.py::test_xdg_variable_empty_value[user_applications_dir] PASSED tests/test_unix.py::test_xdg_variable_empty_value[user_runtime_dir] PASSED tests/test_unix.py::test_xdg_variable_empty_value[site_data_dir] PASSED tests/test_unix.py::test_xdg_variable_empty_value[site_config_dir] PASSED tests/test_unix.py::test_xdg_variable_empty_value[site_cache_dir] PASSED tests/test_unix.py::test_xdg_variable_empty_value[site_state_dir] PASSED tests/test_unix.py::test_xdg_variable_empty_value[site_log_dir] PASSED tests/test_unix.py::test_xdg_variable_empty_value[site_applications_dir] PASSED tests/test_unix.py::test_xdg_variable_empty_value[site_runtime_dir] PASSED tests/test_unix.py::test_xdg_variable_custom_value[user_data_dir] PASSED tests/test_unix.py::test_xdg_variable_custom_value[user_config_dir] PASSED tests/test_unix.py::test_xdg_variable_custom_value[user_cache_dir] PASSED tests/test_unix.py::test_xdg_variable_custom_value[user_state_dir] PASSED tests/test_unix.py::test_xdg_variable_custom_value[user_log_dir] PASSED tests/test_unix.py::test_xdg_variable_custom_value[user_documents_dir] PASSED tests/test_unix.py::test_xdg_variable_custom_value[user_downloads_dir] PASSED tests/test_unix.py::test_xdg_variable_custom_value[user_pictures_dir] PASSED tests/test_unix.py::test_xdg_variable_custom_value[user_videos_dir] PASSED tests/test_unix.py::test_xdg_variable_custom_value[user_music_dir] PASSED tests/test_unix.py::test_xdg_variable_custom_value[user_desktop_dir] PASSED tests/test_unix.py::test_xdg_variable_custom_value[user_projects_dir] PASSED tests/test_unix.py::test_xdg_variable_custom_value[user_publicshare_dir] PASSED tests/test_unix.py::test_xdg_variable_custom_value[user_templates_dir] PASSED tests/test_unix.py::test_xdg_variable_custom_value[user_fonts_dir] PASSED tests/test_unix.py::test_xdg_variable_custom_value[user_preference_dir] PASSED tests/test_unix.py::test_xdg_variable_custom_value[user_bin_dir] PASSED tests/test_unix.py::test_xdg_variable_custom_value[site_bin_dir] PASSED tests/test_unix.py::test_xdg_variable_custom_value[user_applications_dir] PASSED tests/test_unix.py::test_xdg_variable_custom_value[user_runtime_dir] PASSED tests/test_unix.py::test_xdg_variable_custom_value[site_data_dir] PASSED tests/test_unix.py::test_xdg_variable_custom_value[site_config_dir] PASSED tests/test_unix.py::test_xdg_variable_custom_value[site_cache_dir] PASSED tests/test_unix.py::test_xdg_variable_custom_value[site_state_dir] PASSED tests/test_unix.py::test_xdg_variable_custom_value[site_log_dir] PASSED tests/test_unix.py::test_xdg_variable_custom_value[site_applications_dir] PASSED tests/test_unix.py::test_xdg_variable_custom_value[site_runtime_dir] PASSED tests/test_unix.py::test_xdg_variable_padded_value[user_data_dir] PASSED tests/test_unix.py::test_xdg_variable_padded_value[user_config_dir] PASSED tests/test_unix.py::test_xdg_variable_padded_value[user_cache_dir] PASSED tests/test_unix.py::test_xdg_variable_padded_value[user_state_dir] PASSED tests/test_unix.py::test_xdg_variable_padded_value[user_log_dir] PASSED tests/test_unix.py::test_xdg_variable_padded_value[user_documents_dir] PASSED tests/test_unix.py::test_xdg_variable_padded_value[user_downloads_dir] PASSED tests/test_unix.py::test_xdg_variable_padded_value[user_pictures_dir] PASSED tests/test_unix.py::test_xdg_variable_padded_value[user_videos_dir] PASSED tests/test_unix.py::test_xdg_variable_padded_value[user_music_dir] PASSED tests/test_unix.py::test_xdg_variable_padded_value[user_desktop_dir] PASSED tests/test_unix.py::test_xdg_variable_padded_value[user_projects_dir] PASSED tests/test_unix.py::test_xdg_variable_padded_value[user_publicshare_dir] PASSED tests/test_unix.py::test_xdg_variable_padded_value[user_templates_dir] PASSED tests/test_unix.py::test_xdg_variable_padded_value[user_fonts_dir] PASSED tests/test_unix.py::test_xdg_variable_padded_value[user_preference_dir] PASSED tests/test_unix.py::test_xdg_variable_padded_value[user_bin_dir] PASSED tests/test_unix.py::test_xdg_variable_padded_value[site_bin_dir] PASSED tests/test_unix.py::test_xdg_variable_padded_value[user_applications_dir] PASSED tests/test_unix.py::test_xdg_variable_padded_value[user_runtime_dir] PASSED tests/test_unix.py::test_xdg_variable_padded_value[site_data_dir] PASSED tests/test_unix.py::test_xdg_variable_padded_value[site_config_dir] PASSED tests/test_unix.py::test_xdg_variable_padded_value[site_cache_dir] PASSED tests/test_unix.py::test_xdg_variable_padded_value[site_state_dir] PASSED tests/test_unix.py::test_xdg_variable_padded_value[site_log_dir] PASSED tests/test_unix.py::test_xdg_variable_padded_value[site_applications_dir] PASSED tests/test_unix.py::test_xdg_variable_padded_value[site_runtime_dir] PASSED tests/test_unix.py::test_xdg_variable_relative_value[relative-data] PASSED tests/test_unix.py::test_xdg_variable_relative_value[relative-config] PASSED tests/test_unix.py::test_xdg_variable_relative_value[relative-cache] PASSED tests/test_unix.py::test_xdg_variable_relative_value[relative-state] PASSED tests/test_unix.py::test_xdg_variable_relative_value[relative-log] PASSED tests/test_unix.py::test_xdg_variable_relative_value[relative-preference] PASSED tests/test_unix.py::test_xdg_variable_relative_value[tilde-data] PASSED tests/test_unix.py::test_xdg_variable_relative_value[tilde-config] PASSED tests/test_unix.py::test_xdg_variable_relative_value[tilde-cache] PASSED tests/test_unix.py::test_xdg_variable_relative_value[tilde-state] PASSED tests/test_unix.py::test_xdg_variable_relative_value[tilde-log] PASSED tests/test_unix.py::test_xdg_variable_relative_value[tilde-preference] PASSED tests/test_unix.py::test_xdg_variable_relative_value[unexpanded-home-data] PASSED tests/test_unix.py::test_xdg_variable_relative_value[unexpanded-home-config] PASSED tests/test_unix.py::test_xdg_variable_relative_value[unexpanded-home-cache] PASSED tests/test_unix.py::test_xdg_variable_relative_value[unexpanded-home-state] PASSED tests/test_unix.py::test_xdg_variable_relative_value[unexpanded-home-log] PASSED tests/test_unix.py::test_xdg_variable_relative_value[unexpanded-home-preference] PASSED tests/test_unix.py::test_xdg_variable_relative_value[windows-drive-data] PASSED tests/test_unix.py::test_xdg_variable_relative_value[windows-drive-config] PASSED tests/test_unix.py::test_xdg_variable_relative_value[windows-drive-cache] PASSED tests/test_unix.py::test_xdg_variable_relative_value[windows-drive-state] PASSED tests/test_unix.py::test_xdg_variable_relative_value[windows-drive-log] PASSED tests/test_unix.py::test_xdg_variable_relative_value[windows-drive-preference] PASSED tests/test_unix.py::test_site_log_dir_fixed_path[True] PASSED tests/test_unix.py::test_site_log_dir_fixed_path[False] PASSED tests/test_unix.py::test_site_state_dir_fixed_path PASSED tests/test_unix.py::test_site_cache_path_multipath_keeps_path_separator_in_app_arguments PASSED tests/test_unix.py::test_freebsd_netbsd_site_runtime_dir[freebsd] PASSED tests/test_unix.py::test_freebsd_netbsd_site_runtime_dir[netbsd] PASSED tests/test_unix.py::test_openbsd_site_runtime_dir PASSED tests/test_unix.py::test_platform_on_win32 PASSED tests/test_unix.py::test_user_runtime_dir_temp_fallback_mode[created-private] PASSED tests/test_unix.py::test_user_runtime_dir_temp_fallback_mode[loose-mode-tightened] PASSED tests/test_unix.py::test_user_runtime_dir_temp_fallback_mode[loose-mode-untouched-without-ensure-exists] PASSED tests/test_unix.py::test_user_runtime_dir_temp_fallback_rejects_other_owner[ensure-exists] PASSED tests/test_unix.py::test_user_runtime_dir_temp_fallback_rejects_other_owner[lookup] PASSED tests/test_unix.py::test_runtime_dir_uses_private_xdg_runtime_dir PASSED tests/test_unix.py::test_runtime_dir_returns_missing_xdg_runtime_dir PASSED tests/test_unix.py::test_runtime_dir_creates_xdg_runtime_dir_private PASSED tests/test_unix.py::test_runtime_dir_invalid_xdg_runtime_dir_falls_back[symlink] PASSED tests/test_unix.py::test_runtime_dir_invalid_xdg_runtime_dir_falls_back[file] PASSED tests/test_unix.py::test_runtime_dir_invalid_xdg_runtime_dir_falls_back[mode-755] PASSED tests/test_unix.py::test_runtime_dir_invalid_xdg_runtime_dir_falls_back[mode-500] PASSED tests/test_unix.py::test_runtime_dir_invalid_xdg_runtime_dir_warns[symlink] PASSED tests/test_unix.py::test_runtime_dir_invalid_xdg_runtime_dir_warns[file] PASSED tests/test_unix.py::test_runtime_dir_invalid_xdg_runtime_dir_warns[mode-755] PASSED tests/test_unix.py::test_runtime_dir_invalid_xdg_runtime_dir_warns[mode-500] PASSED tests/test_unix.py::test_runtime_dir_xdg_runtime_dir_of_other_user_warns PASSED tests/test_unix.py::test_runtime_dir_unreachable_xdg_runtime_dir_warns[lazy-file] PASSED tests/test_unix.py::test_runtime_dir_unreachable_xdg_runtime_dir_warns[lazy-symlink-loop] PASSED tests/test_unix.py::test_runtime_dir_unreachable_xdg_runtime_dir_warns[ensure-exists-file] PASSED tests/test_unix.py::test_runtime_dir_unreachable_xdg_runtime_dir_warns[ensure-exists-symlink-loop] PASSED tests/test_unix.py::test_runtime_dir_uses_private_default_dir[linux] PASSED tests/test_unix.py::test_runtime_dir_uses_private_default_dir[freebsd] PASSED tests/test_unix.py::test_runtime_dir_uses_private_default_dir[netbsd] PASSED tests/test_unix.py::test_runtime_dir_uses_private_default_dir[openbsd] PASSED tests/test_unix.py::test_runtime_dir_unset_warns PASSED tests/test_unix.py::test_runtime_dir_invalid_default_dir_falls_back[symlink-linux] PASSED tests/test_unix.py::test_runtime_dir_invalid_default_dir_falls_back[symlink-freebsd] PASSED tests/test_unix.py::test_runtime_dir_invalid_default_dir_falls_back[symlink-netbsd] PASSED tests/test_unix.py::test_runtime_dir_invalid_default_dir_falls_back[symlink-openbsd] PASSED tests/test_unix.py::test_runtime_dir_invalid_default_dir_falls_back[file-linux] PASSED tests/test_unix.py::test_runtime_dir_invalid_default_dir_falls_back[file-freebsd] PASSED tests/test_unix.py::test_runtime_dir_invalid_default_dir_falls_back[file-netbsd] PASSED tests/test_unix.py::test_runtime_dir_invalid_default_dir_falls_back[file-openbsd] PASSED tests/test_unix.py::test_runtime_dir_invalid_default_dir_falls_back[mode-755-linux] PASSED tests/test_unix.py::test_runtime_dir_invalid_default_dir_falls_back[mode-755-freebsd] PASSED tests/test_unix.py::test_runtime_dir_invalid_default_dir_falls_back[mode-755-netbsd] PASSED tests/test_unix.py::test_runtime_dir_invalid_default_dir_falls_back[mode-755-openbsd] PASSED tests/test_unix.py::test_runtime_dir_invalid_default_dir_falls_back[mode-500-linux] PASSED tests/test_unix.py::test_runtime_dir_invalid_default_dir_falls_back[mode-500-freebsd] PASSED tests/test_unix.py::test_runtime_dir_invalid_default_dir_falls_back[mode-500-netbsd] PASSED tests/test_unix.py::test_runtime_dir_invalid_default_dir_falls_back[mode-500-openbsd] PASSED tests/test_unix.py::test_runtime_dir_invalid_default_dir_falls_back[missing-linux] PASSED tests/test_unix.py::test_runtime_dir_invalid_default_dir_falls_back[missing-freebsd] PASSED tests/test_unix.py::test_runtime_dir_invalid_default_dir_falls_back[missing-netbsd] PASSED tests/test_unix.py::test_runtime_dir_invalid_default_dir_falls_back[missing-openbsd] PASSED tests/test_unix.py::test_runtime_dir_default_dir_of_other_user_falls_back PASSED tests/test_unix.py::test_runtime_dir_temp_fallback_rejects[symlink-ensure-exists] PASSED tests/test_unix.py::test_runtime_dir_temp_fallback_rejects[symlink-lookup] PASSED tests/test_unix.py::test_runtime_dir_temp_fallback_rejects[file-ensure-exists] PASSED tests/test_unix.py::test_runtime_dir_temp_fallback_rejects[file-lookup] PASSED tests/test_unix.py::test_runtime_dir_warns_once PASSED tests/test_unix.py::test_runtime_dir_warning_points_at_caller PASSED tests/test_unix.py::test_runtime_dir_site_redirect_skips_checks PASSED tests/test_unix.py::test_ensure_exists_creates_folder PASSED tests/test_unix.py::test_folder_not_created_without_ensure_exists PASSED tests/test_unix.py::test_without_home_raises[home-unset-user_data_dir-unix] PASSED tests/test_unix.py::test_without_home_raises[home-unset-user_data_dir-macos] PASSED tests/test_unix.py::test_without_home_raises[home-unset-user_config_dir-unix] PASSED tests/test_unix.py::test_without_home_raises[home-unset-user_config_dir-macos] PASSED tests/test_unix.py::test_without_home_raises[home-unset-user_cache_dir-unix] PASSED tests/test_unix.py::test_without_home_raises[home-unset-user_cache_dir-macos] PASSED tests/test_unix.py::test_without_home_raises[home-unset-user_state_dir-unix] PASSED tests/test_unix.py::test_without_home_raises[home-unset-user_state_dir-macos] PASSED tests/test_unix.py::test_without_home_raises[home-unset-user_log_dir-unix] PASSED tests/test_unix.py::test_without_home_raises[home-unset-user_log_dir-macos] PASSED tests/test_unix.py::test_without_home_raises[home-unset-user_preference_dir-unix] PASSED tests/test_unix.py::test_without_home_raises[home-unset-user_preference_dir-macos] PASSED tests/test_unix.py::test_without_home_raises[home-unset-user_documents_dir-unix] PASSED tests/test_unix.py::test_without_home_raises[home-unset-user_documents_dir-macos] PASSED tests/test_unix.py::test_without_home_raises[home-unset-user_downloads_dir-unix] PASSED tests/test_unix.py::test_without_home_raises[home-unset-user_downloads_dir-macos] PASSED tests/test_unix.py::test_without_home_raises[home-unset-user_pictures_dir-unix] PASSED tests/test_unix.py::test_without_home_raises[home-unset-user_pictures_dir-macos] PASSED tests/test_unix.py::test_without_home_raises[home-unset-user_videos_dir-unix] PASSED tests/test_unix.py::test_without_home_raises[home-unset-user_videos_dir-macos] PASSED tests/test_unix.py::test_without_home_raises[home-unset-user_music_dir-unix] PASSED tests/test_unix.py::test_without_home_raises[home-unset-user_music_dir-macos] PASSED tests/test_unix.py::test_without_home_raises[home-unset-user_desktop_dir-unix] PASSED tests/test_unix.py::test_without_home_raises[home-unset-user_desktop_dir-macos] PASSED tests/test_unix.py::test_without_home_raises[home-unset-user_projects_dir-unix] PASSED tests/test_unix.py::test_without_home_raises[home-unset-user_projects_dir-macos] PASSED tests/test_unix.py::test_without_home_raises[home-unset-user_publicshare_dir-unix] PASSED tests/test_unix.py::test_without_home_raises[home-unset-user_publicshare_dir-macos] PASSED tests/test_unix.py::test_without_home_raises[home-unset-user_templates_dir-unix] PASSED tests/test_unix.py::test_without_home_raises[home-unset-user_templates_dir-macos] PASSED tests/test_unix.py::test_without_home_raises[home-unset-user_fonts_dir-unix] PASSED tests/test_unix.py::test_without_home_raises[home-unset-user_fonts_dir-macos] PASSED tests/test_unix.py::test_without_home_raises[home-unset-user_bin_dir-unix] PASSED tests/test_unix.py::test_without_home_raises[home-unset-user_bin_dir-macos] PASSED tests/test_unix.py::test_without_home_raises[home-unset-user_applications_dir-unix] PASSED tests/test_unix.py::test_without_home_raises[home-unset-user_applications_dir-macos] PASSED tests/test_unix.py::test_without_home_raises[home-unset-user_data_path-unix] PASSED tests/test_unix.py::test_without_home_raises[home-unset-user_data_path-macos] PASSED tests/test_unix.py::test_without_home_raises[home-empty-user_data_dir-unix] PASSED tests/test_unix.py::test_without_home_raises[home-empty-user_data_dir-macos] PASSED tests/test_unix.py::test_without_home_raises[home-empty-user_config_dir-unix] PASSED tests/test_unix.py::test_without_home_raises[home-empty-user_config_dir-macos] PASSED tests/test_unix.py::test_without_home_raises[home-empty-user_cache_dir-unix] PASSED tests/test_unix.py::test_without_home_raises[home-empty-user_cache_dir-macos] PASSED tests/test_unix.py::test_without_home_raises[home-empty-user_state_dir-unix] PASSED tests/test_unix.py::test_without_home_raises[home-empty-user_state_dir-macos] PASSED tests/test_unix.py::test_without_home_raises[home-empty-user_log_dir-unix] PASSED tests/test_unix.py::test_without_home_raises[home-empty-user_log_dir-macos] PASSED tests/test_unix.py::test_without_home_raises[home-empty-user_preference_dir-unix] PASSED tests/test_unix.py::test_without_home_raises[home-empty-user_preference_dir-macos] PASSED tests/test_unix.py::test_without_home_raises[home-empty-user_documents_dir-unix] PASSED tests/test_unix.py::test_without_home_raises[home-empty-user_documents_dir-macos] PASSED tests/test_unix.py::test_without_home_raises[home-empty-user_downloads_dir-unix] PASSED tests/test_unix.py::test_without_home_raises[home-empty-user_downloads_dir-macos] PASSED tests/test_unix.py::test_without_home_raises[home-empty-user_pictures_dir-unix] PASSED tests/test_unix.py::test_without_home_raises[home-empty-user_pictures_dir-macos] PASSED tests/test_unix.py::test_without_home_raises[home-empty-user_videos_dir-unix] PASSED tests/test_unix.py::test_without_home_raises[home-empty-user_videos_dir-macos] PASSED tests/test_unix.py::test_without_home_raises[home-empty-user_music_dir-unix] PASSED tests/test_unix.py::test_without_home_raises[home-empty-user_music_dir-macos] PASSED tests/test_unix.py::test_without_home_raises[home-empty-user_desktop_dir-unix] PASSED tests/test_unix.py::test_without_home_raises[home-empty-user_desktop_dir-macos] PASSED tests/test_unix.py::test_without_home_raises[home-empty-user_projects_dir-unix] PASSED tests/test_unix.py::test_without_home_raises[home-empty-user_projects_dir-macos] PASSED tests/test_unix.py::test_without_home_raises[home-empty-user_publicshare_dir-unix] PASSED tests/test_unix.py::test_without_home_raises[home-empty-user_publicshare_dir-macos] PASSED tests/test_unix.py::test_without_home_raises[home-empty-user_templates_dir-unix] PASSED tests/test_unix.py::test_without_home_raises[home-empty-user_templates_dir-macos] PASSED tests/test_unix.py::test_without_home_raises[home-empty-user_fonts_dir-unix] PASSED tests/test_unix.py::test_without_home_raises[home-empty-user_fonts_dir-macos] PASSED tests/test_unix.py::test_without_home_raises[home-empty-user_bin_dir-unix] PASSED tests/test_unix.py::test_without_home_raises[home-empty-user_bin_dir-macos] PASSED tests/test_unix.py::test_without_home_raises[home-empty-user_applications_dir-unix] PASSED tests/test_unix.py::test_without_home_raises[home-empty-user_applications_dir-macos] PASSED tests/test_unix.py::test_without_home_raises[home-empty-user_data_path-unix] PASSED tests/test_unix.py::test_without_home_raises[home-empty-user_data_path-macos] PASSED tests/test_unix.py::test_without_home_ensure_exists_creates_nothing[home-unset-unix] PASSED tests/test_unix.py::test_without_home_ensure_exists_creates_nothing[home-unset-macos] PASSED tests/test_unix.py::test_without_home_ensure_exists_creates_nothing[home-empty-unix] PASSED tests/test_unix.py::test_without_home_ensure_exists_creates_nothing[home-empty-macos] PASSED tests/test_unix.py::test_without_home_raises_for_home_relative_user_dirs_entry[home-unset] PASSED tests/test_unix.py::test_without_home_raises_for_home_relative_user_dirs_entry[home-empty] PASSED tests/test_unix.py::test_without_home_absolute_xdg_dir_applies[home-unset-user_data_dir-unix] PASSED tests/test_unix.py::test_without_home_absolute_xdg_dir_applies[home-unset-user_data_dir-macos] PASSED tests/test_unix.py::test_without_home_absolute_xdg_dir_applies[home-unset-user_config_dir-unix] PASSED tests/test_unix.py::test_without_home_absolute_xdg_dir_applies[home-unset-user_config_dir-macos] PASSED tests/test_unix.py::test_without_home_absolute_xdg_dir_applies[home-unset-user_cache_dir-unix] PASSED tests/test_unix.py::test_without_home_absolute_xdg_dir_applies[home-unset-user_cache_dir-macos] PASSED tests/test_unix.py::test_without_home_absolute_xdg_dir_applies[home-unset-user_state_dir-unix] PASSED tests/test_unix.py::test_without_home_absolute_xdg_dir_applies[home-unset-user_state_dir-macos] PASSED tests/test_unix.py::test_without_home_absolute_xdg_dir_applies[home-unset-user_fonts_dir-unix] PASSED tests/test_unix.py::test_without_home_absolute_xdg_dir_applies[home-unset-user_fonts_dir-macos] PASSED tests/test_unix.py::test_without_home_absolute_xdg_dir_applies[home-unset-user_documents_dir-unix] PASSED tests/test_unix.py::test_without_home_absolute_xdg_dir_applies[home-unset-user_documents_dir-macos] PASSED tests/test_unix.py::test_without_home_absolute_xdg_dir_applies[home-empty-user_data_dir-unix] PASSED tests/test_unix.py::test_without_home_absolute_xdg_dir_applies[home-empty-user_data_dir-macos] PASSED tests/test_unix.py::test_without_home_absolute_xdg_dir_applies[home-empty-user_config_dir-unix] PASSED tests/test_unix.py::test_without_home_absolute_xdg_dir_applies[home-empty-user_config_dir-macos] PASSED tests/test_unix.py::test_without_home_absolute_xdg_dir_applies[home-empty-user_cache_dir-unix] PASSED tests/test_unix.py::test_without_home_absolute_xdg_dir_applies[home-empty-user_cache_dir-macos] PASSED tests/test_unix.py::test_without_home_absolute_xdg_dir_applies[home-empty-user_state_dir-unix] PASSED tests/test_unix.py::test_without_home_absolute_xdg_dir_applies[home-empty-user_state_dir-macos] PASSED tests/test_unix.py::test_without_home_absolute_xdg_dir_applies[home-empty-user_fonts_dir-unix] PASSED tests/test_unix.py::test_without_home_absolute_xdg_dir_applies[home-empty-user_fonts_dir-macos] PASSED tests/test_unix.py::test_without_home_absolute_xdg_dir_applies[home-empty-user_documents_dir-unix] PASSED tests/test_unix.py::test_without_home_absolute_xdg_dir_applies[home-empty-user_documents_dir-macos] PASSED tests/test_unix.py::test_user_fonts_dir_xdg_trailing_separator[root-unix] PASSED tests/test_unix.py::test_user_fonts_dir_xdg_trailing_separator[root-macos] PASSED tests/test_unix.py::test_user_fonts_dir_xdg_trailing_separator[trailing_slash-unix] PASSED tests/test_unix.py::test_user_fonts_dir_xdg_trailing_separator[trailing_slash-macos] PASSED tests/test_unix.py::test_without_home_absolute_user_dirs_entry_applies[home-unset] PASSED tests/test_unix.py::test_without_home_absolute_user_dirs_entry_applies[home-empty] PASSED tests/test_unix.py::test_without_home_site_dir_applies[home-unset-unix-site_config_dir] PASSED tests/test_unix.py::test_without_home_site_dir_applies[home-unset-unix-site_cache_dir] PASSED tests/test_unix.py::test_without_home_site_dir_applies[home-unset-unix-site_state_dir] PASSED tests/test_unix.py::test_without_home_site_dir_applies[home-unset-unix-site_log_dir] PASSED tests/test_unix.py::test_without_home_site_dir_applies[home-unset-unix-site_bin_dir] PASSED tests/test_unix.py::test_without_home_site_dir_applies[home-unset-macos-site_log_dir] PASSED tests/test_unix.py::test_without_home_site_dir_applies[home-unset-macos-site_applications_dir] PASSED tests/test_unix.py::test_without_home_site_dir_applies[home-empty-unix-site_config_dir] PASSED tests/test_unix.py::test_without_home_site_dir_applies[home-empty-unix-site_cache_dir] PASSED tests/test_unix.py::test_without_home_site_dir_applies[home-empty-unix-site_state_dir] PASSED tests/test_unix.py::test_without_home_site_dir_applies[home-empty-unix-site_log_dir] PASSED tests/test_unix.py::test_without_home_site_dir_applies[home-empty-unix-site_bin_dir] PASSED tests/test_unix.py::test_without_home_site_dir_applies[home-empty-macos-site_log_dir] PASSED tests/test_unix.py::test_without_home_site_dir_applies[home-empty-macos-site_applications_dir] PASSED tests/test_unix.py::test_empty_home_uses_passwd_entry[unix] PASSED tests/test_unix.py::test_empty_home_uses_passwd_entry[macos] PASSED tests/test_unix.py::test_place_file_without_home_creates_nothing[home-unset-unix] PASSED tests/test_unix.py::test_place_file_without_home_creates_nothing[home-unset-macos] PASSED tests/test_unix.py::test_place_file_without_home_creates_nothing[home-empty-unix] PASSED tests/test_unix.py::test_place_file_without_home_creates_nothing[home-empty-macos] PASSED tests/test_unix.py::test_place_runtime_file_rejects_temp_fallback_of_other_owner PASSED tests/test_unix.py::test_ensure_exists_creates_configured_media_dir_only[user_documents_dir-env] PASSED tests/test_unix.py::test_ensure_exists_creates_configured_media_dir_only[user_documents_dir-user-dirs] PASSED tests/test_unix.py::test_ensure_exists_creates_configured_media_dir_only[user_documents_dir-default] PASSED tests/test_unix.py::test_ensure_exists_creates_configured_media_dir_only[user_documents_dir-env-off] PASSED tests/test_unix.py::test_ensure_exists_creates_configured_media_dir_only[user_documents_dir-user-dirs-off] PASSED tests/test_unix.py::test_ensure_exists_creates_configured_media_dir_only[user_downloads_dir-env] PASSED tests/test_unix.py::test_ensure_exists_creates_configured_media_dir_only[user_downloads_dir-user-dirs] PASSED tests/test_unix.py::test_ensure_exists_creates_configured_media_dir_only[user_downloads_dir-default] PASSED tests/test_unix.py::test_ensure_exists_creates_configured_media_dir_only[user_downloads_dir-env-off] PASSED tests/test_unix.py::test_ensure_exists_creates_configured_media_dir_only[user_downloads_dir-user-dirs-off] PASSED tests/test_unix.py::test_ensure_exists_creates_configured_media_dir_only[user_pictures_dir-env] PASSED tests/test_unix.py::test_ensure_exists_creates_configured_media_dir_only[user_pictures_dir-user-dirs] PASSED tests/test_unix.py::test_ensure_exists_creates_configured_media_dir_only[user_pictures_dir-default] PASSED tests/test_unix.py::test_ensure_exists_creates_configured_media_dir_only[user_pictures_dir-env-off] PASSED tests/test_unix.py::test_ensure_exists_creates_configured_media_dir_only[user_pictures_dir-user-dirs-off] PASSED tests/test_unix.py::test_ensure_exists_creates_configured_media_dir_only[user_videos_dir-env] PASSED tests/test_unix.py::test_ensure_exists_creates_configured_media_dir_only[user_videos_dir-user-dirs] PASSED tests/test_unix.py::test_ensure_exists_creates_configured_media_dir_only[user_videos_dir-default] PASSED tests/test_unix.py::test_ensure_exists_creates_configured_media_dir_only[user_videos_dir-env-off] PASSED tests/test_unix.py::test_ensure_exists_creates_configured_media_dir_only[user_videos_dir-user-dirs-off] PASSED tests/test_unix.py::test_ensure_exists_creates_configured_media_dir_only[user_music_dir-env] PASSED tests/test_unix.py::test_ensure_exists_creates_configured_media_dir_only[user_music_dir-user-dirs] PASSED tests/test_unix.py::test_ensure_exists_creates_configured_media_dir_only[user_music_dir-default] PASSED tests/test_unix.py::test_ensure_exists_creates_configured_media_dir_only[user_music_dir-env-off] PASSED tests/test_unix.py::test_ensure_exists_creates_configured_media_dir_only[user_music_dir-user-dirs-off] PASSED tests/test_unix.py::test_ensure_exists_creates_configured_media_dir_only[user_desktop_dir-env] PASSED tests/test_unix.py::test_ensure_exists_creates_configured_media_dir_only[user_desktop_dir-user-dirs] PASSED tests/test_unix.py::test_ensure_exists_creates_configured_media_dir_only[user_desktop_dir-default] PASSED tests/test_unix.py::test_ensure_exists_creates_configured_media_dir_only[user_desktop_dir-env-off] PASSED tests/test_unix.py::test_ensure_exists_creates_configured_media_dir_only[user_desktop_dir-user-dirs-off] PASSED tests/test_unix.py::test_ensure_exists_creates_configured_media_dir_only[user_projects_dir-env] PASSED tests/test_unix.py::test_ensure_exists_creates_configured_media_dir_only[user_projects_dir-user-dirs] PASSED tests/test_unix.py::test_ensure_exists_creates_configured_media_dir_only[user_projects_dir-default] PASSED tests/test_unix.py::test_ensure_exists_creates_configured_media_dir_only[user_projects_dir-env-off] PASSED tests/test_unix.py::test_ensure_exists_creates_configured_media_dir_only[user_projects_dir-user-dirs-off] PASSED tests/test_unix.py::test_ensure_exists_creates_configured_media_dir_only[user_publicshare_dir-env] PASSED tests/test_unix.py::test_ensure_exists_creates_configured_media_dir_only[user_publicshare_dir-user-dirs] PASSED tests/test_unix.py::test_ensure_exists_creates_configured_media_dir_only[user_publicshare_dir-default] PASSED tests/test_unix.py::test_ensure_exists_creates_configured_media_dir_only[user_publicshare_dir-env-off] PASSED tests/test_unix.py::test_ensure_exists_creates_configured_media_dir_only[user_publicshare_dir-user-dirs-off] PASSED tests/test_unix.py::test_ensure_exists_creates_configured_media_dir_only[user_templates_dir-env] PASSED tests/test_unix.py::test_ensure_exists_creates_configured_media_dir_only[user_templates_dir-user-dirs] PASSED tests/test_unix.py::test_ensure_exists_creates_configured_media_dir_only[user_templates_dir-default] PASSED tests/test_unix.py::test_ensure_exists_creates_configured_media_dir_only[user_templates_dir-env-off] PASSED tests/test_unix.py::test_ensure_exists_creates_configured_media_dir_only[user_templates_dir-user-dirs-off] PASSED tests/test_unix.py::test_ensure_exists_returns_dangling_media_symlink[env-user_documents_dir] PASSED tests/test_unix.py::test_ensure_exists_returns_dangling_media_symlink[env-user_music_dir] PASSED tests/test_unix.py::test_ensure_exists_returns_dangling_media_symlink[user-dirs-user_documents_dir] PASSED tests/test_unix.py::test_ensure_exists_returns_dangling_media_symlink[user-dirs-user_music_dir] PASSED tests/test_unix.py::test_iter_data_dirs_xdg PASSED tests/test_unix.py::test_iter_config_dirs_xdg PASSED tests/test_unix.py::test_iter_data_dirs_creates_only_the_consumed_dir PASSED tests/test_unix.py::test_site_dir_ensure_exists_creates_only_the_returned_entries[site_data_dir-XDG_DATA_DIRS-single] PASSED tests/test_unix.py::test_site_dir_ensure_exists_creates_only_the_returned_entries[site_data_dir-XDG_DATA_DIRS-multipath] PASSED tests/test_unix.py::test_site_dir_ensure_exists_creates_only_the_returned_entries[site_config_dir-XDG_CONFIG_DIRS-single] PASSED tests/test_unix.py::test_site_dir_ensure_exists_creates_only_the_returned_entries[site_config_dir-XDG_CONFIG_DIRS-multipath] PASSED tests/test_unix.py::test_site_path_ensure_exists_ignores_multipath[site_data_path-XDG_DATA_DIRS] PASSED tests/test_unix.py::test_site_path_ensure_exists_ignores_multipath[site_config_path-XDG_CONFIG_DIRS] PASSED tests/test_unix.py::test_iter_dirs_create_site_dirs_only_as_consumed[iter_data_dirs-XDG_DATA_HOME-XDG_DATA_DIRS] PASSED tests/test_unix.py::test_iter_dirs_create_site_dirs_only_as_consumed[iter_config_dirs-XDG_CONFIG_HOME-XDG_CONFIG_DIRS] PASSED tests/test_unix.py::test_site_data_dir_default_ensure_exists_creates_only_the_first_entry PASSED tests/test_unix.py::test_site_dirs_fall_back_when_xdg_var_has_no_absolute_paths[site_data_dir-single] PASSED tests/test_unix.py::test_site_dirs_fall_back_when_xdg_var_has_no_absolute_paths[site_data_dir-double] PASSED tests/test_unix.py::test_site_dirs_fall_back_when_xdg_var_has_no_absolute_paths[site_data_dir-padded] PASSED tests/test_unix.py::test_site_dirs_fall_back_when_xdg_var_has_no_absolute_paths[site_data_dir-spaced] PASSED tests/test_unix.py::test_site_dirs_fall_back_when_xdg_var_has_no_absolute_paths[site_data_dir-relative] PASSED tests/test_unix.py::test_site_dirs_fall_back_when_xdg_var_has_no_absolute_paths[site_data_dir-all-relative] PASSED tests/test_unix.py::test_site_dirs_fall_back_when_xdg_var_has_no_absolute_paths[site_config_dir-single] PASSED tests/test_unix.py::test_site_dirs_fall_back_when_xdg_var_has_no_absolute_paths[site_config_dir-double] PASSED tests/test_unix.py::test_site_dirs_fall_back_when_xdg_var_has_no_absolute_paths[site_config_dir-padded] PASSED tests/test_unix.py::test_site_dirs_fall_back_when_xdg_var_has_no_absolute_paths[site_config_dir-spaced] PASSED tests/test_unix.py::test_site_dirs_fall_back_when_xdg_var_has_no_absolute_paths[site_config_dir-relative] PASSED tests/test_unix.py::test_site_dirs_fall_back_when_xdg_var_has_no_absolute_paths[site_config_dir-all-relative] PASSED tests/test_unix.py::test_site_dirs_fall_back_when_xdg_var_has_no_absolute_paths[site_applications_dir-single] PASSED tests/test_unix.py::test_site_dirs_fall_back_when_xdg_var_has_no_absolute_paths[site_applications_dir-double] PASSED tests/test_unix.py::test_site_dirs_fall_back_when_xdg_var_has_no_absolute_paths[site_applications_dir-padded] PASSED tests/test_unix.py::test_site_dirs_fall_back_when_xdg_var_has_no_absolute_paths[site_applications_dir-spaced] PASSED tests/test_unix.py::test_site_dirs_fall_back_when_xdg_var_has_no_absolute_paths[site_applications_dir-relative] PASSED tests/test_unix.py::test_site_dirs_fall_back_when_xdg_var_has_no_absolute_paths[site_applications_dir-all-relative] PASSED tests/test_unix.py::test_site_dirs_filter_relative_entries[multipath-site_data_dir-unix] PASSED tests/test_unix.py::test_site_dirs_filter_relative_entries[multipath-site_data_dir-macos] PASSED tests/test_unix.py::test_site_dirs_filter_relative_entries[multipath-site_config_dir-unix] PASSED tests/test_unix.py::test_site_dirs_filter_relative_entries[multipath-site_config_dir-macos] PASSED tests/test_unix.py::test_site_dirs_filter_relative_entries[multipath-site_applications_dir-unix] PASSED tests/test_unix.py::test_site_dirs_filter_relative_entries[multipath-site_applications_dir-macos] PASSED tests/test_unix.py::test_site_dirs_filter_relative_entries[singlepath-site_data_dir-unix] PASSED tests/test_unix.py::test_site_dirs_filter_relative_entries[singlepath-site_data_dir-macos] PASSED tests/test_unix.py::test_site_dirs_filter_relative_entries[singlepath-site_config_dir-unix] PASSED tests/test_unix.py::test_site_dirs_filter_relative_entries[singlepath-site_config_dir-macos] PASSED tests/test_unix.py::test_site_dirs_filter_relative_entries[singlepath-site_applications_dir-unix] PASSED tests/test_unix.py::test_site_dirs_filter_relative_entries[singlepath-site_applications_dir-macos] PASSED tests/test_unix.py::test_site_data_dir_multipath_falls_back_when_xdg_var_is_all_separators PASSED tests/test_unix.py::test_runtime_dir_rejects_relative_value[user_runtime_dir] PASSED tests/test_unix.py::test_runtime_dir_rejects_relative_value[site_runtime_dir] PASSED tests/test_unix.py::test_site_applications_path_multipath_returns_first_path PASSED tests/test_unix.py::test_user_media_dir_from_user_dirs_file PASSED tests/test_unix.py::test_user_media_dir_missing_key_in_user_dirs_file PASSED tests/test_unix.py::test_user_media_dir_no_user_dirs_file PASSED tests/test_unix.py::test_user_dirs_respects_xdg_config_home PASSED tests/test_unix.py::test_user_dirs_ignores_relative_xdg_config_home PASSED tests/test_unix.py::test_use_site_for_root_as_root[user_data_dir-/usr/local/share/foo] PASSED tests/test_unix.py::test_use_site_for_root_as_root[user_config_dir-/etc/xdg/foo] PASSED tests/test_unix.py::test_use_site_for_root_as_root[user_cache_dir-/var/cache/foo] PASSED tests/test_unix.py::test_use_site_for_root_as_root[user_state_dir-/var/lib/foo] PASSED tests/test_unix.py::test_use_site_for_root_as_root[user_log_dir-/var/log/foo] PASSED tests/test_unix.py::test_use_site_for_root_as_root[user_runtime_dir-/run/foo] PASSED tests/test_unix.py::test_use_site_for_root_as_root[user_bin_dir-/usr/local/bin] PASSED tests/test_unix.py::test_use_site_for_root_as_root[user_applications_dir-/usr/local/share/applications] PASSED tests/test_unix.py::test_use_site_for_root_as_non_root[user_data_dir-/usr/local/share/foo] PASSED tests/test_unix.py::test_use_site_for_root_as_non_root[user_config_dir-/etc/xdg/foo] PASSED tests/test_unix.py::test_use_site_for_root_as_non_root[user_cache_dir-/var/cache/foo] PASSED tests/test_unix.py::test_use_site_for_root_as_non_root[user_state_dir-/var/lib/foo] PASSED tests/test_unix.py::test_use_site_for_root_as_non_root[user_log_dir-/var/log/foo] PASSED tests/test_unix.py::test_use_site_for_root_as_non_root[user_runtime_dir-/run/foo] PASSED tests/test_unix.py::test_use_site_for_root_as_non_root[user_bin_dir-/usr/local/bin] PASSED tests/test_unix.py::test_use_site_for_root_as_non_root[user_applications_dir-/usr/local/share/applications] PASSED tests/test_unix.py::test_use_site_for_root_reaches_the_module_function[user_data_dir-/usr/local/share/foo-dir] PASSED tests/test_unix.py::test_use_site_for_root_reaches_the_module_function[user_data_dir-/usr/local/share/foo-path] PASSED tests/test_unix.py::test_use_site_for_root_reaches_the_module_function[user_config_dir-/etc/xdg/foo-dir] PASSED tests/test_unix.py::test_use_site_for_root_reaches_the_module_function[user_config_dir-/etc/xdg/foo-path] PASSED tests/test_unix.py::test_use_site_for_root_reaches_the_module_function[user_cache_dir-/var/cache/foo-dir] PASSED tests/test_unix.py::test_use_site_for_root_reaches_the_module_function[user_cache_dir-/var/cache/foo-path] PASSED tests/test_unix.py::test_use_site_for_root_reaches_the_module_function[user_state_dir-/var/lib/foo-dir] PASSED tests/test_unix.py::test_use_site_for_root_reaches_the_module_function[user_state_dir-/var/lib/foo-path] PASSED tests/test_unix.py::test_use_site_for_root_reaches_the_module_function[user_log_dir-/var/log/foo-dir] PASSED tests/test_unix.py::test_use_site_for_root_reaches_the_module_function[user_log_dir-/var/log/foo-path] PASSED tests/test_unix.py::test_use_site_for_root_reaches_the_module_function[user_runtime_dir-/run/foo-dir] PASSED tests/test_unix.py::test_use_site_for_root_reaches_the_module_function[user_runtime_dir-/run/foo-path] PASSED tests/test_unix.py::test_use_site_for_root_reaches_the_module_function[user_bin_dir-/usr/local/bin-dir] PASSED tests/test_unix.py::test_use_site_for_root_reaches_the_module_function[user_bin_dir-/usr/local/bin-path] PASSED tests/test_unix.py::test_use_site_for_root_reaches_the_module_function[user_applications_dir-/usr/local/share/applications-dir] PASSED tests/test_unix.py::test_use_site_for_root_reaches_the_module_function[user_applications_dir-/usr/local/share/applications-path] PASSED tests/test_unix.py::test_use_site_for_root_follows_attribute_change[enable] PASSED tests/test_unix.py::test_use_site_for_root_follows_attribute_change[disable] PASSED tests/test_unix.py::test_use_site_for_root_disabled_as_root[user_data_dir-/usr/local/share/foo] PASSED tests/test_unix.py::test_use_site_for_root_disabled_as_root[user_config_dir-/etc/xdg/foo] PASSED tests/test_unix.py::test_use_site_for_root_disabled_as_root[user_cache_dir-/var/cache/foo] PASSED tests/test_unix.py::test_use_site_for_root_disabled_as_root[user_state_dir-/var/lib/foo] PASSED tests/test_unix.py::test_use_site_for_root_disabled_as_root[user_log_dir-/var/log/foo] PASSED tests/test_unix.py::test_use_site_for_root_disabled_as_root[user_runtime_dir-/run/foo] PASSED tests/test_unix.py::test_use_site_for_root_disabled_as_root[user_bin_dir-/usr/local/bin] PASSED tests/test_unix.py::test_use_site_for_root_disabled_as_root[user_applications_dir-/usr/local/share/applications] PASSED tests/test_unix.py::test_use_site_for_root_bypasses_xdg_user_vars[XDG_DATA_HOME-user_data_dir-/usr/local/share/foo] PASSED tests/test_unix.py::test_use_site_for_root_bypasses_xdg_user_vars[XDG_CONFIG_HOME-user_config_dir-/etc/xdg/foo] PASSED tests/test_unix.py::test_use_site_for_root_bypasses_xdg_user_vars[XDG_CACHE_HOME-user_cache_dir-/var/cache/foo] PASSED tests/test_unix.py::test_use_site_for_root_bypasses_xdg_user_vars[XDG_STATE_HOME-user_state_dir-/var/lib/foo] PASSED tests/test_unix.py::test_use_site_for_root_bypasses_xdg_user_vars[XDG_STATE_HOME-user_log_dir-/var/log/foo] PASSED tests/test_unix.py::test_use_site_for_root_bypasses_xdg_user_vars[XDG_RUNTIME_DIR-user_runtime_dir] PASSED tests/test_unix.py::test_use_site_iter_dirs_no_duplicates[XDG_DATA_DIRS-iter_data_dirs] PASSED tests/test_unix.py::test_use_site_iter_dirs_no_duplicates[XDG_CONFIG_DIRS-iter_config_dirs] PASSED tests/test_unix.py::test_use_site_iter_dirs_no_duplicates_single_site_dir[iter_cache_dirs-/var/cache/foo] PASSED tests/test_unix.py::test_use_site_iter_dirs_no_duplicates_single_site_dir[iter_state_dirs-/var/lib/foo] PASSED tests/test_unix.py::test_use_site_iter_dirs_no_duplicates_single_site_dir[iter_log_dirs-/var/log/foo] PASSED tests/test_unix.py::test_use_site_iter_dirs_no_duplicates_single_site_dir[iter_runtime_dirs-/run/foo] PASSED tests/test_unix.py::test_use_site_iter_runtime_dirs_bypasses_xdg_runtime_dir PASSED tests/test_unix.py::test_use_site_keeps_xdg_runtime_dir_for_site_runtime_dir PASSED tests/test_unix.py::test_iter_dirs_as_non_root_keeps_user_dir[iter_cache_dirs-/var/cache/foo] PASSED tests/test_unix.py::test_iter_dirs_as_non_root_keeps_user_dir[iter_state_dirs-/var/lib/foo] PASSED tests/test_unix.py::test_iter_dirs_as_non_root_keeps_user_dir[iter_log_dirs-/var/log/foo] PASSED tests/test_unix.py::test_iter_dirs_as_non_root_keeps_user_dir[iter_runtime_dirs-/run/foo] PASSED tests/test_unix.py::test_iter_dirs_as_root_with_multipath_skips_joined_user_dir[XDG_CONFIG_DIRS-iter_config_dirs] PASSED tests/test_unix.py::test_iter_dirs_as_root_with_multipath_skips_joined_user_dir[XDG_DATA_DIRS-iter_data_dirs] PASSED tests/test_unix.py::test_user_path_site_redirect[user_data_path-multipath-redirect-root] PASSED tests/test_unix.py::test_user_path_site_redirect[user_data_path-multipath-redirect-user] PASSED tests/test_unix.py::test_user_path_site_redirect[user_data_path-multipath-user-dirs-root] PASSED tests/test_unix.py::test_user_path_site_redirect[user_data_path-multipath-user-dirs-user] PASSED tests/test_unix.py::test_user_path_site_redirect[user_data_path-singlepath-redirect-root] PASSED tests/test_unix.py::test_user_path_site_redirect[user_data_path-singlepath-redirect-user] PASSED tests/test_unix.py::test_user_path_site_redirect[user_data_path-singlepath-user-dirs-root] PASSED tests/test_unix.py::test_user_path_site_redirect[user_data_path-singlepath-user-dirs-user] PASSED tests/test_unix.py::test_user_path_site_redirect[user_config_path-multipath-redirect-root] PASSED tests/test_unix.py::test_user_path_site_redirect[user_config_path-multipath-redirect-user] PASSED tests/test_unix.py::test_user_path_site_redirect[user_config_path-multipath-user-dirs-root] PASSED tests/test_unix.py::test_user_path_site_redirect[user_config_path-multipath-user-dirs-user] PASSED tests/test_unix.py::test_user_path_site_redirect[user_config_path-singlepath-redirect-root] PASSED tests/test_unix.py::test_user_path_site_redirect[user_config_path-singlepath-redirect-user] PASSED tests/test_unix.py::test_user_path_site_redirect[user_config_path-singlepath-user-dirs-root] PASSED tests/test_unix.py::test_user_path_site_redirect[user_config_path-singlepath-user-dirs-user] PASSED tests/test_unix.py::test_user_path_site_redirect[user_preference_path-multipath-redirect-root] PASSED tests/test_unix.py::test_user_path_site_redirect[user_preference_path-multipath-redirect-user] PASSED tests/test_unix.py::test_user_path_site_redirect[user_preference_path-multipath-user-dirs-root] PASSED tests/test_unix.py::test_user_path_site_redirect[user_preference_path-multipath-user-dirs-user] PASSED tests/test_unix.py::test_user_path_site_redirect[user_preference_path-singlepath-redirect-root] PASSED tests/test_unix.py::test_user_path_site_redirect[user_preference_path-singlepath-redirect-user] PASSED tests/test_unix.py::test_user_path_site_redirect[user_preference_path-singlepath-user-dirs-root] PASSED tests/test_unix.py::test_user_path_site_redirect[user_preference_path-singlepath-user-dirs-user] PASSED tests/test_unix.py::test_user_path_site_redirect[user_applications_path-multipath-redirect-root] PASSED tests/test_unix.py::test_user_path_site_redirect[user_applications_path-multipath-redirect-user] PASSED tests/test_unix.py::test_user_path_site_redirect[user_applications_path-multipath-user-dirs-root] PASSED tests/test_unix.py::test_user_path_site_redirect[user_applications_path-multipath-user-dirs-user] PASSED tests/test_unix.py::test_user_path_site_redirect[user_applications_path-singlepath-redirect-root] PASSED tests/test_unix.py::test_user_path_site_redirect[user_applications_path-singlepath-redirect-user] PASSED tests/test_unix.py::test_user_path_site_redirect[user_applications_path-singlepath-user-dirs-root] PASSED tests/test_unix.py::test_user_path_site_redirect[user_applications_path-singlepath-user-dirs-user] PASSED tests/test_unix.py::test_place_file_with_use_site_for_root_keeps_site_dir_readable[config-root] PASSED tests/test_unix.py::test_place_file_with_use_site_for_root_keeps_site_dir_readable[config-user] PASSED tests/test_unix.py::test_place_file_with_use_site_for_root_keeps_site_dir_readable[data-root] PASSED tests/test_unix.py::test_place_file_with_use_site_for_root_keeps_site_dir_readable[data-user] PASSED tests/test_unix.py::test_iter_runtime_dirs_no_duplicate_with_xdg_runtime_dir PASSED tests/test_unix.py::test_user_dirs_preserves_percent_signs[home-percent] PASSED tests/test_unix.py::test_user_dirs_preserves_percent_signs[home-interpolation-key] PASSED tests/test_unix.py::test_user_dirs_preserves_percent_signs[home-double-percent] PASSED tests/test_unix.py::test_user_dirs_preserves_percent_signs[absolute-percent] PASSED tests/test_unix.py::test_user_dirs_preserves_percent_signs[absolute-interpolation-key] PASSED tests/test_unix.py::test_user_dirs_preserves_percent_signs[absolute-double-percent] PASSED tests/test_unix.py::test_user_dirs_double_quoted_backslashes[$HOME-ordinary-letter] PASSED tests/test_unix.py::test_user_dirs_double_quoted_backslashes[$HOME-space] PASSED tests/test_unix.py::test_user_dirs_double_quoted_backslashes[$HOME-hyphen] PASSED tests/test_unix.py::test_user_dirs_double_quoted_backslashes[$HOME-literal-backslash-n] PASSED tests/test_unix.py::test_user_dirs_double_quoted_backslashes[$HOME-single-quote] PASSED tests/test_unix.py::test_user_dirs_double_quoted_backslashes[$HOME-escaped-backslash] PASSED tests/test_unix.py::test_user_dirs_double_quoted_backslashes[$HOME-escaped-dollar] PASSED tests/test_unix.py::test_user_dirs_double_quoted_backslashes[$HOME-escaped-backtick] PASSED tests/test_unix.py::test_user_dirs_double_quoted_backslashes[$HOME-escaped-double-quote] PASSED tests/test_unix.py::test_user_dirs_double_quoted_backslashes[$HOME-mixed-escapes] PASSED tests/test_unix.py::test_user_dirs_double_quoted_backslashes[/absolute-ordinary-letter] PASSED tests/test_unix.py::test_user_dirs_double_quoted_backslashes[/absolute-space] PASSED tests/test_unix.py::test_user_dirs_double_quoted_backslashes[/absolute-hyphen] PASSED tests/test_unix.py::test_user_dirs_double_quoted_backslashes[/absolute-literal-backslash-n] PASSED tests/test_unix.py::test_user_dirs_double_quoted_backslashes[/absolute-single-quote] PASSED tests/test_unix.py::test_user_dirs_double_quoted_backslashes[/absolute-escaped-backslash] PASSED tests/test_unix.py::test_user_dirs_double_quoted_backslashes[/absolute-escaped-dollar] PASSED tests/test_unix.py::test_user_dirs_double_quoted_backslashes[/absolute-escaped-backtick] PASSED tests/test_unix.py::test_user_dirs_double_quoted_backslashes[/absolute-escaped-double-quote] PASSED tests/test_unix.py::test_user_dirs_double_quoted_backslashes[/absolute-mixed-escapes] PASSED tests/test_unix.py::test_user_dirs_read_like_xdg_user_dir[last-assignment-wins] PASSED tests/test_unix.py::test_user_dirs_read_like_xdg_user_dir[other-key-assigned-twice] PASSED tests/test_unix.py::test_user_dirs_read_like_xdg_user_dir[stray-line] PASSED tests/test_unix.py::test_user_dirs_read_like_xdg_user_dir[indented] PASSED tests/test_unix.py::test_user_dirs_read_like_xdg_user_dir[trailing-comment] PASSED tests/test_unix.py::test_user_dirs_read_like_xdg_user_dir[shell-escapes] PASSED tests/test_unix.py::test_user_dirs_read_like_xdg_user_dir[home-only-as-prefix] PASSED tests/test_unix.py::test_user_dirs_read_like_xdg_user_dir[home-prefix-needs-slash] PASSED tests/test_unix.py::test_user_dirs_read_like_xdg_user_dir[home-itself] PASSED tests/test_unix.py::test_user_dirs_read_like_xdg_user_dir[relative-ignored] PASSED tests/test_unix.py::test_user_dirs_read_like_xdg_user_dir[relative-reassignment-ignored] PASSED tests/test_unix.py::test_user_dirs_read_like_xdg_user_dir[unterminated-ignored] PASSED tests/test_unix.py::test_user_dirs_read_like_xdg_user_dir[unquoted] PASSED tests/test_unix.py::test_user_dirs_read_like_xdg_user_dir[unquoted-trailing-comment] PASSED tests/test_unix.py::test_user_dirs_read_like_xdg_user_dir[unquoted-tab-comment] PASSED tests/test_unix.py::test_user_dirs_read_like_xdg_user_dir[unquoted-hash-inside-word] PASSED tests/test_unix.py::test_user_dirs_undecodable_bytes[other-entry] PASSED tests/test_unix.py::test_user_dirs_undecodable_bytes[requested-entry] PASSED tests/test_unix.py::test_unix_user_dir_creates_missing_components_private[data] PASSED tests/test_unix.py::test_unix_user_dir_creates_missing_components_private[config] PASSED tests/test_unix.py::test_unix_user_dir_creates_missing_components_private[cache] PASSED tests/test_unix.py::test_unix_user_dir_creates_missing_components_private[state] PASSED tests/test_unix.py::test_unix_user_dir_creates_missing_components_private[runtime] PASSED tests/test_unix.py::test_unix_user_dir_creates_missing_components_private[preference] PASSED tests/test_unix.py::test_unix_user_log_dir_creates_missing_components_private PASSED tests/test_unix.py::test_unix_default_config_dir_creates_dot_config_private PASSED tests/test_unix.py::test_unix_shared_dir_keeps_default_mode[site-data] PASSED tests/test_unix.py::test_unix_shared_dir_keeps_default_mode[site-config] PASSED tests/test_unix.py::test_unix_shared_dir_keeps_default_mode[site-runtime] PASSED tests/test_unix.py::test_unix_shared_dir_keeps_default_mode[media] PASSED tests/test_unix.py::test_unix_user_dir_leaves_existing_mode[existing-base] PASSED tests/test_unix.py::test_unix_user_dir_leaves_existing_mode[existing-app-dir] PASSED tests/test_windows.py::test_windows[user_data_dir-no_args] PASSED tests/test_windows.py::test_windows[user_data_dir-app_name] PASSED tests/test_windows.py::test_windows[user_data_dir-app_name_version] PASSED tests/test_windows.py::test_windows[user_config_dir-no_args] PASSED tests/test_windows.py::test_windows[user_config_dir-app_name] PASSED tests/test_windows.py::test_windows[user_config_dir-app_name_version] PASSED tests/test_windows.py::test_windows[user_cache_dir-no_args] PASSED tests/test_windows.py::test_windows[user_cache_dir-app_name] PASSED tests/test_windows.py::test_windows[user_cache_dir-app_name_version] PASSED tests/test_windows.py::test_windows[user_state_dir-no_args] PASSED tests/test_windows.py::test_windows[user_state_dir-app_name] PASSED tests/test_windows.py::test_windows[user_state_dir-app_name_version] PASSED tests/test_windows.py::test_windows[user_log_dir-no_args] PASSED tests/test_windows.py::test_windows[user_log_dir-app_name] PASSED tests/test_windows.py::test_windows[user_log_dir-app_name_version] PASSED tests/test_windows.py::test_windows[user_documents_dir-no_args] PASSED tests/test_windows.py::test_windows[user_documents_dir-app_name] PASSED tests/test_windows.py::test_windows[user_documents_dir-app_name_version] PASSED tests/test_windows.py::test_windows[user_downloads_dir-no_args] PASSED tests/test_windows.py::test_windows[user_downloads_dir-app_name] PASSED tests/test_windows.py::test_windows[user_downloads_dir-app_name_version] PASSED tests/test_windows.py::test_windows[user_pictures_dir-no_args] PASSED tests/test_windows.py::test_windows[user_pictures_dir-app_name] PASSED tests/test_windows.py::test_windows[user_pictures_dir-app_name_version] PASSED tests/test_windows.py::test_windows[user_videos_dir-no_args] PASSED tests/test_windows.py::test_windows[user_videos_dir-app_name] PASSED tests/test_windows.py::test_windows[user_videos_dir-app_name_version] PASSED tests/test_windows.py::test_windows[user_music_dir-no_args] PASSED tests/test_windows.py::test_windows[user_music_dir-app_name] PASSED tests/test_windows.py::test_windows[user_music_dir-app_name_version] PASSED tests/test_windows.py::test_windows[user_desktop_dir-no_args] PASSED tests/test_windows.py::test_windows[user_desktop_dir-app_name] PASSED tests/test_windows.py::test_windows[user_desktop_dir-app_name_version] PASSED tests/test_windows.py::test_windows[user_projects_dir-no_args] PASSED tests/test_windows.py::test_windows[user_projects_dir-app_name] PASSED tests/test_windows.py::test_windows[user_projects_dir-app_name_version] PASSED tests/test_windows.py::test_windows[user_publicshare_dir-no_args] PASSED tests/test_windows.py::test_windows[user_publicshare_dir-app_name] PASSED tests/test_windows.py::test_windows[user_publicshare_dir-app_name_version] PASSED tests/test_windows.py::test_windows[user_templates_dir-no_args] PASSED tests/test_windows.py::test_windows[user_templates_dir-app_name] PASSED tests/test_windows.py::test_windows[user_templates_dir-app_name_version] PASSED tests/test_windows.py::test_windows[user_fonts_dir-no_args] PASSED tests/test_windows.py::test_windows[user_fonts_dir-app_name] PASSED tests/test_windows.py::test_windows[user_fonts_dir-app_name_version] PASSED tests/test_windows.py::test_windows[user_preference_dir-no_args] PASSED tests/test_windows.py::test_windows[user_preference_dir-app_name] PASSED tests/test_windows.py::test_windows[user_preference_dir-app_name_version] PASSED tests/test_windows.py::test_windows[user_bin_dir-no_args] PASSED tests/test_windows.py::test_windows[user_bin_dir-app_name] PASSED tests/test_windows.py::test_windows[user_bin_dir-app_name_version] PASSED tests/test_windows.py::test_windows[site_bin_dir-no_args] PASSED tests/test_windows.py::test_windows[site_bin_dir-app_name] PASSED tests/test_windows.py::test_windows[site_bin_dir-app_name_version] PASSED tests/test_windows.py::test_windows[user_applications_dir-no_args] PASSED tests/test_windows.py::test_windows[user_applications_dir-app_name] PASSED tests/test_windows.py::test_windows[user_applications_dir-app_name_version] PASSED tests/test_windows.py::test_windows[user_runtime_dir-no_args] PASSED tests/test_windows.py::test_windows[user_runtime_dir-app_name] PASSED tests/test_windows.py::test_windows[user_runtime_dir-app_name_version] PASSED tests/test_windows.py::test_windows[site_data_dir-no_args] PASSED tests/test_windows.py::test_windows[site_data_dir-app_name] PASSED tests/test_windows.py::test_windows[site_data_dir-app_name_version] PASSED tests/test_windows.py::test_windows[site_config_dir-no_args] PASSED tests/test_windows.py::test_windows[site_config_dir-app_name] PASSED tests/test_windows.py::test_windows[site_config_dir-app_name_version] PASSED tests/test_windows.py::test_windows[site_cache_dir-no_args] PASSED tests/test_windows.py::test_windows[site_cache_dir-app_name] PASSED tests/test_windows.py::test_windows[site_cache_dir-app_name_version] PASSED tests/test_windows.py::test_windows[site_state_dir-no_args] PASSED tests/test_windows.py::test_windows[site_state_dir-app_name] PASSED tests/test_windows.py::test_windows[site_state_dir-app_name_version] PASSED tests/test_windows.py::test_windows[site_log_dir-no_args] PASSED tests/test_windows.py::test_windows[site_log_dir-app_name] PASSED tests/test_windows.py::test_windows[site_log_dir-app_name_version] PASSED tests/test_windows.py::test_windows[site_applications_dir-no_args] PASSED tests/test_windows.py::test_windows[site_applications_dir-app_name] PASSED tests/test_windows.py::test_windows[site_applications_dir-app_name_version] PASSED tests/test_windows.py::test_windows[site_runtime_dir-no_args] PASSED tests/test_windows.py::test_windows[site_runtime_dir-app_name] PASSED tests/test_windows.py::test_windows[site_runtime_dir-app_name_version] PASSED tests/test_windows.py::test_site_applications_path_multipath_keeps_pathsep PASSED tests/test_windows.py::test_windows_dir_follows_known_folder[templates] PASSED tests/test_windows.py::test_windows_dir_follows_known_folder[publicshare] PASSED tests/test_windows.py::test_windows_dir_follows_known_folder[bin] PASSED tests/test_windows.py::test_get_win_folder_from_env_vars_public_with_unavailable_home PASSED tests/test_windows.py::test_get_win_folder_from_env_vars_public_fallback[unset] PASSED tests/test_windows.py::test_get_win_folder_from_env_vars_public_fallback[empty] PASSED tests/test_windows.py::test_user_projects_dir_raises_without_home PASSED tests/test_windows.py::test_roaming_uses_appdata PASSED tests/test_windows.py::test_non_roaming_uses_local_appdata PASSED tests/test_windows.py::test_user_log_function_forwards_roaming[dir] PASSED tests/test_windows.py::test_user_log_function_forwards_roaming[path] PASSED tests/test_windows.py::test_appauthor_false_skips_author PASSED tests/test_windows.py::test_appauthor_explicit PASSED tests/test_windows.py::test_get_win_folder_from_env_vars_direct[appdata] PASSED tests/test_windows.py::test_get_win_folder_from_env_vars_direct[local_appdata] PASSED tests/test_windows.py::test_get_win_folder_from_env_vars_direct[common_appdata] PASSED tests/test_windows.py::test_get_win_folder_from_env_vars_user_folders[personal] PASSED tests/test_windows.py::test_get_win_folder_from_env_vars_user_folders[downloads] PASSED tests/test_windows.py::test_get_win_folder_from_env_vars_user_folders[pictures] PASSED tests/test_windows.py::test_get_win_folder_from_env_vars_user_folders[video] PASSED tests/test_windows.py::test_get_win_folder_from_env_vars_user_folders[music] PASSED tests/test_windows.py::test_get_win_folder_from_env_vars_user_folders[desktop] PASSED tests/test_windows.py::test_get_win_folder_from_env_vars_joined_folder[templates] PASSED tests/test_windows.py::test_get_win_folder_from_env_vars_joined_folder[bin] PASSED tests/test_windows.py::test_get_win_folder_from_env_vars_programs PASSED tests/test_windows.py::test_get_win_folder_from_env_vars_unknown PASSED tests/test_windows.py::test_get_win_folder_from_env_vars_unset[unset] PASSED tests/test_windows.py::test_get_win_folder_from_env_vars_unset[empty] PASSED tests/test_windows.py::test_get_win_folder_from_env_vars_empty_base[documents] PASSED tests/test_windows.py::test_get_win_folder_from_env_vars_empty_base[programs] PASSED tests/test_windows.py::test_get_win_folder_from_env_vars_common_programs_empty_programdata[all_users_profile] PASSED tests/test_windows.py::test_get_win_folder_from_env_vars_common_programs_empty_programdata[default] PASSED tests/test_windows.py::test_get_win_folder_if_csidl_name_not_env_var_returns_none PASSED tests/test_windows.py::test_get_win_folder_if_csidl_name_not_env_var[personal] PASSED tests/test_windows.py::test_get_win_folder_if_csidl_name_not_env_var[downloads] PASSED tests/test_windows.py::test_get_win_folder_if_csidl_name_not_env_var[pictures] PASSED tests/test_windows.py::test_get_win_folder_if_csidl_name_not_env_var[video] PASSED tests/test_windows.py::test_get_win_folder_if_csidl_name_not_env_var[music] PASSED tests/test_windows.py::test_get_win_folder_if_csidl_name_not_env_var[desktop] PASSED tests/test_windows.py::test_get_win_folder_if_csidl_name_not_env_var_programs PASSED tests/test_windows.py::test_get_win_folder_via_ctypes_real[CSIDL_APPDATA] SKIPPED tests/test_windows.py::test_get_win_folder_via_ctypes_real[CSIDL_COMMON_APPDATA] SKIPPED tests/test_windows.py::test_get_win_folder_via_ctypes_real[CSIDL_LOCAL_APPDATA] SKIPPED tests/test_windows.py::test_get_win_folder_via_ctypes_real[CSIDL_PERSONAL] SKIPPED tests/test_windows.py::test_get_win_folder_via_ctypes_real[CSIDL_MYPICTURES] SKIPPED tests/test_windows.py::test_get_win_folder_via_ctypes_real[CSIDL_MYVIDEO] SKIPPED tests/test_windows.py::test_get_win_folder_via_ctypes_real[CSIDL_MYMUSIC] SKIPPED tests/test_windows.py::test_get_win_folder_via_ctypes_real[CSIDL_DOWNLOADS] SKIPPED tests/test_windows.py::test_get_win_folder_via_ctypes_real[CSIDL_DESKTOPDIRECTORY] SKIPPED tests/test_windows.py::test_get_win_folder_via_ctypes_real[CSIDL_PROGRAMS] SKIPPED tests/test_windows.py::test_get_win_folder_via_ctypes_real[CSIDL_COMMON_PROGRAMS] SKIPPED tests/test_windows.py::test_get_win_folder_via_ctypes_real[CSIDL_TEMPLATES] SKIPPED tests/test_windows.py::test_get_win_folder_via_ctypes_real[CSIDL_PUBLIC] SKIPPED tests/test_windows.py::test_get_win_folder_via_ctypes_real[CSIDL_USER_PROGRAM_FILES] SKIPPED tests/test_windows.py::test_get_win_folder_via_ctypes_real_matches_default_layout[templates] SKIPPED tests/test_windows.py::test_get_win_folder_via_ctypes_real_matches_default_layout[bin] SKIPPED tests/test_windows.py::test_get_win_folder_via_ctypes_real_public_matches_old_lookup SKIPPED tests/test_windows.py::test_get_win_folder_via_ctypes_queries_known_folder[templates] PASSED tests/test_windows.py::test_get_win_folder_via_ctypes_queries_known_folder[public] PASSED tests/test_windows.py::test_get_win_folder_via_ctypes_queries_known_folder[user_program_files] PASSED tests/test_windows.py::test_get_win_folder_via_ctypes_passes_dont_verify_flag PASSED tests/test_windows.py::test_get_win_folder_via_ctypes_unknown_csidl PASSED tests/test_windows.py::test_get_win_folder_via_ctypes_builds_once PASSED tests/test_windows.py::test_get_win_folder_via_ctypes_null_result PASSED tests/test_windows.py::test_get_win_folder_via_ctypes_frees_path_on_error[null] PASSED tests/test_windows.py::test_get_win_folder_via_ctypes_frees_path_on_error[populated] PASSED tests/test_windows.py::test_get_win_folder_via_ctypes_keeps_non_latin1_path[short_name_available] PASSED tests/test_windows.py::test_get_win_folder_via_ctypes_keeps_non_latin1_path[short_name_exceeds_buffer] PASSED tests/test_windows.py::test_get_win_folder_from_registry_unknown PASSED tests/test_windows.py::test_get_win_folder_from_registry_knows_every_known_folder[CSIDL_APPDATA] PASSED tests/test_windows.py::test_get_win_folder_from_registry_knows_every_known_folder[CSIDL_COMMON_APPDATA] PASSED tests/test_windows.py::test_get_win_folder_from_registry_knows_every_known_folder[CSIDL_COMMON_PROGRAMS] PASSED tests/test_windows.py::test_get_win_folder_from_registry_knows_every_known_folder[CSIDL_DESKTOPDIRECTORY] PASSED tests/test_windows.py::test_get_win_folder_from_registry_knows_every_known_folder[CSIDL_DOWNLOADS] PASSED tests/test_windows.py::test_get_win_folder_from_registry_knows_every_known_folder[CSIDL_LOCAL_APPDATA] PASSED tests/test_windows.py::test_get_win_folder_from_registry_knows_every_known_folder[CSIDL_MYMUSIC] PASSED tests/test_windows.py::test_get_win_folder_from_registry_knows_every_known_folder[CSIDL_MYPICTURES] PASSED tests/test_windows.py::test_get_win_folder_from_registry_knows_every_known_folder[CSIDL_MYVIDEO] PASSED tests/test_windows.py::test_get_win_folder_from_registry_knows_every_known_folder[CSIDL_PERSONAL] PASSED tests/test_windows.py::test_get_win_folder_from_registry_knows_every_known_folder[CSIDL_PROGRAMS] PASSED tests/test_windows.py::test_get_win_folder_from_registry_knows_every_known_folder[CSIDL_TEMPLATES] PASSED tests/test_windows.py::test_get_win_folder_from_registry_falls_back_to_env_vars[public] PASSED tests/test_windows.py::test_get_win_folder_from_registry_falls_back_to_env_vars[user_program_files] PASSED tests/test_windows.py::test_get_win_folder_from_registry_real[CSIDL_APPDATA] SKIPPED tests/test_windows.py::test_get_win_folder_from_registry_real[CSIDL_COMMON_APPDATA] SKIPPED tests/test_windows.py::test_get_win_folder_from_registry_real[CSIDL_COMMON_PROGRAMS] SKIPPED tests/test_windows.py::test_get_win_folder_from_registry_real[CSIDL_DESKTOPDIRECTORY] SKIPPED tests/test_windows.py::test_get_win_folder_from_registry_real[CSIDL_DOWNLOADS] SKIPPED tests/test_windows.py::test_get_win_folder_from_registry_real[CSIDL_LOCAL_APPDATA] SKIPPED tests/test_windows.py::test_get_win_folder_from_registry_real[CSIDL_MYMUSIC] SKIPPED tests/test_windows.py::test_get_win_folder_from_registry_real[CSIDL_MYPICTURES] SKIPPED tests/test_windows.py::test_get_win_folder_from_registry_real[CSIDL_MYVIDEO] SKIPPED tests/test_windows.py::test_get_win_folder_from_registry_real[CSIDL_PERSONAL] SKIPPED tests/test_windows.py::test_get_win_folder_from_registry_real[CSIDL_PROGRAMS] SKIPPED tests/test_windows.py::test_get_win_folder_from_registry_real[CSIDL_PUBLIC] SKIPPED tests/test_windows.py::test_get_win_folder_from_registry_real[CSIDL_TEMPLATES] SKIPPED tests/test_windows.py::test_get_win_folder_from_registry_real[CSIDL_USER_PROGRAM_FILES] SKIPPED tests/test_windows.py::test_get_win_folder_from_env_vars_knows_every_known_folder[CSIDL_APPDATA] PASSED tests/test_windows.py::test_get_win_folder_from_env_vars_knows_every_known_folder[CSIDL_COMMON_APPDATA] PASSED tests/test_windows.py::test_get_win_folder_from_env_vars_knows_every_known_folder[CSIDL_COMMON_PROGRAMS] PASSED tests/test_windows.py::test_get_win_folder_from_env_vars_knows_every_known_folder[CSIDL_DESKTOPDIRECTORY] PASSED tests/test_windows.py::test_get_win_folder_from_env_vars_knows_every_known_folder[CSIDL_DOWNLOADS] PASSED tests/test_windows.py::test_get_win_folder_from_env_vars_knows_every_known_folder[CSIDL_LOCAL_APPDATA] PASSED tests/test_windows.py::test_get_win_folder_from_env_vars_knows_every_known_folder[CSIDL_MYMUSIC] PASSED tests/test_windows.py::test_get_win_folder_from_env_vars_knows_every_known_folder[CSIDL_MYPICTURES] PASSED tests/test_windows.py::test_get_win_folder_from_env_vars_knows_every_known_folder[CSIDL_MYVIDEO] PASSED tests/test_windows.py::test_get_win_folder_from_env_vars_knows_every_known_folder[CSIDL_PERSONAL] PASSED tests/test_windows.py::test_get_win_folder_from_env_vars_knows_every_known_folder[CSIDL_PROGRAMS] PASSED tests/test_windows.py::test_get_win_folder_from_env_vars_knows_every_known_folder[CSIDL_PUBLIC] PASSED tests/test_windows.py::test_get_win_folder_from_env_vars_knows_every_known_folder[CSIDL_TEMPLATES] PASSED tests/test_windows.py::test_get_win_folder_from_env_vars_knows_every_known_folder[CSIDL_USER_PROGRAM_FILES] PASSED tests/test_windows.py::test_known_folder_guids_has_all_csidl_names PASSED tests/test_windows.py::test_pick_get_win_folder_ctypes PASSED tests/test_windows.py::test_get_win_folder_override[appdata] PASSED tests/test_windows.py::test_get_win_folder_override[local_appdata] PASSED tests/test_windows.py::test_get_win_folder_override[common_appdata] PASSED tests/test_windows.py::test_get_win_folder_override[personal] PASSED tests/test_windows.py::test_get_win_folder_override[downloads] PASSED tests/test_windows.py::test_get_win_folder_override[mypictures] PASSED tests/test_windows.py::test_get_win_folder_override[myvideo] PASSED tests/test_windows.py::test_get_win_folder_override[mymusic] PASSED tests/test_windows.py::test_get_win_folder_override[desktop] PASSED tests/test_windows.py::test_get_win_folder_override[programs] PASSED tests/test_windows.py::test_get_win_folder_override[templates] PASSED tests/test_windows.py::test_get_win_folder_override[public] PASSED tests/test_windows.py::test_get_win_folder_override[user_program_files] PASSED tests/test_windows.py::test_get_win_folder_override_ignored[whitespace_only] PASSED tests/test_windows.py::test_get_win_folder_override_ignored[relative] PASSED tests/test_windows.py::test_get_win_folder_override_ignored[parent_relative] PASSED tests/test_windows.py::test_get_win_folder_override_ignored[drive_only] PASSED tests/test_windows.py::test_get_win_folder_override_ignored[drive_relative] PASSED tests/test_windows.py::test_get_win_folder_override_ignored[rooted_without_drive] PASSED tests/test_windows.py::test_get_win_folder_override_absolute[drive_backslash] PASSED tests/test_windows.py::test_get_win_folder_override_absolute[drive_slash] PASSED tests/test_windows.py::test_get_win_folder_override_absolute[unc_share] PASSED tests/test_windows.py::test_get_win_folder_override_absolute[unc_share_folder] PASSED tests/test_windows.py::test_get_win_folder_override_not_set_falls_back PASSED tests/test_windows.py::test_get_win_folder_override_strips_whitespace PASSED tests/test_windows.py::test_windows_iter_runtime_dirs_no_duplicate PASSED - generated xml file: $(@D)/.tox/py$(PYV)/tmp/junit.xml - ============================= slowest 10 durations ============================= ======== 2266 passed, 125 skipped ======== py$(PYV): OK congratulations :)