Skip to content

Console Output

20:06:44 + docker run --rm -e DOCKER_TEST_API_VERSION=1.40 dockerpinata/docker-py:py3-bc4c0d7cf4f6f794f9e92d93ddec02626eda739c py.test -v -rxs --cov=docker tests/unit
20:06:44 Unable to find image 'dockerpinata/docker-py:py3-bc4c0d7cf4f6f794f9e92d93ddec02626eda739c' locally
20:06:44 py3-bc4c0d7cf4f6f794f9e92d93ddec02626eda739c: Pulling from dockerpinata/docker-py
20:06:44 Digest: sha256:9f44032d6a0fa2a124587c1197882ddf6023f504c3a3c9cd1c604bb02d31036e
20:06:44 Status: Downloaded newer image for dockerpinata/docker-py:py3-bc4c0d7cf4f6f794f9e92d93ddec02626eda739c
20:06:45 ============================= test session starts ==============================
20:06:45 platform linux -- Python 3.10.11, pytest-7.1.2, pluggy-1.0.0 -- /usr/local/bin/python
20:06:45 cachedir: .pytest_cache
20:06:45 rootdir: /src, configfile: pytest.ini
20:06:45 plugins: timeout-2.1.0, cov-3.0.0
20:06:46 collecting ... collected 588 items
20:06:46 
20:06:46 tests/unit/api_build_test.py::BuildTest::test_build_container PASSED     [  0%]
20:06:46 tests/unit/api_build_test.py::BuildTest::test_build_container_custom_context PASSED [  0%]
20:06:46 tests/unit/api_build_test.py::BuildTest::test_build_container_custom_context_gzip PASSED [  0%]
20:06:46 tests/unit/api_build_test.py::BuildTest::test_build_container_invalid_container_limits PASSED [  0%]
20:06:46 tests/unit/api_build_test.py::BuildTest::test_build_container_pull PASSED [  0%]
20:06:46 tests/unit/api_build_test.py::BuildTest::test_build_container_with_container_limits PASSED [  1%]
20:06:46 tests/unit/api_build_test.py::BuildTest::test_build_container_with_named_dockerfile PASSED [  1%]
20:06:46 tests/unit/api_build_test.py::BuildTest::test_build_remote_with_registry_auth PASSED [  1%]
20:06:46 tests/unit/api_build_test.py::BuildTest::test_process_dockerfile PASSED  [  1%]
20:06:46 tests/unit/api_build_test.py::BuildTest::test_process_dockerfile_win_longpath_prefix SKIPPED [  1%]
20:06:46 tests/unit/api_build_test.py::BuildTest::test_set_auth_headers_with_dict_and_auth_configs PASSED [  1%]
20:06:46 tests/unit/api_build_test.py::BuildTest::test_set_auth_headers_with_dict_and_no_auth_configs PASSED [  2%]
20:06:46 tests/unit/api_build_test.py::BuildTest::test_set_auth_headers_with_empty_dict_and_auth_configs PASSED [  2%]
20:06:46 tests/unit/api_container_test.py::StartContainerTest::test_start_container PASSED [  2%]
20:06:46 tests/unit/api_container_test.py::StartContainerTest::test_start_container_none PASSED [  2%]
20:06:46 tests/unit/api_container_test.py::StartContainerTest::test_start_container_privileged PASSED [  2%]
20:06:46 tests/unit/api_container_test.py::StartContainerTest::test_start_container_regression_573 PASSED [  2%]
20:06:46 tests/unit/api_container_test.py::StartContainerTest::test_start_container_with_binds_ro PASSED [  3%]
20:06:46 tests/unit/api_container_test.py::StartContainerTest::test_start_container_with_binds_rw PASSED [  3%]
20:06:46 tests/unit/api_container_test.py::StartContainerTest::test_start_container_with_dict_instead_of_id PASSED [  3%]
20:06:46 tests/unit/api_container_test.py::StartContainerTest::test_start_container_with_links PASSED [  3%]
20:06:46 tests/unit/api_container_test.py::StartContainerTest::test_start_container_with_links_as_list_of_tuples PASSED [  3%]
20:06:46 tests/unit/api_container_test.py::StartContainerTest::test_start_container_with_lxc_conf PASSED [  3%]
20:06:46 tests/unit/api_container_test.py::StartContainerTest::test_start_container_with_lxc_conf_compat PASSED [  4%]
20:06:46 tests/unit/api_container_test.py::StartContainerTest::test_start_container_with_multiple_links PASSED [  4%]
20:06:46 tests/unit/api_container_test.py::StartContainerTest::test_start_container_with_port_binds PASSED [  4%]
20:06:46 tests/unit/api_container_test.py::CreateContainerTest::test_create_container PASSED [  4%]
20:06:46 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_privileged PASSED [  4%]
20:06:46 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_added_capabilities PASSED [  4%]
20:06:46 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_aliases PASSED [  5%]
20:06:46 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_binds PASSED [  5%]
20:06:46 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_binds_list PASSED [  5%]
20:06:46 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_binds_mode PASSED [  5%]
20:06:46 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_binds_mode_and_ro_error PASSED [  5%]
20:06:46 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_binds_ro PASSED [  5%]
20:06:46 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_binds_rw PASSED [  6%]
20:06:46 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_cgroup_parent PASSED [  6%]
20:06:46 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_cgroupns SKIPPED [  6%]
20:06:46 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_device_requests PASSED [  6%]
20:06:46 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_devices PASSED [  6%]
20:06:46 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_dropped_capabilities PASSED [  6%]
20:06:46 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_entrypoint PASSED [  7%]
20:06:46 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_host_config_cpu_shares PASSED [  7%]
20:06:46 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_host_config_cpus PASSED [  7%]
20:06:46 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_host_config_cpuset PASSED [  7%]
20:06:46 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_host_config_cpuset_mems PASSED [  7%]
20:06:46 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_labels_dict PASSED [  7%]
20:06:46 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_labels_list PASSED [  8%]
20:06:46 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_links PASSED [  8%]
20:06:46 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_links_as_list_of_tuples PASSED [  8%]
20:06:46 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_lxc_conf PASSED [  8%]
20:06:46 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_lxc_conf_compat PASSED [  8%]
20:06:46 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_mac_address PASSED [  9%]
20:06:46 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_mem_limit_as_int PASSED [  9%]
20:06:46 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_mem_limit_as_string PASSED [  9%]
20:06:46 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_mem_limit_as_string_with_g_unit PASSED [  9%]
20:06:46 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_mem_limit_as_string_with_k_unit PASSED [  9%]
20:06:46 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_mem_limit_as_string_with_m_unit PASSED [  9%]
20:06:46 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_mem_limit_as_string_with_wrong_value PASSED [ 10%]
20:06:46 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_multiple_links PASSED [ 10%]
20:06:46 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_named_volume PASSED [ 10%]
20:06:46 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_platform PASSED [ 10%]
20:06:46 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_port_binds PASSED [ 10%]
20:06:46 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_ports PASSED [ 10%]
20:06:46 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_restart_policy PASSED [ 11%]
20:06:46 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_stdin_open PASSED [ 11%]
20:06:46 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_stop_signal PASSED [ 11%]
20:06:46 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_sysctl PASSED [ 11%]
20:06:46 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_tmpfs_dict PASSED [ 11%]
20:06:46 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_tmpfs_list PASSED [ 11%]
20:06:46 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_unicode_envvars PASSED [ 12%]
20:06:46 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_volume_string PASSED [ 12%]
20:06:46 tests/unit/api_container_test.py::CreateContainerTest::test_create_container_with_working_dir PASSED [ 12%]
20:06:46 tests/unit/api_container_test.py::CreateContainerTest::test_create_named_container PASSED [ 12%]
20:06:46 tests/unit/api_container_test.py::ContainerTest::test_container_stats PASSED [ 12%]
20:06:46 tests/unit/api_container_test.py::ContainerTest::test_container_stats_with_one_shot PASSED [ 12%]
20:06:46 tests/unit/api_container_test.py::ContainerTest::test_container_stats_without_streaming PASSED [ 13%]
20:06:46 tests/unit/api_container_test.py::ContainerTest::test_container_top PASSED [ 13%]
20:06:46 tests/unit/api_container_test.py::ContainerTest::test_container_top_with_psargs PASSED [ 13%]
20:06:46 tests/unit/api_container_test.py::ContainerTest::test_container_update PASSED [ 13%]
20:06:47 tests/unit/api_container_test.py::ContainerTest::test_diff PASSED        [ 13%]
20:06:47 tests/unit/api_container_test.py::ContainerTest::test_diff_with_dict_instead_of_id PASSED [ 13%]
20:06:47 tests/unit/api_container_test.py::ContainerTest::test_export PASSED      [ 14%]
20:06:47 tests/unit/api_container_test.py::ContainerTest::test_export_with_dict_instead_of_id PASSED [ 14%]
20:06:47 tests/unit/api_container_test.py::ContainerTest::test_inspect_container PASSED [ 14%]
20:06:47 tests/unit/api_container_test.py::ContainerTest::test_inspect_container_undefined_id PASSED [ 14%]
20:06:47 tests/unit/api_container_test.py::ContainerTest::test_kill_container PASSED [ 14%]
20:06:47 tests/unit/api_container_test.py::ContainerTest::test_kill_container_with_dict_instead_of_id PASSED [ 14%]
20:06:47 tests/unit/api_container_test.py::ContainerTest::test_kill_container_with_signal PASSED [ 15%]
20:06:47 tests/unit/api_container_test.py::ContainerTest::test_list_containers PASSED [ 15%]
20:06:47 tests/unit/api_container_test.py::ContainerTest::test_log_following PASSED [ 15%]
20:06:47 tests/unit/api_container_test.py::ContainerTest::test_log_following_backwards PASSED [ 15%]
20:06:47 tests/unit/api_container_test.py::ContainerTest::test_log_since PASSED   [ 15%]
20:06:47 tests/unit/api_container_test.py::ContainerTest::test_log_since_with_datetime PASSED [ 15%]
20:06:47 tests/unit/api_container_test.py::ContainerTest::test_log_since_with_float PASSED [ 16%]
20:06:47 tests/unit/api_container_test.py::ContainerTest::test_log_since_with_invalid_value_raises_error PASSED [ 16%]
20:06:47 tests/unit/api_container_test.py::ContainerTest::test_log_streaming PASSED [ 16%]
20:06:47 tests/unit/api_container_test.py::ContainerTest::test_log_streaming_and_following PASSED [ 16%]
20:06:47 tests/unit/api_container_test.py::ContainerTest::test_log_tail PASSED    [ 16%]
20:06:47 tests/unit/api_container_test.py::ContainerTest::test_log_tty PASSED     [ 17%]
20:06:47 tests/unit/api_container_test.py::ContainerTest::test_logs PASSED        [ 17%]
20:06:47 tests/unit/api_container_test.py::ContainerTest::test_logs_with_dict_instead_of_id PASSED [ 17%]
20:06:47 tests/unit/api_container_test.py::ContainerTest::test_pause_container PASSED [ 17%]
20:06:47 tests/unit/api_container_test.py::ContainerTest::test_port PASSED        [ 17%]
20:06:47 tests/unit/api_container_test.py::ContainerTest::test_remove_container PASSED [ 17%]
20:06:47 tests/unit/api_container_test.py::ContainerTest::test_remove_container_with_dict_instead_of_id PASSED [ 18%]
20:06:47 tests/unit/api_container_test.py::ContainerTest::test_rename_container PASSED [ 18%]
20:06:47 tests/unit/api_container_test.py::ContainerTest::test_resize_container PASSED [ 18%]
20:06:47 tests/unit/api_container_test.py::ContainerTest::test_restart_container PASSED [ 18%]
20:06:47 tests/unit/api_container_test.py::ContainerTest::test_restart_container_with_dict_instead_of_id PASSED [ 18%]
20:06:47 tests/unit/api_container_test.py::ContainerTest::test_stop_container PASSED [ 18%]
20:06:47 tests/unit/api_container_test.py::ContainerTest::test_stop_container_with_dict_instead_of_id PASSED [ 19%]
20:06:47 tests/unit/api_container_test.py::ContainerTest::test_unpause_container PASSED [ 19%]
20:06:47 tests/unit/api_container_test.py::ContainerTest::test_wait PASSED        [ 19%]
20:06:47 tests/unit/api_container_test.py::ContainerTest::test_wait_with_dict_instead_of_id PASSED [ 19%]
20:06:47 tests/unit/api_exec_test.py::ExecTest::test_exec_create PASSED           [ 19%]
20:06:47 tests/unit/api_exec_test.py::ExecTest::test_exec_inspect PASSED          [ 19%]
20:06:47 tests/unit/api_exec_test.py::ExecTest::test_exec_resize PASSED           [ 20%]
20:06:47 tests/unit/api_exec_test.py::ExecTest::test_exec_start PASSED            [ 20%]
20:06:47 tests/unit/api_exec_test.py::ExecTest::test_exec_start_detached PASSED   [ 20%]
20:06:47 tests/unit/api_image_test.py::ImageTest::test_commit PASSED              [ 20%]
20:06:47 tests/unit/api_image_test.py::ImageTest::test_get_image PASSED           [ 20%]
20:06:47 tests/unit/api_image_test.py::ImageTest::test_image_history PASSED       [ 20%]
20:06:47 tests/unit/api_image_test.py::ImageTest::test_image_ids PASSED           [ 21%]
20:06:47 tests/unit/api_image_test.py::ImageTest::test_image_viz PASSED           [ 21%]
20:06:47 tests/unit/api_image_test.py::ImageTest::test_images PASSED              [ 21%]
20:06:47 tests/unit/api_image_test.py::ImageTest::test_images_filters PASSED      [ 21%]
20:06:47 tests/unit/api_image_test.py::ImageTest::test_images_name PASSED         [ 21%]
20:06:47 tests/unit/api_image_test.py::ImageTest::test_images_quiet PASSED        [ 21%]
20:06:47 tests/unit/api_image_test.py::ImageTest::test_import_image PASSED        [ 22%]
20:06:47 tests/unit/api_image_test.py::ImageTest::test_import_image_from_bytes PASSED [ 22%]
20:06:47 tests/unit/api_image_test.py::ImageTest::test_import_image_from_image PASSED [ 22%]
20:06:47 tests/unit/api_image_test.py::ImageTest::test_inspect_image PASSED       [ 22%]
20:06:47 tests/unit/api_image_test.py::ImageTest::test_inspect_image_undefined_id PASSED [ 22%]
20:06:47 tests/unit/api_image_test.py::ImageTest::test_load_image PASSED          [ 22%]
20:06:47 tests/unit/api_image_test.py::ImageTest::test_load_image_quiet PASSED    [ 23%]
20:06:47 tests/unit/api_image_test.py::ImageTest::test_pull PASSED                [ 23%]
20:06:47 tests/unit/api_image_test.py::ImageTest::test_pull_stream PASSED         [ 23%]
20:06:47 tests/unit/api_image_test.py::ImageTest::test_push_image PASSED          [ 23%]
20:06:47 tests/unit/api_image_test.py::ImageTest::test_push_image_stream PASSED   [ 23%]
20:06:47 tests/unit/api_image_test.py::ImageTest::test_push_image_with_auth PASSED [ 23%]
20:06:47 tests/unit/api_image_test.py::ImageTest::test_push_image_with_tag PASSED [ 24%]
20:06:47 tests/unit/api_image_test.py::ImageTest::test_remove_image PASSED        [ 24%]
20:06:47 tests/unit/api_image_test.py::ImageTest::test_tag_image PASSED           [ 24%]
20:06:47 tests/unit/api_image_test.py::ImageTest::test_tag_image_force PASSED     [ 24%]
20:06:47 tests/unit/api_image_test.py::ImageTest::test_tag_image_tag PASSED       [ 24%]
20:06:47 tests/unit/api_network_test.py::NetworkTest::test_connect_container_to_network PASSED [ 25%]
20:06:47 tests/unit/api_network_test.py::NetworkTest::test_create_network PASSED  [ 25%]
20:06:47 tests/unit/api_network_test.py::NetworkTest::test_disconnect_container_from_network PASSED [ 25%]
20:06:47 tests/unit/api_network_test.py::NetworkTest::test_inspect_network PASSED [ 25%]
20:06:47 tests/unit/api_network_test.py::NetworkTest::test_list_networks PASSED   [ 25%]
20:06:47 tests/unit/api_network_test.py::NetworkTest::test_remove_network PASSED  [ 25%]
20:06:47 tests/unit/api_test.py::DockerApiTest::test_auto_retrieve_server_version PASSED [ 26%]
20:06:47 tests/unit/api_test.py::DockerApiTest::test_create_host_config_secopt PASSED [ 26%]
20:06:47 tests/unit/api_test.py::DockerApiTest::test_ctor PASSED                  [ 26%]
20:06:47 tests/unit/api_test.py::DockerApiTest::test_events PASSED                [ 26%]
20:06:47 tests/unit/api_test.py::DockerApiTest::test_events_with_filters PASSED   [ 26%]
20:06:47 tests/unit/api_test.py::DockerApiTest::test_events_with_since_until PASSED [ 26%]
20:06:47 tests/unit/api_test.py::DockerApiTest::test_info PASSED                  [ 27%]
20:06:47 tests/unit/api_test.py::DockerApiTest::test_login PASSED                 [ 27%]
20:06:47 tests/unit/api_test.py::DockerApiTest::test_remove_link PASSED           [ 27%]
20:06:47 tests/unit/api_test.py::DockerApiTest::test_retrieve_server_version PASSED [ 27%]
20:06:47 tests/unit/api_test.py::DockerApiTest::test_search PASSED                [ 27%]
20:06:47 tests/unit/api_test.py::DockerApiTest::test_stream_helper_decoding PASSED [ 27%]
20:06:47 tests/unit/api_test.py::DockerApiTest::test_url_compatibility_http PASSED [ 28%]
20:06:47 tests/unit/api_test.py::DockerApiTest::test_url_compatibility_http_unix_triple_slash PASSED [ 28%]
20:06:47 tests/unit/api_test.py::DockerApiTest::test_url_compatibility_tcp PASSED [ 28%]
20:06:47 tests/unit/api_test.py::DockerApiTest::test_url_compatibility_unix PASSED [ 28%]
20:06:47 tests/unit/api_test.py::DockerApiTest::test_url_compatibility_unix_triple_slash PASSED [ 28%]
20:06:47 tests/unit/api_test.py::DockerApiTest::test_url_invalid_resource PASSED  [ 28%]
20:06:47 tests/unit/api_test.py::DockerApiTest::test_url_no_resource PASSED       [ 29%]
20:06:47 tests/unit/api_test.py::DockerApiTest::test_url_unversioned_api PASSED   [ 29%]
20:06:47 tests/unit/api_test.py::DockerApiTest::test_url_valid_resource PASSED    [ 29%]
20:06:47 tests/unit/api_test.py::DockerApiTest::test_version PASSED               [ 29%]
20:06:47 tests/unit/api_test.py::DockerApiTest::test_version_no_api_version PASSED [ 29%]
20:06:47 tests/unit/api_test.py::UnixSocketStreamTest::test_early_stream_response PASSED [ 29%]
20:06:47 tests/unit/api_test.py::TCPSocketStreamTest::test_read_from_socket_no_stream_no_tty PASSED [ 30%]
20:06:47 tests/unit/api_test.py::TCPSocketStreamTest::test_read_from_socket_no_stream_no_tty_demux PASSED [ 30%]
20:06:47 tests/unit/api_test.py::TCPSocketStreamTest::test_read_from_socket_no_stream_tty PASSED [ 30%]
20:06:48 tests/unit/api_test.py::TCPSocketStreamTest::test_read_from_socket_no_stream_tty_demux PASSED [ 30%]
20:06:48 tests/unit/api_test.py::TCPSocketStreamTest::test_read_from_socket_no_tty PASSED [ 30%]
20:06:48 tests/unit/api_test.py::TCPSocketStreamTest::test_read_from_socket_no_tty_demux PASSED [ 30%]
20:06:48 tests/unit/api_test.py::TCPSocketStreamTest::test_read_from_socket_tty PASSED [ 31%]
20:06:49 tests/unit/api_test.py::TCPSocketStreamTest::test_read_from_socket_tty_demux PASSED [ 31%]
20:06:49 tests/unit/api_test.py::UserAgentTest::test_custom_user_agent PASSED     [ 31%]
20:06:49 tests/unit/api_test.py::UserAgentTest::test_default_user_agent PASSED    [ 31%]
20:06:49 tests/unit/api_test.py::DisableSocketTest::test_disable_socket_timeout PASSED [ 31%]
20:06:49 tests/unit/api_test.py::DisableSocketTest::test_disable_socket_timeout2 PASSED [ 31%]
20:06:49 tests/unit/api_test.py::DisableSocketTest::test_disable_socket_timout_non_blocking PASSED [ 32%]
20:06:49 tests/unit/api_volume_test.py::VolumeTest::test_create_volume PASSED     [ 32%]
20:06:49 tests/unit/api_volume_test.py::VolumeTest::test_create_volume_invalid_opts_type PASSED [ 32%]
20:06:49 tests/unit/api_volume_test.py::VolumeTest::test_create_volume_with_driver PASSED [ 32%]
20:06:49 tests/unit/api_volume_test.py::VolumeTest::test_create_volume_with_invalid_labels PASSED [ 32%]
20:06:49 tests/unit/api_volume_test.py::VolumeTest::test_create_volume_with_labels PASSED [ 32%]
20:06:49 tests/unit/api_volume_test.py::VolumeTest::test_create_volume_with_no_specified_name PASSED [ 33%]
20:06:49 tests/unit/api_volume_test.py::VolumeTest::test_inspect_volume PASSED    [ 33%]
20:06:49 tests/unit/api_volume_test.py::VolumeTest::test_list_volumes PASSED      [ 33%]
20:06:49 tests/unit/api_volume_test.py::VolumeTest::test_list_volumes_and_filters PASSED [ 33%]
20:06:49 tests/unit/api_volume_test.py::VolumeTest::test_remove_volume PASSED     [ 33%]
20:06:49 tests/unit/auth_test.py::RegressionTest::test_803_urlsafe_encode PASSED  [ 34%]
20:06:49 tests/unit/auth_test.py::ResolveRepositoryNameTest::test_explicit_hub_index_library_image PASSED [ 34%]
20:06:49 tests/unit/auth_test.py::ResolveRepositoryNameTest::test_explicit_legacy_hub_index_library_image PASSED [ 34%]
20:06:49 tests/unit/auth_test.py::ResolveRepositoryNameTest::test_invalid_index_name PASSED [ 34%]
20:06:49 tests/unit/auth_test.py::ResolveRepositoryNameTest::test_resolve_repository_name_dotted_hub_library_image PASSED [ 34%]
20:06:49 tests/unit/auth_test.py::ResolveRepositoryNameTest::test_resolve_repository_name_hub_image PASSED [ 34%]
20:06:49 tests/unit/auth_test.py::ResolveRepositoryNameTest::test_resolve_repository_name_hub_library_image PASSED [ 35%]
20:06:49 tests/unit/auth_test.py::ResolveRepositoryNameTest::test_resolve_repository_name_localhost PASSED [ 35%]
20:06:49 tests/unit/auth_test.py::ResolveRepositoryNameTest::test_resolve_repository_name_localhost_with_username PASSED [ 35%]
20:06:49 tests/unit/auth_test.py::ResolveRepositoryNameTest::test_resolve_repository_name_no_dots_but_port PASSED [ 35%]
20:06:49 tests/unit/auth_test.py::ResolveRepositoryNameTest::test_resolve_repository_name_no_dots_but_port_and_username PASSED [ 35%]
20:06:49 tests/unit/auth_test.py::ResolveRepositoryNameTest::test_resolve_repository_name_private_registry PASSED [ 35%]
20:06:49 tests/unit/auth_test.py::ResolveRepositoryNameTest::test_resolve_repository_name_private_registry_with_port PASSED [ 36%]
20:06:49 tests/unit/auth_test.py::ResolveRepositoryNameTest::test_resolve_repository_name_private_registry_with_username PASSED [ 36%]
20:06:49 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_auth_with_empty_credstore_and_auth_dict PASSED [ 36%]
20:06:49 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_authconfig_default_explicit_none PASSED [ 36%]
20:06:49 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_authconfig_default_registry PASSED [ 36%]
20:06:49 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_authconfig_fully_explicit PASSED [ 36%]
20:06:49 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_authconfig_hostname_only PASSED [ 37%]
20:06:49 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_authconfig_legacy_config PASSED [ 37%]
20:06:49 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_authconfig_no_match PASSED [ 37%]
20:06:49 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_authconfig_no_path PASSED [ 37%]
20:06:49 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_authconfig_no_path_trailing_slash PASSED [ 37%]
20:06:49 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_authconfig_no_path_wrong_insecure_proto PASSED [ 37%]
20:06:49 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_authconfig_no_path_wrong_secure_proto PASSED [ 38%]
20:06:49 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_authconfig_no_protocol PASSED [ 38%]
20:06:49 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_authconfig_path_wrong_proto PASSED [ 38%]
20:06:49 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_registry_and_auth_explicit_hub PASSED [ 38%]
20:06:49 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_registry_and_auth_explicit_legacy_hub PASSED [ 38%]
20:06:49 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_registry_and_auth_hub_image PASSED [ 38%]
20:06:49 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_registry_and_auth_library_image PASSED [ 39%]
20:06:49 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_registry_and_auth_private_registry PASSED [ 39%]
20:06:49 tests/unit/auth_test.py::ResolveAuthTest::test_resolve_registry_and_auth_unauthenticated_registry PASSED [ 39%]
20:06:49 tests/unit/auth_test.py::LoadConfigTest::test_load_config_custom_config_env PASSED [ 39%]
20:06:49 tests/unit/auth_test.py::LoadConfigTest::test_load_config_custom_config_env_utf8 PASSED [ 39%]
20:06:49 tests/unit/auth_test.py::LoadConfigTest::test_load_config_custom_config_env_with_auths PASSED [ 39%]
20:06:49 tests/unit/auth_test.py::LoadConfigTest::test_load_config_identity_token PASSED [ 40%]
20:06:49 tests/unit/auth_test.py::LoadConfigTest::test_load_config_invalid_auth_dict PASSED [ 40%]
20:06:49 tests/unit/auth_test.py::LoadConfigTest::test_load_config_no_file PASSED [ 40%]
20:06:49 tests/unit/auth_test.py::LoadConfigTest::test_load_config_unknown_keys PASSED [ 40%]
20:06:49 tests/unit/auth_test.py::LoadConfigTest::test_load_config_with_random_name PASSED [ 40%]
20:06:49 tests/unit/auth_test.py::LoadConfigTest::test_load_json_config PASSED    [ 40%]
20:06:49 tests/unit/auth_test.py::LoadConfigTest::test_load_legacy_config PASSED  [ 41%]
20:06:49 tests/unit/auth_test.py::LoadConfigTest::test_load_modern_json_config PASSED [ 41%]
20:06:49 tests/unit/auth_test.py::CredstoreTest::test_get_all_credentials_3_sources PASSED [ 41%]
20:06:49 tests/unit/auth_test.py::CredstoreTest::test_get_all_credentials_credstore_only PASSED [ 41%]
20:06:49 tests/unit/auth_test.py::CredstoreTest::test_get_all_credentials_credstore_overrides_auth_entry PASSED [ 41%]
20:06:49 tests/unit/auth_test.py::CredstoreTest::test_get_all_credentials_helpers_override_default PASSED [ 42%]
20:06:49 tests/unit/auth_test.py::CredstoreTest::test_get_all_credentials_with_auths_entries PASSED [ 42%]
20:06:49 tests/unit/auth_test.py::CredstoreTest::test_get_all_credentials_with_credhelpers_only PASSED [ 42%]
20:06:49 tests/unit/auth_test.py::CredstoreTest::test_get_all_credentials_with_empty_auths_entry PASSED [ 42%]
20:06:49 tests/unit/auth_test.py::CredstoreTest::test_get_all_credentials_with_empty_credhelper PASSED [ 42%]
20:06:49 tests/unit/auth_test.py::CredstoreTest::test_get_credential_store PASSED [ 42%]
20:06:49 tests/unit/auth_test.py::CredstoreTest::test_get_credential_store_default_index PASSED [ 43%]
20:06:49 tests/unit/auth_test.py::CredstoreTest::test_get_credential_store_no_default PASSED [ 43%]
20:06:49 tests/unit/auth_test.py::CredstoreTest::test_get_credential_store_with_plain_dict PASSED [ 43%]
20:06:49 tests/unit/client_test.py::ClientTest::test_call_api_client_method PASSED [ 43%]
20:06:49 tests/unit/client_test.py::ClientTest::test_call_containers PASSED       [ 43%]
20:06:49 tests/unit/client_test.py::ClientTest::test_default_pool_size_unix PASSED [ 43%]
20:06:49 tests/unit/client_test.py::ClientTest::test_default_pool_size_win SKIPPED [ 44%]
20:06:49 tests/unit/client_test.py::ClientTest::test_events PASSED                [ 44%]
20:06:49 tests/unit/client_test.py::ClientTest::test_info PASSED                  [ 44%]
20:06:49 tests/unit/client_test.py::ClientTest::test_ping PASSED                  [ 44%]
20:06:49 tests/unit/client_test.py::ClientTest::test_pool_size_unix PASSED        [ 44%]
20:06:49 tests/unit/client_test.py::ClientTest::test_pool_size_win SKIPPED (N...) [ 44%]
20:06:49 tests/unit/client_test.py::ClientTest::test_version PASSED               [ 45%]
20:06:49 tests/unit/client_test.py::FromEnvTest::test_default_pool_size_from_env_unix PASSED [ 45%]
20:06:49 tests/unit/client_test.py::FromEnvTest::test_default_pool_size_from_env_win SKIPPED [ 45%]
20:06:49 tests/unit/client_test.py::FromEnvTest::test_from_env PASSED             [ 45%]
20:06:49 tests/unit/client_test.py::FromEnvTest::test_from_env_with_version PASSED [ 45%]
20:06:49 tests/unit/client_test.py::FromEnvTest::test_from_env_without_timeout_uses_default PASSED [ 45%]
20:06:49 tests/unit/client_test.py::FromEnvTest::test_from_env_without_version_uses_default PASSED [ 46%]
20:06:49 tests/unit/client_test.py::FromEnvTest::test_pool_size_from_env_unix PASSED [ 46%]
20:06:49 tests/unit/client_test.py::FromEnvTest::test_pool_size_from_env_win SKIPPED [ 46%]
20:06:49 tests/unit/context_test.py::BaseContextTest::test_context_inspect_without_params PASSED [ 46%]
20:06:49 tests/unit/context_test.py::BaseContextTest::test_default_in_context_list PASSED [ 46%]
20:06:49 tests/unit/context_test.py::BaseContextTest::test_fail_on_default_context_create PASSED [ 46%]
20:06:49 tests/unit/context_test.py::BaseContextTest::test_get_current_context PASSED [ 47%]
20:06:49 tests/unit/context_test.py::BaseContextTest::test_https_host PASSED      [ 47%]
20:06:49 tests/unit/context_test.py::BaseContextTest::test_url_compatibility_on_linux PASSED [ 47%]
20:06:49 tests/unit/context_test.py::BaseContextTest::test_url_compatibility_on_windows SKIPPED [ 47%]
20:06:49 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_invalid_cpu_cfs_types PASSED [ 47%]
20:06:49 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_invalid_cpu_count_types PASSED [ 47%]
20:06:49 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_invalid_cpu_percent_types PASSED [ 48%]
20:06:49 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_invalid_mem_swappiness PASSED [ 48%]
20:06:49 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_invalid_nano_cpus_types PASSED [ 48%]
20:06:49 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_no_options_newer_api_version PASSED [ 48%]
20:06:49 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_pid_mode PASSED [ 48%]
20:06:49 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_blkio_constraints PASSED [ 48%]
20:06:49 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_cpu_count PASSED [ 49%]
20:06:49 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_cpu_percent PASSED [ 49%]
20:06:49 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_cpu_period PASSED [ 49%]
20:06:49 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_cpu_quota PASSED [ 49%]
20:06:49 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_cpu_rt_period PASSED [ 49%]
20:06:49 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_cpu_rt_period_types PASSED [ 50%]
20:06:49 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_cpu_rt_runtime PASSED [ 50%]
20:06:49 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_dns_opt PASSED [ 50%]
20:06:49 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_isolation PASSED [ 50%]
20:06:49 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_kernel_memory PASSED [ 50%]
20:06:49 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_mem_reservation PASSED [ 50%]
20:06:49 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_nano_cpus PASSED [ 51%]
20:06:49 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_oom_kill_disable PASSED [ 51%]
20:06:49 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_oom_score_adj PASSED [ 51%]
20:06:49 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_pids_limit PASSED [ 51%]
20:06:49 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_shm_size PASSED [ 51%]
20:06:49 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_shm_size_in_mb PASSED [ 51%]
20:06:49 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_userns_mode PASSED [ 52%]
20:06:49 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_uts PASSED [ 52%]
20:06:49 tests/unit/dockertypes_test.py::HostConfigTest::test_create_host_config_with_volume_driver PASSED [ 52%]
20:06:49 tests/unit/dockertypes_test.py::HostConfigTest::test_ctrate_host_config_with_cpu_rt_runtime_types PASSED [ 52%]
20:06:49 tests/unit/dockertypes_test.py::ContainerSpecTest::test_parse_mounts PASSED [ 52%]
20:06:49 tests/unit/dockertypes_test.py::UlimitTest::test_create_host_config_dict_ulimit PASSED [ 52%]
20:06:49 tests/unit/dockertypes_test.py::UlimitTest::test_create_host_config_dict_ulimit_capitals PASSED [ 53%]
20:06:49 tests/unit/dockertypes_test.py::UlimitTest::test_create_host_config_obj_ulimit PASSED [ 53%]
20:06:49 tests/unit/dockertypes_test.py::UlimitTest::test_ulimit_invalid_type PASSED [ 53%]
20:06:49 tests/unit/dockertypes_test.py::LogConfigTest::test_create_host_config_dict_logconfig PASSED [ 53%]
20:06:49 tests/unit/dockertypes_test.py::LogConfigTest::test_create_host_config_obj_logconfig PASSED [ 53%]
20:06:49 tests/unit/dockertypes_test.py::LogConfigTest::test_logconfig_invalid_config_type PASSED [ 53%]
20:06:49 tests/unit/dockertypes_test.py::EndpointConfigTest::test_create_endpoint_config_with_aliases PASSED [ 54%]
20:06:49 tests/unit/dockertypes_test.py::IPAMConfigTest::test_create_ipam_config PASSED [ 54%]
20:06:49 tests/unit/dockertypes_test.py::ServiceModeTest::test_global_job_replicas_simple PASSED [ 54%]
20:06:49 tests/unit/dockertypes_test.py::ServiceModeTest::test_global_job_simple PASSED [ 54%]
20:06:49 tests/unit/dockertypes_test.py::ServiceModeTest::test_global_replicas_error PASSED [ 54%]
20:06:49 tests/unit/dockertypes_test.py::ServiceModeTest::test_global_simple PASSED [ 54%]
20:06:49 tests/unit/dockertypes_test.py::ServiceModeTest::test_invalid_mode PASSED [ 55%]
20:06:49 tests/unit/dockertypes_test.py::ServiceModeTest::test_replicated_job_simple PASSED [ 55%]
20:06:49 tests/unit/dockertypes_test.py::ServiceModeTest::test_replicated_replicas PASSED [ 55%]
20:06:49 tests/unit/dockertypes_test.py::ServiceModeTest::test_replicated_replicas_0 PASSED [ 55%]
20:06:49 tests/unit/dockertypes_test.py::ServiceModeTest::test_replicated_simple PASSED [ 55%]
20:06:49 tests/unit/dockertypes_test.py::MountTest::test_parse_mount_bind PASSED  [ 55%]
20:06:49 tests/unit/dockertypes_test.py::MountTest::test_parse_mount_bind_windows XFAIL [ 56%]
20:06:49 tests/unit/dockertypes_test.py::MountTest::test_parse_mount_named_volume PASSED [ 56%]
20:06:49 tests/unit/dockertypes_test.py::MountTest::test_parse_mount_string_invalid PASSED [ 56%]
20:06:49 tests/unit/dockertypes_test.py::MountTest::test_parse_mount_string_no_source PASSED [ 56%]
20:06:49 tests/unit/dockertypes_test.py::MountTest::test_parse_mount_string_ro PASSED [ 56%]
20:06:49 tests/unit/dockertypes_test.py::MountTest::test_parse_mount_string_rw PASSED [ 56%]
20:06:49 tests/unit/dockertypes_test.py::MountTest::test_parse_mount_string_short_form PASSED [ 57%]
20:06:49 tests/unit/dockertypes_test.py::ServicePortsTest::test_convert_service_ports_invalid PASSED [ 57%]
20:06:49 tests/unit/dockertypes_test.py::ServicePortsTest::test_convert_service_ports_multiple PASSED [ 57%]
20:06:49 tests/unit/dockertypes_test.py::ServicePortsTest::test_convert_service_ports_no_protocol_and_mode PASSED [ 57%]
20:06:49 tests/unit/dockertypes_test.py::ServicePortsTest::test_convert_service_ports_simple PASSED [ 57%]
20:06:49 tests/unit/dockertypes_test.py::ServicePortsTest::test_convert_service_ports_with_protocol PASSED [ 57%]
20:06:49 tests/unit/dockertypes_test.py::ServicePortsTest::test_convert_service_ports_with_protocol_and_mode PASSED [ 58%]
20:06:49 tests/unit/errors_test.py::APIErrorTest::test_api_error_is_caught_by_dockerexception PASSED [ 58%]
20:06:49 tests/unit/errors_test.py::APIErrorTest::test_create_error_from_exception PASSED [ 58%]
20:06:49 tests/unit/errors_test.py::APIErrorTest::test_is_client_error_400 PASSED [ 58%]
20:06:49 tests/unit/errors_test.py::APIErrorTest::test_is_client_error_500 PASSED [ 58%]
20:06:49 tests/unit/errors_test.py::APIErrorTest::test_is_error_300 PASSED        [ 59%]
20:06:49 tests/unit/errors_test.py::APIErrorTest::test_is_error_400 PASSED        [ 59%]
20:06:49 tests/unit/errors_test.py::APIErrorTest::test_is_error_500 PASSED        [ 59%]
20:06:49 tests/unit/errors_test.py::APIErrorTest::test_is_server_error_200 PASSED [ 59%]
20:06:49 tests/unit/errors_test.py::APIErrorTest::test_is_server_error_300 PASSED [ 59%]
20:06:49 tests/unit/errors_test.py::APIErrorTest::test_is_server_error_400 PASSED [ 59%]
20:06:49 tests/unit/errors_test.py::APIErrorTest::test_is_server_error_500 PASSED [ 60%]
20:06:49 tests/unit/errors_test.py::APIErrorTest::test_status_code_200 PASSED     [ 60%]
20:06:49 tests/unit/errors_test.py::APIErrorTest::test_status_code_400 PASSED     [ 60%]
20:06:49 tests/unit/errors_test.py::APIErrorTest::test_status_code_500 PASSED     [ 60%]
20:06:49 tests/unit/errors_test.py::ContainerErrorTest::test_container_with_stderr PASSED [ 60%]
20:06:49 tests/unit/errors_test.py::ContainerErrorTest::test_container_without_stderr PASSED [ 60%]
20:06:49 tests/unit/errors_test.py::CreateUnexpectedKwargsErrorTest::test_create_unexpected_kwargs_error_multiple PASSED [ 61%]
20:06:49 tests/unit/errors_test.py::CreateUnexpectedKwargsErrorTest::test_create_unexpected_kwargs_error_single PASSED [ 61%]
20:06:49 tests/unit/models_containers_test.py::ContainerCollectionTest::test_create PASSED [ 61%]
20:06:49 tests/unit/models_containers_test.py::ContainerCollectionTest::test_create_container_args PASSED [ 61%]
20:06:49 tests/unit/models_containers_test.py::ContainerCollectionTest::test_create_network_driver_opts PASSED [ 61%]
20:06:49 tests/unit/models_containers_test.py::ContainerCollectionTest::test_create_network_driver_opts_with_network_mode PASSED [ 61%]
20:06:49 tests/unit/models_containers_test.py::ContainerCollectionTest::test_create_network_driver_opts_without_network PASSED [ 62%]
20:06:49 tests/unit/models_containers_test.py::ContainerCollectionTest::test_create_with_image_object PASSED [ 62%]
20:06:49 tests/unit/models_containers_test.py::ContainerCollectionTest::test_get PASSED [ 62%]
20:06:49 tests/unit/models_containers_test.py::ContainerCollectionTest::test_list PASSED [ 62%]
20:06:49 tests/unit/models_containers_test.py::ContainerCollectionTest::test_list_ignore_removed PASSED [ 62%]
20:06:49 tests/unit/models_containers_test.py::ContainerCollectionTest::test_run PASSED [ 62%]
20:06:49 tests/unit/models_containers_test.py::ContainerCollectionTest::test_run_detach PASSED [ 63%]
20:06:49 tests/unit/models_containers_test.py::ContainerCollectionTest::test_run_network_driver_opts PASSED [ 63%]
20:06:49 tests/unit/models_containers_test.py::ContainerCollectionTest::test_run_network_driver_opts_with_network_mode PASSED [ 63%]
20:06:49 tests/unit/models_containers_test.py::ContainerCollectionTest::test_run_network_driver_opts_without_network PASSED [ 63%]
20:06:49 tests/unit/models_containers_test.py::ContainerCollectionTest::test_run_platform PASSED [ 63%]
20:06:49 tests/unit/models_containers_test.py::ContainerCollectionTest::test_run_pull PASSED [ 63%]
20:06:50 tests/unit/models_containers_test.py::ContainerCollectionTest::test_run_remove PASSED [ 64%]
20:06:50 tests/unit/models_containers_test.py::ContainerCollectionTest::test_run_with_error PASSED [ 64%]
20:06:50 tests/unit/models_containers_test.py::ContainerCollectionTest::test_run_with_image_object PASSED [ 64%]
20:06:50 tests/unit/models_containers_test.py::ContainerTest::test_attach PASSED  [ 64%]
20:06:50 tests/unit/models_containers_test.py::ContainerTest::test_commit PASSED  [ 64%]
20:06:50 tests/unit/models_containers_test.py::ContainerTest::test_diff PASSED    [ 64%]
20:06:50 tests/unit/models_containers_test.py::ContainerTest::test_exec_run PASSED [ 65%]
20:06:50 tests/unit/models_containers_test.py::ContainerTest::test_exec_run_failure PASSED [ 65%]
20:06:50 tests/unit/models_containers_test.py::ContainerTest::test_export PASSED  [ 65%]
20:06:50 tests/unit/models_containers_test.py::ContainerTest::test_get_archive PASSED [ 65%]
20:06:50 tests/unit/models_containers_test.py::ContainerTest::test_image PASSED   [ 65%]
20:06:50 tests/unit/models_containers_test.py::ContainerTest::test_kill PASSED    [ 65%]
20:06:50 tests/unit/models_containers_test.py::ContainerTest::test_labels PASSED  [ 66%]
20:06:50 tests/unit/models_containers_test.py::ContainerTest::test_logs PASSED    [ 66%]
20:06:50 tests/unit/models_containers_test.py::ContainerTest::test_name PASSED    [ 66%]
20:06:50 tests/unit/models_containers_test.py::ContainerTest::test_pause PASSED   [ 66%]
20:06:50 tests/unit/models_containers_test.py::ContainerTest::test_put_archive PASSED [ 66%]
20:06:50 tests/unit/models_containers_test.py::ContainerTest::test_remove PASSED  [ 67%]
20:06:50 tests/unit/models_containers_test.py::ContainerTest::test_rename PASSED  [ 67%]
20:06:50 tests/unit/models_containers_test.py::ContainerTest::test_resize PASSED  [ 67%]
20:06:50 tests/unit/models_containers_test.py::ContainerTest::test_restart PASSED [ 67%]
20:06:50 tests/unit/models_containers_test.py::ContainerTest::test_short_id PASSED [ 67%]
20:06:50 tests/unit/models_containers_test.py::ContainerTest::test_start PASSED   [ 67%]
20:06:50 tests/unit/models_containers_test.py::ContainerTest::test_stats PASSED   [ 68%]
20:06:50 tests/unit/models_containers_test.py::ContainerTest::test_status PASSED  [ 68%]
20:06:50 tests/unit/models_containers_test.py::ContainerTest::test_stop PASSED    [ 68%]
20:06:50 tests/unit/models_containers_test.py::ContainerTest::test_top PASSED     [ 68%]
20:06:50 tests/unit/models_containers_test.py::ContainerTest::test_unpause PASSED [ 68%]
20:06:50 tests/unit/models_containers_test.py::ContainerTest::test_update PASSED  [ 68%]
20:06:50 tests/unit/models_containers_test.py::ContainerTest::test_wait PASSED    [ 69%]
20:06:50 tests/unit/models_images_test.py::ImageCollectionTest::test_build PASSED [ 69%]
20:06:50 tests/unit/models_images_test.py::ImageCollectionTest::test_get PASSED   [ 69%]
20:06:50 tests/unit/models_images_test.py::ImageCollectionTest::test_labels PASSED [ 69%]
20:06:50 tests/unit/models_images_test.py::ImageCollectionTest::test_list PASSED  [ 69%]
20:06:50 tests/unit/models_images_test.py::ImageCollectionTest::test_load PASSED  [ 69%]
20:06:50 tests/unit/models_images_test.py::ImageCollectionTest::test_pull PASSED  [ 70%]
20:06:50 tests/unit/models_images_test.py::ImageCollectionTest::test_pull_multiple PASSED [ 70%]
20:06:50 tests/unit/models_images_test.py::ImageCollectionTest::test_pull_tag_precedence PASSED [ 70%]
20:06:50 tests/unit/models_images_test.py::ImageCollectionTest::test_pull_with_stream_param PASSED [ 70%]
20:06:50 tests/unit/models_images_test.py::ImageCollectionTest::test_push PASSED  [ 70%]
20:06:50 tests/unit/models_images_test.py::ImageCollectionTest::test_remove PASSED [ 70%]
20:06:50 tests/unit/models_images_test.py::ImageCollectionTest::test_search PASSED [ 71%]
20:06:50 tests/unit/models_images_test.py::ImageCollectionTest::test_search_limit PASSED [ 71%]
20:06:50 tests/unit/models_images_test.py::ImageTest::test_history PASSED         [ 71%]
20:06:50 tests/unit/models_images_test.py::ImageTest::test_remove PASSED          [ 71%]
20:06:50 tests/unit/models_images_test.py::ImageTest::test_save PASSED            [ 71%]
20:06:50 tests/unit/models_images_test.py::ImageTest::test_short_id PASSED        [ 71%]
20:06:50 tests/unit/models_images_test.py::ImageTest::test_tag PASSED             [ 72%]
20:06:50 tests/unit/models_images_test.py::ImageTest::test_tags PASSED            [ 72%]
20:06:50 tests/unit/models_networks_test.py::NetworkCollectionTest::test_create PASSED [ 72%]
20:06:50 tests/unit/models_networks_test.py::NetworkCollectionTest::test_get PASSED [ 72%]
20:06:50 tests/unit/models_networks_test.py::NetworkCollectionTest::test_list PASSED [ 72%]
20:06:50 tests/unit/models_networks_test.py::NetworkTest::test_connect PASSED     [ 72%]
20:06:50 tests/unit/models_networks_test.py::NetworkTest::test_disconnect PASSED  [ 73%]
20:06:50 tests/unit/models_networks_test.py::NetworkTest::test_remove PASSED      [ 73%]
20:06:50 tests/unit/models_resources_test.py::ModelTest::test_hash PASSED         [ 73%]
20:06:50 tests/unit/models_resources_test.py::ModelTest::test_reload PASSED       [ 73%]
20:06:50 tests/unit/models_secrets_test.py::CreateServiceTest::test_secrets_repr PASSED [ 73%]
20:06:50 tests/unit/models_services_test.py::CreateServiceKwargsTest::test_get_create_service_kwargs PASSED [ 73%]
20:06:50 tests/unit/sshadapter_test.py::SSHAdapterTest::test_ssh_hostname_prefix_trim PASSED [ 74%]
20:06:50 tests/unit/sshadapter_test.py::SSHAdapterTest::test_ssh_parse_hostname_and_port PASSED [ 74%]
20:06:50 tests/unit/sshadapter_test.py::SSHAdapterTest::test_ssh_parse_hostname_only PASSED [ 74%]
20:06:50 tests/unit/sshadapter_test.py::SSHAdapterTest::test_ssh_parse_url PASSED [ 74%]
20:06:50 tests/unit/sshadapter_test.py::SSHAdapterTest::test_ssh_parse_user_and_hostname PASSED [ 74%]
20:06:50 tests/unit/ssladapter_test.py::SSLAdapterTest::test_only_uses_tls PASSED [ 75%]
20:06:50 tests/unit/ssladapter_test.py::MatchHostnameTest::test_match_dns_failure PASSED [ 75%]
20:06:50 tests/unit/ssladapter_test.py::MatchHostnameTest::test_match_dns_success PASSED [ 75%]
20:06:50 tests/unit/ssladapter_test.py::MatchHostnameTest::test_match_ip_address_failure PASSED [ 75%]
20:06:50 tests/unit/ssladapter_test.py::MatchHostnameTest::test_match_ip_address_success PASSED [ 75%]
20:06:50 tests/unit/ssladapter_test.py::MatchHostnameTest::test_match_localhost_success PASSED [ 75%]
20:06:50 tests/unit/swarm_test.py::SwarmTest::test_join_swarm PASSED              [ 76%]
20:06:50 tests/unit/swarm_test.py::SwarmTest::test_join_swarm_no_listen_address_takes_default PASSED [ 76%]
20:06:50 tests/unit/swarm_test.py::SwarmTest::test_node_update PASSED             [ 76%]
20:06:50 tests/unit/types_containers_test.py::test_uid_0_is_not_elided PASSED     [ 76%]
20:06:50 tests/unit/utils_build_test.py::ExcludePathsTest::test_directory PASSED  [ 76%]
20:06:50 tests/unit/utils_build_test.py::ExcludePathsTest::test_directory_with_single_exception PASSED [ 76%]
20:06:50 tests/unit/utils_build_test.py::ExcludePathsTest::test_directory_with_subdir_exception PASSED [ 77%]
20:06:50 tests/unit/utils_build_test.py::ExcludePathsTest::test_directory_with_subdir_exception_win32_pathsep SKIPPED [ 77%]
20:06:50 tests/unit/utils_build_test.py::ExcludePathsTest::test_directory_with_trailing_slash PASSED [ 77%]
20:06:50 tests/unit/utils_build_test.py::ExcludePathsTest::test_directory_with_wildcard_exception PASSED [ 77%]
20:06:50 tests/unit/utils_build_test.py::ExcludePathsTest::test_double_wildcard PASSED [ 77%]
20:06:50 tests/unit/utils_build_test.py::ExcludePathsTest::test_double_wildcard_with_exception PASSED [ 77%]
20:06:50 tests/unit/utils_build_test.py::ExcludePathsTest::test_exclude_custom_dockerfile PASSED [ 78%]
20:06:50 tests/unit/utils_build_test.py::ExcludePathsTest::test_exclude_dockerfile_child PASSED [ 78%]
20:06:50 tests/unit/utils_build_test.py::ExcludePathsTest::test_exclude_dockerfile_dockerignore PASSED [ 78%]
20:06:50 tests/unit/utils_build_test.py::ExcludePathsTest::test_exclude_include_absolute_path PASSED [ 78%]
20:06:50 tests/unit/utils_build_test.py::ExcludePathsTest::test_include_wildcard PASSED [ 78%]
20:06:50 tests/unit/utils_build_test.py::ExcludePathsTest::test_last_line_precedence PASSED [ 78%]
20:06:50 tests/unit/utils_build_test.py::ExcludePathsTest::test_no_dupes PASSED   [ 79%]
20:06:50 tests/unit/utils_build_test.py::ExcludePathsTest::test_no_excludes PASSED [ 79%]
20:06:50 tests/unit/utils_build_test.py::ExcludePathsTest::test_parent_directory PASSED [ 79%]
20:06:50 tests/unit/utils_build_test.py::ExcludePathsTest::test_question_mark PASSED [ 79%]
20:06:50 tests/unit/utils_build_test.py::ExcludePathsTest::test_single_and_double_wildcard PASSED [ 79%]
20:06:50 tests/unit/utils_build_test.py::ExcludePathsTest::test_single_filename PASSED [ 79%]
20:06:50 tests/unit/utils_build_test.py::ExcludePathsTest::test_single_filename_leading_dot_slash PASSED [ 80%]
20:06:50 tests/unit/utils_build_test.py::ExcludePathsTest::test_single_filename_trailing_slash PASSED [ 80%]
20:06:50 tests/unit/utils_build_test.py::ExcludePathsTest::test_single_subdir_single_filename PASSED [ 80%]
20:06:50 tests/unit/utils_build_test.py::ExcludePathsTest::test_single_subdir_single_filename_leading_slash PASSED [ 80%]
20:06:50 tests/unit/utils_build_test.py::ExcludePathsTest::test_single_subdir_wildcard_filename PASSED [ 80%]
20:06:50 tests/unit/utils_build_test.py::ExcludePathsTest::test_single_subdir_with_path_traversal PASSED [ 80%]
20:06:50 tests/unit/utils_build_test.py::ExcludePathsTest::test_subdirectory PASSED [ 81%]
20:06:50 tests/unit/utils_build_test.py::ExcludePathsTest::test_subdirectory_win32_pathsep SKIPPED [ 81%]
20:06:50 tests/unit/utils_build_test.py::ExcludePathsTest::test_trailing_double_wildcard PASSED [ 81%]
20:06:50 tests/unit/utils_build_test.py::ExcludePathsTest::test_wildcard_exclude PASSED [ 81%]
20:06:50 tests/unit/utils_build_test.py::ExcludePathsTest::test_wildcard_filename_end PASSED [ 81%]
20:06:50 tests/unit/utils_build_test.py::ExcludePathsTest::test_wildcard_filename_start PASSED [ 81%]
20:06:50 tests/unit/utils_build_test.py::ExcludePathsTest::test_wildcard_subdir_single_filename PASSED [ 82%]
20:06:50 tests/unit/utils_build_test.py::ExcludePathsTest::test_wildcard_subdir_wildcard_filename PASSED [ 82%]
20:06:50 tests/unit/utils_build_test.py::ExcludePathsTest::test_wildcard_with_exception PASSED [ 82%]
20:06:50 tests/unit/utils_build_test.py::ExcludePathsTest::test_wildcard_with_wildcard_exception PASSED [ 82%]
20:06:50 tests/unit/utils_build_test.py::TarTest::test_tar_directory_link PASSED  [ 82%]
20:06:50 tests/unit/utils_build_test.py::TarTest::test_tar_socket_file PASSED     [ 82%]
20:06:50 tests/unit/utils_build_test.py::TarTest::test_tar_with_broken_symlinks PASSED [ 83%]
20:06:50 tests/unit/utils_build_test.py::TarTest::test_tar_with_directory_symlinks PASSED [ 83%]
20:06:50 tests/unit/utils_build_test.py::TarTest::test_tar_with_empty_directory PASSED [ 83%]
20:06:50 tests/unit/utils_build_test.py::TarTest::test_tar_with_excludes PASSED   [ 83%]
20:06:50 tests/unit/utils_build_test.py::TarTest::test_tar_with_file_symlinks PASSED [ 83%]
20:06:50 tests/unit/utils_build_test.py::TarTest::test_tar_with_inaccessible_file SKIPPED [ 84%]
20:06:50 tests/unit/utils_config_test.py::FindConfigFileTest::test_find_config_fallback PASSED [ 84%]
20:06:50 tests/unit/utils_config_test.py::FindConfigFileTest::test_find_config_from_environment PASSED [ 84%]
20:06:50 tests/unit/utils_config_test.py::FindConfigFileTest::test_find_config_from_explicit_path PASSED [ 84%]
20:06:50 tests/unit/utils_config_test.py::FindConfigFileTest::test_find_config_from_home_legacy_name PASSED [ 84%]
20:06:50 tests/unit/utils_config_test.py::FindConfigFileTest::test_find_config_from_home_posix PASSED [ 84%]
20:06:50 tests/unit/utils_config_test.py::FindConfigFileTest::test_find_config_from_home_windows SKIPPED [ 85%]
20:06:50 tests/unit/utils_config_test.py::LoadConfigTest::test_load_config_custom_headers PASSED [ 85%]
20:06:50 tests/unit/utils_config_test.py::LoadConfigTest::test_load_config_detach_keys PASSED [ 85%]
20:06:50 tests/unit/utils_config_test.py::LoadConfigTest::test_load_config_from_env PASSED [ 85%]
20:06:50 tests/unit/utils_config_test.py::LoadConfigTest::test_load_config_no_file PASSED [ 85%]
20:06:50 tests/unit/utils_json_stream_test.py::TestJsonSplitter::test_json_splitter_no_object PASSED [ 85%]
20:06:50 tests/unit/utils_json_stream_test.py::TestJsonSplitter::test_json_splitter_with_object PASSED [ 86%]
20:06:50 tests/unit/utils_json_stream_test.py::TestJsonSplitter::test_json_splitter_leading_whitespace PASSED [ 86%]
20:06:50 tests/unit/utils_json_stream_test.py::TestStreamAsText::test_stream_with_non_utf_unicode_character PASSED [ 86%]
20:06:50 tests/unit/utils_json_stream_test.py::TestStreamAsText::test_stream_with_utf_character PASSED [ 86%]
20:06:50 tests/unit/utils_json_stream_test.py::TestJsonStream::test_with_falsy_entries PASSED [ 86%]
20:06:50 tests/unit/utils_json_stream_test.py::TestJsonStream::test_with_leading_whitespace PASSED [ 86%]
20:06:50 tests/unit/utils_proxy_test.py::ProxyConfigTest::test_environment PASSED [ 87%]
20:06:50 tests/unit/utils_proxy_test.py::ProxyConfigTest::test_from_dict PASSED   [ 87%]
20:06:50 tests/unit/utils_proxy_test.py::ProxyConfigTest::test_inject_proxy_environment PASSED [ 87%]
20:06:50 tests/unit/utils_proxy_test.py::ProxyConfigTest::test_new PASSED         [ 87%]
20:06:50 tests/unit/utils_proxy_test.py::ProxyConfigTest::test_truthiness PASSED  [ 87%]
20:06:50 tests/unit/utils_test.py::DecoratorsTest::test_update_headers PASSED     [ 87%]
20:06:50 tests/unit/utils_test.py::KwargsFromEnvTest::test_kwargs_from_env_alternate_env PASSED [ 88%]
20:06:50 tests/unit/utils_test.py::KwargsFromEnvTest::test_kwargs_from_env_empty PASSED [ 88%]
20:06:50 tests/unit/utils_test.py::KwargsFromEnvTest::test_kwargs_from_env_no_cert_path PASSED [ 88%]
20:06:50 tests/unit/utils_test.py::KwargsFromEnvTest::test_kwargs_from_env_tls PASSED [ 88%]
20:06:50 tests/unit/utils_test.py::KwargsFromEnvTest::test_kwargs_from_env_tls_verify_false PASSED [ 88%]
20:06:50 tests/unit/utils_test.py::KwargsFromEnvTest::test_kwargs_from_env_tls_verify_false_no_cert PASSED [ 88%]
20:06:50 tests/unit/utils_test.py::ConverVolumeBindsTest::test_convert_volume_binds_compact PASSED [ 89%]
20:06:50 tests/unit/utils_test.py::ConverVolumeBindsTest::test_convert_volume_binds_complete PASSED [ 89%]
20:06:50 tests/unit/utils_test.py::ConverVolumeBindsTest::test_convert_volume_binds_empty PASSED [ 89%]
20:06:50 tests/unit/utils_test.py::ConverVolumeBindsTest::test_convert_volume_binds_list PASSED [ 89%]
20:06:50 tests/unit/utils_test.py::ConverVolumeBindsTest::test_convert_volume_binds_no_mode PASSED [ 89%]
20:06:50 tests/unit/utils_test.py::ConverVolumeBindsTest::test_convert_volume_binds_unicode_bytes_input PASSED [ 89%]
20:06:50 tests/unit/utils_test.py::ConverVolumeBindsTest::test_convert_volume_binds_unicode_unicode_input PASSED [ 90%]
20:06:50 tests/unit/utils_test.py::ParseEnvFileTest::test_parse_env_file_commented_line PASSED [ 90%]
20:06:50 tests/unit/utils_test.py::ParseEnvFileTest::test_parse_env_file_invalid_line PASSED [ 90%]
20:06:50 tests/unit/utils_test.py::ParseEnvFileTest::test_parse_env_file_newline PASSED [ 90%]
20:06:50 tests/unit/utils_test.py::ParseEnvFileTest::test_parse_env_file_proper PASSED [ 90%]
20:06:50 tests/unit/utils_test.py::ParseEnvFileTest::test_parse_env_file_with_equals_character PASSED [ 90%]
20:06:50 tests/unit/utils_test.py::ParseHostTest::test_parse_host PASSED          [ 91%]
20:06:50 tests/unit/utils_test.py::ParseHostTest::test_parse_host_empty_value PASSED [ 91%]
20:06:50 tests/unit/utils_test.py::ParseHostTest::test_parse_host_tls PASSED      [ 91%]
20:06:50 tests/unit/utils_test.py::ParseHostTest::test_parse_host_tls_tcp_proto PASSED [ 91%]
20:06:50 tests/unit/utils_test.py::ParseHostTest::test_parse_host_trailing_slash PASSED [ 91%]
20:06:50 tests/unit/utils_test.py::ParseRepositoryTagTest::test_index_image_no_tag PASSED [ 92%]
20:06:50 tests/unit/utils_test.py::ParseRepositoryTagTest::test_index_image_sha PASSED [ 92%]
20:06:50 tests/unit/utils_test.py::ParseRepositoryTagTest::test_index_image_tag PASSED [ 92%]
20:06:50 tests/unit/utils_test.py::ParseRepositoryTagTest::test_index_user_image_no_tag PASSED [ 92%]
20:06:50 tests/unit/utils_test.py::ParseRepositoryTagTest::test_index_user_image_tag PASSED [ 92%]
20:06:50 tests/unit/utils_test.py::ParseRepositoryTagTest::test_private_reg_image_no_tag PASSED [ 92%]
20:06:50 tests/unit/utils_test.py::ParseRepositoryTagTest::test_private_reg_image_sha PASSED [ 93%]
20:06:50 tests/unit/utils_test.py::ParseRepositoryTagTest::test_private_reg_image_tag PASSED [ 93%]
20:06:50 tests/unit/utils_test.py::ParseDeviceTest::test_dict PASSED              [ 93%]
20:06:50 tests/unit/utils_test.py::ParseDeviceTest::test_full_string_definition PASSED [ 93%]
20:06:50 tests/unit/utils_test.py::ParseDeviceTest::test_hybrid_list PASSED       [ 93%]
20:06:50 tests/unit/utils_test.py::ParseDeviceTest::test_partial_string_definition PASSED [ 93%]
20:06:50 tests/unit/utils_test.py::ParseDeviceTest::test_permissionless_string_definition PASSED [ 94%]
20:06:50 tests/unit/utils_test.py::ParseBytesTest::test_parse_bytes_float PASSED  [ 94%]
20:06:50 tests/unit/utils_test.py::ParseBytesTest::test_parse_bytes_invalid PASSED [ 94%]
20:06:50 tests/unit/utils_test.py::ParseBytesTest::test_parse_bytes_valid PASSED  [ 94%]
20:06:50 tests/unit/utils_test.py::UtilsTest::test_convert_filters PASSED         [ 94%]
20:06:50 tests/unit/utils_test.py::UtilsTest::test_decode_json_header PASSED      [ 94%]
20:06:50 tests/unit/utils_test.py::SplitCommandTest::test_split_command_with_unicode PASSED [ 95%]
20:06:50 tests/unit/utils_test.py::PortsTest::test_build_port_bindings_with_matching_internal_port_ranges PASSED [ 95%]
20:06:50 tests/unit/utils_test.py::PortsTest::test_build_port_bindings_with_matching_internal_ports PASSED [ 95%]
20:06:50 tests/unit/utils_test.py::PortsTest::test_build_port_bindings_with_nonmatching_internal_port_ranges PASSED [ 95%]
20:06:50 tests/unit/utils_test.py::PortsTest::test_build_port_bindings_with_nonmatching_internal_ports PASSED [ 95%]
20:06:50 tests/unit/utils_test.py::PortsTest::test_build_port_bindings_with_one_port PASSED [ 95%]
20:06:50 tests/unit/utils_test.py::PortsTest::test_build_port_bindings_with_port_range PASSED [ 96%]
20:06:50 tests/unit/utils_test.py::PortsTest::test_host_only_with_colon PASSED    [ 96%]
20:06:50 tests/unit/utils_test.py::PortsTest::test_non_matching_length_port_ranges PASSED [ 96%]
20:06:50 tests/unit/utils_test.py::PortsTest::test_port_and_range_invalid PASSED  [ 96%]
20:06:50 tests/unit/utils_test.py::PortsTest::test_port_only_with_colon PASSED    [ 96%]
20:06:50 tests/unit/utils_test.py::PortsTest::test_split_port_empty_string PASSED [ 96%]
20:06:50 tests/unit/utils_test.py::PortsTest::test_split_port_invalid PASSED      [ 97%]
20:06:50 tests/unit/utils_test.py::PortsTest::test_split_port_invalid_protocol PASSED [ 97%]
20:06:50 tests/unit/utils_test.py::PortsTest::test_split_port_no_host_port PASSED [ 97%]
20:06:50 tests/unit/utils_test.py::PortsTest::test_split_port_non_string PASSED   [ 97%]
20:06:50 tests/unit/utils_test.py::PortsTest::test_split_port_random_port_range_with_host_port PASSED [ 97%]
20:06:50 tests/unit/utils_test.py::PortsTest::test_split_port_range_no_host_port PASSED [ 97%]
20:06:50 tests/unit/utils_test.py::PortsTest::test_split_port_range_with_host_ip_no_port PASSED [ 98%]
20:06:50 tests/unit/utils_test.py::PortsTest::test_split_port_range_with_host_port PASSED [ 98%]
20:06:50 tests/unit/utils_test.py::PortsTest::test_split_port_range_with_protocol PASSED [ 98%]
20:06:50 tests/unit/utils_test.py::PortsTest::test_split_port_with_host_ip PASSED [ 98%]
20:06:50 tests/unit/utils_test.py::PortsTest::test_split_port_with_host_ip_no_port PASSED [ 98%]
20:06:50 tests/unit/utils_test.py::PortsTest::test_split_port_with_host_port PASSED [ 98%]
20:06:50 tests/unit/utils_test.py::PortsTest::test_split_port_with_ipv6_address PASSED [ 99%]
20:06:50 tests/unit/utils_test.py::PortsTest::test_split_port_with_ipv6_square_brackets_address PASSED [ 99%]
20:06:50 tests/unit/utils_test.py::PortsTest::test_split_port_with_protocol PASSED [ 99%]
20:06:50 tests/unit/utils_test.py::PortsTest::test_with_no_container_port PASSED  [ 99%]
20:06:50 tests/unit/utils_test.py::FormatEnvironmentTest::test_format_env_binary_unicode_value PASSED [ 99%]
20:06:51 tests/unit/utils_test.py::FormatEnvironmentTest::test_format_env_no_value PASSED [100%]
20:06:51 
20:06:51 =============================== warnings summary ===============================
20:06:51 tests/unit/ssladapter_test.py::MatchHostnameTest::test_match_dns_failure
20:06:51   /src/tests/unit/ssladapter_test.py:71: DeprecationWarning: ssl.match_hostname() is deprecated
20:06:51     match_hostname(self.cert, 'foobar.co.uk')
20:06:51 
20:06:51 tests/unit/ssladapter_test.py::MatchHostnameTest::test_match_dns_success
20:06:51   /src/tests/unit/ssladapter_test.py:63: DeprecationWarning: ssl.match_hostname() is deprecated
20:06:51     assert match_hostname(self.cert, 'touhou.gensokyo.jp') is None
20:06:51 
20:06:51 tests/unit/ssladapter_test.py::MatchHostnameTest::test_match_ip_address_failure
20:06:51   /src/tests/unit/ssladapter_test.py:67: DeprecationWarning: ssl.match_hostname() is deprecated
20:06:51     match_hostname(self.cert, '192.168.0.25')
20:06:51 
20:06:51 tests/unit/ssladapter_test.py::MatchHostnameTest::test_match_ip_address_success
20:06:51   /src/tests/unit/ssladapter_test.py:57: DeprecationWarning: ssl.match_hostname() is deprecated
20:06:51     assert match_hostname(self.cert, '127.0.0.1') is None
20:06:51 
20:06:51 tests/unit/ssladapter_test.py::MatchHostnameTest::test_match_localhost_success
20:06:51   /src/tests/unit/ssladapter_test.py:60: DeprecationWarning: ssl.match_hostname() is deprecated
20:06:51     assert match_hostname(self.cert, 'localhost') is None
20:06:51 
20:06:51 -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
20:06:51 
20:06:51 ---------- coverage: platform linux, python 3.10.11-final-0 ----------
20:06:51 Name                                  Stmts   Miss Branch BrPart  Cover
20:06:51 -----------------------------------------------------------------------
20:06:51 docker/__init__.py                        7      0      0      0   100%
20:06:51 docker/_version.py                        2      0      0      0   100%
20:06:51 docker/api/__init__.py                    1      0      0      0   100%
20:06:51 docker/api/build.py                     127     41     98     21    64%
20:06:51 docker/api/client.py                    269     65     94     11    76%
20:06:51 docker/api/config.py                     31     18      6      0    41%
20:06:51 docker/api/container.py                 289     75    120     28    67%
20:06:51 docker/api/daemon.py                     40      4     16      4    86%
20:06:51 docker/api/exec_api.py                   51     12     26     10    69%
20:06:51 docker/api/image.py                     161     43     64     14    70%
20:06:51 docker/api/network.py                    91     35     50     11    52%
20:06:51 docker/api/plugin.py                     96     68     18      0    26%
20:06:51 docker/api/secret.py                     36     22     10      0    35%
20:06:51 docker/api/service.py                   206    180    155      0     8%
20:06:51 docker/api/swarm.py                     114     71     44      1    29%
20:06:51 docker/api/volume.py                     38      9     16      2    72%
20:06:51 docker/auth.py                          200     16     80     16    89%
20:06:51 docker/client.py                         80      9      4      0    89%
20:06:51 docker/constants.py                      21      0      0      0   100%
20:06:51 docker/context/__init__.py                2      0      0      0   100%
20:06:51 docker/context/api.py                    81     41     40      8    41%
20:06:51 docker/context/config.py                 61     33     22      2    39%
20:06:51 docker/context/context.py               163     96     70      6    32%
20:06:51 docker/credentials/__init__.py            3      0      0      0   100%
20:06:51 docker/credentials/constants.py           4      0      0      0   100%
20:06:51 docker/credentials/errors.py             11      4      8      0    68%
20:06:51 docker/credentials/store.py              47     32     16      0    27%
20:06:51 docker/credentials/utils.py               5      3      0      0    40%
20:06:51 docker/errors.py                        113     27     61      4    77%
20:06:51 docker/models/__init__.py                 0      0      0      0   100%
20:06:51 docker/models/configs.py                 22      8      6      0    64%
20:06:51 docker/models/containers.py             194     11     78      9    91%
20:06:51 docker/models/images.py                 143     55     62      4    55%
20:06:51 docker/models/networks.py                39      7     16      3    75%
20:06:51 docker/models/nodes.py                   16      5      6      0    68%
20:06:51 docker/models/plugins.py                 51     29     12      0    41%
20:06:51 docker/models/resource.py                43      9     10      3    77%
20:06:51 docker/models/secrets.py                 23      4      6      0    79%
20:06:51 docker/models/services.py                89     35     40      4    60%
20:06:51 docker/models/swarm.py                   40     21      8      0    44%
20:06:51 docker/models/volumes.py                 24     10      8      0    56%
20:06:51 docker/tls.py                            35      5     14      5    80%
20:06:51 docker/transport/__init__.py             11      3      0      0    73%
20:06:51 docker/transport/basehttpadapter.py       6      0      4      1    90%
20:06:51 docker/transport/npipeconn.py            53     48     17      0     7%
20:06:51 docker/transport/npipesocket.py         154    150     26      0     2%
20:06:51 docker/transport/sshconn.py             158    102     67      3    32%
20:06:51 docker/transport/ssladapter.py           29      6     10      3    72%
20:06:51 docker/transport/unixconn.py             47      1     15      2    95%
20:06:51 docker/types/__init__.py                  6      0      0      0   100%
20:06:51 docker/types/base.py                      4      0      4      0   100%
20:06:51 docker/types/containers.py              440     79    340     43    82%
20:06:51 docker/types/daemon.py                   33     22     16      0    27%
20:06:51 docker/types/healthcheck.py              43     20      6      0    51%
20:06:51 docker/types/networks.py                 45     14     40     10    65%
20:06:51 docker/types/services.py                347    150    268     45    55%
20:06:51 docker/types/swarm.py                    51     45     44      0    11%
20:06:51 docker/utils/__init__.py                  3      0      0      0   100%
20:06:51 docker/utils/build.py                   152     24     78     10    83%
20:06:51 docker/utils/config.py                   36      1     12      1    96%
20:06:51 docker/utils/decorators.py               33      1     12      1    96%
20:06:51 docker/utils/fnmatch.py                  55     18     28      2    61%
20:06:51 docker/utils/json_stream.py              40      8     14      2    78%
20:06:51 docker/utils/ports.py                    50      3     32      2    91%
20:06:51 docker/utils/proxy.py                    37      1     14      0    98%
20:06:51 docker/utils/socket.py                   96     16     48      9    78%
20:06:51 docker/utils/utils.py                   279     18    173     13    92%
20:06:51 docker/version.py                        11      9      0      0    18%
20:06:51 -----------------------------------------------------------------------
20:06:51 TOTAL                                  5288   1842   2552    313    62%
20:06:51 
20:06:51 =========================== short test summary info ============================
20:06:51 XFAIL tests/unit/dockertypes_test.py::MountTest::test_parse_mount_bind_windows
20:06:51 SKIPPED [1] tests/unit/api_build_test.py:169: Windows-specific syntax
20:06:51 SKIPPED [1] tests/unit/api_container_test.py:1072: API version is too low (< 1.41)
20:06:51 SKIPPED [1] tests/unit/client_test.py:99: Npipe Connection Pool only on Windows
20:06:51 SKIPPED [1] tests/unit/client_test.py:138: Npipe Connection Pool only on Windows
20:06:51 SKIPPED [1] tests/unit/client_test.py:212: Npipe Connection Pool only on Windows
20:06:51 SKIPPED [1] tests/unit/client_test.py:249: Npipe Connection Pool only on Windows
20:06:51 SKIPPED [1] tests/unit/context_test.py:18: Windows specific path check
20:06:51 SKIPPED [1] tests/unit/utils_build_test.py:230: Backslash patterns only on Windows
20:06:51 SKIPPED [1] tests/unit/utils_build_test.py:252: Backslash patterns only on Windows
20:06:51 SKIPPED [1] tests/unit/utils_build_test.py:400: root user always has access ; no chmod on Windows
20:06:51 SKIPPED [1] tests/unit/utils_config_test.py:54: condition: sys.platform != 'win32'
20:06:51 ============ 576 passed, 11 skipped, 1 xfailed, 5 warnings in 6.71s ============