Console Output
Skipping 177 KB..
Full LogjNKU4P0+vIKc0PTOvWK8kMze1uCQxtyC1SC8ExvbLL0llgABGJgYmLwaB3MycnMzi4My85FTXgvzkDB8G3tScxILi1BRfsEwJg4BPVmJZon5OYl66vk9+Xrp1RRGDFNSy5Py84vycVD1nCI1qPENFAZAuv5nOzgh0Hx/IFD2QKXpgU7qfTDjTr3yfiYHRi4G1LDGnNBVorgBCkV9pblJqUduaqbLcUx50Q00DApadnQBEXi248gAAAA==[0mtests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_userns_mode PASSED [ 52%]
13:35:43 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_uts PASSED [ 53%]
13:35:43 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_volume_driver PASSED [ 53%]
13:35:43 tests/unit/dockertypes_test.py::HostConfigTest::test_ctrate_host_config_with_cpu_rt_runtime_types PASSED [ 53%]
13:35:43 tests/unit/dockertypes_test.py::ContainerSpecTest::test_parse_mounts PASSED [ 53%]
13:35:43 tests/unit/dockertypes_test.py::UlimitTest::test_create_host_config_dict_ulimit PASSED [ 53%]
13:35:43 tests/unit/dockertypes_test.py::UlimitTest::test_create_host_config_dict_ulimit_capitals PASSED [ 53%]
13:35:43 tests/unit/dockertypes_test.py::UlimitTest::test_create_host_config_obj_ulimit PASSED [ 54%]
13:35:43 tests/unit/dockertypes_test.py::UlimitTest::test_ulimit_invalid_type PASSED [ 54%]
13:35:43 tests/unit/dockertypes_test.py::LogConfigTest::test_create_host_config_dict_logconfig PASSED [ 54%]
13:35:43 tests/unit/dockertypes_test.py::LogConfigTest::test_create_host_config_obj_logconfig PASSED [ 54%]
13:35:43 tests/unit/dockertypes_test.py::LogConfigTest::test_logconfig_invalid_config_type PASSED [ 54%]
13:35:43 tests/unit/dockertypes_test.py::EndpointConfigTest::test_create_endpoint_config_with_aliases PASSED [ 55%]
13:35:43 tests/unit/dockertypes_test.py::IPAMConfigTest::test_create_ipam_config PASSED [ 55%]
13:35:43 tests/unit/dockertypes_test.py::ServiceModeTest::test_global_replicas_error PASSED [ 55%]
13:35:43 tests/unit/dockertypes_test.py::ServiceModeTest::test_global_simple PASSED [ 55%]
13:35:43 tests/unit/dockertypes_test.py::ServiceModeTest::test_invalid_mode PASSED [ 55%]
13:35:43 tests/unit/dockertypes_test.py::ServiceModeTest::test_replicated_replicas PASSED [ 55%]
13:35:43 tests/unit/dockertypes_test.py::ServiceModeTest::test_replicated_replicas_0 PASSED [ 56%]
13:35:43 tests/unit/dockertypes_test.py::ServiceModeTest::test_replicated_simple PASSED [ 56%]
13:35:43 tests/unit/dockertypes_test.py::MountTest::test_parse_mount_bind PASSED [ 56%]
13:35:43 tests/unit/dockertypes_test.py::MountTest::test_parse_mount_bind_windows XFAIL [ 56%]
13:35:43 tests/unit/dockertypes_test.py::MountTest::test_parse_mount_named_volume PASSED [ 56%]
13:35:43 tests/unit/dockertypes_test.py::MountTest::test_parse_mount_string_invalid PASSED [ 56%]
13:35:43 tests/unit/dockertypes_test.py::MountTest::test_parse_mount_string_no_source PASSED [ 57%]
13:35:43 tests/unit/dockertypes_test.py::MountTest::test_parse_mount_string_ro PASSED [ 57%]
13:35:43 tests/unit/dockertypes_test.py::MountTest::test_parse_mount_string_rw PASSED [ 57%]
13:35:43 tests/unit/dockertypes_test.py::MountTest::test_parse_mount_string_short_form PASSED [ 57%]
13:35:43 tests/unit/dockertypes_test.py::ServicePortsTest::test_convert_service_ports_invalid PASSED [ 57%]
13:35:43 tests/unit/dockertypes_test.py::ServicePortsTest::test_convert_service_ports_multiple PASSED [ 57%]
13:35:44 tests/unit/dockertypes_test.py::ServicePortsTest::test_convert_service_ports_no_protocol_and_mode PASSED [ 58%]
13:35:44 tests/unit/dockertypes_test.py::ServicePortsTest::test_convert_service_ports_simple PASSED [ 58%]
13:35:44 tests/unit/dockertypes_test.py::ServicePortsTest::test_convert_service_ports_with_protocol PASSED [ 58%]
13:35:44 tests/unit/dockertypes_test.py::ServicePortsTest::test_convert_service_ports_with_protocol_and_mode PASSED [ 58%]
13:35:44 tests/unit/errors_test.py::APIErrorTest::test_api_error_is_caught_by_dockerexception PASSED [ 58%]
13:35:44 tests/unit/errors_test.py::APIErrorTest::test_create_error_from_exception PASSED [ 59%]
13:35:44 tests/unit/errors_test.py::APIErrorTest::test_is_client_error_400 PASSED [ 59%]
13:35:44 tests/unit/errors_test.py::APIErrorTest::test_is_client_error_500 PASSED [ 59%]
13:35:44 tests/unit/errors_test.py::APIErrorTest::test_is_error_300 PASSED [ 59%]
13:35:44 tests/unit/errors_test.py::APIErrorTest::test_is_error_400 PASSED [ 59%]
13:35:44 tests/unit/errors_test.py::APIErrorTest::test_is_error_500 PASSED [ 59%]
13:35:44 tests/unit/errors_test.py::APIErrorTest::test_is_server_error_200 PASSED [ 60%]
13:35:44 tests/unit/errors_test.py::APIErrorTest::test_is_server_error_300 PASSED [ 60%]
13:35:44 tests/unit/errors_test.py::APIErrorTest::test_is_server_error_400 PASSED [ 60%]
13:35:44 tests/unit/errors_test.py::APIErrorTest::test_is_server_error_500 PASSED [ 60%]
13:35:44 tests/unit/errors_test.py::APIErrorTest::test_status_code_200 PASSED [ 60%]
13:35:44 tests/unit/errors_test.py::APIErrorTest::test_status_code_400 PASSED [ 60%]
13:35:44 tests/unit/errors_test.py::APIErrorTest::test_status_code_500 PASSED [ 61%]
13:35:44 tests/unit/errors_test.py::ContainerErrorTest::test_container_with_stderr PASSED [ 61%]
13:35:44 tests/unit/errors_test.py::ContainerErrorTest::test_container_without_stderr PASSED [ 61%]
13:35:44 tests/unit/errors_test.py::CreateUnexpectedKwargsErrorTest::test_create_unexpected_kwargs_error_multiple PASSED [ 61%]
13:35:44 tests/unit/errors_test.py::CreateUnexpectedKwargsErrorTest::test_create_unexpected_kwargs_error_single PASSED [ 61%]
13:35:44 tests/unit/models_containers_test.py::ContainerCollectionTest::test_create PASSED [ 62%]
13:35:44 tests/unit/models_containers_test.py::ContainerCollectionTest::test_create_container_args PASSED [ 62%]
13:35:44 tests/unit/models_containers_test.py::ContainerCollectionTest::test_create_with_image_object PASSED [ 62%]
13:35:44 tests/unit/models_containers_test.py::ContainerCollectionTest::test_get PASSED [ 62%]
13:35:44 tests/unit/models_containers_test.py::ContainerCollectionTest::test_list PASSED [ 62%]
13:35:44 tests/unit/models_containers_test.py::ContainerCollectionTest::test_list_ignore_removed PASSED [ 62%]
13:35:44 tests/unit/models_containers_test.py::ContainerCollectionTest::test_run PASSED [ 63%]
13:35:44 tests/unit/models_containers_test.py::ContainerCollectionTest::test_run_detach PASSED [ 63%]
13:35:44 tests/unit/models_containers_test.py::ContainerCollectionTest::test_run_pull PASSED [ 63%]
13:35:44 tests/unit/models_containers_test.py::ContainerCollectionTest::test_run_remove PASSED [ 63%]
13:35:44 tests/unit/models_containers_test.py::ContainerCollectionTest::test_run_with_error PASSED [ 63%]
13:35:44 tests/unit/models_containers_test.py::ContainerCollectionTest::test_run_with_image_object PASSED [ 63%]
13:35:44 tests/unit/models_containers_test.py::ContainerTest::test_attach PASSED [ 64%]
13:35:44 tests/unit/models_containers_test.py::ContainerTest::test_commit PASSED [ 64%]
13:35:44 tests/unit/models_containers_test.py::ContainerTest::test_diff PASSED [ 64%]
13:35:44 tests/unit/models_containers_test.py::ContainerTest::test_exec_run PASSED [ 64%]
13:35:44 tests/unit/models_containers_test.py::ContainerTest::test_exec_run_failure PASSED [ 64%]
13:35:44 tests/unit/models_containers_test.py::ContainerTest::test_export PASSED [ 65%]
13:35:44 tests/unit/models_containers_test.py::ContainerTest::test_get_archive PASSED [ 65%]
13:35:44 tests/unit/models_containers_test.py::ContainerTest::test_image PASSED [ 65%]
13:35:44 tests/unit/models_containers_test.py::ContainerTest::test_kill PASSED [ 65%]
13:35:44 tests/unit/models_containers_test.py::ContainerTest::test_labels PASSED [ 65%]
13:35:44 tests/unit/models_containers_test.py::ContainerTest::test_logs PASSED [ 65%]
13:35:44 tests/unit/models_containers_test.py::ContainerTest::test_name PASSED [ 66%]
13:35:44 tests/unit/models_containers_test.py::ContainerTest::test_pause PASSED [ 66%]
13:35:44 tests/unit/models_containers_test.py::ContainerTest::test_put_archive PASSED [ 66%]
13:35:44 tests/unit/models_containers_test.py::ContainerTest::test_remove PASSED [ 66%]
13:35:44 tests/unit/models_containers_test.py::ContainerTest::test_rename PASSED [ 66%]
13:35:44 tests/unit/models_containers_test.py::ContainerTest::test_resize PASSED [ 66%]
13:35:44 tests/unit/models_containers_test.py::ContainerTest::test_restart PASSED [ 67%]
13:35:44 tests/unit/models_containers_test.py::ContainerTest::test_start PASSED [ 67%]
13:35:44 tests/unit/models_containers_test.py::ContainerTest::test_stats PASSED [ 67%]
13:35:44 tests/unit/models_containers_test.py::ContainerTest::test_status PASSED [ 67%]
13:35:44 tests/unit/models_containers_test.py::ContainerTest::test_stop PASSED [ 67%]
13:35:44 tests/unit/models_containers_test.py::ContainerTest::test_top PASSED [ 68%]
13:35:44 tests/unit/models_containers_test.py::ContainerTest::test_unpause PASSED [ 68%]
13:35:44 tests/unit/models_containers_test.py::ContainerTest::test_update PASSED [ 68%]
13:35:44 tests/unit/models_containers_test.py::ContainerTest::test_wait PASSED [ 68%]
13:35:44 tests/unit/models_images_test.py::ImageCollectionTest::test_build PASSED [ 68%]
13:35:44 tests/unit/models_images_test.py::ImageCollectionTest::test_get PASSED [ 68%]
13:35:44 tests/unit/models_images_test.py::ImageCollectionTest::test_labels PASSED [ 69%]
13:35:44 tests/unit/models_images_test.py::ImageCollectionTest::test_list PASSED [ 69%]
13:35:44 tests/unit/models_images_test.py::ImageCollectionTest::test_load PASSED [ 69%]
13:35:44 tests/unit/models_images_test.py::ImageCollectionTest::test_pull PASSED [ 69%]
13:35:44 tests/unit/models_images_test.py::ImageCollectionTest::test_pull_multiple PASSED [ 69%]
13:35:44 tests/unit/models_images_test.py::ImageCollectionTest::test_pull_tag_precedence PASSED [ 69%]
13:35:44 tests/unit/models_images_test.py::ImageCollectionTest::test_pull_with_stream_param PASSED [ 70%]
13:35:44 tests/unit/models_images_test.py::ImageCollectionTest::test_push PASSED [ 70%]
13:35:44 tests/unit/models_images_test.py::ImageCollectionTest::test_remove PASSED [ 70%]
13:35:44 tests/unit/models_images_test.py::ImageCollectionTest::test_search PASSED [ 70%]
13:35:44 tests/unit/models_images_test.py::ImageTest::test_history PASSED [ 70%]
13:35:44 tests/unit/models_images_test.py::ImageTest::test_save PASSED [ 71%]
13:35:44 tests/unit/models_images_test.py::ImageTest::test_short_id PASSED [ 71%]
13:35:44 tests/unit/models_images_test.py::ImageTest::test_tag PASSED [ 71%]
13:35:44 tests/unit/models_images_test.py::ImageTest::test_tags PASSED [ 71%]
13:35:44 tests/unit/models_networks_test.py::NetworkCollectionTest::test_create PASSED [ 71%]
13:35:44 tests/unit/models_networks_test.py::NetworkCollectionTest::test_get PASSED [ 71%]
13:35:44 tests/unit/models_networks_test.py::NetworkCollectionTest::test_list PASSED [ 72%]
13:35:44 tests/unit/models_networks_test.py::NetworkTest::test_connect PASSED [ 72%]
13:35:44 tests/unit/models_networks_test.py::NetworkTest::test_disconnect PASSED [ 72%]
13:35:44 tests/unit/models_networks_test.py::NetworkTest::test_remove PASSED [ 72%]
13:35:44 tests/unit/models_resources_test.py::ModelTest::test_hash PASSED [ 72%]
13:35:44 tests/unit/models_resources_test.py::ModelTest::test_reload PASSED [ 72%]
13:35:44 tests/unit/models_services_test.py::CreateServiceKwargsTest::test_get_create_service_kwargs PASSED [ 73%]
13:35:44 tests/unit/sshadapter_test.py::SSHAdapterTest::test_ssh_hostname_prefix_trim PASSED [ 73%]
13:35:44 tests/unit/sshadapter_test.py::SSHAdapterTest::test_ssh_parse_hostname_and_port PASSED [ 73%]
13:35:44 tests/unit/sshadapter_test.py::SSHAdapterTest::test_ssh_parse_hostname_only PASSED [ 73%]
13:35:44 tests/unit/sshadapter_test.py::SSHAdapterTest::test_ssh_parse_url PASSED [ 73%]
13:35:44 tests/unit/sshadapter_test.py::SSHAdapterTest::test_ssh_parse_user_and_hostname PASSED [ 73%]
13:35:44 tests/unit/ssladapter_test.py::SSLAdapterTest::test_only_uses_tls PASSED [ 74%]
13:35:44 tests/unit/ssladapter_test.py::MatchHostnameTest::test_match_dns_failure PASSED [ 74%]
13:35:44 tests/unit/ssladapter_test.py::MatchHostnameTest::test_match_dns_success PASSED [ 74%]
13:35:44 tests/unit/ssladapter_test.py::MatchHostnameTest::test_match_ip_address_failure PASSED [ 74%]
13:35:44 tests/unit/ssladapter_test.py::MatchHostnameTest::test_match_ip_address_success PASSED [ 74%]
13:35:44 tests/unit/ssladapter_test.py::MatchHostnameTest::test_match_localhost_success PASSED [ 75%]
13:35:44 tests/unit/swarm_test.py::SwarmTest::test_join_swarm PASSED [ 75%]
13:35:44 tests/unit/swarm_test.py::SwarmTest::test_join_swarm_no_listen_address_takes_default PASSED [ 75%]
13:35:44 tests/unit/swarm_test.py::SwarmTest::test_node_update PASSED [ 75%]
13:35:44 tests/unit/types_containers_test.py::test_uid_0_is_not_elided PASSED [ 75%]
13:35:44 tests/unit/utils_build_test.py::ExcludePathsTest::test_directory PASSED [ 75%]
13:35:44 tests/unit/utils_build_test.py::ExcludePathsTest::test_directory_with_single_exception PASSED [ 76%]
13:35:44 tests/unit/utils_build_test.py::ExcludePathsTest::test_directory_with_subdir_exception PASSED [ 76%]
13:35:44 tests/unit/utils_build_test.py::ExcludePathsTest::test_directory_with_subdir_exception_win32_pathsep SKIPPED [ 76%]
13:35:44 tests/unit/utils_build_test.py::ExcludePathsTest::test_directory_with_trailing_slash PASSED [ 76%]
13:35:44 tests/unit/utils_build_test.py::ExcludePathsTest::test_directory_with_wildcard_exception PASSED [ 76%]
13:35:44 tests/unit/utils_build_test.py::ExcludePathsTest::test_double_wildcard PASSED [ 76%]
13:35:44 tests/unit/utils_build_test.py::ExcludePathsTest::test_double_wildcard_with_exception PASSED [ 77%]
13:35:44 tests/unit/utils_build_test.py::ExcludePathsTest::test_exclude_custom_dockerfile PASSED [ 77%]
13:35:44 tests/unit/utils_build_test.py::ExcludePathsTest::test_exclude_dockerfile_child PASSED [ 77%]
13:35:44 tests/unit/utils_build_test.py::ExcludePathsTest::test_exclude_dockerfile_dockerignore PASSED [ 77%]
13:35:44 tests/unit/utils_build_test.py::ExcludePathsTest::test_exclude_include_absolute_path PASSED [ 77%]
13:35:44 tests/unit/utils_build_test.py::ExcludePathsTest::test_include_wildcard PASSED [ 78%]
13:35:44 tests/unit/utils_build_test.py::ExcludePathsTest::test_last_line_precedence PASSED [ 78%]
13:35:44 tests/unit/utils_build_test.py::ExcludePathsTest::test_no_dupes PASSED [ 78%]
13:35:44 tests/unit/utils_build_test.py::ExcludePathsTest::test_no_excludes PASSED [ 78%]
13:35:44 tests/unit/utils_build_test.py::ExcludePathsTest::test_parent_directory PASSED [ 78%]
13:35:44 tests/unit/utils_build_test.py::ExcludePathsTest::test_question_mark PASSED [ 78%]
13:35:44 tests/unit/utils_build_test.py::ExcludePathsTest::test_single_and_double_wildcard PASSED [ 79%]
13:35:44 tests/unit/utils_build_test.py::ExcludePathsTest::test_single_filename PASSED [ 79%]
13:35:44 tests/unit/utils_build_test.py::ExcludePathsTest::test_single_filename_leading_dot_slash PASSED [ 79%]
13:35:44 tests/unit/utils_build_test.py::ExcludePathsTest::test_single_filename_trailing_slash PASSED [ 79%]
13:35:44 tests/unit/utils_build_test.py::ExcludePathsTest::test_single_subdir_single_filename PASSED [ 79%]
13:35:44 tests/unit/utils_build_test.py::ExcludePathsTest::test_single_subdir_single_filename_leading_slash PASSED [ 79%]
13:35:44 tests/unit/utils_build_test.py::ExcludePathsTest::test_single_subdir_wildcard_filename PASSED [ 80%]
13:35:44 tests/unit/utils_build_test.py::ExcludePathsTest::test_single_subdir_with_path_traversal PASSED [ 80%]
13:35:44 tests/unit/utils_build_test.py::ExcludePathsTest::test_subdirectory PASSED [ 80%]
13:35:44 tests/unit/utils_build_test.py::ExcludePathsTest::test_subdirectory_win32_pathsep SKIPPED [ 80%]
13:35:44 tests/unit/utils_build_test.py::ExcludePathsTest::test_trailing_double_wildcard PASSED [ 80%]
13:35:44 tests/unit/utils_build_test.py::ExcludePathsTest::test_wildcard_exclude PASSED [ 81%]
13:35:44 tests/unit/utils_build_test.py::ExcludePathsTest::test_wildcard_filename_end PASSED [ 81%]
13:35:44 tests/unit/utils_build_test.py::ExcludePathsTest::test_wildcard_filename_start PASSED [ 81%]
13:35:44 tests/unit/utils_build_test.py::ExcludePathsTest::test_wildcard_subdir_single_filename PASSED [ 81%]
13:35:44 tests/unit/utils_build_test.py::ExcludePathsTest::test_wildcard_subdir_wildcard_filename PASSED [ 81%]
13:35:44 tests/unit/utils_build_test.py::ExcludePathsTest::test_wildcard_with_exception PASSED [ 81%]
13:35:44 tests/unit/utils_build_test.py::ExcludePathsTest::test_wildcard_with_wildcard_exception PASSED [ 82%]
13:35:44 tests/unit/utils_build_test.py::TarTest::test_tar_directory_link PASSED [ 82%]
13:35:44 tests/unit/utils_build_test.py::TarTest::test_tar_socket_file PASSED [ 82%]
13:35:44 tests/unit/utils_build_test.py::TarTest::test_tar_with_broken_symlinks PASSED [ 82%]
13:35:44 tests/unit/utils_build_test.py::TarTest::test_tar_with_directory_symlinks PASSED [ 82%]
13:35:44 tests/unit/utils_build_test.py::TarTest::test_tar_with_empty_directory PASSED [ 82%]
13:35:44 tests/unit/utils_build_test.py::TarTest::test_tar_with_excludes PASSED [ 83%]
13:35:44 tests/unit/utils_build_test.py::TarTest::test_tar_with_file_symlinks PASSED [ 83%]
13:35:44 tests/unit/utils_build_test.py::TarTest::test_tar_with_inaccessible_file SKIPPED [ 83%]
13:35:44 tests/unit/utils_config_test.py::FindConfigFileTest::test_find_config_fallback PASSED [ 83%]
13:35:44 tests/unit/utils_config_test.py::FindConfigFileTest::test_find_config_from_environment PASSED [ 83%]
13:35:44 tests/unit/utils_config_test.py::FindConfigFileTest::test_find_config_from_explicit_path PASSED [ 84%]
13:35:44 tests/unit/utils_config_test.py::FindConfigFileTest::test_find_config_from_home_legacy_name PASSED [ 84%]
13:35:44 tests/unit/utils_config_test.py::FindConfigFileTest::test_find_config_from_home_posix PASSED [ 84%]
13:35:44 tests/unit/utils_config_test.py::FindConfigFileTest::test_find_config_from_home_windows SKIPPED [ 84%]
13:35:44 tests/unit/utils_config_test.py::LoadConfigTest::test_load_config_custom_headers PASSED [ 84%]
13:35:44 tests/unit/utils_config_test.py::LoadConfigTest::test_load_config_detach_keys PASSED [ 84%]
13:35:44 tests/unit/utils_config_test.py::LoadConfigTest::test_load_config_from_env PASSED [ 85%]
13:35:44 tests/unit/utils_config_test.py::LoadConfigTest::test_load_config_no_file PASSED [ 85%]
13:35:44 tests/unit/utils_json_stream_test.py::TestJsonSplitter::test_json_splitter_no_object PASSED [ 85%]
13:35:44 tests/unit/utils_json_stream_test.py::TestJsonSplitter::test_json_splitter_with_object PASSED [ 85%]
13:35:44 tests/unit/utils_json_stream_test.py::TestJsonSplitter::test_json_splitter_leading_whitespace PASSED [ 85%]
13:35:44 tests/unit/utils_json_stream_test.py::TestStreamAsText::test_stream_with_non_utf_unicode_character PASSED [ 85%]
13:35:44 tests/unit/utils_json_stream_test.py::TestStreamAsText::test_stream_with_utf_character PASSED [ 86%]
13:35:44 tests/unit/utils_json_stream_test.py::TestJsonStream::test_with_falsy_entries PASSED [ 86%]
13:35:44 tests/unit/utils_json_stream_test.py::TestJsonStream::test_with_leading_whitespace PASSED [ 86%]
13:35:44 tests/unit/utils_proxy_test.py::ProxyConfigTest::test_environment PASSED [ 86%]
13:35:44 tests/unit/utils_proxy_test.py::ProxyConfigTest::test_from_dict PASSED [ 86%]
13:35:44 tests/unit/utils_proxy_test.py::ProxyConfigTest::test_inject_proxy_environment PASSED [ 86%]
13:35:44 tests/unit/utils_proxy_test.py::ProxyConfigTest::test_new PASSED [ 87%]
13:35:44 tests/unit/utils_proxy_test.py::ProxyConfigTest::test_truthiness PASSED [ 87%]
13:35:44 tests/unit/utils_test.py::DecoratorsTest::test_update_headers PASSED [ 87%]
13:35:44 tests/unit/utils_test.py::KwargsFromEnvTest::test_kwargs_from_env_alternate_env PASSED [ 87%]
13:35:44 tests/unit/utils_test.py::KwargsFromEnvTest::test_kwargs_from_env_empty PASSED [ 87%]
13:35:44 tests/unit/utils_test.py::KwargsFromEnvTest::test_kwargs_from_env_no_cert_path PASSED [ 88%]
13:35:44 tests/unit/utils_test.py::KwargsFromEnvTest::test_kwargs_from_env_tls PASSED [ 88%]
13:35:44 tests/unit/utils_test.py::KwargsFromEnvTest::test_kwargs_from_env_tls_verify_false PASSED [ 88%]
13:35:44 tests/unit/utils_test.py::KwargsFromEnvTest::test_kwargs_from_env_tls_verify_false_no_cert PASSED [ 88%]
13:35:44 tests/unit/utils_test.py::ConverVolumeBindsTest::test_convert_volume_binds_compact PASSED [ 88%]
13:35:44 tests/unit/utils_test.py::ConverVolumeBindsTest::test_convert_volume_binds_complete PASSED [ 88%]
13:35:44 tests/unit/utils_test.py::ConverVolumeBindsTest::test_convert_volume_binds_empty PASSED [ 89%]
13:35:44 tests/unit/utils_test.py::ConverVolumeBindsTest::test_convert_volume_binds_list PASSED [ 89%]
13:35:44 tests/unit/utils_test.py::ConverVolumeBindsTest::test_convert_volume_binds_no_mode PASSED [ 89%]
13:35:44 tests/unit/utils_test.py::ConverVolumeBindsTest::test_convert_volume_binds_unicode_bytes_input PASSED [ 89%]
13:35:44 tests/unit/utils_test.py::ConverVolumeBindsTest::test_convert_volume_binds_unicode_unicode_input PASSED [ 89%]
13:35:44 tests/unit/utils_test.py::ParseEnvFileTest::test_parse_env_file_commented_line PASSED [ 89%]
13:35:44 tests/unit/utils_test.py::ParseEnvFileTest::test_parse_env_file_invalid_line PASSED [ 90%]
13:35:44 tests/unit/utils_test.py::ParseEnvFileTest::test_parse_env_file_newline PASSED [ 90%]
13:35:44 tests/unit/utils_test.py::ParseEnvFileTest::test_parse_env_file_proper PASSED [ 90%]
13:35:44 tests/unit/utils_test.py::ParseEnvFileTest::test_parse_env_file_with_equals_character PASSED [ 90%]
13:35:44 tests/unit/utils_test.py::ParseHostTest::test_parse_host PASSED [ 90%]
13:35:44 tests/unit/utils_test.py::ParseHostTest::test_parse_host_empty_value PASSED [ 91%]
13:35:44 tests/unit/utils_test.py::ParseHostTest::test_parse_host_tls PASSED [ 91%]
13:35:44 tests/unit/utils_test.py::ParseHostTest::test_parse_host_tls_tcp_proto PASSED [ 91%]
13:35:44 tests/unit/utils_test.py::ParseHostTest::test_parse_host_trailing_slash PASSED [ 91%]
13:35:44 tests/unit/utils_test.py::ParseRepositoryTagTest::test_index_image_no_tag PASSED [ 91%]
13:35:44 tests/unit/utils_test.py::ParseRepositoryTagTest::test_index_image_sha PASSED [ 91%]
13:35:44 tests/unit/utils_test.py::ParseRepositoryTagTest::test_index_image_tag PASSED [ 92%]
13:35:44 tests/unit/utils_test.py::ParseRepositoryTagTest::test_index_user_image_no_tag PASSED [ 92%]
13:35:44 tests/unit/utils_test.py::ParseRepositoryTagTest::test_index_user_image_tag PASSED [ 92%]
13:35:44 tests/unit/utils_test.py::ParseRepositoryTagTest::test_private_reg_image_no_tag PASSED [ 92%]
13:35:44 tests/unit/utils_test.py::ParseRepositoryTagTest::test_private_reg_image_sha PASSED [ 92%]
13:35:44 tests/unit/utils_test.py::ParseRepositoryTagTest::test_private_reg_image_tag PASSED [ 92%]
13:35:44 tests/unit/utils_test.py::ParseDeviceTest::test_dict PASSED [ 93%]
13:35:44 tests/unit/utils_test.py::ParseDeviceTest::test_full_string_definition PASSED [ 93%]
13:35:44 tests/unit/utils_test.py::ParseDeviceTest::test_hybrid_list PASSED [ 93%]
13:35:44 tests/unit/utils_test.py::ParseDeviceTest::test_partial_string_definition PASSED [ 93%]
13:35:44 tests/unit/utils_test.py::ParseDeviceTest::test_permissionless_string_definition PASSED [ 93%]
13:35:44 tests/unit/utils_test.py::ParseBytesTest::test_parse_bytes_float PASSED [ 94%]
13:35:44 tests/unit/utils_test.py::ParseBytesTest::test_parse_bytes_invalid PASSED [ 94%]
13:35:44 tests/unit/utils_test.py::ParseBytesTest::test_parse_bytes_valid PASSED [ 94%]
13:35:44 tests/unit/utils_test.py::UtilsTest::test_convert_filters PASSED [ 94%]
13:35:44 tests/unit/utils_test.py::UtilsTest::test_decode_json_header PASSED [ 94%]
13:35:44 tests/unit/utils_test.py::SplitCommandTest::test_split_command_with_bytes PASSED [ 94%]
13:35:44 tests/unit/utils_test.py::SplitCommandTest::test_split_command_with_unicode PASSED [ 95%]
13:35:44 tests/unit/utils_test.py::PortsTest::test_build_port_bindings_with_matching_internal_port_ranges PASSED [ 95%]
13:35:44 tests/unit/utils_test.py::PortsTest::test_build_port_bindings_with_matching_internal_ports PASSED [ 95%]
13:35:44 tests/unit/utils_test.py::PortsTest::test_build_port_bindings_with_nonmatching_internal_port_ranges PASSED [ 95%]
13:35:44 tests/unit/utils_test.py::PortsTest::test_build_port_bindings_with_nonmatching_internal_ports PASSED [ 95%]
13:35:44 tests/unit/utils_test.py::PortsTest::test_build_port_bindings_with_one_port PASSED [ 95%]
13:35:44 tests/unit/utils_test.py::PortsTest::test_build_port_bindings_with_port_range PASSED [ 96%]
13:35:44 tests/unit/utils_test.py::PortsTest::test_host_only_with_colon PASSED [ 96%]
13:35:44 tests/unit/utils_test.py::PortsTest::test_non_matching_length_port_ranges PASSED [ 96%]
13:35:44 tests/unit/utils_test.py::PortsTest::test_port_and_range_invalid PASSED [ 96%]
13:35:44 tests/unit/utils_test.py::PortsTest::test_port_only_with_colon PASSED [ 96%]
13:35:44 tests/unit/utils_test.py::PortsTest::test_split_port_empty_string PASSED [ 97%]
13:35:44 tests/unit/utils_test.py::PortsTest::test_split_port_invalid PASSED [ 97%]
13:35:44 tests/unit/utils_test.py::PortsTest::test_split_port_invalid_protocol PASSED [ 97%]
13:35:44 tests/unit/utils_test.py::PortsTest::test_split_port_no_host_port PASSED [ 97%]
13:35:44 tests/unit/utils_test.py::PortsTest::test_split_port_non_string PASSED [ 97%]
13:35:44 tests/unit/utils_test.py::PortsTest::test_split_port_random_port_range_with_host_port PASSED [ 97%]
13:35:44 tests/unit/utils_test.py::PortsTest::test_split_port_range_no_host_port PASSED [ 98%]
13:35:44 tests/unit/utils_test.py::PortsTest::test_split_port_range_with_host_ip_no_port PASSED [ 98%]
13:35:44 tests/unit/utils_test.py::PortsTest::test_split_port_range_with_host_port PASSED [ 98%]
13:35:44 tests/unit/utils_test.py::PortsTest::test_split_port_range_with_protocol PASSED [ 98%]
13:35:44 tests/unit/utils_test.py::PortsTest::test_split_port_with_host_ip PASSED [ 98%]
13:35:44 tests/unit/utils_test.py::PortsTest::test_split_port_with_host_ip_no_port PASSED [ 98%]
13:35:44 tests/unit/utils_test.py::PortsTest::test_split_port_with_host_port PASSED [ 99%]
13:35:44 tests/unit/utils_test.py::PortsTest::test_split_port_with_ipv6_address PASSED [ 99%]
13:35:44 tests/unit/utils_test.py::PortsTest::test_split_port_with_protocol PASSED [ 99%]
13:35:44 tests/unit/utils_test.py::PortsTest::test_with_no_container_port PASSED [ 99%]
13:35:44 tests/unit/utils_test.py::FormatEnvironmentTest::test_format_env_binary_unicode_value PASSED [ 99%]
13:35:45 tests/unit/utils_test.py::FormatEnvironmentTest::test_format_env_no_value PASSED [100%]
13:35:45
13:35:45 =============================== warnings summary ===============================
13:35:45 /usr/local/lib/python2.7/site-packages/OpenSSL/crypto.py:12
13:35:45 /usr/local/lib/python2.7/site-packages/OpenSSL/crypto.py:12: CryptographyDeprecationWarning: Python 2 is no longer supported by the Python core team. Support for it is now deprecated in cryptography, and will be removed in a future release.
13:35:45 from cryptography import x509
13:35:45
13:35:45 -- Docs: https://docs.pytest.org/en/latest/warnings.html
13:35:45
13:35:45 ---------- coverage: platform linux2, python 2.7.18-final-0 ----------
13:35:45 Name Stmts Miss Branch BrPart Cover
13:35:45 -----------------------------------------------------------------------
13:35:45 docker/__init__.py 8 0 0 0 100%
13:35:45 docker/api/__init__.py 1 0 0 0 100%
13:35:45 docker/api/build.py 126 41 92 21 62%
13:35:45 docker/api/client.py 263 64 96 12 74%
13:35:45 docker/api/config.py 31 19 6 0 32%
13:35:45 docker/api/container.py 266 72 102 25 65%
13:35:45 docker/api/daemon.py 39 4 14 4 85%
13:35:45 docker/api/exec_api.py 46 11 22 9 68%
13:35:45 docker/api/image.py 157 42 56 13 70%
13:35:45 docker/api/network.py 90 35 48 11 51%
13:35:45 docker/api/plugin.py 90 68 12 0 22%
13:35:45 docker/api/secret.py 36 23 10 0 28%
13:35:45 docker/api/service.py 200 176 149 0 7%
13:35:45 docker/api/swarm.py 106 67 38 1 28%
13:35:45 docker/api/volume.py 38 9 14 2 71%
13:35:45 docker/auth.py 198 16 74 17 88%
13:35:45 docker/client.py 69 10 2 0 86%
13:35:45 docker/constants.py 21 0 0 0 100%
13:35:45 docker/context/__init__.py 2 0 0 0 100%
13:35:45 docker/context/api.py 78 41 38 8 39%
13:35:45 docker/context/config.py 61 33 16 2 42%
13:35:45 docker/context/context.py 151 93 62 6 30%
13:35:45 docker/credentials/__init__.py 3 0 0 0 100%
13:35:45 docker/credentials/constants.py 4 0 0 0 100%
13:35:45 docker/credentials/errors.py 11 4 2 0 54%
13:35:45 docker/credentials/store.py 50 35 16 0 23%
13:35:45 docker/credentials/utils.py 23 18 12 0 14%
13:35:45 docker/errors.py 110 26 18 4 70%
13:35:45 docker/models/__init__.py 0 0 0 0 100%
13:35:45 docker/models/configs.py 21 8 0 0 62%
13:35:45 docker/models/containers.py 183 11 60 9 92%
13:35:45 docker/models/images.py 137 55 50 4 50%
13:35:45 docker/models/networks.py 37 7 8 3 73%
13:35:45 docker/models/nodes.py 15 5 0 0 67%
13:35:45 docker/models/plugins.py 49 30 8 0 33%
13:35:45 docker/models/resource.py 41 10 6 3 72%
13:35:45 docker/models/secrets.py 21 8 0 0 62%
13:35:45 docker/models/services.py 87 35 34 4 60%
13:35:45 docker/models/swarm.py 39 21 6 0 40%
13:35:45 docker/models/volumes.py 23 10 2 0 52%
13:35:45 docker/tls.py 37 6 14 6 76%
13:35:45 docker/transport/__init__.py 11 3 0 0 73%
13:35:45 docker/transport/basehttpadapter.py 6 0 2 1 88%
13:35:45 docker/transport/npipeconn.py 59 54 10 0 7%
13:35:45 docker/transport/npipesocket.py 137 132 22 0 3%
13:35:45 docker/transport/sshconn.py 163 106 56 4 30%
13:35:45 docker/transport/ssladapter.py 36 8 10 4 70%
13:35:45 docker/transport/unixconn.py 66 5 12 4 88%
13:35:45 docker/types/__init__.py 6 0 0 0 100%
13:35:45 docker/types/base.py 5 0 2 0 100%
13:35:45 docker/types/containers.py 420 79 324 43 81%
13:35:45 docker/types/daemon.py 36 24 14 0 24%
13:35:45 docker/types/healthcheck.py 34 20 4 0 37%
13:35:45 docker/types/networks.py 41 11 28 9 65%
13:35:45 docker/types/services.py 314 140 208 39 50%
13:35:45 docker/types/swarm.py 51 45 40 0 7%
13:35:45 docker/utils/__init__.py 3 0 0 0 100%
13:35:45 docker/utils/build.py 155 27 74 10 81%
13:35:45 docker/utils/config.py 36 1 10 1 96%
13:35:45 docker/utils/decorators.py 32 1 12 1 95%
13:35:45 docker/utils/fnmatch.py 55 18 28 2 61%
13:35:45 docker/utils/json_stream.py 43 8 14 2 79%
13:35:45 docker/utils/ports.py 50 3 28 2 91%
13:35:45 docker/utils/proxy.py 32 1 12 0 98%
13:35:45 docker/utils/socket.py 86 12 40 7 82%
13:35:45 docker/utils/utils.py 285 19 164 15 92%
13:35:45 docker/version.py 2 0 0 0 100%
13:35:45 -----------------------------------------------------------------------
13:35:45 TOTAL 5132 1830 2201 308 60%
13:35:45
13:35:45 =========================== short test summary info ============================
13:35:45 XFAIL tests/unit/dockertypes_test.py::MountTest::test_parse_mount_bind_windows
13:35:45 SKIPPED [1] tests/unit/client_test.py:143: Npipe Connection Pool only on Windows
13:35:45 SKIPPED [1] tests/unit/client_test.py:254: Npipe Connection Pool only on Windows
13:35:45 SKIPPED [1] tests/unit/utils_config_test.py:58: condition: sys.platform != 'win32'
13:35:45 SKIPPED [1] tests/unit/client_test.py:217: Npipe Connection Pool only on Windows
13:35:45 SKIPPED [1] tests/unit/utils_build_test.py:232: Backslash patterns only on Windows
13:35:45 SKIPPED [1] tests/unit/api_build_test.py:169: Windows-specific syntax
13:35:45 SKIPPED [1] tests/unit/context_test.py:18: Windows specific path check
13:35:45 SKIPPED [1] tests/unit/utils_build_test.py:254: Backslash patterns only on Windows
13:35:45 SKIPPED [1] tests/unit/utils_build_test.py:402: root user always has access ; no chmod on Windows
13:35:45 SKIPPED [1] tests/unit/client_test.py:104: Npipe Connection Pool only on Windows
13:35:45 ======== 558 passed, 10 skipped, 1 xfailed, 1 warnings in 6.54 seconds =========