Console Output
Skipping 498 KB.. 
Full LogllgABGJgYmLwaB3MycnMzi4My85FTXgvzkDB8G3tScxILi1BRfsEwJg4BPVmJZon5OYl66vk9+Xrp1RRGDFNSy5Py84vycVD1nCI1qPENFAZDOufrb+BLQfXwgU/RApuiBTel+MuFMv/J9JgZGLwbWssSc0lSguQIIRX6luUmpRW1rpspyT3nQDTUNCAxLawDmCTEE8gAAAA==[0mtests/unit/config/config_test.py::InterpolationTest::test_compatibility_mode_load [32mPASSED[0m[36m [ 81%][0m
02:08:25 tests/unit/config/config_test.py::InterpolationTest::test_compatibility_mode_warnings [32mPASSED[0m[36m [ 81%][0m
02:08:25 tests/unit/config/config_test.py::InterpolationTest::test_config_file_with_environment_file [32mPASSED[0m[36m [ 81%][0m
02:08:25 tests/unit/config/config_test.py::InterpolationTest::test_config_file_with_environment_variable [32mPASSED[0m[36m [ 81%][0m
02:08:25 tests/unit/config/config_test.py::InterpolationTest::test_config_file_with_environment_variable_with_defaults [32mPASSED[0m[36m [ 81%][0m
02:08:25 tests/unit/config/config_test.py::InterpolationTest::test_interpolation_configs_section [32mPASSED[0m[36m [ 81%][0m
02:08:25 tests/unit/config/config_test.py::InterpolationTest::test_interpolation_secrets_section [32mPASSED[0m[36m [ 81%][0m
02:08:25 tests/unit/config/config_test.py::InterpolationTest::test_invalid_interpolation [32mPASSED[0m[36m [ 81%][0m
02:08:25 tests/unit/config/config_test.py::InterpolationTest::test_unset_variable_produces_warning [32mPASSED[0m[36m [ 81%][0m
02:08:25 tests/unit/config/config_test.py::VolumeConfigTest::test_absolute_posix_path_does_not_expand [32mPASSED[0m[36m [ 82%][0m
02:08:25 tests/unit/config/config_test.py::VolumeConfigTest::test_absolute_windows_path_does_not_expand [32mPASSED[0m[36m [ 82%][0m
02:08:25 tests/unit/config/config_test.py::VolumeConfigTest::test_home_directory_with_driver_does_not_expand [32mPASSED[0m[36m [ 82%][0m
02:08:25 tests/unit/config/config_test.py::VolumeConfigTest::test_name_does_not_expand [32mPASSED[0m[36m [ 82%][0m
02:08:25 tests/unit/config/config_test.py::VolumeConfigTest::test_no_binding [32mPASSED[0m[36m [ 82%][0m
02:08:25 tests/unit/config/config_test.py::VolumeConfigTest::test_relative_path_does_expand_posix [32mPASSED[0m[36m [ 82%][0m
02:08:25 tests/unit/config/config_test.py::VolumeConfigTest::test_relative_path_does_expand_windows [33mSKIPPED[0m[36m [ 82%][0m
02:08:25 tests/unit/config/config_test.py::VolumeConfigTest::test_volume_binding_with_environment_variable [32mPASSED[0m[36m [ 82%][0m
02:08:25 tests/unit/config/config_test.py::VolumeConfigTest::test_volume_binding_with_home [32mPASSED[0m[36m [ 82%][0m
02:08:25 tests/unit/config/config_test.py::VolumeConfigTest::test_volume_path_with_non_ascii_directory [32mPASSED[0m[36m [ 82%][0m
02:08:25 tests/unit/config/config_test.py::VolumeConfigTest::test_volumes_order_is_preserved [32mPASSED[0m[36m [ 82%][0m
02:08:25 tests/unit/config/config_test.py::MergeVolumesTest::test_add_explicit_path [32mPASSED[0m[36m [ 83%][0m
02:08:25 tests/unit/config/config_test.py::MergeVolumesTest::test_empty [32mPASSED[0m[36m    [ 83%][0m
02:08:25 tests/unit/config/config_test.py::MergeVolumesTest::test_no_base [32mPASSED[0m[36m  [ 83%][0m
02:08:25 tests/unit/config/config_test.py::MergeVolumesTest::test_no_override [32mPASSED[0m[36m [ 83%][0m
02:08:25 tests/unit/config/config_test.py::MergeVolumesTest::test_override_explicit_path [32mPASSED[0m[36m [ 83%][0m
02:08:25 tests/unit/config/config_test.py::MergeVolumesTest::test_remove_explicit_path [32mPASSED[0m[36m [ 83%][0m
02:08:25 tests/unit/config/config_test.py::MergeDevicesTest::test_add_explicit_path [32mPASSED[0m[36m [ 83%][0m
02:08:25 tests/unit/config/config_test.py::MergeDevicesTest::test_empty [32mPASSED[0m[36m    [ 83%][0m
02:08:25 tests/unit/config/config_test.py::MergeDevicesTest::test_no_base [32mPASSED[0m[36m  [ 83%][0m
02:08:25 tests/unit/config/config_test.py::MergeDevicesTest::test_no_override [32mPASSED[0m[36m [ 83%][0m
02:08:25 tests/unit/config/config_test.py::MergeDevicesTest::test_override_explicit_path [32mPASSED[0m[36m [ 83%][0m
02:08:25 tests/unit/config/config_test.py::MergeDevicesTest::test_remove_explicit_path [32mPASSED[0m[36m [ 84%][0m
02:08:25 tests/unit/config/config_test.py::BuildOrImageMergeTest::test_merge_build_or_image_no_override [32mPASSED[0m[36m [ 84%][0m
02:08:25 tests/unit/config/config_test.py::BuildOrImageMergeTest::test_merge_build_or_image_override_with_other [32mPASSED[0m[36m [ 84%][0m
02:08:25 tests/unit/config/config_test.py::BuildOrImageMergeTest::test_merge_build_or_image_override_with_same [32mPASSED[0m[36m [ 84%][0m
02:08:25 tests/unit/config/config_test.py::MergePortsTest::test_add_item [32mPASSED[0m[36m   [ 84%][0m
02:08:25 tests/unit/config/config_test.py::MergePortsTest::test_duplicate_port_mappings [32mPASSED[0m[36m [ 84%][0m
02:08:25 tests/unit/config/config_test.py::MergePortsTest::test_empty [32mPASSED[0m[36m      [ 84%][0m
02:08:25 tests/unit/config/config_test.py::MergePortsTest::test_no_base [32mPASSED[0m[36m    [ 84%][0m
02:08:25 tests/unit/config/config_test.py::MergePortsTest::test_no_override [32mPASSED[0m[36m [ 84%][0m
02:08:25 tests/unit/config/config_test.py::MergeNetworksTest::test_add_item [32mPASSED[0m[36m [ 84%][0m
02:08:25 tests/unit/config/config_test.py::MergeNetworksTest::test_all_properties [32mPASSED[0m[36m [ 84%][0m
02:08:25 tests/unit/config/config_test.py::MergeNetworksTest::test_empty [32mPASSED[0m[36m   [ 85%][0m
02:08:25 tests/unit/config/config_test.py::MergeNetworksTest::test_network_has_none_value [32mPASSED[0m[36m [ 85%][0m
02:08:25 tests/unit/config/config_test.py::MergeNetworksTest::test_no_base [32mPASSED[0m[36m [ 85%][0m
02:08:25 tests/unit/config/config_test.py::MergeNetworksTest::test_no_network_name_overrides [32mPASSED[0m[36m [ 85%][0m
02:08:25 tests/unit/config/config_test.py::MergeNetworksTest::test_no_network_overrides [32mPASSED[0m[36m [ 85%][0m
02:08:25 tests/unit/config/config_test.py::MergeNetworksTest::test_no_override [32mPASSED[0m[36m [ 85%][0m
02:08:25 tests/unit/config/config_test.py::MergeStringsOrListsTest::test_add_list [32mPASSED[0m[36m [ 85%][0m
02:08:25 tests/unit/config/config_test.py::MergeStringsOrListsTest::test_add_string [32mPASSED[0m[36m [ 85%][0m
02:08:25 tests/unit/config/config_test.py::MergeStringsOrListsTest::test_no_base [32mPASSED[0m[36m [ 85%][0m
02:08:25 tests/unit/config/config_test.py::MergeStringsOrListsTest::test_no_override [32mPASSED[0m[36m [ 85%][0m
02:08:25 tests/unit/config/config_test.py::MergeLabelsTest::test_add_explicit_value [32mPASSED[0m[36m [ 85%][0m
02:08:25 tests/unit/config/config_test.py::MergeLabelsTest::test_empty [32mPASSED[0m[36m     [ 85%][0m
02:08:25 tests/unit/config/config_test.py::MergeLabelsTest::test_no_base [32mPASSED[0m[36m   [ 86%][0m
02:08:25 tests/unit/config/config_test.py::MergeLabelsTest::test_no_override [32mPASSED[0m[36m [ 86%][0m
02:08:25 tests/unit/config/config_test.py::MergeLabelsTest::test_override_explicit_value [32mPASSED[0m[36m [ 86%][0m
02:08:25 tests/unit/config/config_test.py::MergeLabelsTest::test_remove_explicit_value [32mPASSED[0m[36m [ 86%][0m
02:08:25 tests/unit/config/config_test.py::MergeBuildTest::test_empty_base [32mPASSED[0m[36m [ 86%][0m
02:08:25 tests/unit/config/config_test.py::MergeBuildTest::test_empty_override [32mPASSED[0m[36m [ 86%][0m
02:08:25 tests/unit/config/config_test.py::MergeBuildTest::test_full [32mPASSED[0m[36m       [ 86%][0m
02:08:25 tests/unit/config/config_test.py::MemoryOptionsTest::test_memswap_can_be_a_string [32mPASSED[0m[36m [ 86%][0m
02:08:25 tests/unit/config/config_test.py::MemoryOptionsTest::test_validation_fails_with_just_memswap_limit [32mPASSED[0m[36m [ 86%][0m
02:08:25 tests/unit/config/config_test.py::MemoryOptionsTest::test_validation_with_correct_memswap_values [32mPASSED[0m[36m [ 86%][0m
02:08:25 tests/unit/config/config_test.py::EnvTest::test_environment_overrides_env_file [32mPASSED[0m[36m [ 86%][0m
02:08:25 tests/unit/config/config_test.py::EnvTest::test_parse_environment_as_dict [32mPASSED[0m[36m [ 87%][0m
02:08:25 tests/unit/config/config_test.py::EnvTest::test_parse_environment_as_list [32mPASSED[0m[36m [ 87%][0m
02:08:25 tests/unit/config/config_test.py::EnvTest::test_parse_environment_empty [32mPASSED[0m[36m [ 87%][0m
02:08:25 tests/unit/config/config_test.py::EnvTest::test_parse_environment_invalid [32mPASSED[0m[36m [ 87%][0m
02:08:25 tests/unit/config/config_test.py::EnvTest::test_resolve_build_args [32mPASSED[0m[36m [ 87%][0m
02:08:25 tests/unit/config/config_test.py::EnvTest::test_resolve_environment [32mPASSED[0m[36m [ 87%][0m
02:08:25 tests/unit/config/config_test.py::EnvTest::test_resolve_environment_from_env_file [32mPASSED[0m[36m [ 87%][0m
02:08:25 tests/unit/config/config_test.py::EnvTest::test_resolve_environment_from_env_file_with_empty_values [32mPASSED[0m[36m [ 87%][0m
02:08:25 tests/unit/config/config_test.py::EnvTest::test_resolve_environment_nonexistent_file [32mPASSED[0m[36m [ 87%][0m
02:08:25 tests/unit/config/config_test.py::EnvTest::test_resolve_environment_with_multiple_env_files [32mPASSED[0m[36m [ 87%][0m
02:08:25 tests/unit/config/config_test.py::EnvTest::test_resolve_path [32mPASSED[0m[36m      [ 87%][0m
02:08:25 tests/unit/config/config_test.py::ExtendsTest::test_circular [32mPASSED[0m[36m      [ 88%][0m
02:08:25 tests/unit/config/config_test.py::ExtendsTest::test_extended_service_with_invalid_config [32mPASSED[0m[36m [ 88%][0m
02:08:25 tests/unit/config/config_test.py::ExtendsTest::test_extended_service_with_valid_config [32mPASSED[0m[36m [ 88%][0m
02:08:25 tests/unit/config/config_test.py::ExtendsTest::test_extended_service_with_verbose_and_shorthand_way [32mPASSED[0m[36m [ 88%][0m
02:08:25 tests/unit/config/config_test.py::ExtendsTest::test_extends [32mPASSED[0m[36m       [ 88%][0m
02:08:25 tests/unit/config/config_test.py::ExtendsTest::test_extends_file_defaults_to_self [32mPASSED[0m[36m [ 88%][0m
02:08:25 tests/unit/config/config_test.py::ExtendsTest::test_extends_validation_empty_dictionary [32mPASSED[0m[36m [ 88%][0m
02:08:25 tests/unit/config/config_test.py::ExtendsTest::test_extends_validation_invalid_key [32mPASSED[0m[36m [ 88%][0m
02:08:25 tests/unit/config/config_test.py::ExtendsTest::test_extends_validation_missing_service_key [32mPASSED[0m[36m [ 88%][0m
02:08:25 tests/unit/config/config_test.py::ExtendsTest::test_extends_validation_no_file_key_no_filename_set [32mPASSED[0m[36m [ 88%][0m
02:08:25 tests/unit/config/config_test.py::ExtendsTest::test_extends_validation_sub_property_key [32mPASSED[0m[36m [ 88%][0m
02:08:25 tests/unit/config/config_test.py::ExtendsTest::test_extends_validation_valid_config [32mPASSED[0m[36m [ 89%][0m
02:08:25 tests/unit/config/config_test.py::ExtendsTest::test_extends_with_defined_version_passes [32mPASSED[0m[36m [ 89%][0m
02:08:25 tests/unit/config/config_test.py::ExtendsTest::test_extends_with_depends_on [32mPASSED[0m[36m [ 89%][0m
02:08:25 tests/unit/config/config_test.py::ExtendsTest::test_extends_with_environment_and_env_files [32mPASSED[0m[36m [ 89%][0m
02:08:25 tests/unit/config/config_test.py::ExtendsTest::test_extends_with_healthcheck [32mPASSED[0m[36m [ 89%][0m
02:08:25 tests/unit/config/config_test.py::ExtendsTest::test_extends_with_mixed_versions_is_error [32mPASSED[0m[36m [ 89%][0m
02:08:25 tests/unit/config/config_test.py::ExtendsTest::test_extends_with_ports [32mPASSED[0m[36m [ 89%][0m
02:08:25 tests/unit/config/config_test.py::ExtendsTest::test_extends_with_security_opt [32mPASSED[0m[36m [ 89%][0m
02:08:25 tests/unit/config/config_test.py::ExtendsTest::test_invalid_links_in_extended_service [32mPASSED[0m[36m [ 89%][0m
02:08:25 tests/unit/config/config_test.py::ExtendsTest::test_invalid_net_in_extended_service [32mPASSED[0m[36m [ 89%][0m
02:08:25 tests/unit/config/config_test.py::ExtendsTest::test_invalid_volumes_from_in_extended_service [32mPASSED[0m[36m [ 89%][0m
02:08:25 tests/unit/config/config_test.py::ExtendsTest::test_load_config_runs_interpolation_in_extended_service [32mPASSED[0m[36m [ 90%][0m
02:08:25 tests/unit/config/config_test.py::ExtendsTest::test_load_throws_error_when_base_service_does_not_exist [32mPASSED[0m[36m [ 90%][0m
02:08:25 tests/unit/config/config_test.py::ExtendsTest::test_merging_env_labels_ulimits [32mPASSED[0m[36m [ 90%][0m
02:08:26 tests/unit/config/config_test.py::ExtendsTest::test_nested [32mPASSED[0m[36m        [ 90%][0m
02:08:26 tests/unit/config/config_test.py::ExtendsTest::test_parent_build_path_dne [32mPASSED[0m[36m [ 90%][0m
02:08:26 tests/unit/config/config_test.py::ExtendsTest::test_partial_service_config_in_extends_is_still_valid [32mPASSED[0m[36m [ 90%][0m
02:08:26 tests/unit/config/config_test.py::ExtendsTest::test_self_referencing_file [32mPASSED[0m[36m [ 90%][0m
02:08:26 tests/unit/config/config_test.py::ExtendsTest::test_volume_path [32mPASSED[0m[36m   [ 90%][0m
02:08:26 tests/unit/config/config_test.py::ExpandPathTest::test_expand_path_absolute [32mPASSED[0m[36m [ 90%][0m
02:08:26 tests/unit/config/config_test.py::ExpandPathTest::test_expand_path_normal [32mPASSED[0m[36m [ 90%][0m
02:08:26 tests/unit/config/config_test.py::ExpandPathTest::test_expand_path_with_tilde [32mPASSED[0m[36m [ 90%][0m
02:08:26 tests/unit/config/config_test.py::VolumePathTest::test_split_path_mapping_with_root_mount [32mPASSED[0m[36m [ 91%][0m
02:08:26 tests/unit/config/config_test.py::VolumePathTest::test_split_path_mapping_with_windows_path [32mPASSED[0m[36m [ 91%][0m
02:08:26 tests/unit/config/config_test.py::VolumePathTest::test_split_path_mapping_with_windows_path_in_container [32mPASSED[0m[36m [ 91%][0m
02:08:26 tests/unit/config/config_test.py::BuildPathTest::test_absolute_path [32mPASSED[0m[36m [ 91%][0m
02:08:26 tests/unit/config/config_test.py::BuildPathTest::test_from_file [32mPASSED[0m[36m   [ 91%][0m
02:08:26 tests/unit/config/config_test.py::BuildPathTest::test_from_file_override_dir [32mPASSED[0m[36m [ 91%][0m
02:08:26 tests/unit/config/config_test.py::BuildPathTest::test_invalid_url_in_build_path [32mPASSED[0m[36m [ 91%][0m
02:08:26 tests/unit/config/config_test.py::BuildPathTest::test_nonexistent_path [32mPASSED[0m[36m [ 91%][0m
02:08:26 tests/unit/config/config_test.py::BuildPathTest::test_relative_path [32mPASSED[0m[36m [ 91%][0m
02:08:26 tests/unit/config/config_test.py::BuildPathTest::test_valid_url_in_build_path [32mPASSED[0m[36m [ 91%][0m
02:08:26 tests/unit/config/config_test.py::HealthcheckTest::test_disable [32mPASSED[0m[36m   [ 91%][0m
02:08:26 tests/unit/config/config_test.py::HealthcheckTest::test_disable_with_other_config_is_invalid [32mPASSED[0m[36m [ 92%][0m
02:08:26 tests/unit/config/config_test.py::HealthcheckTest::test_healthcheck [32mPASSED[0m[36m [ 92%][0m
02:08:26 tests/unit/config/config_test.py::HealthcheckTest::test_healthcheck_with_invalid_test [32mPASSED[0m[36m [ 92%][0m
02:08:26 tests/unit/config/config_test.py::GetDefaultConfigFilesTestCase::test_get_config_path_default_file_in_basedir [32mPASSED[0m[36m [ 92%][0m
02:08:26 tests/unit/config/config_test.py::GetDefaultConfigFilesTestCase::test_get_config_path_default_file_in_parent_dir [32mPASSED[0m[36m [ 92%][0m
02:08:26 tests/unit/config/config_test.py::SerializeTest::test_denormalize_depends_on_v2_1 [32mPASSED[0m[36m [ 92%][0m
02:08:26 tests/unit/config/config_test.py::SerializeTest::test_denormalize_depends_on_v3 [32mPASSED[0m[36m [ 92%][0m
02:08:26 tests/unit/config/config_test.py::SerializeTest::test_denormalize_healthcheck [32mPASSED[0m[36m [ 92%][0m
02:08:26 tests/unit/config/config_test.py::SerializeTest::test_denormalize_image_has_digest [32mPASSED[0m[36m [ 92%][0m
02:08:26 tests/unit/config/config_test.py::SerializeTest::test_denormalize_image_no_digest [32mPASSED[0m[36m [ 92%][0m
02:08:26 tests/unit/config/config_test.py::SerializeTest::test_serialize_bool_string [32mPASSED[0m[36m [ 92%][0m
02:08:26 tests/unit/config/config_test.py::SerializeTest::test_serialize_configs [32mPASSED[0m[36m [ 93%][0m
02:08:26 tests/unit/config/config_test.py::SerializeTest::test_serialize_escape_dollar_sign [32mPASSED[0m[36m [ 93%][0m
02:08:26 tests/unit/config/config_test.py::SerializeTest::test_serialize_external_false [32mPASSED[0m[36m [ 93%][0m
02:08:26 tests/unit/config/config_test.py::SerializeTest::test_serialize_ports [32mPASSED[0m[36m [ 93%][0m
02:08:26 tests/unit/config/config_test.py::SerializeTest::test_serialize_ports_with_ext_ip [32mPASSED[0m[36m [ 93%][0m
02:08:26 tests/unit/config/config_test.py::SerializeTest::test_serialize_secrets [32mPASSED[0m[36m [ 93%][0m
02:08:26 tests/unit/config/config_test.py::SerializeTest::test_serialize_time [32mPASSED[0m[36m [ 93%][0m
02:08:26 tests/unit/config/config_test.py::SerializeTest::test_serialize_unicode_values [32mPASSED[0m[36m [ 93%][0m
02:08:26 tests/unit/config/environment_test.py::EnvironmentTest::test_env_vars_from_file_bom [32mPASSED[0m[36m [ 93%][0m
02:08:26 tests/unit/config/environment_test.py::EnvironmentTest::test_env_vars_from_file_whitespace [32mPASSED[0m[36m [ 93%][0m
02:08:26 tests/unit/config/environment_test.py::EnvironmentTest::test_get_boolean [32mPASSED[0m[36m [ 93%][0m
02:08:26 tests/unit/config/environment_test.py::EnvironmentTest::test_get_simple [32mPASSED[0m[36m [ 94%][0m
02:08:26 tests/unit/config/environment_test.py::EnvironmentTest::test_get_undefined [32mPASSED[0m[36m [ 94%][0m
02:08:26 tests/unit/config/interpolation_test.py::test_interpolate_environment_variables_in_services [32mPASSED[0m[36m [ 94%][0m
02:08:26 tests/unit/config/interpolation_test.py::test_interpolate_environment_variables_in_volumes [32mPASSED[0m[36m [ 94%][0m
02:08:26 tests/unit/config/interpolation_test.py::test_interpolate_environment_variables_in_secrets [32mPASSED[0m[36m [ 94%][0m
02:08:26 tests/unit/config/interpolation_test.py::test_interpolate_environment_services_convert_types_v2 [32mPASSED[0m[36m [ 94%][0m
02:08:26 tests/unit/config/interpolation_test.py::test_interpolate_environment_services_convert_types_v3 [32mPASSED[0m[36m [ 94%][0m
02:08:26 tests/unit/config/interpolation_test.py::test_interpolate_environment_services_convert_types_invalid [32mPASSED[0m[36m [ 94%][0m
02:08:26 tests/unit/config/interpolation_test.py::test_interpolate_environment_network_convert_types [32mPASSED[0m[36m [ 94%][0m
02:08:26 tests/unit/config/interpolation_test.py::test_interpolate_environment_external_resource_convert_types [32mPASSED[0m[36m [ 94%][0m
02:08:26 tests/unit/config/interpolation_test.py::test_interpolate_service_name_uses_dot [32mPASSED[0m[36m [ 94%][0m
02:08:26 tests/unit/config/interpolation_test.py::test_escaped_interpolation [32mPASSED[0m[36m [ 95%][0m
02:08:26 tests/unit/config/interpolation_test.py::test_invalid_interpolation [32mPASSED[0m[36m [ 95%][0m
02:08:26 tests/unit/config/interpolation_test.py::test_interpolate_missing_no_default [32mPASSED[0m[36m [ 95%][0m
02:08:26 tests/unit/config/interpolation_test.py::test_interpolate_with_value [32mPASSED[0m[36m [ 95%][0m
02:08:26 tests/unit/config/interpolation_test.py::test_interpolate_missing_with_default [32mPASSED[0m[36m [ 95%][0m
02:08:26 tests/unit/config/interpolation_test.py::test_interpolate_with_empty_and_default_value [32mPASSED[0m[36m [ 95%][0m
02:08:26 tests/unit/config/interpolation_test.py::test_interpolate_mandatory_values [32mPASSED[0m[36m [ 95%][0m
02:08:26 tests/unit/config/interpolation_test.py::test_interpolate_mandatory_no_err_msg [32mPASSED[0m[36m [ 95%][0m
02:08:26 tests/unit/config/interpolation_test.py::test_interpolate_mixed_separators [32mPASSED[0m[36m [ 95%][0m
02:08:26 tests/unit/config/interpolation_test.py::test_unbraced_separators [32mPASSED[0m[36m [ 95%][0m
02:08:26 tests/unit/config/interpolation_test.py::test_interpolate_unicode_values [32mPASSED[0m[36m [ 95%][0m
02:08:26 tests/unit/config/interpolation_test.py::test_interpolate_no_fallthrough [32mPASSED[0m[36m [ 96%][0m
02:08:26 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_1 [32mPASSED[0m[36m [ 96%][0m
02:08:26 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_2 [32mPASSED[0m[36m [ 96%][0m
02:08:26 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_3 [32mPASSED[0m[36m [ 96%][0m
02:08:26 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_4 [32mPASSED[0m[36m [ 96%][0m
02:08:26 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_5 [32mPASSED[0m[36m [ 96%][0m
02:08:26 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_6 [32mPASSED[0m[36m [ 96%][0m
02:08:26 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_7 [32mPASSED[0m[36m [ 96%][0m
02:08:26 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_circular_imports [32mPASSED[0m[36m [ 96%][0m
02:08:26 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_circular_imports_2 [32mPASSED[0m[36m [ 96%][0m
02:08:26 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_circular_imports_3 [32mPASSED[0m[36m [ 96%][0m
02:08:26 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_self_imports [32mPASSED[0m[36m [ 97%][0m
02:08:26 tests/unit/config/sort_services_test.py::TestSortService::test_sort_service_dicts_depends_on_self [32mPASSED[0m[36m [ 97%][0m
02:08:26 tests/unit/config/types_test.py::test_parse_extra_hosts_list [32mPASSED[0m[36m      [ 97%][0m
02:08:26 tests/unit/config/types_test.py::test_parse_extra_hosts_dict [32mPASSED[0m[36m      [ 97%][0m
02:08:26 tests/unit/config/types_test.py::TestServicePort::test_parse_dict [32mPASSED[0m[36m [ 97%][0m
02:08:26 tests/unit/config/types_test.py::TestServicePort::test_parse_simple_target_port [32mPASSED[0m[36m [ 97%][0m
02:08:26 tests/unit/config/types_test.py::TestServicePort::test_parse_complete_port_definition [32mPASSED[0m[36m [ 97%][0m
02:08:26 tests/unit/config/types_test.py::TestServicePort::test_parse_ext_ip_no_published_port [32mPASSED[0m[36m [ 97%][0m
02:08:26 tests/unit/config/types_test.py::TestServicePort::test_repr_published_port_0 [32mPASSED[0m[36m [ 97%][0m
02:08:26 tests/unit/config/types_test.py::TestServicePort::test_parse_port_range [32mPASSED[0m[36m [ 97%][0m
02:08:26 tests/unit/config/types_test.py::TestServicePort::test_parse_port_publish_range [32mPASSED[0m[36m [ 97%][0m
02:08:26 tests/unit/config/types_test.py::TestServicePort::test_parse_invalid_port [32mPASSED[0m[36m [ 98%][0m
02:08:26 tests/unit/config/types_test.py::TestServicePort::test_parse_invalid_publish_range [32mPASSED[0m[36m [ 98%][0m
02:08:26 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_spec_only_one_path [32mPASSED[0m[36m [ 98%][0m
02:08:26 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_spec_internal_and_external [32mPASSED[0m[36m [ 98%][0m
02:08:26 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_spec_with_mode [32mPASSED[0m[36m [ 98%][0m
02:08:26 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_spec_too_many_parts [32mPASSED[0m[36m [ 98%][0m
02:08:26 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_windows_absolute_path_normalized [32mPASSED[0m[36m [ 98%][0m
02:08:26 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_windows_absolute_path_native [32mPASSED[0m[36m [ 98%][0m
02:08:26 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_windows_internal_path_normalized [32mPASSED[0m[36m [ 98%][0m
02:08:26 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_windows_internal_path_native [32mPASSED[0m[36m [ 98%][0m
02:08:26 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_windows_just_drives_normalized [32mPASSED[0m[36m [ 98%][0m
02:08:26 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_windows_just_drives_native [32mPASSED[0m[36m [ 99%][0m
02:08:26 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_windows_mixed_notations_normalized [32mPASSED[0m[36m [ 99%][0m
02:08:26 tests/unit/config/types_test.py::TestVolumeSpec::test_parse_volume_windows_mixed_notations_native [32mPASSED[0m[36m [ 99%][0m
02:08:26 tests/unit/config/types_test.py::TestVolumesFromSpec::test_parse_v1_from_service [32mPASSED[0m[36m [ 99%][0m
02:08:26 tests/unit/config/types_test.py::TestVolumesFromSpec::test_parse_v1_from_container [32mPASSED[0m[36m [ 99%][0m
02:08:26 tests/unit/config/types_test.py::TestVolumesFromSpec::test_parse_v1_invalid [32mPASSED[0m[36m [ 99%][0m
02:08:26 tests/unit/config/types_test.py::TestVolumesFromSpec::test_parse_v2_from_service [32mPASSED[0m[36m [ 99%][0m
02:08:26 tests/unit/config/types_test.py::TestVolumesFromSpec::test_parse_v2_from_service_with_mode [32mPASSED[0m[36m [ 99%][0m
02:08:26 tests/unit/config/types_test.py::TestVolumesFromSpec::test_parse_v2_from_container [32mPASSED[0m[36m [ 99%][0m
02:08:26 tests/unit/config/types_test.py::TestVolumesFromSpec::test_parse_v2_from_container_with_mode [32mPASSED[0m[36m [ 99%][0m
02:08:26 tests/unit/config/types_test.py::TestVolumesFromSpec::test_parse_v2_invalid_type [32mPASSED[0m[36m [ 99%][0m
02:08:30 tests/unit/config/types_test.py::TestVolumesFromSpec::test_parse_v2_invalid [32mPASSED[0m[36m [100%][0m
02:08:30 
02:08:30 ---------- coverage: platform linux2, python 2.7.13-final-0 ----------
02:08:30 Name                              Stmts   Miss Branch BrPart  Cover   Missing
02:08:30 -----------------------------------------------------------------------------
02:08:30 compose/__init__.py                   3      0      0      0   100%
02:08:30 compose/__main__.py                   4      4      0      0     0%   1-6
02:08:30 compose/bundle.py                   134     22     56      3    84%   45, 50-51, 56-57, 75-78, 81, 100-102, 112-118, 124-129, 132, 80->81, 107->112, 131->132
02:08:30 compose/cli/__init__.py               0      0      0      0   100%
02:08:30 compose/cli/colors.py                23      2     10      2    88%   37-38, 36->37, 48->exit
02:08:30 compose/cli/command.py               83     13     22      3    81%   49-59, 97-102, 146, 48->49, 96->97, 143->146
02:08:30 compose/cli/docker_client.py         75      5     24      2    93%   24, 98-99, 107, 123, 106->107, 122->123
02:08:30 compose/cli/docopt_command.py        38      4      8      2    87%   13-14, 29, 35, 28->29, 34->35
02:08:30 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
02:08:30 compose/cli/formatter.py             34      2      8      1    93%   17-18, 15->17
02:08:30 compose/cli/log_printer.py          144     12     50      5    90%   76, 103, 110-115, 162-164, 173, 226-229, 253, 43->exit, 75->76, 98->103, 171->173, 225->226
02:08:30 compose/cli/main.py                 683     90    286     40    84%   83-84, 86-87, 168, 313, 343-345, 429, 490, 494, 499-500, 510-539, 551, 569-571, 642-643, 681-682, 700, 720-721, 733, 756, 774, 821, 1051, 1061, 1087-1096, 1136-1139, 1147-1151, 1153-1158, 1181, 1203-1232, 1239-1240, 1242-1244, 1259, 1265, 1440, 1458, 1474, 1478-1479, 1490, 1495, 1498, 1524, 1543-1545, 1555, 1566, 60->63, 82->83, 85->86, 167->168, 312->313, 342->343, 428->429, 489->490, 493->494, 504->510, 548->551, 568->569, 640->642, 699->700, 719->720, 732->733, 755->756, 811->821, 813->exit, 1050->1051, 1060->1061, 1146->1147, 1152->1153, 1180->1181, 1238->1239, 1241->1242, 1258->1259, 1264->1265, 1439->1440, 1457->1458, 1473->1474, 1489->1490, 1494->1495, 1497->1498, 1516->exit, 1523->1524, 1537->1545, 1539->1543, 1554->1555, 1564->1566
02:08:30 compose/cli/signals.py               23      0      4      2    93%   36->exit, 43->exit
02:08:30 compose/cli/utils.py                 81     29     18      4    59%   36-45, 53-55, 62-68, 76, 90-103, 111-112, 127-128, 138, 151-154, 88->90, 108->111, 137->138, 150->151
02:08:30 compose/cli/verbose_proxy.py         35     12     10      0    69%   36-39, 42-47, 50-60
02:08:30 compose/config/__init__.py           13      0      0      0   100%
02:08:30 compose/config/config.py            822     29    386     18    95%   266, 277, 600-601, 693, 736, 791-809, 931-932, 938, 958, 961, 1314, 1345, 1391, 265->266, 276->277, 688->692, 692->693, 735->736, 757->exit, 788->791, 915->917, 917->921, 936->938, 957->958, 960->961, 972->981, 994->996, 996->999, 1311->1314, 1344->1345, 1387->1391
02:08:30 compose/config/environment.py        92      7     32      4    91%   41, 94-97, 110, 117, 40->41, 93->94, 109->110, 116->117
02:08:30 compose/config/errors.py             25      2      0      0    92%   36-40
02:08:30 compose/config/interpolation.py     148      7     62      4    94%   66, 148, 196, 222, 227-229, 121->exit, 146->148, 195->196, 221->222
02:08:30 compose/config/serialize.py          92      1     48      2    98%   74, 73->74, 80->83
02:08:30 compose/config/sort_services.py      44      1     18      1    97%   57, 56->57
02:08:30 compose/config/types.py             291     22    112     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
02:08:30 compose/config/validation.py        254     14    140     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
02:08:30 compose/const.py                     36      0      0      0   100%
02:08:30 compose/container.py                193      8     48      7    94%   98, 105, 151, 153, 262, 265, 297, 320, 97->98, 104->105, 150->151, 152->153, 236->235, 303->exit, 319->320
02:08:30 compose/errors.py                    17      1      0      0    94%   12
02:08:30 compose/network.py                  190     19     92      5    87%   184, 186-200, 206, 224, 226, 183->184, 185->186, 205->206, 223->224, 225->226
02:08:30 compose/parallel.py                 199      2     56      1    99%   187, 326, 325->326
02:08:30 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
02:08:30 compose/project.py                  415     27    166     15    92%   60, 156, 212-213, 254-255, 365, 379-382, 435, 486, 490, 617, 620-623, 744-745, 751-754, 769, 774-777, 780, 801, 57->60, 152->156, 331->333, 362->365, 378->379, 434->435, 485->486, 489->490, 616->617, 619->620, 667->exit, 747->754, 768->769, 773->774, 779->780
02:08:30 compose/service.py                  841     43    376     23    94%   272-273, 294, 412-417, 423-425, 465-466, 480, 483, 501, 568, 613-614, 721, 940-941, 961-962, 1060, 1106, 1161, 1225-1240, 1280, 1319-1323, 1511, 1515, 1671, 217->exit, 270->272, 293->294, 422->423, 464->465, 479->480, 482->483, 500->501, 558->568, 716->721, 939->940, 960->961, 1059->1060, 1105->1106, 1160->1161, 1279->1280, 1316->1319, 1510->1511, 1514->1515, 1563->exit, 1571->1570, 1608->1605, 1670->1671
02:08:30 compose/state.py                      0      0      0      0   100%
02:08:30 compose/timeparse.py                 22      0      4      0   100%
02:08:30 compose/utils.py                    117      8     42      5    92%   26, 75-79, 125, 135, 161, 168, 171, 25->26, 124->125, 134->135, 167->168, 169->171
02:08:30 compose/version.py                    6      0      0      0   100%
02:08:30 compose/volume.py                   126      4     44      3    95%   150, 200, 211-212, 141->150, 199->200, 209->211
02:08:30 -----------------------------------------------------------------------------
02:08:30 TOTAL                              5482    424   2196    196    91%
02:08:30 Coverage HTML written to dir coverage-html
02:08:30 
02:08:30 =========================== short test summary info ============================
02:08:30 XFAIL tests/integration/service_test.py::ServiceTest::test_create_container_with_cpu_rt
02:08:30   not supported by kernel
02:08:30 XFAIL tests/integration/service_test.py::ServiceTest::test_create_container_with_storage_opt
02:08:30   Not supported on most drivers
02:08:30 SKIP [1] tests/unit/cli/errors_test.py:70: Needs pywin32
02:08:30 SKIP [1] tests/unit/config/config_test.py:3738: windows paths
02:08:30 SKIP [1] tests/unit/cli/errors_test.py:80: Needs pywin32
02:08:30 SKIP [1] tests/unit/cli/command_test.py:39: windows separator
02:08:30 SKIP [1] tests/unit/cli/errors_test.py:90: Needs pywin32
02:08:30 SKIP [1] tests/integration/service_test.py:1635: Broken on 1.11.0 - 17.03.0
02:08:30 SKIP [1] /code/tests/integration/testcases.py:166: This daemon does not support the 'nvidia'' runtime
02:08:30 SKIP [1] tests/integration/service_test.py:147: cpu_percent is not supported for Linux
02:08:30 
02:08:30 [1m[32m======== 1095 passed, 8 skipped, 2 xfailed, 2 xpassed in 698.62 seconds ========[0m
02:08:30 ___________________________________ summary ____________________________________
02:08:30 [32m  py27: commands succeeded[0m
02:08:30 [32m  congratulations :)[0m
02:08:30 + echo 'Building Linux binary'
02:08:30 Building Linux binary
02:08:30 + . script/build/linux-entrypoint
02:08:30 ++ set -ex
02:08:30 +++ uname -s
02:08:30 +++ uname -m
02:08:30 ++ TARGET=dist/docker-compose-Linux-x86_64
02:08:30 ++ VENV=/code/.tox/py36
02:08:30 +++ pwd
02:08:30 ++ mkdir -p /code/dist
02:08:30 +++ pwd
02:08:30 ++ chmod 777 /code/dist
02:08:30 ++ /code/.tox/py36/bin/pip install -q -r requirements-build.txt
02:08:45 [33mWARNING: You are using pip version 19.1.1, however version 19.2.3 is available.
02:08:45 You should consider upgrading via the 'pip install --upgrade pip' command.[0m
02:08:45 ++ ./script/build/write-git-sha
02:08:45 ++ su -c '/code/.tox/py36/bin/pyinstaller docker-compose.spec' user
02:08:45 148 INFO: PyInstaller: 3.3.1
02:08:45 148 INFO: Python: 3.6.8
02:08:45 150 INFO: Platform: Linux-4.4.0-1090-aws-x86_64-with-debian-9.9
02:08:45 151 INFO: UPX is not available.
02:08:45 153 INFO: Extending PYTHONPATH with paths
02:08:45 ['/code/bin', '/code']
02:08:45 153 INFO: checking Analysis
02:08:45 153 INFO: Building Analysis because out00-Analysis.toc is non existent
02:08:45 153 INFO: Initializing module dependency graph...
02:08:45 154 INFO: Initializing module graph hooks...
02:08:45 155 INFO: Analyzing base_library.zip ...
02:08:46 2812 INFO: running Analysis out00-Analysis.toc
02:08:46 2825 INFO: Caching module hooks...
02:08:46 2828 INFO: Analyzing bin/docker-compose
02:08:46 2919 INFO: Processing pre-find module path hook   distutils
02:08:46 2919 INFO: distutils: retargeting to non-venv dir '/usr/local/lib/python3.6/distutils'
02:08:47 3072 INFO: Processing pre-safe import module hook   urllib3.packages.six.moves
02:08:47 3976 INFO: Processing pre-safe import module hook   six.moves
02:08:51 6769 INFO: Loading module hooks...
02:08:51 6769 INFO: Loading module hook "hook-requests.py"...
02:08:51 6770 INFO: Loading module hook "hook-nacl.py"...
02:08:51 6772 INFO: Loading module hook "hook-certifi.py"...
02:08:51 6773 INFO: Loading module hook "hook-cryptography.py"...
02:08:51 6962 INFO: Loading module hook "hook-distutils.py"...
02:08:51 6964 INFO: Loading module hook "hook-encodings.py"...
02:08:51 7013 INFO: Loading module hook "hook-pydoc.py"...
02:08:51 7013 INFO: Loading module hook "hook-xml.py"...
02:08:51 7073 INFO: Loading module hook "hook-jsonschema.py"...
02:08:51 7096 INFO: Looking for ctypes DLLs
02:08:51 7097 INFO: Analyzing run-time hooks ...
02:08:51 7111 INFO: Looking for dynamic libraries
02:08:51 7414 INFO: Looking for eggs
02:08:51 7414 INFO: Using Python library /usr/local/lib/libpython3.6m.so.1.0
02:08:51 7421 INFO: Warnings written to /code/build/docker-compose/warndocker-compose.txt
02:08:51 7480 INFO: Graph cross-reference written to /code/build/docker-compose/xref-docker-compose.html
02:08:51 7505 INFO: checking PYZ
02:08:51 7506 INFO: Building PYZ because out00-PYZ.toc is non existent
02:08:51 7506 INFO: Building PYZ (ZlibArchive) /code/build/docker-compose/out00-PYZ.pyz
02:08:52 8181 INFO: Building PYZ (ZlibArchive) /code/build/docker-compose/out00-PYZ.pyz completed successfully.
02:08:52 8194 INFO: checking PKG
02:08:52 8194 INFO: Building PKG because out00-PKG.toc is non existent
02:08:52 8194 INFO: Building PKG (CArchive) out00-PKG.pkg
02:09:04 18616 INFO: Building PKG (CArchive) out00-PKG.pkg completed successfully.
02:09:04 18620 INFO: Bootloader /code/.tox/py36/lib/python3.6/site-packages/PyInstaller/bootloader/Linux-64bit/run
02:09:04 18620 INFO: checking EXE
02:09:04 18620 INFO: Building EXE because out00-EXE.toc is non existent
02:09:04 18620 INFO: Building EXE from out00-EXE.toc
02:09:04 18620 INFO: Appending archive to ELF section in EXE /code/dist/docker-compose
02:09:04 18659 INFO: Building EXE from out00-EXE.toc completed successfully.
02:09:04 ++ mv dist/docker-compose dist/docker-compose-Linux-x86_64
02:09:04 ++ dist/docker-compose-Linux-x86_64 version
02:09:04 docker-compose version 1.24.0, build f85950eb
02:09:04 docker-py version: 3.7.3
02:09:04 CPython version: 3.6.8
02:09:04 OpenSSL version: OpenSSL 1.1.0j  20 Nov 2018
02:09:04 + on_exit
02:09:04 + [[ 0 != \0 ]]
02:09:04 + docker rm -vf compose-dind-19.03.2-rc1-jenkins-compose-v1.24.0-2
02:09:04 compose-dind-19.03.2-rc1-jenkins-compose-v1.24.0-2
Terminated