<testsuites>
	<testsuite tests="215" failures="0" time="0.163" name="github.com/ably/ably-go/ably">
		<properties>
			<property name="go.version" value="go1.21.13"></property>
		</properties>
		<testcase classname="ably" name="TestAddParams" time="0.000"></testcase>
		<testcase classname="ably" name="TestAddParams/Can_add_a_LeftHandSide_value_and_a_RightHandSidevalue" time="0.000"></testcase>
		<testcase classname="ably" name="TestAddParams/if_a_RightHandSide_value_is_already_in_LeftHandSide_it_is_not_added_again" time="0.000"></testcase>
		<testcase classname="ably" name="TestAddHeaders" time="0.000"></testcase>
		<testcase classname="ably" name="TestAddHeaders/Can_add_a_LeftHandSide_value_and_a_RightHandSidevalue" time="0.000"></testcase>
		<testcase classname="ably" name="TestAddHeaders/if_a_RightHandSide_value_is_already_in_LeftHandSide_it_is_not_added_again" time="0.000"></testcase>
		<testcase classname="ably" name="TestNewAuth" time="0.000"></testcase>
		<testcase classname="ably" name="TestNewAuth/Use_authBasic_for_a_client_with_a_valid_key_and_no_token" time="0.000"></testcase>
		<testcase classname="ably" name="TestNewAuth/Use_authToken_for_a_client_with_a_valid_key_and_a_token" time="0.000"></testcase>
		<testcase classname="ably" name="TestNewAuth/Can_handle_a_client_with_an_invalid_key" time="0.000"></testcase>
		<testcase classname="ably" name="TestNewAuth/Can_handle_an_invalid_auth_URL" time="0.000"></testcase>
		<testcase classname="ably" name="TestClientID" time="0.000"></testcase>
		<testcase classname="ably" name="TestClientID/Can_handle_a_client_ID" time="0.000"></testcase>
		<testcase classname="ably" name="TestClientID/Can_handle_a_wildcard_client_ID" time="0.000"></testcase>
		<testcase classname="ably" name="TestClientIDForCheck" time="0.000"></testcase>
		<testcase classname="ably" name="TestClientIDForCheck/If_the_authorization_method_is_authBasic,_no_client_ID_check_is_performed" time="0.000"></testcase>
		<testcase classname="ably" name="TestClientIDForCheck/If_the_authorization_method_is_authToken,_client_ID_is_used_for_check" time="0.000"></testcase>
		<testcase classname="ably" name="TestUpdateClientID" time="0.000"></testcase>
		<testcase classname="ably" name="TestUpdateClientID/Can_update_a_client_ID" time="0.000"></testcase>
		<testcase classname="ably" name="TestCreateTokenRequest" time="0.000"></testcase>
		<testcase classname="ably" name="TestCreateTokenRequest/Can_create_a_token_request" time="0.000"></testcase>
		<testcase classname="ably" name="TestRequestToken" time="0.000"></testcase>
		<testcase classname="ably" name="TestRequestToken/Can_request_successfully_request_token_when_a_token_is_found_in_auth_options" time="0.000"></testcase>
		<testcase classname="ably" name="TestRequestToken/Can_handle_an_error_when_making_a_http_request_to_request_token_" time="0.000"></testcase>
		<testcase classname="ably" name="TestCodeFromStatus" time="0.000"></testcase>
		<testcase classname="ably" name="TestCodeFromStatus/Can_convert_status_code_400_to_ably_error_code_40000" time="0.000"></testcase>
		<testcase classname="ably" name="TestCodeFromStatus/Can_convert_status_code_401_to_ably_error_code_40100" time="0.000"></testcase>
		<testcase classname="ably" name="TestCodeFromStatus/Can_convert_status_code_403_to_ably_error_code_40300" time="0.000"></testcase>
		<testcase classname="ably" name="TestCodeFromStatus/Can_convert_status_code_404_to_ably_error_code_40400" time="0.000"></testcase>
		<testcase classname="ably" name="TestCodeFromStatus/Can_convert_status_code_405_to_ably_error_code_40500" time="0.000"></testcase>
		<testcase classname="ably" name="TestCodeFromStatus/Can_convert_status_code_500_to_ably_error_code_50000" time="0.000"></testcase>
		<testcase classname="ably" name="TestCodeFromStatus/All_other_status_codes_return_ErrNotSet" time="0.000"></testcase>
		<testcase classname="ably" name="TestNewErrorFromProto" time="0.000"></testcase>
		<testcase classname="ably" name="TestNewErrorFromProto/If_errorInfo_is_nil,_no_result_is_returned" time="0.000"></testcase>
		<testcase classname="ably" name="TestNewErrorFromProto/internal_errorInfo_can_be_converted_to_public_ErrorInfo" time="0.000"></testcase>
		<testcase classname="ably" name="TestUnwrapNil" time="0.000"></testcase>
		<testcase classname="ably" name="TestUnwrapNil/If_errorInfo_is_not_nil,_it_returns_itself" time="0.000"></testcase>
		<testcase classname="ably" name="TestUnwrapNil/If_errorInfo_is_nil,_nil_is_returned" time="0.000"></testcase>
		<testcase classname="ably" name="TestCode" time="0.000"></testcase>
		<testcase classname="ably" name="TestCode/Returns_ErrNotSet_for_other_error_types" time="0.000"></testcase>
		<testcase classname="ably" name="TestCode/Can_return_a_code_for_type_*ErrorInfo" time="0.000"></testcase>
		<testcase classname="ably" name="TestStatusCode" time="0.000"></testcase>
		<testcase classname="ably" name="TestStatusCode/Can_return_a_status_code_for_type_*ErrorInfo" time="0.000"></testcase>
		<testcase classname="ably" name="TestStatusCode/Returns_0_for_other_error_types" time="0.000"></testcase>
		<testcase classname="ably" name="TestCheckValidHTTPResponse" time="0.000"></testcase>
		<testcase classname="ably" name="TestCheckValidHTTPResponse/No_error_is_returned_if_response_status_code_is_less_than_300" time="0.000"></testcase>
		<testcase classname="ably" name="TestCheckValidHTTPResponse/Can_handle_a_mimeError_if_the_Content-Type_header_is_invalid" time="0.000"></testcase>
		<testcase classname="ably" name="TestCheckValidHTTPResponse/Can_handle_an_unprocessable_body_if_the_Content-Type_header_is_not_application/json_or_application/x-msgpack" time="0.000"></testcase>
		<testcase classname="ably" name="TestCheckValidHTTPResponse/Can_handle_an_error_from_a_bad_request_response" time="0.000"></testcase>
		<testcase classname="ably" name="TestCheckValidHTTPResponse/Can_handle_an_error_from_an_internal_server_error_response" time="0.000"></testcase>
		<testcase classname="ably" name="Test_decodeMessage" time="0.000"></testcase>
		<testcase classname="ably" name="Test_decodeMessage/foo" time="0.000"></testcase>
		<testcase classname="ably" name="Test_decodeMessage/{&#34;foo&#34;:42}" time="0.000"></testcase>
		<testcase classname="ably" name="Test_decodeMessage/{&#34;foo&#34;:42,&#34;bar&#34;:[&#34;a&#34;,1.2,{&#34;boo&#34;:&#34;ha&#34;}]}" time="0.000"></testcase>
		<testcase classname="ably" name="Test_decodeMessage/[{&#34;foo&#34;:42},&#34;qux&#34;]" time="0.000"></testcase>
		<testcase classname="ably" name="Test_decodeMessage/3q2+7w==" time="0.000"></testcase>
		<testcase classname="ably" name="TestMsgpackExtrasJsonCompatible" time="0.000"></testcase>
		<testcase classname="ably" name="TestMsgpackDecoding" time="0.000"></testcase>
		<testcase classname="ably" name="TestMsgpackDecoding/json_array" time="0.000"></testcase>
		<testcase classname="ably" name="TestMsgpackDecoding/short_string" time="0.000"></testcase>
		<testcase classname="ably" name="TestMsgpackDecoding/200_character_string" time="0.000"></testcase>
		<testcase classname="ably" name="TestMsgpackDecoding/2000_character_string" time="0.000"></testcase>
		<testcase classname="ably" name="TestMsgpackDecoding/short_binary" time="0.000"></testcase>
		<testcase classname="ably" name="TestMsgpackDecoding/200_byte_binary" time="0.000"></testcase>
		<testcase classname="ably" name="TestMsgpackDecoding/2000_byte_binary" time="0.000"></testcase>
		<testcase classname="ably" name="TestMsgpackDecoding/an_object" time="0.000"></testcase>
		<testcase classname="ably" name="TestChannelOptionChannelWithCipherKey" time="0.000"></testcase>
		<testcase classname="ably" name="TestChannelOptionChannelWithCipherKey/Can_inject_a_cipher_key_of_length_128_into_cipher_params" time="0.000"></testcase>
		<testcase classname="ably" name="TestChannelOptionChannelWithCipherKey/Can_inject_a_cipher_key_of_length_256_into_cipher_params" time="0.000"></testcase>
		<testcase classname="ably" name="TestChannelOptionChannelWithCipher" time="0.000"></testcase>
		<testcase classname="ably" name="TestChannelOptionChannelWithCipher/Can_set_cipher_params_as_channel_options" time="0.000"></testcase>
		<testcase classname="ably" name="TestChannelOptionChannelWithParams" time="0.000"></testcase>
		<testcase classname="ably" name="TestChannelOptionChannelWithParams/Can_set_a_key_and_a_value_as_channel_options" time="0.000"></testcase>
		<testcase classname="ably" name="TestChannelOptionChannelWithModes" time="0.000"></testcase>
		<testcase classname="ably" name="TestChannelOptionChannelWithModes/Can_set_a_channel_mode_as_channel_options" time="0.000"></testcase>
		<testcase classname="ably" name="TestChannelOptionChannelWithModes/Can_set_multiple_channel_mode_as_channel_options" time="0.000"></testcase>
		<testcase classname="ably" name="TestChannelGet" time="0.000"></testcase>
		<testcase classname="ably" name="TestChannelGet/If_channel_does_not_exist,_it_is_created_and_initialised" time="0.000"></testcase>
		<testcase classname="ably" name="TestNewRealtime" time="0.000"></testcase>
		<testcase classname="ably" name="TestNewRealtime/Can_handle_invalid_key_error_when_WithKey_option_is_not_provided" time="0.000"></testcase>
		<testcase classname="ably" name="TestNewRealtime/Can_create_a_new_realtime_client_with_a_valid_key" time="0.000"></testcase>
		<testcase classname="ably" name="TestVerifyChanState_RTP16" time="0.000"></testcase>
		<testcase classname="ably" name="TestVerifyChanState_RTP16/Error_if_the_channel_is_in_state:_&#34;FAILED&#34;" time="0.000"></testcase>
		<testcase classname="ably" name="TestVerifyChanState_RTP16/No_error_if_the_channel_is_in_state:_&#34;INITIALIZED&#34;" time="0.000"></testcase>
		<testcase classname="ably" name="TestVerifyChanState_RTP16/No_error_if_the_channel_is_in_state:_&#34;ATTACHING&#34;" time="0.000"></testcase>
		<testcase classname="ably" name="TestVerifyChanState_RTP16/No_error_if_the_channel_is_in_state:_&#34;ATTACHED&#34;" time="0.000"></testcase>
		<testcase classname="ably" name="TestVerifyChanState_RTP16/Error_if_the_channel_is_in_state:_&#34;SUSPENDED&#34;" time="0.000"></testcase>
		<testcase classname="ably" name="TestVerifyChanState_RTP16/Error_if_the_channel_is_in_state:_&#34;DETACHING&#34;" time="0.000"></testcase>
		<testcase classname="ably" name="TestVerifyChanState_RTP16/Error_if_the_channel_is_in_state:_&#34;DETACHED&#34;" time="0.000"></testcase>
		<testcase classname="ably" name="TestSend" time="0.000"></testcase>
		<testcase classname="ably" name="TestSend/No_error_sending_presence_if_the_channel_is_in_state:_&#34;ATTACHED&#34;" time="0.000"></testcase>
		<testcase classname="ably" name="TestSend/Error_if_channel_is:_&#34;ATTACHED&#34;_and_connection_is_:&#34;CLOSED&#34;" time="0.000"></testcase>
		<testcase classname="ably" name="TestSend/Error_if_channel_is:_&#34;DETACHED&#34;_and_connection_is_:&#34;CLOSED&#34;" time="0.000"></testcase>
		<testcase classname="ably" name="TestWebsocketDial" time="0.000"></testcase>
		<testcase classname="ably" name="TestWebsocketDial/Can_dial_for_protocol_application/json" time="0.000"></testcase>
		<testcase classname="ably" name="TestWebsocketDial/Can_dial_for_protocol_application/x-msgpack" time="0.000"></testcase>
		<testcase classname="ably" name="TestWebsocketDial/Can_handle_an_error_when_dialing_for_an_invalid_protocol" time="0.000"></testcase>
		<testcase classname="ably" name="TestWebsocketSendAndReceive" time="0.000"></testcase>
		<testcase classname="ably" name="TestWebsocketSendAndReceive/Can_send_and_receive_a_message_using_protocol_application/json" time="0.000"></testcase>
		<testcase classname="ably" name="TestWebsocketSendAndReceive/Can_send_and_receive_a_message_using_protocol_application/x-msgpack" time="0.000"></testcase>
		<testcase classname="ably" name="TestAuth_TimestampRSA10k" time="0.000"></testcase>
		<testcase classname="ably" name="TestAuth_TimestampRSA10k/must_use_local_time_when_UseQueryTime_is_false" time="0.000"></testcase>
		<testcase classname="ably" name="TestAuth_TimestampRSA10k/must_use_server_time_when_UseQueryTime_is_true" time="0.000"></testcase>
		<testcase classname="ably" name="TestAuth_TimestampRSA10k/must_use_server_time_offset_" time="0.000"></testcase>
		<testcase classname="ably" name="TestAuth_ClientID_Error" time="0.000"></testcase>
		<testcase classname="ably" name="TestCrypto_RSE1_GetDefaultParams" time="0.000"></testcase>
		<testcase classname="ably" name="TestCrypto_RSE1_GetDefaultParams/RSE1a,_RSE1b,_RSE1d:_sets_defaults" time="0.000"></testcase>
		<testcase classname="ably" name="TestCrypto_RSE1_GetDefaultParams/RSE1b:_no_key_panics" time="0.000"></testcase>
		<testcase classname="ably" name="TestCrypto_RSE1_GetDefaultParams/RSE1e:_wrong_key_length_panics_(AES_256)" time="0.000"></testcase>
		<testcase classname="ably" name="TestCrypto_RSE1_GetDefaultParams/RSE1e:_valid_key_length_works_(AES_128)" time="0.000"></testcase>
		<testcase classname="ably" name="TestCrypto_RSE2_GenerateRandomKey" time="0.000"></testcase>
		<testcase classname="ably" name="TestCrypto_RSE2_GenerateRandomKey/must_use_default_key_length" time="0.000"></testcase>
		<testcase classname="ably" name="TestCrypto_RSE2_GenerateRandomKey/must_use_optional_key_length" time="0.000"></testcase>
		<testcase classname="ably" name="Test_Issue330_IVReuse" time="0.000"></testcase>
		<testcase classname="ably" name="TestErrorResponseWithInvalidKey" time="0.000"></testcase>
		<testcase classname="ably" name="TestIssue127ErrorResponse" time="0.000"></testcase>
		<testcase classname="ably" name="TestErrorInfo" time="0.000"></testcase>
		<testcase classname="ably" name="TestErrorInfo/without_an_error_code" time="0.000"></testcase>
		<testcase classname="ably" name="TestErrorInfo/with_an_error_code" time="0.000"></testcase>
		<testcase classname="ably" name="TestErrorInfo/with_an_error_code_and_an_href_attribute" time="0.000"></testcase>
		<testcase classname="ably" name="TestErrorInfo/with_an_error_code_and_a_message_with_the_same_error_URL" time="0.000"></testcase>
		<testcase classname="ably" name="TestErrorInfo/with_an_error_code_and_a_message_with_a_different_error_URL" time="0.000"></testcase>
		<testcase classname="ably" name="TestIssue_154" time="0.000"></testcase>
		<testcase classname="ably" name="Test_DNSOrTimeoutErr" time="0.000"></testcase>
		<testcase classname="ably" name="TestFilteredLogger" time="0.000"></testcase>
		<testcase classname="ably" name="TestFilteredLogger/must_log_smaller_or_same_level" time="0.000"></testcase>
		<testcase classname="ably" name="TestFilteredLogger/must_log_nothing__for_LogNone" time="0.000"></testcase>
		<testcase classname="ably" name="TestDefaultFallbacks_RSC15h" time="0.000"></testcase>
		<testcase classname="ably" name="TestEndpointFallbacks" time="0.000"></testcase>
		<testcase classname="ably" name="TestEndpointFallbacks/standard_endpoint" time="0.000"></testcase>
		<testcase classname="ably" name="TestEndpointFallbacks/nonprod_endpoint" time="0.000"></testcase>
		<testcase classname="ably" name="TestEnvFallbackHosts_RSC15i" time="0.000"></testcase>
		<testcase classname="ably" name="TestInternetConnectionCheck_RTN17c" time="0.110"></testcase>
		<testcase classname="ably" name="TestHosts_RSC15b" time="0.000"></testcase>
		<testcase classname="ably" name="TestHosts_RSC15b/with_default_options" time="0.000"></testcase>
		<testcase classname="ably" name="TestHosts_RSC15b/with_endpoint_as_a_custom_routing_policy_name" time="0.000"></testcase>
		<testcase classname="ably" name="TestHosts_RSC15b/with_endpoint_as_a_nonprod_routing_policy_name" time="0.000"></testcase>
		<testcase classname="ably" name="TestHosts_RSC15b/with_endpoint_as_a_fqdn_with_no_fallbackHosts_specified" time="0.000"></testcase>
		<testcase classname="ably" name="TestHosts_RSC15b/with_endpoint_as_a_fqdn_with_fallbackHosts_specified" time="0.000"></testcase>
		<testcase classname="ably" name="TestHosts_RSC15b/legacy_support" time="0.000"></testcase>
		<testcase classname="ably" name="TestHosts_RSC15b/legacy_support/RSC15h_with_production_environment" time="0.000"></testcase>
		<testcase classname="ably" name="TestHosts_RSC15b/legacy_support/RSC15g2_RTC1e_with_custom_environment" time="0.000"></testcase>
		<testcase classname="ably" name="TestHosts_RSC15b/legacy_support/RSC15g4_RTC1e_with_custom_environment_and_fallbackHostUseDefault" time="0.000"></testcase>
		<testcase classname="ably" name="TestHosts_RSC15b/legacy_support/RSC11b_RTN17b_RTC1e_with_legacy_custom_environment_and_non_default_ports" time="0.000"></testcase>
		<testcase classname="ably" name="TestHosts_RSC15b/legacy_support/RSC11_with_custom_rest_host" time="0.000"></testcase>
		<testcase classname="ably" name="TestHosts_RSC15b/legacy_support/RSC11_with_custom_rest_host_and_realtime_host" time="0.000"></testcase>
		<testcase classname="ably" name="TestHosts_RSC15b/legacy_support/RSC15b_with_custom_rest_host_and_realtime_host_and_fallbackHostsUseDefault" time="0.000"></testcase>
		<testcase classname="ably" name="TestHosts_RSC15b/RSC15g1_with_fallbackHosts" time="0.000"></testcase>
		<testcase classname="ably" name="TestHosts_RSC15b/RSC15b_with_fallbackHosts_and_fallbackHostsUseDefault" time="0.000"></testcase>
		<testcase classname="ably" name="TestHosts_RSC15b/RSC15b_with_fallbackHostsUseDefault_And_custom_port" time="0.000"></testcase>
		<testcase classname="ably" name="TestClientOptions" time="0.000"></testcase>
		<testcase classname="ably" name="TestClientOptions/must_return_error_on_invalid_key" time="0.000"></testcase>
		<testcase classname="ably" name="TestClientOptions/must_return_error_on_empty_options" time="0.000"></testcase>
		<testcase classname="ably" name="TestClientOptions/must_return_error_on_nil_value_options" time="0.000"></testcase>
		<testcase classname="ably" name="TestClientOptions/must_return_error_on_invalid_combinations" time="0.000"></testcase>
		<testcase classname="ably" name="TestScopeParams" time="0.000"></testcase>
		<testcase classname="ably" name="TestScopeParams/must_error_when_given_invalid_range" time="0.000"></testcase>
		<testcase classname="ably" name="TestScopeParams/must_set_url_values" time="0.000"></testcase>
		<testcase classname="ably" name="TestOption_NoTLS" time="0.000"></testcase>
		<testcase classname="ably" name="TestOption_NoTLS/does_not_allow_basic_auth_with_no_TLS" time="0.000"></testcase>
		<testcase classname="ably" name="TestOption_NoTLS/allows_basic_auth_with_no_TLS_when_InsecureAllowBasicAuthWithoutTLS_is_set" time="0.000"></testcase>
		<testcase classname="ably" name="TestPaginateParams" time="0.000"></testcase>
		<testcase classname="ably" name="TestPaginateParams/returns_nil_with_no_values" time="0.000"></testcase>
		<testcase classname="ably" name="TestPaginateParams/returns_the_full_params_encoded" time="0.000"></testcase>
		<testcase classname="ably" name="TestPaginateParams/with_value" time="0.000"></testcase>
		<testcase classname="ably" name="TestPaginateParams/with_a_value_for_ScopeParams" time="0.000"></testcase>
		<testcase classname="ably" name="TestPaginateParams/with_invalid_value_for_direction" time="0.000"></testcase>
		<testcase classname="ably" name="TestPaginateParams/with_invalid_value_for_limit" time="0.000"></testcase>
		<testcase classname="ably" name="TestEndpointFqdn" time="0.000"></testcase>
		<testcase classname="ably" name="TestRealtimeChannelModes_ToFlag" time="0.000"></testcase>
		<testcase classname="ably" name="TestRealtimeChannelModes_FromFlag" time="0.000"></testcase>
		<testcase classname="ably" name="TestMessage_EncodeDecode_TM3" time="0.000"></testcase>
		<testcase classname="ably" name="TestMessage_EncodeDecode_TM3/with_valid_utf-8_string_data" time="0.000"></testcase>
		<testcase classname="ably" name="TestMessage_EncodeDecode_TM3/with_invalid_utf-8_string_data" time="0.000"></testcase>
		<testcase classname="ably" name="TestMessage_EncodeDecode_TM3/with_a_json_encoding_RSL4d3_map_data" time="0.000"></testcase>
		<testcase classname="ably" name="TestMessage_EncodeDecode_TM3/with_a_json_encoding_RSL4d3_array_data" time="0.000"></testcase>
		<testcase classname="ably" name="TestMessage_EncodeDecode_TM3/with_a_json_encoding_RSL4d3_json.Marshaler_data" time="0.000"></testcase>
		<testcase classname="ably" name="TestMessage_EncodeDecode_TM3/with_a_base64_encoding_RSL4d3_binary_data" time="0.000"></testcase>
		<testcase classname="ably" name="TestMessage_EncodeDecode_TM3/with_json/utf-8/cipher+aes-128-cbc/base64" time="0.000"></testcase>
		<testcase classname="ably" name="TestPresenceMessage" time="0.000"></testcase>
		<testcase classname="ably" name="TestPresenceMessage/json" time="0.000"></testcase>
		<testcase classname="ably" name="TestPresenceMessage/msgpack" time="0.000"></testcase>
		<testcase classname="ably" name="TestPresenceMessage/json#01" time="0.000"></testcase>
		<testcase classname="ably" name="TestPresenceMessage/msgpack#01" time="0.000"></testcase>
		<testcase classname="ably" name="TestPresenceMessage/json#02" time="0.000"></testcase>
		<testcase classname="ably" name="TestPresenceMessage/msgpack#02" time="0.000"></testcase>
		<testcase classname="ably" name="TestPresenceMessage/json#03" time="0.000"></testcase>
		<testcase classname="ably" name="TestPresenceMessage/msgpack#03" time="0.000"></testcase>
		<testcase classname="ably" name="TestPresenceCheckForNewNessByTimestampIfSynthesized_RTP2b1" time="0.000"></testcase>
		<testcase classname="ably" name="TestPresenceCheckForNewNessBySerialIfNotSynthesized__RTP2b2" time="0.000"></testcase>
		<testcase classname="ably" name="TestPresenceMessagesShouldReturnErrorForWrongMessageSerials__RTP2b2" time="0.000"></testcase>
		<testcase classname="ably" name="Test_PresenceMap_RTP2" time="0.010"></testcase>
		<testcase classname="ably" name="Test_PresenceMap_RTP2/RTP2:_should_maintain_a_list_of_members_present_on_the_channel" time="0.000"></testcase>
		<testcase classname="ably" name="Test_PresenceMap_RTP2/RTP2b1:_check_for_newness_by_timestamp_is_synthesized" time="0.000"></testcase>
		<testcase classname="ably" name="Test_PresenceMap_RTP2/RTP2b2,_RTP2d:_check_for_newness_by_serial_if_not_synthesized" time="0.010"></testcase>
		<testcase classname="ably" name="Test_PresenceMap_RTP2/RTP2c:_check_for_newness_during_sync" time="0.000"></testcase>
		<testcase classname="ably" name="Test_PresenceMap_RTP2/RTP2d,_RTP2g:_when_presence_msg_with_ENTER,_UPDATE_AND_PRESENT_arrives,_add_to_presence_map_with_action_as_present" time="0.000"></testcase>
		<testcase classname="ably" name="Test_PresenceMap_RTP2/RTP2e,_RTP2g:_when_presence_msg_with_LEAVE_action_arrives,_remove_member_from_presence_map" time="0.000"></testcase>
		<testcase classname="ably" name="Test_Presence_server_initiated_sync_RTP18" time="0.000"></testcase>
		<testcase classname="ably" name="Test_Presence_server_initiated_sync_RTP18/RTP18a:_client_determines_a_new_sync_started_with_&lt;sync_sequence_id&gt;:&lt;cursor_value&gt;" time="0.000"></testcase>
		<testcase classname="ably" name="Test_Presence_server_initiated_sync_RTP18/RTP18b:_client_determines_sync_ended_with_&lt;sync_sequence_id&gt;:" time="0.000"></testcase>
		<testcase classname="ably" name="Test_Presence_server_initiated_sync_RTP18/RTP18:_client_determines_sync_started_and_ended_with_&lt;sync_sequence_id&gt;:" time="0.000"></testcase>
		<testcase classname="ably" name="Test_RTP1_attach_with_presence_flag" time="0.000"></testcase>
		<testcase classname="ably" name="Test_internal_presencemap_RTP17" time="0.020"></testcase>
		<testcase classname="ably" name="Test_internal_presencemap_RTP17/RTP17:_presence_object_should_have_second_presencemap_containing_only_currentConnectionId" time="0.000"></testcase>
		<testcase classname="ably" name="Test_internal_presencemap_RTP17/RTP17b:_apply_presence_message_events_as_per_spec" time="0.010"></testcase>
		<testcase classname="ably" name="Test_internal_presencemap_RTP17/RTP17h:_presencemap_should_be_keyed_by_clientId" time="0.000"></testcase>
		<testcase classname="ably" name="Test_internal_presencemap_RTP17/RTP17f,_RTP17g,_RTP17e:_automatic_re-entry_whenever_channel_moves_into_ATTACHED_state" time="0.010"></testcase>
		<testcase classname="ably" name="TestProtocolMessageEncodeZeroSerials" time="0.000"></testcase>
		<testcase classname="ably" name="TestUpdateEmptyMessageFields_TM2a_TM2c_TM2f" time="0.000"></testcase>
		<testcase classname="ably" name="TestIfFlagIsSet" time="0.000"></testcase>
		<testcase classname="ably" name="TestIfHasFlg" time="0.000"></testcase>
		<testcase classname="ably" name="TestDurationFromMsecsMarshal" time="0.000"></testcase>
		<testcase classname="ably" name="TestDurationFromMsecsMarshal/JSON" time="0.000"></testcase>
		<testcase classname="ably" name="TestDurationFromMsecsMarshal/Msgpack" time="0.000"></testcase>
	</testsuite>
	<testsuite tests="20" failures="0" time="0.005" name="github.com/ably/ably-go/ably/internal/ablyutil">
		<properties>
			<property name="go.version" value="go1.21.13"></property>
		</properties>
		<testcase classname="ablyutil" name="TestMsgpack" time="0.000"></testcase>
		<testcase classname="ablyutil" name="TestMsgpack/must_decode_int64_into_float64" time="0.000"></testcase>
		<testcase classname="ablyutil" name="TestMsgpackJson" time="0.000"></testcase>
		<testcase classname="ablyutil" name="TestMatchDerivedChannel" time="0.000"></testcase>
		<testcase classname="ablyutil" name="TestMatchDerivedChannel/valid_with_base_channel_name" time="0.000"></testcase>
		<testcase classname="ablyutil" name="TestMatchDerivedChannel/valid_with_base_channel_namespace" time="0.000"></testcase>
		<testcase classname="ablyutil" name="TestMatchDerivedChannel/valid_with_existing_qualifying_option" time="0.000"></testcase>
		<testcase classname="ablyutil" name="TestMatchDerivedChannel/valid_with_existing_qualifying_option_with_channel_namespace" time="0.000"></testcase>
		<testcase classname="ablyutil" name="TestMatchDerivedChannel/fail_with_invalid_param_with_channel_namespace" time="0.000"></testcase>
		<testcase classname="ablyutil" name="TestMatchDerivedChannel/fail_with_wrong_channel_option_param" time="0.000"></testcase>
		<testcase classname="ablyutil" name="TestMatchDerivedChannel/fail_with_invalid_qualifying_option" time="0.000"></testcase>
		<testcase classname="ablyutil" name="TestMatchDerivedChannel/fail_with_invalid_regex_match" time="0.000"></testcase>
		<testcase classname="ablyutil" name="Test_string" time="0.000"></testcase>
		<testcase classname="ablyutil" name="Test_string/String_array_Shuffle" time="0.000"></testcase>
		<testcase classname="ablyutil" name="Test_string/String_array_contains" time="0.000"></testcase>
		<testcase classname="ablyutil" name="Test_string/Empty_String" time="0.000"></testcase>
		<testcase classname="ablyutil" name="TestHashSet" time="0.000"></testcase>
		<testcase classname="ablyutil" name="TestHashSet/Add_should_not_duplicate_entries" time="0.000"></testcase>
		<testcase classname="ablyutil" name="TestHashSet/Should_check_if_item_is_present" time="0.000"></testcase>
		<testcase classname="ablyutil" name="TestHashSet/Should_remove_element" time="0.000"></testcase>
	</testsuite>
	<testsuite tests="1" failures="0" time="0.004" name="github.com/ably/ably-go/ablytest">
		<properties>
			<property name="go.version" value="go1.21.13"></property>
		</properties>
		<testcase classname="ablytest" name="ExampleFmtFunc_Wrap" time="0.000"></testcase>
	</testsuite>
</testsuites>
