Skip to content

Console Output

Skipping 2,706 KB.. Full Log
15:22:15 tests/unit/config/config_test.py::BuildOrImageMergeTest::test_merge_build_or_image_override_with_other PASSED [ 84%]

15:22:15 tests/unit/config/config_test.py::BuildOrImageMergeTest::test_merge_build_or_image_override_with_same PASSED [ 84%]

15:22:15 tests/unit/config/config_test.py::MergePortsTest::test_add_item PASSED   [ 84%]

15:22:15 tests/unit/config/config_test.py::MergePortsTest::test_duplicate_port_mappings PASSED [ 84%]

15:22:15 tests/unit/config/config_test.py::MergePortsTest::test_empty PASSED      [ 84%]

15:22:15 tests/unit/config/config_test.py::MergePortsTest::test_no_base PASSED    [ 85%]

15:22:15 tests/unit/config/config_test.py::MergePortsTest::test_no_override PASSED [ 85%]

15:22:15 tests/unit/config/config_test.py::MergeNetworksTest::test_add_item PASSED [ 85%]

15:22:15 tests/unit/config/config_test.py::MergeNetworksTest::test_all_properties PASSED [ 85%]

15:22:15 tests/unit/config/config_test.py::MergeNetworksTest::test_empty PASSED   [ 85%]

15:22:15 tests/unit/config/config_test.py::MergeNetworksTest::test_network_has_none_value PASSED [ 85%]

15:22:15 tests/unit/config/config_test.py::MergeNetworksTest::test_no_base PASSED [ 85%]

15:22:15 tests/unit/config/config_test.py::MergeNetworksTest::test_no_network_name_overrides PASSED [ 85%]

15:22:15 tests/unit/config/config_test.py::MergeNetworksTest::test_no_network_overrides PASSED [ 85%]

15:22:15 tests/unit/config/config_test.py::MergeNetworksTest::test_no_override PASSED [ 85%]

15:22:15 tests/unit/config/config_test.py::MergeStringsOrListsTest::test_add_list PASSED [ 85%]

15:22:15 tests/unit/config/config_test.py::MergeStringsOrListsTest::test_add_string PASSED [ 85%]

15:22:15 tests/unit/config/config_test.py::MergeStringsOrListsTest::test_no_base PASSED [ 86%]

15:22:15 tests/unit/config/config_test.py::MergeStringsOrListsTest::test_no_override PASSED [ 86%]

15:22:15 tests/unit/config/config_test.py::MergeLabelsTest::test_add_explicit_value PASSED [ 86%]

15:22:15 tests/unit/config/config_test.py::MergeLabelsTest::test_empty PASSED     [ 86%]

15:22:15 tests/unit/config/config_test.py::MergeLabelsTest::test_no_base PASSED   [ 86%]

15:22:15 tests/unit/config/config_test.py::MergeLabelsTest::test_no_override PASSED [ 86%]

15:22:15 tests/unit/config/config_test.py::MergeLabelsTest::test_override_explicit_value PASSED [ 86%]

15:22:15 tests/unit/config/config_test.py::MergeLabelsTest::test_remove_explicit_value PASSED [ 86%]

15:22:15 tests/unit/config/config_test.py::MergeBuildTest::test_empty_base PASSED [ 86%]

15:22:15 tests/unit/config/config_test.py::MergeBuildTest::test_empty_override PASSED [ 86%]

15:22:15 tests/unit/config/config_test.py::MergeBuildTest::test_full PASSED       [ 86%]

15:22:15 tests/unit/config/config_test.py::MemoryOptionsTest::test_memswap_can_be_a_string PASSED [ 87%]

15:22:15 tests/unit/config/config_test.py::MemoryOptionsTest::test_validation_fails_with_just_memswap_limit PASSED [ 87%]

15:22:15 tests/unit/config/config_test.py::MemoryOptionsTest::test_validation_with_correct_memswap_values PASSED [ 87%]

15:22:15 tests/unit/config/config_test.py::EnvTest::test_environment_overrides_env_file PASSED [ 87%]

15:22:15 tests/unit/config/config_test.py::EnvTest::test_parse_environment_as_dict PASSED [ 87%]

15:22:15 tests/unit/config/config_test.py::EnvTest::test_parse_environment_as_list PASSED [ 87%]

15:22:15 tests/unit/config/config_test.py::EnvTest::test_parse_environment_empty PASSED [ 87%]

15:22:15 tests/unit/config/config_test.py::EnvTest::test_parse_environment_invalid PASSED [ 87%]

15:22:15 tests/unit/config/config_test.py::EnvTest::test_resolve_build_args PASSED [ 87%]

15:22:15 tests/unit/config/config_test.py::EnvTest::test_resolve_environment PASSED [ 87%]

15:22:15 tests/unit/config/config_test.py::EnvTest::test_resolve_environment_from_env_file PASSED [ 87%]

15:22:15 tests/unit/config/config_test.py::EnvTest::test_resolve_environment_from_env_file_with_empty_values PASSED [ 87%]

15:22:15 tests/unit/config/config_test.py::EnvTest::test_resolve_environment_nonexistent_file PASSED [ 88%]

15:22:15 tests/unit/config/config_test.py::EnvTest::test_resolve_environment_with_multiple_env_files PASSED [ 88%]

15:22:15 tests/unit/config/config_test.py::EnvTest::test_resolve_path PASSED      [ 88%]

15:22:15 tests/unit/config/config_test.py::ExtendsTest::test_circular PASSED      [ 88%]

15:22:15 tests/unit/config/config_test.py::ExtendsTest::test_extended_service_with_invalid_config PASSED [ 88%]

15:22:15 tests/unit/config/config_test.py::ExtendsTest::test_extended_service_with_valid_config PASSED [ 88%]

15:22:15 tests/unit/config/config_test.py::ExtendsTest::test_extended_service_with_verbose_and_shorthand_way PASSED [ 88%]

15:22:15 tests/unit/config/config_test.py::ExtendsTest::test_extends PASSED       [ 88%]

15:22:15 tests/unit/config/config_test.py::ExtendsTest::test_extends_file_defaults_to_self PASSED [ 88%]

15:22:15 tests/unit/config/config_test.py::ExtendsTest::test_extends_same_file_optimization PASSED [ 88%]

15:22:15 tests/unit/config/config_test.py::ExtendsTest::test_extends_validation_empty_dictionary PASSED [ 88%]

15:22:15 tests/unit/config/config_test.py::ExtendsTest::test_extends_validation_invalid_key PASSED [ 89%]

15:22:15 tests/unit/config/config_test.py::ExtendsTest::test_extends_validation_missing_service_key PASSED [ 89%]

15:22:15 tests/unit/config/config_test.py::ExtendsTest::test_extends_validation_no_file_key_no_filename_set PASSED [ 89%]

15:22:15 tests/unit/config/config_test.py::ExtendsTest::test_extends_validation_sub_property_key PASSED [ 89%]

15:22:15 tests/unit/config/config_test.py::ExtendsTest::test_extends_validation_valid_config PASSED [ 89%]

15:22:15 tests/unit/config/config_test.py::ExtendsTest::test_extends_with_defined_version_passes PASSED [ 89%]

15:22:15 tests/unit/config/config_test.py::ExtendsTest::test_extends_with_depends_on PASSED [ 89%]

15:22:15 tests/unit/config/config_test.py::ExtendsTest::test_extends_with_environment_and_env_files PASSED [ 89%]

15:22:15 tests/unit/config/config_test.py::ExtendsTest::test_extends_with_healthcheck PASSED [ 89%]

15:22:15 tests/unit/config/config_test.py::ExtendsTest::test_extends_with_mixed_versions_is_error PASSED [ 89%]

15:22:15 tests/unit/config/config_test.py::ExtendsTest::test_extends_with_ports PASSED [ 89%]

15:22:15 tests/unit/config/config_test.py::ExtendsTest::test_extends_with_security_opt PASSED [ 89%]

15:22:15 tests/unit/config/config_test.py::ExtendsTest::test_invalid_links_in_extended_service PASSED [ 90%]

15:22:15 tests/unit/config/config_test.py::ExtendsTest::test_invalid_net_in_extended_service PASSED [ 90%]

15:22:15 tests/unit/config/config_test.py::ExtendsTest::test_invalid_volumes_from_in_extended_service PASSED [ 90%]

15:22:15 tests/unit/config/config_test.py::ExtendsTest::test_load_config_runs_interpolation_in_extended_service PASSED [ 90%]

15:22:15 tests/unit/config/config_test.py::ExtendsTest::test_load_throws_error_when_base_service_does_not_exist PASSED [ 90%]

15:22:15 tests/unit/config/config_test.py::ExtendsTest::test_merging_env_labels_ulimits PASSED [ 90%]

15:22:15 tests/unit/config/config_test.py::ExtendsTest::test_nested PASSED        [ 90%]

15:22:15 tests/unit/config/config_test.py::ExtendsTest::test_parent_build_path_dne PASSED [ 90%]

15:22:15 tests/unit/config/config_test.py::ExtendsTest::test_partial_service_config_in_extends_is_still_valid PASSED [ 90%]

15:22:15 tests/unit/config/config_test.py::ExtendsTest::test_self_referencing_file PASSED [ 90%]

15:22:15 tests/unit/config/config_test.py::ExtendsTest::test_volume_path PASSED   [ 90%]

15:22:15 tests/unit/config/config_test.py::ExpandPathTest::test_expand_path_absolute PASSED [ 91%]

15:22:15 tests/unit/config/config_test.py::ExpandPathTest::test_expand_path_normal PASSED [ 91%]

15:22:15 tests/unit/config/config_test.py::ExpandPathTest::test_expand_path_with_tilde PASSED [ 91%]

15:22:15 tests/unit/config/config_test.py::VolumePathTest::test_split_path_mapping_with_root_mount PASSED [ 91%]

15:22:15 tests/unit/config/config_test.py::VolumePathTest::test_split_path_mapping_with_windows_path PASSED [ 91%]

15:22:15 tests/unit/config/config_test.py::VolumePathTest::test_split_path_mapping_with_windows_path_in_container PASSED [ 91%]

15:22:15 tests/unit/config/config_test.py::BuildPathTest::test_absolute_path PASSED [ 91%]

15:22:15 tests/unit/config/config_test.py::BuildPathTest::test_from_file PASSED   [ 91%]

15:22:15 tests/unit/config/config_test.py::BuildPathTest::test_from_file_override_dir PASSED [ 91%]

15:22:15 tests/unit/config/config_test.py::BuildPathTest::test_invalid_url_in_build_path PASSED [ 91%]

15:22:15 tests/unit/config/config_test.py::BuildPathTest::test_nonexistent_path PASSED [ 91%]

15:22:15 tests/unit/config/config_test.py::BuildPathTest::test_relative_path PASSED [ 91%]

15:22:16 tests/unit/config/config_test.py::BuildPathTest::test_valid_url_in_build_path PASSED [ 92%]

15:22:16 tests/unit/config/config_test.py::HealthcheckTest::test_disable PASSED   [ 92%]

15:22:16 tests/unit/config/config_test.py::HealthcheckTest::test_disable_with_other_config_is_invalid PASSED [ 92%]

15:22:16 tests/unit/config/config_test.py::HealthcheckTest::test_healthcheck PASSED [ 92%]

15:22:16 tests/unit/config/config_test.py::HealthcheckTest::test_healthcheck_with_invalid_test PASSED [ 92%]

15:22:16 tests/unit/config/config_test.py::GetDefaultConfigFilesTestCase::test_get_config_path_default_file_in_basedir PASSED [ 92%]

15:22:16 tests/unit/config/config_test.py::GetDefaultConfigFilesTestCase::test_get_config_path_default_file_in_parent_dir PASSED [ 92%]

15:22:16 tests/unit/config/config_test.py::SerializeTest::test_denormalize_depends_on_v2_1 PASSED [ 92%]

15:22:16 tests/unit/config/config_test.py::SerializeTest::test_denormalize_depends_on_v3 PASSED [ 92%]

15:22:16 tests/unit/config/config_test.py::SerializeTest::test_denormalize_healthcheck PASSED [ 92%]

15:22:16 tests/unit/config/config_test.py::SerializeTest::test_denormalize_image_has_digest PASSED [ 92%]

15:22:16 tests/unit/config/config_test.py::SerializeTest::test_denormalize_image_no_digest PASSED [ 93%]

15:22:16 tests/unit/config/config_test.py::SerializeTest::test_serialize_bool_string PASSED [ 93%]

15:22:16 tests/unit/config/config_test.py::SerializeTest::test_serialize_configs PASSED [ 93%]

15:22:16 tests/unit/config/config_test.py::SerializeTest::test_serialize_escape_dollar_sign PASSED [ 93%]

15:22:16 tests/unit/config/config_test.py::SerializeTest::test_serialize_escape_dont_interpolate PASSED [ 93%]

15:22:16 tests/unit/config/config_test.py::SerializeTest::test_serialize_external_false PASSED [ 93%]

15:22:16 tests/unit/config/config_test.py::SerializeTest::test_serialize_ports PASSED [ 93%]

15:22:16 tests/unit/config/config_test.py::SerializeTest::test_serialize_ports_with_ext_ip PASSED [ 93%]

15:22:16 tests/unit/config/config_test.py::SerializeTest::test_serialize_secrets PASSED [ 93%]

15:22:16 tests/unit/config/config_test.py::SerializeTest::test_serialize_time PASSED [ 93%]

15:22:16 tests/unit/config/config_test.py::SerializeTest::test_serialize_unicode_values PASSED [ 93%]

15:22:16 tests/unit/config/environment_test.py::EnvironmentTest::test_env_vars_from_file_bom PASSED [ 93%]

15:22:16 tests/unit/config/environment_test.py::EnvironmentTest::test_env_vars_from_file_whitespace PASSED [ 94%]

15:22:16 tests/unit/config/environment_test.py::EnvironmentTest::test_get_boolean PASSED [ 94%]

15:22:16 tests/unit/config/environment_test.py::EnvironmentTest::test_get_simple PASSED [ 94%]

15:22:16 tests/unit/config/environment_test.py::EnvironmentTest::test_get_undefined PASSED [ 94%]

15:22:16 tests/unit/config/interpolation_test.py::test_interpolate_environment_variables_in_services PASSED [ 94%]

15:22:16 tests/unit/config/interpolation_test.py::test_interpolate_environment_variables_in_volumes PASSED [ 94%]

15:22:16 tests/unit/config/interpolation_test.py::test_interpolate_environment_variables_in_secrets PASSED [ 94%]

15:22:16 tests/unit/config/interpolation_test.py::test_interpolate_environment_services_convert_types_v2 PASSED [ 94%]

15:22:16 tests/unit/config/interpolation_test.py::test_interpolate_environment_services_convert_types_v3 PASSED [ 94%]

15:22:16 tests/unit/config/interpolation_test.py::test_interpolate_environment_services_convert_types_invalid PASSED [ 94%]

15:22:16 tests/unit/config/interpolation_test.py::test_interpolate_environment_network_convert_types PASSED [ 94%]

15:22:16 tests/unit/config/interpolation_test.py::test_interpolate_environment_external_resource_convert_types PASSED [ 95%]

15:22:16 tests/unit/config/interpolation_test.py::test_interpolate_service_name_uses_dot PASSED [ 95%]

15:22:16 tests/unit/config/interpolation_test.py::test_escaped_interpolation PASSED [ 95%]

15:22:16 tests/unit/config/interpolation_test.py::test_invalid_interpolation PASSED [ 95%]

15:22:16 tests/unit/config/interpolation_test.py::test_interpolate_missing_no_default PASSED [ 95%]

15:22:16 tests/unit/config/interpolation_test.py::test_interpolate_with_value PASSED [ 95%]

15:22:16 tests/unit/config/interpolation_test.py::test_interpolate_missing_with_default PASSED [ 95%]

15:22:16 tests/unit/config/interpolation_test.py::test_interpolate_with_empty_and_default_value PASSED [ 95%]

15:22:16 tests/unit/config/interpolation_test.py::test_interpolate_mandatory_values PASSED [ 95%]

15:22:16 tests/unit/config/interpolation_test.py::test_interpolate_mandatory_no_err_msg PASSED [ 95%]

15:22:16 tests/unit/config/interpolation_test.py::test_interpolate_mixed_separators PASSED [ 95%]

15:22:16 tests/unit/config/interpolation_test.py::test_unbraced_separators PASSED [ 95%]

15:22:16 tests/unit/config/interpolation_test.py::test_interpolate_unicode_values PASSED [ 96%]

15:22:16 tests/unit/config/interpolation_test.py::test_interpolate_no_fallthrough PASSED [ 96%]

15:22:16 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_1 PASSED [ 96%]

15:22:16 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_2 PASSED [ 96%]

15:22:16 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_3 PASSED [ 96%]

15:22:16 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_4 PASSED [ 96%]

15:22:16 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_5 PASSED [ 96%]

15:22:16 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_6 PASSED [ 96%]

15:22:16 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_7 PASSED [ 96%]

15:22:16 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_circular_imports PASSED [ 96%]

15:22:16 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_circular_imports_2 PASSED [ 96%]

15:22:16 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_circular_imports_3 PASSED [ 97%]

15:22:16 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_self_imports PASSED [ 97%]

15:22:16 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_depends_on_self PASSED [ 97%]

15:22:16 tests/unit/config/types_test.py::test_parse_extra_hosts_list PASSED      [ 97%]

15:22:16 tests/unit/config/types_test.py::test_parse_extra_hosts_dict PASSED      [ 97%]

15:22:16 tests/unit/config/types_test.py::TestServicePort::test_parse_dict PASSED [ 97%]

15:22:16 tests/unit/config/types_test.py::TestServicePort::test_parse_simple_target_port PASSED [ 97%]

15:22:16 tests/unit/config/types_test.py::TestServicePort::test_parse_complete_port_definition PASSED [ 97%]

15:22:16 tests/unit/config/types_test.py::TestServicePort::test_parse_ext_ip_no_published_port PASSED [ 97%]

15:22:16 tests/unit/config/types_test.py::TestServicePort::test_repr_published_port_0 PASSED [ 97%]

15:22:16 tests/unit/config/types_test.py::TestServicePort::test_parse_port_range PASSED [ 97%]

15:22:16 tests/unit/config/types_test.py::TestServicePort::test_parse_port_publish_range PASSED [ 97%]

15:22:16 tests/unit/config/types_test.py::TestServicePort::test_parse_invalid_port PASSED [ 98%]

15:22:16 tests/unit/config/types_test.py::TestServicePort::test_parse_invalid_publish_range PASSED [ 98%]

15:22:16 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_spec_only_one_path PASSED [ 98%]

15:22:16 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_spec_internal_and_external PASSED [ 98%]

15:22:16 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_spec_with_mode PASSED [ 98%]

15:22:16 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_spec_too_many_parts PASSED [ 98%]

15:22:16 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_windows_absolute_path_normalized PASSED [ 98%]

15:22:16 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_windows_absolute_path_native PASSED [ 98%]

15:22:16 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_windows_internal_path_normalized PASSED [ 98%]

15:22:16 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_windows_internal_path_native PASSED [ 98%]

15:22:16 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_windows_just_drives_normalized PASSED [ 98%]

15:22:16 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_windows_just_drives_native PASSED [ 99%]

15:22:16 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_windows_mixed_notations_normalized PASSED [ 99%]

15:22:16 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_windows_mixed_notations_native PASSED [ 99%]

15:22:16 tests/unit/config/types_test.py::TestVolumesFromSpec::test_parse_v1_from_service PASSED [ 99%]

15:22:16 tests/unit/config/types_test.py::TestVolumesFromSpec::test_parse_v1_from_container PASSED [ 99%]

15:22:16 tests/unit/config/types_test.py::TestVolumesFromSpec::test_parse_v1_invalid PASSED [ 99%]

15:22:16 tests/unit/config/types_test.py::TestVolumesFromSpec::test_parse_v2_from_service PASSED [ 99%]

15:22:16 tests/unit/config/types_test.py::TestVolumesFromSpec::test_parse_v2_from_service_with_mode PASSED [ 99%]

15:22:16 tests/unit/config/types_test.py::TestVolumesFromSpec::test_parse_v2_from_container PASSED [ 99%]

15:22:16 tests/unit/config/types_test.py::TestVolumesFromSpec::test_parse_v2_from_container_with_mode PASSED [ 99%]

15:22:16 tests/unit/config/types_test.py::TestVolumesFromSpec::test_parse_v2_invalid_type PASSED [ 99%]

15:22:18 tests/unit/config/types_test.py::TestVolumesFromSpec::test_parse_v2_invalid PASSED [100%]

15:22:18 

15:22:18 ----------- coverage: platform linux, python 3.7.4-final-0 -----------

15:22:18 Name                              Stmts   Miss Branch BrPart  Cover   Missing

15:22:18 -----------------------------------------------------------------------------

15:22:18 compose/__init__.py                   3      0      0      0   100%

15:22:18 compose/__main__.py                   4      4      0      0     0%   1-6

15:22:18 compose/bundle.py                   144     21     62      5    84%   45, 50-51, 56-57, 75-78, 81, 103-109, 130-131, 141-146, 149, 80->81, 100->103, 118->135, 125->135, 148->149

15:22:18 compose/cli/__init__.py               0      0      0      0   100%

15:22:18 compose/cli/colors.py                23      2     10      2    88%   37-38, 36->37, 48->exit

15:22:18 compose/cli/command.py               97     13     28      3    84%   71-81, 121-126, 190, 70->71, 120->121, 187->190

15:22:18 compose/cli/docker_client.py         75      5     24      2    93%   24, 98-99, 107, 123, 106->107, 122->123

15:22:18 compose/cli/docopt_command.py        38      4      8      2    87%   13-14, 29, 35, 28->29, 34->35

15:22:18 compose/cli/errors.py               100     26     34      6    67%   47-48, 62-65, 70-79, 105-106, 123, 125, 127-131, 136, 141-148, 46->47, 61->62, 103->105, 122->123, 124->125, 126->127

15:22:18 compose/cli/formatter.py             37      3     10      1    91%   15, 22-23, 12->15

15:22:18 compose/cli/log_printer.py          149     10     55      6    91%   76, 103, 110-115, 167, 176, 229-232, 262, 43->exit, 75->76, 98->103, 174->176, 228->229, 237->243

15:22:18 compose/cli/main.py                 696     91    305     41    84%   84-85, 87-88, 169, 330, 362-364, 447, 507, 511, 516-517, 527-556, 568, 586-588, 592, 659-660, 698-699, 717, 738-739, 751, 774, 792, 839, 1071, 1080, 1109-1118, 1158-1161, 1169-1173, 1175-1180, 1203, 1225-1254, 1261-1262, 1264-1266, 1281, 1287, 1471, 1489, 1505, 1509-1510, 1521, 1526, 1529, 1555, 1574-1576, 1586, 1597, 61->64, 83->84, 86->87, 168->169, 329->330, 361->362, 446->447, 506->507, 510->511, 521->527, 565->568, 585->586, 591->592, 657->659, 716->717, 737->738, 750->751, 773->774, 829->839, 831->exit, 1070->1071, 1079->1080, 1168->1169, 1174->1175, 1202->1203, 1260->1261, 1263->1264, 1280->1281, 1286->1287, 1470->1471, 1488->1489, 1504->1505, 1520->1521, 1525->1526, 1528->1529, 1547->exit, 1554->1555, 1568->1576, 1570->1574, 1585->1586, 1595->1597

15:22:18 compose/cli/signals.py               23      0      4      2    93%   36->exit, 43->exit

15:22:18 compose/cli/utils.py                 81     28     18      4    60%   36-45, 53-55, 62-68, 76, 90-103, 109, 127-128, 138, 151-154, 88->90, 108->109, 137->138, 150->151

15:22:18 compose/cli/verbose_proxy.py         35     12     10      0    69%   36-39, 42-47, 50-60

15:22:18 compose/config/__init__.py           13      0      0      0   100%

15:22:18 compose/config/config.py            826     29    428     19    95%   266, 277, 508, 578, 714, 757, 812-830, 952-953, 959, 979, 982, 1335, 1366, 1412, 265->266, 276->277, 577->578, 709->713, 713->714, 756->757, 778->exit, 809->812, 936->938, 938->942, 957->959, 978->979, 981->982, 993->1002, 1015->1017, 1017->1020, 1332->1335, 1365->1366, 1408->1412

15:22:18 compose/config/environment.py        96      8     34      5    90%   21, 41, 98-101, 114, 121, 20->21, 40->41, 97->98, 113->114, 120->121

15:22:18 compose/config/errors.py             25      2      2      0    85%   36-40

15:22:18 compose/config/interpolation.py     148      6     64      3    95%   66, 148, 222, 227-229, 121->exit, 146->148, 221->222

15:22:18 compose/config/serialize.py          97      2     58      3    97%   31, 76, 30->31, 75->76, 82->85

15:22:18 compose/config/sort_services.py      44      1     24      1    97%   57, 56->57

15:22:18 compose/config/types.py             291     22    116     17    90%   54, 90, 113, 149, 171, 258-259, 267, 286, 301, 363-364, 372-373, 377-378, 441, 445, 486, 493-494, 502, 53->54, 71->79, 89->90, 112->113, 118->exit, 148->149, 170->171, 257->258, 266->267, 285->286, 298->301, 361->366, 440->441, 444->445, 484->489, 485->486, 501->502

15:22:18 compose/config/validation.py        254     14    141     12    92%   219, 249, 299-300, 318-319, 341, 363, 469-471, 496-498, 525, 218->219, 248->249, 289->299, 317->318, 335->338, 338->341, 362->363, 404->377, 425->exit, 467->469, 495->496, 524->525

15:22:18 compose/const.py                     39      0      0      0   100%

15:22:18 compose/container.py                193      8     50      7    94%   98, 105, 151, 153, 262, 265, 297, 320, 97->98, 104->105, 150->151, 152->153, 236->235, 303->exit, 319->320

15:22:18 compose/errors.py                    17      1      0      0    94%   12

15:22:18 compose/network.py                  190     19     95      5    87%   184, 186-200, 206, 224, 226, 183->184, 185->186, 205->206, 223->224, 225->226

15:22:18 compose/parallel.py                 199      2     58      1    99%   187, 326, 325->326

15:22:18 compose/progress_stream.py           79      8     40      9    86%   40, 71, 74, 80, 85, 90-91, 116, 39->40, 42->46, 53->57, 70->71, 73->74, 79->80, 84->85, 89->90, 112->116

15:22:18 compose/project.py                  436     31    211     15    91%   61, 158, 214-215, 256-257, 367-368, 371-376, 390-393, 446, 497, 501, 528, 631, 637, 640-643, 768-769, 775-778, 833, 58->61, 154->158, 333->335, 365->367, 370->371, 389->390, 445->446, 496->497, 500->501, 527->528, 630->631, 636->637, 639->640, 687->exit, 771->778

15:22:18 compose/service.py                  920     61    459     33    92%   65, 278-279, 300, 373-376, 424-429, 435-437, 477-478, 493, 496, 514, 581, 626-629, 737, 956-957, 977-978, 1079, 1126, 1187, 1229, 1251-1266, 1306, 1345-1349, 1537, 1541, 1658, 1699, 1711, 1785, 1811, 1826, 1839, 1843-1844, 1848-1849, 64->65, 223->exit, 276->278, 299->300, 434->435, 476->477, 492->493, 495->496, 513->514, 571->581, 732->737, 955->956, 976->977, 1078->1079, 1125->1126, 1186->1187, 1228->1229, 1305->1306, 1342->1345, 1536->1537, 1540->1541, 1589->exit, 1597->1596, 1635->1632, 1657->1658, 1698->1699, 1710->1711, 1784->1785, 1810->1811, 1825->1826, 1838->1839, 1842->1843, 1847->1848

15:22:18 compose/state.py                      0      0      0      0   100%

15:22:18 compose/timeparse.py                 22      0      4      0   100%

15:22:18 compose/utils.py                    117      8     42      5    92%   27, 75-79, 125, 135, 161, 168, 171, 25->27, 124->125, 134->135, 167->168, 169->171

15:22:18 compose/version.py                    6      0      0      0   100%

15:22:18 compose/volume.py                   126      4     44      4    94%   150, 200, 211-212, 141->150, 199->200, 201->198, 209->211

15:22:18 -----------------------------------------------------------------------------

15:22:18 TOTAL                              5643    445   2438    213    90%

15:22:18 Coverage HTML written to dir coverage-html

15:22:18 

15:22:18 =========================== short test summary info ============================

15:22:18 XFAIL tests/integration/service_test.py::ServiceTest::test_create_container_with_cpu_rt

15:22:18   not supported by kernel

15:22:18 XFAIL tests/integration/service_test.py::ServiceTest::test_create_container_with_storage_opt

15:22:18   Not supported on most drivers

15:22:18 SKIP [1] tests/acceptance/cli_test.py:2424: race condition between up and logs

15:22:18 SKIP [1] tests/acceptance/cli_test.py:2376: race condition between up and logs

15:22:18 SKIP [1] tests/acceptance/cli_test.py:2403: race condition between up and logs

15:22:18 SKIP [1] /code/tests/integration/testcases.py:167: This daemon does not support the 'nvidia'' runtime

15:22:18 SKIP [1] tests/integration/service_test.py:150: cpu_percent is not supported for Linux

15:22:18 SKIP [1] tests/integration/service_test.py:1674: Broken on 1.11.0 - 17.03.0

15:22:18 SKIP [1] tests/unit/cli/command_test.py:39: windows separator

15:22:18 SKIP [1] tests/unit/cli/command_test.py:69: Env values in Python 3 are already Unicode

15:22:18 SKIP [1] tests/unit/cli/errors_test.py:70: Needs pywin32

15:22:18 SKIP [1] tests/unit/cli/errors_test.py:80: Needs pywin32

15:22:18 SKIP [1] tests/unit/cli/errors_test.py:90: Needs pywin32

15:22:18 SKIP [1] tests/unit/config/config_test.py:3778: windows paths

15:22:18 

15:22:18 ======= 1130 passed, 12 skipped, 2 xfailed, 3 xpassed in 934.51 seconds ========

15:22:18 ___________________________________ summary ____________________________________

15:22:18   py37: commands succeeded

15:22:18   congratulations :)

15:22:18 + on_exit
15:22:18 + [[ 0 != \0 ]]
15:22:18 + docker rm -vf compose-dind-19.03.5-jenkins-compose-py2-3
15:22:18 compose-dind-19.03.5-jenkins-compose-py2-3
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // wrap
[Pipeline] }
[Pipeline] // wrap
[Pipeline] }
[Pipeline] // withDockerRegistry
[Pipeline] }
[Pipeline] // node
[Pipeline] }
15:22:19 tests/unit/config/types_test.py::TestVolumesFromSpec::test_parse_v2_invalid PASSED [100%]

15:22:19 

15:22:19 ----------- coverage: platform linux, python 3.7.4-final-0 -----------

15:22:19 Name                              Stmts   Miss Branch BrPart  Cover   Missing

15:22:19 -----------------------------------------------------------------------------

15:22:19 compose/__init__.py                   3      0      0      0   100%

15:22:19 compose/__main__.py                   4      4      0      0     0%   1-6

15:22:19 compose/bundle.py                   144     21     62      5    84%   45, 50-51, 56-57, 75-78, 81, 103-109, 130-131, 141-146, 149, 80->81, 100->103, 118->135, 125->135, 148->149

15:22:19 compose/cli/__init__.py               0      0      0      0   100%

15:22:19 compose/cli/colors.py                23      2     10      2    88%   37-38, 36->37, 48->exit

15:22:19 compose/cli/command.py               97     13     28      3    84%   71-81, 121-126, 190, 70->71, 120->121, 187->190

15:22:19 compose/cli/docker_client.py         75      5     24      2    93%   24, 98-99, 107, 123, 106->107, 122->123

15:22:19 compose/cli/docopt_command.py        38      4      8      2    87%   13-14, 29, 35, 28->29, 34->35

15:22:19 compose/cli/errors.py               100     26     34      6    67%   47-48, 62-65, 70-79, 105-106, 123, 125, 127-131, 136, 141-148, 46->47, 61->62, 103->105, 122->123, 124->125, 126->127

15:22:19 compose/cli/formatter.py             37      3     10      1    91%   15, 22-23, 12->15

15:22:19 compose/cli/log_printer.py          149     10     55      6    91%   76, 103, 110-115, 167, 176, 229-232, 262, 43->exit, 75->76, 98->103, 174->176, 228->229, 237->243

15:22:19 compose/cli/main.py                 696     91    305     41    84%   84-85, 87-88, 169, 330, 362-364, 447, 507, 511, 516-517, 527-556, 568, 586-588, 592, 659-660, 698-699, 717, 738-739, 751, 774, 792, 839, 1071, 1080, 1109-1118, 1158-1161, 1169-1173, 1175-1180, 1203, 1225-1254, 1261-1262, 1264-1266, 1281, 1287, 1471, 1489, 1505, 1509-1510, 1521, 1526, 1529, 1555, 1574-1576, 1586, 1597, 61->64, 83->84, 86->87, 168->169, 329->330, 361->362, 446->447, 506->507, 510->511, 521->527, 565->568, 585->586, 591->592, 657->659, 716->717, 737->738, 750->751, 773->774, 829->839, 831->exit, 1070->1071, 1079->1080, 1168->1169, 1174->1175, 1202->1203, 1260->1261, 1263->1264, 1280->1281, 1286->1287, 1470->1471, 1488->1489, 1504->1505, 1520->1521, 1525->1526, 1528->1529, 1547->exit, 1554->1555, 1568->1576, 1570->1574, 1585->1586, 1595->1597

15:22:19 compose/cli/signals.py               23      0      4      2    93%   36->exit, 43->exit

15:22:19 compose/cli/utils.py                 81     28     18      4    60%   36-45, 53-55, 62-68, 76, 90-103, 109, 127-128, 138, 151-154, 88->90, 108->109, 137->138, 150->151

15:22:19 compose/cli/verbose_proxy.py         35     12     10      0    69%   36-39, 42-47, 50-60

15:22:19 compose/config/__init__.py           13      0      0      0   100%

15:22:19 compose/config/config.py            826     29    428     19    95%   266, 277, 508, 578, 714, 757, 812-830, 952-953, 959, 979, 982, 1335, 1366, 1412, 265->266, 276->277, 577->578, 709->713, 713->714, 756->757, 778->exit, 809->812, 936->938, 938->942, 957->959, 978->979, 981->982, 993->1002, 1015->1017, 1017->1020, 1332->1335, 1365->1366, 1408->1412

15:22:19 compose/config/environment.py        96      8     34      5    90%   21, 41, 98-101, 114, 121, 20->21, 40->41, 97->98, 113->114, 120->121

15:22:19 compose/config/errors.py             25      2      2      0    85%   36-40

15:22:19 compose/config/interpolation.py     148      6     64      3    95%   66, 148, 222, 227-229, 121->exit, 146->148, 221->222

15:22:19 compose/config/serialize.py          97      2     58      3    97%   31, 76, 30->31, 75->76, 82->85

15:22:19 compose/config/sort_services.py      44      1     24      1    97%   57, 56->57

15:22:19 compose/config/types.py             291     22    116     17    90%   54, 90, 113, 149, 171, 258-259, 267, 286, 301, 363-364, 372-373, 377-378, 441, 445, 486, 493-494, 502, 53->54, 71->79, 89->90, 112->113, 118->exit, 148->149, 170->171, 257->258, 266->267, 285->286, 298->301, 361->366, 440->441, 444->445, 484->489, 485->486, 501->502

15:22:19 compose/config/validation.py        254     14    141     12    92%   219, 249, 299-300, 318-319, 341, 363, 469-471, 496-498, 525, 218->219, 248->249, 289->299, 317->318, 335->338, 338->341, 362->363, 404->377, 425->exit, 467->469, 495->496, 524->525

15:22:19 compose/const.py                     39      0      0      0   100%

15:22:19 compose/container.py                193      8     50      7    94%   98, 105, 151, 153, 262, 265, 297, 320, 97->98, 104->105, 150->151, 152->153, 236->235, 303->exit, 319->320

15:22:19 compose/errors.py                    17      1      0      0    94%   12

15:22:19 compose/network.py                  190     19     95      5    87%   184, 186-200, 206, 224, 226, 183->184, 185->186, 205->206, 223->224, 225->226

15:22:19 compose/parallel.py                 199      2     58      1    99%   187, 326, 325->326

15:22:19 compose/progress_stream.py           79      8     40      9    86%   40, 71, 74, 80, 85, 90-91, 116, 39->40, 42->46, 53->57, 70->71, 73->74, 79->80, 84->85, 89->90, 112->116

15:22:19 compose/project.py                  436     31    211     15    91%   61, 158, 214-215, 256-257, 367-368, 371-376, 390-393, 446, 497, 501, 528, 631, 637, 640-643, 768-769, 775-778, 833, 58->61, 154->158, 333->335, 365->367, 370->371, 389->390, 445->446, 496->497, 500->501, 527->528, 630->631, 636->637, 639->640, 687->exit, 771->778

15:22:19 compose/service.py                  920     61    459     33    92%   65, 278-279, 300, 373-376, 424-429, 435-437, 477-478, 493, 496, 514, 581, 626-629, 737, 956-957, 977-978, 1079, 1126, 1187, 1229, 1251-1266, 1306, 1345-1349, 1537, 1541, 1658, 1699, 1711, 1785, 1811, 1826, 1839, 1843-1844, 1848-1849, 64->65, 223->exit, 276->278, 299->300, 434->435, 476->477, 492->493, 495->496, 513->514, 571->581, 732->737, 955->956, 976->977, 1078->1079, 1125->1126, 1186->1187, 1228->1229, 1305->1306, 1342->1345, 1536->1537, 1540->1541, 1589->exit, 1597->1596, 1635->1632, 1657->1658, 1698->1699, 1710->1711, 1784->1785, 1810->1811, 1825->1826, 1838->1839, 1842->1843, 1847->1848

15:22:19 compose/state.py                      0      0      0      0   100%

15:22:19 compose/timeparse.py                 22      0      4      0   100%

15:22:19 compose/utils.py                    117      8     42      5    92%   27, 75-79, 125, 135, 161, 168, 171, 25->27, 124->125, 134->135, 167->168, 169->171

15:22:19 compose/version.py                    6      0      0      0   100%

15:22:19 compose/volume.py                   126      4     44      3    95%   150, 200, 211-212, 141->150, 199->200, 209->211

15:22:19 -----------------------------------------------------------------------------

15:22:19 TOTAL                              5643    445   2438    212    90%

15:22:19 Coverage HTML written to dir coverage-html

15:22:19 

15:22:19 =========================== short test summary info ============================

15:22:19 XFAIL tests/integration/service_test.py::ServiceTest::test_create_container_with_cpu_rt

15:22:19   not supported by kernel

15:22:19 XFAIL tests/integration/service_test.py::ServiceTest::test_create_container_with_storage_opt

15:22:19   Not supported on most drivers

15:22:19 SKIP [1] tests/acceptance/cli_test.py:2424: race condition between up and logs

15:22:19 SKIP [1] tests/acceptance/cli_test.py:2376: race condition between up and logs

15:22:19 SKIP [1] tests/acceptance/cli_test.py:2403: race condition between up and logs

15:22:19 SKIP [1] /code/tests/integration/testcases.py:167: This daemon does not support the 'nvidia'' runtime

15:22:19 SKIP [1] tests/integration/service_test.py:150: cpu_percent is not supported for Linux

15:22:19 SKIP [1] tests/integration/service_test.py:1674: Broken on 1.11.0 - 17.03.0

15:22:19 SKIP [1] tests/unit/cli/command_test.py:39: windows separator

15:22:19 SKIP [1] tests/unit/cli/command_test.py:69: Env values in Python 3 are already Unicode

15:22:19 SKIP [1] tests/unit/cli/errors_test.py:70: Needs pywin32

15:22:19 SKIP [1] tests/unit/cli/errors_test.py:80: Needs pywin32

15:22:19 SKIP [1] tests/unit/cli/errors_test.py:90: Needs pywin32

15:22:19 SKIP [1] tests/unit/config/config_test.py:3778: windows paths

15:22:19 

15:22:19 ======= 1130 passed, 12 skipped, 2 xfailed, 3 xpassed in 934.56 seconds ========

15:22:20 ___________________________________ summary ____________________________________

15:22:20   py37: commands succeeded

15:22:20   congratulations :)

15:22:20 + on_exit
15:22:20 + [[ 0 != \0 ]]
15:22:20 + docker rm -vf compose-dind-18.09.9-jenkins-compose-py2-3
15:22:20 compose-dind-18.09.9-jenkins-compose-py2-3
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // wrap
[Pipeline] }
[Pipeline] // wrap
[Pipeline] }
[Pipeline] // withDockerRegistry
[Pipeline] }
[Pipeline] // node
[Pipeline] }
[Pipeline] // parallel
[Pipeline] End of Pipeline

GitHub has been notified of this commit’s build result

Finished: SUCCESS