<testsuites>
	<testsuite tests="100" failures="2" time="0.015" name="github.com/ably/ably-go/ably">
		<properties>
			<property name="go.version" value="go1.25.1"></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/Can_handle_an_invalid_auth_URL" 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="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_handle_an_error_when_making_a_http_request_to_request_token_" 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="TestCodeFromStatus" 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="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="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_nil,_nil_is_returned" 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="TestCode" time="0.000"></testcase>
		<testcase classname="ably" name="TestCode/Can_return_a_code_for_type_*ErrorInfo" time="0.000"></testcase>
		<testcase classname="ably" name="TestCode/Returns_ErrNotSet_for_other_error_types" 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/Can_handle_an_error_from_an_internal_server_error_response" 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="Test_errorInfo_String" time="0.000"></testcase>
		<testcase classname="ably" name="Test_errorInfo_String/error_with_all_fields" time="0.000"></testcase>
		<testcase classname="ably" name="Test_errorInfo_String/error_with_no_href" time="0.000"></testcase>
		<testcase classname="ably" name="Test_errorInfo_String/error_with_no_server" time="0.000"></testcase>
		<testcase classname="ably" name="Test_errorInfo_String/nil_error" 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="TestDeltaExtras_extractDeltaExtras" time="0.000"></testcase>
		<testcase classname="ably" name="TestDeltaExtras_extractDeltaExtras/nil_extras" time="0.000"></testcase>
		<testcase classname="ably" name="TestDeltaExtras_extractDeltaExtras/empty_extras" time="0.000"></testcase>
		<testcase classname="ably" name="TestDeltaExtras_extractDeltaExtras/no_delta_field" time="0.000"></testcase>
		<testcase classname="ably" name="TestDeltaExtras_extractDeltaExtras/valid_delta_extras" time="0.000"></testcase>
		<testcase classname="ably" name="TestDeltaExtras_extractDeltaExtras/partial_delta_extras" time="0.000"></testcase>
		<testcase classname="ably" name="TestDeltaExtras_extractDeltaExtras/invalid_delta_format" time="0.000"></testcase>
		<testcase classname="ably" name="TestMessage_withDecodedDataAndContext" time="0.000"></testcase>
		<testcase classname="ably" name="TestMessage_withDecodedDataAndContext/message_without_encoding" time="0.000"></testcase>
		<testcase classname="ably" name="TestMessage_withDecodedDataAndContext/base64_encoded_message" time="0.000"></testcase>
		<testcase classname="ably" name="TestMessage_withDecodedDataAndContext/utf-8_encoded_message" time="0.000"></testcase>
		<testcase classname="ably" name="TestMessage_withDecodedDataAndContext/json_encoded_message" time="0.000"></testcase>
		<testcase classname="ably" name="TestMessage_withDecodedDataAndContext/vcdiff_without_plugin" time="0.000"></testcase>
		<testcase classname="ably" name="TestMessage_withDecodedDataAndContext/vcdiff_without_base_payload" time="0.000"></testcase>
		<testcase classname="ably" name="TestMessage_withDecodedDataAndContext/successful_vcdiff_decoding" time="0.000"></testcase>
		<testcase classname="ably" name="TestMessage_withDecodedDataAndContext_MultipleEncodings" time="0.000"></testcase>
		<testcase classname="ably" name="TestMessage_withDecodedDataAndContext_VCDiffWithBase64" 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">
			<failure message="Failed" type=""></failure>
		</testcase>
		<testcase classname="ably" name="TestChannelGet/If_channel_does_not_exist,_it_is_created_and_initialised" time="0.000">
			<failure message="Failed" type="">/opt/hostedtoolcache/go/1.25.1/x64/src/testing/testing.go:1872 +0x237&#xA;/opt/hostedtoolcache/go/1.25.1/x64/src/testing/testing.go:1875 +0x35b&#xA;/opt/hostedtoolcache/go/1.25.1/x64/src/runtime/panic.go:783 +0x132&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_channel.go:311 +0x66a&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_channel.go:158 +0x105&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_channel_internal_test.go:159 +0x37&#xA;/opt/hostedtoolcache/go/1.25.1/x64/src/testing/testing.go:1934 +0xea&#xA;/opt/hostedtoolcache/go/1.25.1/x64/src/testing/testing.go:1997 +0x465</failure>
		</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.25.1"></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.008" name="github.com/ably/ably-go/ablytest">
		<properties>
			<property name="go.version" value="go1.25.1"></property>
		</properties>
		<testcase classname="ablytest" name="ExampleFmtFunc_Wrap" time="0.000"></testcase>
	</testsuite>
</testsuites>
