<testsuites>
	<testsuite tests="306" failures="8" time="7240.436" name="github.com/ably/ably-go/ably">
		<properties>
			<property name="go.version" value="go1.25.11"></property>
		</properties>
		<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="TestMessageAction_JSON_Encoding" time="0.000"></testcase>
		<testcase classname="ably" name="TestMessageAction_JSON_Encoding/MESSAGE_CREATE" time="0.000"></testcase>
		<testcase classname="ably" name="TestMessageAction_JSON_Encoding/MESSAGE_UPDATE" time="0.000"></testcase>
		<testcase classname="ably" name="TestMessageAction_JSON_Encoding/MESSAGE_DELETE" time="0.000"></testcase>
		<testcase classname="ably" name="TestMessageAction_JSON_Encoding/META" time="0.000"></testcase>
		<testcase classname="ably" name="TestMessageAction_JSON_Encoding/MESSAGE_SUMMARY" time="0.000"></testcase>
		<testcase classname="ably" name="TestMessageAction_JSON_Encoding/MESSAGE_APPEND" time="0.000"></testcase>
		<testcase classname="ably" name="TestMessageAction_JSON_Decoding" time="0.000"></testcase>
		<testcase classname="ably" name="TestMessageAction_JSON_Decoding/0" time="0.000"></testcase>
		<testcase classname="ably" name="TestMessageAction_JSON_Decoding/1" time="0.000"></testcase>
		<testcase classname="ably" name="TestMessageAction_JSON_Decoding/2" time="0.000"></testcase>
		<testcase classname="ably" name="TestMessageAction_JSON_Decoding/3" time="0.000"></testcase>
		<testcase classname="ably" name="TestMessageAction_JSON_Decoding/4" time="0.000"></testcase>
		<testcase classname="ably" name="TestMessageAction_JSON_Decoding/5" time="0.000"></testcase>
		<testcase classname="ably" name="TestMessageAction_JSON_Decoding/999" time="0.000"></testcase>
		<testcase classname="ably" name="TestMessageAction_Codec_Encoding" time="0.000"></testcase>
		<testcase classname="ably" name="TestMessageAction_Codec_Encoding/MESSAGE_CREATE" time="0.000"></testcase>
		<testcase classname="ably" name="TestMessageAction_Codec_Encoding/MESSAGE_UPDATE" time="0.000"></testcase>
		<testcase classname="ably" name="TestMessageAction_Codec_Encoding/MESSAGE_DELETE" time="0.000"></testcase>
		<testcase classname="ably" name="TestMessageAction_Codec_Encoding/META" time="0.000"></testcase>
		<testcase classname="ably" name="TestMessageAction_Codec_Encoding/MESSAGE_SUMMARY" time="0.000"></testcase>
		<testcase classname="ably" name="TestMessageAction_Codec_Encoding/MESSAGE_APPEND" time="0.000"></testcase>
		<testcase classname="ably" name="TestMessageAction_Codec_Decoding" time="0.000"></testcase>
		<testcase classname="ably" name="TestMessageAction_Codec_Decoding/MESSAGE_CREATE" time="0.000"></testcase>
		<testcase classname="ably" name="TestMessageAction_Codec_Decoding/MESSAGE_UPDATE" time="0.000"></testcase>
		<testcase classname="ably" name="TestMessageAction_Codec_Decoding/MESSAGE_DELETE" time="0.000"></testcase>
		<testcase classname="ably" name="TestMessageAction_Codec_Decoding/META" time="0.000"></testcase>
		<testcase classname="ably" name="TestMessageAction_Codec_Decoding/MESSAGE_SUMMARY" time="0.000"></testcase>
		<testcase classname="ably" name="TestMessageAction_Codec_Decoding/MESSAGE_APPEND" time="0.000"></testcase>
		<testcase classname="ably" name="TestMessageAction_Codec_Decoding/UNKNOWN" time="0.000"></testcase>
		<testcase classname="ably" name="TestMessageVersion_Serialization" time="0.000"></testcase>
		<testcase classname="ably" name="TestMessage_NewFields_Serialization" time="0.000"></testcase>
		<testcase classname="ably" name="TestValidateMessageSerial" time="0.000"></testcase>
		<testcase classname="ably" name="TestValidateMessageSerial/nil_message" time="0.000"></testcase>
		<testcase classname="ably" name="TestValidateMessageSerial/empty_serial" time="0.000"></testcase>
		<testcase classname="ably" name="TestValidateMessageSerial/valid_serial" time="0.000"></testcase>
		<testcase classname="ably" name="TestRealtimeExperimentalObjects_PublishObjects" time="0.000"></testcase>
		<testcase classname="ably" name="TestRealtimeExperimentalObjects_PublishObjects/successful_publish_with_single_message" time="0.000"></testcase>
		<testcase classname="ably" name="TestRealtimeExperimentalObjects_PublishObjects/successful_publish_with_multiple_messages" time="0.000"></testcase>
		<testcase classname="ably" name="TestRealtimeExperimentalObjects_PublishObjects/error_when_no_plugin_configured" time="0.000"></testcase>
		<testcase classname="ably" name="TestRealtimeExperimentalObjects_PublishObjects/error_during_prepare_object" time="0.000"></testcase>
		<testcase classname="ably" name="TestRealtimeExperimentalObjects_PublishObjects/error_during_send" time="0.000"></testcase>
		<testcase classname="ably" name="TestRealtimeExperimentalObjects_PublishObjects/error_during_ack" time="0.000"></testcase>
		<testcase classname="ably" name="TestRealtimeExperimentalObjects_PublishObjectsContextCancellation" time="0.000"></testcase>
		<testcase classname="ably" name="TestVCDiffPlugin" time="0.000"></testcase>
		<testcase classname="ably" name="TestVCDiffPlugin/implements_VCDiffDecoder_interface" time="0.000"></testcase>
		<testcase classname="ably" name="TestVCDiffPlugin/returns_AblyVCDiffDecoder_type" time="0.000"></testcase>
		<testcase classname="ably" name="TestVCDiffPlugin/handle_empty_delta" time="0.000"></testcase>
		<testcase classname="ably" name="TestVCDiffPlugin/handle_nil_inputs" time="0.000"></testcase>
		<testcase classname="ably" name="TestVCDiffPlugin/handle_invalid_vcdiff_data" time="0.000"></testcase>
		<testcase classname="ably" name="TestVCDiffPlugin/decode_with_empty_base" time="0.000"></testcase>
		<testcase classname="ably" name="TestVCDiffPlugin_Integration" time="0.000"></testcase>
		<testcase classname="ably" name="TestVCDiffPlugin_Integration/can_be_used_as_VCDiffDecoder_in_DecodingContext" time="0.000"></testcase>
		<testcase classname="ably" name="TestVCDiffPlugin_Integration/can_be_used_with_WithVCDiffPlugin_option" time="0.000"></testcase>
		<testcase classname="ably" name="TestVCDiffPlugin_Integration/plugin_is_reusable_across_multiple_decodes" time="0.000"></testcase>
		<testcase classname="ably" name="TestAuth_BasicAuth" time="1.610"></testcase>
		<testcase classname="ably" name="TestAuth_BasicAuth/RSA2:_Should_use_basic_auth_as_default_authentication_if_an_API_key_exists" time="0.000"></testcase>
		<testcase classname="ably" name="TestAuth_BasicAuth/RSA1:_Should_connect_to_HTTPS_by_default,_trying_to_connect_with_non-TLS_should_result_in_error" time="0.000"></testcase>
		<testcase classname="ably" name="TestAuth_BasicAuth/RSA11:_API_key_should_follow_format_KEY_NAME:KEY_SECRET_in_auth_header" time="0.000"></testcase>
		<testcase classname="ably" name="TestAuth_TokenAuth" time="0.390"></testcase>
		<testcase classname="ably" name="TestAuth_TokenAuth_Renew" time="4.210"></testcase>
		<testcase classname="ably" name="TestAuth_RequestToken" time="0.330"></testcase>
		<testcase classname="ably" name="TestAuth_JWT_Token_RSA8c" time="1.300"></testcase>
		<testcase classname="ably" name="TestAuth_JWT_Token_RSA8c/Get_JWT_from_echo_server" time="0.260"></testcase>
		<testcase classname="ably" name="TestAuth_JWT_Token_RSA8c/Should_be_able_to_use_it_as_a_token" time="0.150"></testcase>
		<testcase classname="ably" name="TestAuth_JWT_Token_RSA8c/RSA8g,_RSA3d:_Should_be_able_to_authenticate_using_authURL" time="0.400"></testcase>
		<testcase classname="ably" name="TestAuth_JWT_Token_RSA8c/RSA8g,_RSA3d:_Should_be_able_to_authenticate_using_authCallback" time="0.240"></testcase>
		<testcase classname="ably" name="TestAuth_JWT_Token_RSA8c/RSA4e,_RSA4b:_Should_return_error_when_JWT_is_invalid" time="0.250"></testcase>
		<testcase classname="ably" name="TestAuth_ReuseClientID" time="0.090"></testcase>
		<testcase classname="ably" name="TestAuth_RequestToken_PublishClientID" time="0.740"></testcase>
		<testcase classname="ably" name="TestAuth_ClientID" time="1.130"></testcase>
		<testcase classname="ably" name="TestAuth_ClientID/Auth_ClientID" time="1.130"></testcase>
		<testcase classname="ably" name="TestAuth_CreateTokenRequest" time="0.080"></testcase>
		<testcase classname="ably" name="TestAuth_CreateTokenRequest/RSA9h" time="0.080"></testcase>
		<testcase classname="ably" name="TestAuth_CreateTokenRequest/RSA9h/parameters_are_optional" time="0.080"></testcase>
		<testcase classname="ably" name="TestAuth_CreateTokenRequest/RSA9h/authOptions_must_not_be_merged" time="0.000"></testcase>
		<testcase classname="ably" name="TestAuth_CreateTokenRequest/RSA9c_must_generate_a_unique_16+_character_nonce" time="0.000"></testcase>
		<testcase classname="ably" name="TestAuth_CreateTokenRequest/RSA9g_generate_a_signed_request" time="0.000"></testcase>
		<testcase classname="ably" name="TestAuth_RealtimeAccessToken" time="0.140"></testcase>
		<testcase classname="ably" name="TestAuth_IgnoreTimestamp_QueryTime" time="0.200"></testcase>
		<testcase classname="ably" name="TestAuth_RSA7c" time="0.000"></testcase>
		<testcase classname="ably" name="TestEventEmitterConcurrency" time="0.030"></testcase>
		<testcase classname="ably" name="Test_RTE3_EventEmitter_On" time="0.090"></testcase>
		<testcase classname="ably" name="Test_RTE3_EventEmitter_On/event:_qux,_data:_42" time="0.030"></testcase>
		<testcase classname="ably" name="Test_RTE3_EventEmitter_On/event:_foo,_data:_42" time="0.030"></testcase>
		<testcase classname="ably" name="Test_RTE3_EventEmitter_On/event:_bar,_data:_42" time="0.030"></testcase>
		<testcase classname="ably" name="Test_RTE4_EventEmitter_Once" time="0.280"></testcase>
		<testcase classname="ably" name="Test_RTE4_EventEmitter_Once/event:_qux,_data:_42" time="0.090"></testcase>
		<testcase classname="ably" name="Test_RTE4_EventEmitter_Once/event:_foo,_data:_42" time="0.090"></testcase>
		<testcase classname="ably" name="Test_RTE4_EventEmitter_Once/event:_bar,_data:_42" time="0.090"></testcase>
		<testcase classname="ably" name="Test_RTE5_EventEmitter_Off" time="0.120"></testcase>
		<testcase classname="ably" name="Test_RTE5_EventEmitter_Off/specific_listener" time="0.040"></testcase>
		<testcase classname="ably" name="Test_RTE5_EventEmitter_Off/specific_event" time="0.050"></testcase>
		<testcase classname="ably" name="Test_RTE5_EventEmitter_Off/all" time="0.030"></testcase>
		<testcase classname="ably" name="Test_RTE6_EventEmitter_EmitPanic" time="0.020"></testcase>
		<testcase classname="ably" name="Test_RTE6a_EventEmitter_EmitToFixedListenersCollection" time="0.100"></testcase>
		<testcase classname="ably" name="TestHTTPPaginatedFallback" time="0.010"></testcase>
		<testcase classname="ably" name="TestHTTPPaginatedFallback/request_time" time="0.000"></testcase>
		<testcase classname="ably" name="TestHTTPPaginatedResponse" time="0.300"></testcase>
		<testcase classname="ably" name="TestHTTPPaginatedResponse/request_time" time="0.030"></testcase>
		<testcase classname="ably" name="TestHTTPPaginatedResponse/request_404" time="0.100"></testcase>
		<testcase classname="ably" name="TestHTTPPaginatedResponse/request_post_get_messages" time="0.170"></testcase>
		<testcase classname="ably" name="TestHTTPPaginatedResponse/request_post_get_messages/post" time="0.070"></testcase>
		<testcase classname="ably" name="TestHTTPPaginatedResponse/request_post_get_messages/get" time="0.070"></testcase>
		<testcase classname="ably" name="TestRESTChannel_MessageUpdates" time="4.320"></testcase>
		<testcase classname="ably" name="TestRESTChannel_MessageUpdates/PublishWithResult" time="0.280"></testcase>
		<testcase classname="ably" name="TestRESTChannel_MessageUpdates/PublishWithResult/returns_serial_for_published_message" time="0.260"></testcase>
		<testcase classname="ably" name="TestRESTChannel_MessageUpdates/PublishWithResult/PublishMultipleWithResult_returns_serials_for_all_messages" time="0.020"></testcase>
		<testcase classname="ably" name="TestRESTChannel_MessageUpdates/UpdateMessage" time="1.140"></testcase>
		<testcase classname="ably" name="TestRESTChannel_MessageUpdates/UpdateMessage/updates_a_message_with_new_data" time="1.140"></testcase>
		<testcase classname="ably" name="TestRESTChannel_MessageUpdates/UpdateMessage/returns_error_when_message_has_no_serial" time="0.000"></testcase>
		<testcase classname="ably" name="TestRESTChannel_MessageUpdates/DeleteMessage" time="0.150"></testcase>
		<testcase classname="ably" name="TestRESTChannel_MessageUpdates/DeleteMessage/deletes_a_message" time="0.150"></testcase>
		<testcase classname="ably" name="TestRESTChannel_MessageUpdates/AppendMessage" time="1.170"></testcase>
		<testcase classname="ably" name="TestRESTChannel_MessageUpdates/AppendMessage/appends_to_a_message" time="1.170"></testcase>
		<testcase classname="ably" name="TestRESTChannel_MessageUpdates/GetMessage" time="0.560"></testcase>
		<testcase classname="ably" name="TestRESTChannel_MessageUpdates/GetMessage/retrieves_a_message_by_serial" time="0.560"></testcase>
		<testcase classname="ably" name="TestRESTChannel_MessageUpdates/GetMessageVersions" time="1.020"></testcase>
		<testcase classname="ably" name="TestRESTChannel_MessageUpdates/GetMessageVersions/retrieves_all_versions_after_updates" time="1.020"></testcase>
		<testcase classname="ably" name="TestRealtimeChannel_MessageUpdates" time="3.640"></testcase>
		<testcase classname="ably" name="TestRealtimeChannel_MessageUpdates/PublishWithResult" time="0.600"></testcase>
		<testcase classname="ably" name="TestRealtimeChannel_MessageUpdates/PublishWithResult/returns_serial_for_published_message" time="0.090"></testcase>
		<testcase classname="ably" name="TestRealtimeChannel_MessageUpdates/PublishWithResult/PublishMultipleWithResult_returns_serials" time="0.500"></testcase>
		<testcase classname="ably" name="TestRealtimeChannel_MessageUpdates/UpdateMessageAsync" time="1.000"></testcase>
		<testcase classname="ably" name="TestRealtimeChannel_MessageUpdates/UpdateMessageAsync/updates_message_asynchronously" time="0.990"></testcase>
		<testcase classname="ably" name="TestRealtimeChannel_MessageUpdates/AppendMessageAsync" time="2.000"></testcase>
		<testcase classname="ably" name="TestRealtimeChannel_MessageUpdates/AppendMessageAsync/rapid_async_appends_for_AI_token_streaming" time="0.950"></testcase>
		<testcase classname="ably" name="TestRealtimeChannel_MessageUpdates/AppendMessageAsync/nil_onAck_is_treated_as_fire-and-forget" time="1.000"></testcase>
		<testcase classname="ably" name="TestMessage_CryptoDataFixtures_RSL6a1_RSL5b_RSL5c" time="0.010"></testcase>
		<testcase classname="ably" name="TestMessage_CryptoDataFixtures_RSL6a1_RSL5b_RSL5c/with_a_128_keylength" time="0.000"></testcase>
		<testcase classname="ably" name="TestMessage_CryptoDataFixtures_RSL6a1_RSL5b_RSL5c/with_a_128_keylength/fixture_encode" time="0.000"></testcase>
		<testcase classname="ably" name="TestMessage_CryptoDataFixtures_RSL6a1_RSL5b_RSL5c/with_a_256_keylength" time="0.010"></testcase>
		<testcase classname="ably" name="TestMessage_CryptoDataFixtures_RSL6a1_RSL5b_RSL5c/with_a_256_keylength/fixture_encode" time="0.000"></testcase>
		<testcase classname="ably" name="TestMessage_CryptoDataFixtures_RSL6a1_RSL5b_RSL5c_TM3" time="0.010"></testcase>
		<testcase classname="ably" name="TestMessage_CryptoDataFixtures_RSL6a1_RSL5b_RSL5c_TM3/with_a_128_keylength" time="0.000"></testcase>
		<testcase classname="ably" name="TestMessage_CryptoDataFixtures_RSL6a1_RSL5b_RSL5c_TM3/with_a_128_keylength/fixture_encode" time="0.000"></testcase>
		<testcase classname="ably" name="TestMessage_CryptoDataFixtures_RSL6a1_RSL5b_RSL5c_TM3/with_a_256_keylength" time="0.010"></testcase>
		<testcase classname="ably" name="TestMessage_CryptoDataFixtures_RSL6a1_RSL5b_RSL5c_TM3/with_a_256_keylength/fixture_encode" time="0.000"></testcase>
		<testcase classname="ably" name="TestRealtime_ChannelParams_DeltaSupport" time="0.030"></testcase>
		<testcase classname="ably" name="TestDelta_PluginBasicFunctionality" time="2.310"></testcase>
		<testcase classname="ably" name="TestDeltaPluginRecovery" time="4.640"></testcase>
		<testcase classname="ably" name="TestDeltaPluginRecovery/WithMessagesOutOfOrder" time="2.240"></testcase>
		<testcase classname="ably" name="TestDeltaPluginRecovery/WithCorruptDelta" time="2.400"></testcase>
		<testcase classname="ably" name="TestRealtimeChannel_Publish" time="0.040"></testcase>
		<testcase classname="ably" name="TestRealtimeChannel_PublishAsync" time="0.100"></testcase>
		<testcase classname="ably" name="TestRealtimeChannel_Subscribe" time="15.110"></testcase>
		<testcase classname="ably" name="TestRealtimeChannel_SubscriptionFilters" time="0.310"></testcase>
		<testcase classname="ably" name="TestRealtimeChannel_AttachWhileDisconnected" time="1.160"></testcase>
		<testcase classname="ably" name="TestRealtimeChannel_ShouldSetProvidedReadLimit" time="0.110"></testcase>
		<testcase classname="ably" name="TestRealtimeChannel_SetDefaultReadLimitIfServerHasNoLimit" time="0.020"></testcase>
		<testcase classname="ably" name="TestRealtimeChannel_ShouldReturnErrorIfReadLimitExceeded" time="0.100"></testcase>
		<testcase classname="ably" name="TestRealtimeChannels_Release" time="0.040"></testcase>
		<testcase classname="ably" name="TestRealtimeChannel_RTL2_ChannelEventForStateChange" time="0.430"></testcase>
		<testcase classname="ably" name="TestRealtimeChannel_RTL2_ChannelEventForStateChange/on_ATTACHING" time="0.080"></testcase>
		<testcase classname="ably" name="TestRealtimeChannel_RTL2_ChannelEventForStateChange/on_ATTACHED" time="0.060"></testcase>
		<testcase classname="ably" name="TestRealtimeChannel_RTL2_ChannelEventForStateChange/on_DETACHING" time="0.220"></testcase>
		<testcase classname="ably" name="TestRealtimeChannel_RTL2_ChannelEventForStateChange/on_DETACHED" time="0.070"></testcase>
		<testcase classname="ably" name="TestRealtimeChannel_RTL2_ChannelEventForStateChange/on_SUSPENDED" time="0.000">
			<skipped message="    realtime_channel_spec_integration_test.go:107: SUSPENDED not yet implemented"></skipped>
		</testcase>
		<testcase classname="ably" name="TestRealtimeChannel_RTL2_ChannelEventForStateChange/on_UPDATE" time="0.000">
			<skipped message="    realtime_channel_spec_integration_test.go:112: UPDATED not yet implemented"></skipped>
		</testcase>
		<testcase classname="ably" name="TestRealtimeChannel_RTL4_Attach" time="1.960"></testcase>
		<testcase classname="ably" name="TestRealtimeChannel_RTL4_Attach/RTL4a:_If_already_attached,_nothing_is_done" time="0.020"></testcase>
		<testcase classname="ably" name="TestRealtimeChannel_RTL4_Attach/RTL4b:_If_connection_state_is_INITIALIZED,_CLOSING,_CLOSED_returns_error" time="0.090"></testcase>
		<testcase classname="ably" name="TestRealtimeChannel_RTL4_Attach/RTL4b:_If_connection_state_is_FAILED,_returns_error" time="0.030"></testcase>
		<testcase classname="ably" name="TestRealtimeChannel_RTL4_Attach/RTL4b:_If_connection_state_is_SUSPENDED,_returns_error" time="0.430"></testcase>
		<testcase classname="ably" name="TestRealtimeChannel_RTL4_Attach/RTL4c_RTL4d:_If_connected,_should_get_attached_successfully" time="0.060"></testcase>
		<testcase classname="ably" name="TestRealtimeChannel_RTL4_Attach/RTL4d_:_should_return_error_on_FAILED_while_attaching_channel" time="0.040"></testcase>
		<testcase classname="ably" name="TestRealtimeChannel_RTL4_Attach/RTL4d_:_should_return_error_on_DETACHED_while_attaching_channel" time="0.050"></testcase>
		<testcase classname="ably" name="TestRealtimeChannel_RTL4_Attach/RTL4d_:_should_return_error_on_SUSPENDED_while_attaching_channel" time="0.000">
			<skipped message="    realtime_channel_spec_integration_test.go:524: Channel SUSPENDED not implemented yet"></skipped>
		</testcase>
		<testcase classname="ably" name="TestRealtimeChannel_RTL4_Attach/RTL4e:_Transition_to_failed_if_no_attach_permission" time="0.050"></testcase>
		<testcase classname="ably" name="TestRealtimeChannel_RTL4_Attach/RTL4f:_Channel_attach_timeout_if_not_received_within_realtime_request_timeout" time="0.010"></testcase>
		<testcase classname="ably" name="TestRealtimeChannel_RTL4_Attach/RTL4g:_If_channel_in_FAILED_state,_set_err_to_null_and_proceed_with_attach" time="0.050"></testcase>
		<testcase classname="ably" name="TestRealtimeChannel_RTL4_Attach/RTL4h:_If_channel_is_ATTACHING,_listen_to_the_attach_event_and_don&#39;t_send_attach_event" time="0.060"></testcase>
		<testcase classname="ably" name="TestRealtimeChannel_RTL4_Attach/RTL4h:_If_channel_is_DETACHING,_do_attach_after_completion_of_request" time="0.070"></testcase>
		<testcase classname="ably" name="TestRealtimeChannel_RTL4_Attach/RTL4i_:_If_connection_state_is_CONNECTING,_do_ATTACH_after_CONNECTED" time="0.070"></testcase>
		<testcase classname="ably" name="TestRealtimeChannel_RTL4_Attach/RTL4i_:_If_connection_state_is_DISCONNECTED,_do_ATTACH_after_CONNECTED" time="0.080"></testcase>
		<testcase classname="ably" name="TestRealtimeChannel_RTL4_Attach/RTL4j_RTL13a:_If_channel_attach_is_not_a_clean_attach,_should_set_ATTACH_RESUME_in_the_ATTACH_message" time="0.000"></testcase>
		<testcase classname="ably" name="TestRealtimeChannel_RTL4_Attach/RTL4j1:_AttachResume_should_be_True_when_Attached_(Clean_ATTACH)" time="0.050"></testcase>
		<testcase classname="ably" name="TestRealtimeChannel_RTL4_Attach/RTL4j2:_Rewind_flag_should_allow_to_receive_historic_messages" time="0.500"></testcase>
		<testcase classname="ably" name="TestRealtimeChannel_RTL4_Attach/RTL4k:_If_params_given_channel_options,_should_be_sent_in_ATTACH_message" time="0.030"></testcase>
		<testcase classname="ably" name="TestRealtimeChannel_RTL4_Attach/RTL4k1:_If_params_given_channel_options,_should_be_exposed_as_readonly_field_on_ATTACHED_message" time="0.220"></testcase>
		<testcase classname="ably" name="TestRealtimeChannel_RTL4_Attach/RTL4l:_If_modes_provided_in_channelOptions,_should_be_encoded_as_bitfield_and_set_as_flags_field_of_ATTACH_message" time="0.030"></testcase>
		<testcase classname="ably" name="TestRealtimeChannel_RTL4_Attach/RTL4m:_If_modes_provides_while_attach,_should_receive_modes_in_attached_message" time="0.020"></testcase>
		<testcase classname="ably" name="TestRealtimeChannel_RTL5_Detach" time="0.530"></testcase>
		<testcase classname="ably" name="TestRealtimeChannel_RTL5_Detach/RTL5a:_If_channel_is_INITIALIZED_or_DETACHED,_do_nothing" time="0.070"></testcase>
		<testcase classname="ably" name="TestRealtimeChannel_RTL5_Detach/RTL5b:_If_channel_state_is_FAILED,_return_error" time="0.050"></testcase>
		<testcase classname="ably" name="TestRealtimeChannel_RTL5_Detach/RTL5d_RTL5e:_If_connected,_should_do_successful_detach_with_server" time="0.060"></testcase>
		<testcase classname="ably" name="TestRealtimeChannel_RTL5_Detach/RTL5e:_return_error_if_channel_detach_fails" time="0.040"></testcase>
		<testcase classname="ably" name="TestRealtimeChannel_RTL5_Detach/RTL5f:_return_error_on_request_timeout" time="0.010"></testcase>
		<testcase classname="ably" name="TestRealtimeChannel_RTL5_Detach/RTL5g:_If_connection_state_CLOSING_or_FAILED,_should_return_error" time="0.050"></testcase>
		<testcase classname="ably" name="TestRealtimeChannel_RTL5_Detach/RTL5h_:_If_Connection_state_CONNECTING,_queue_the_DETACH_message_and_send_on_CONNECTED" time="0.080"></testcase>
		<testcase classname="ably" name="TestRealtimeChannel_RTL5_Detach/RTL5h,_RTN19b:_If_Connection_state_DISCONNECTED,_queue_the_DETACH_message_and_send_on_CONNECTED" time="0.080"></testcase>
		<testcase classname="ably" name="TestRealtimeChannel_RTL5_Detach/RTL5i:_If_channel_in_DETACHING_or_ATTACHING_state,_do_detach_after_completion_of_operation" time="0.050"></testcase>
		<testcase classname="ably" name="TestRealtimeChannel_RTL5_Detach/RTL5j:_if_channel_state_is_SUSPENDED,_immediately_transition_to_DETACHED_state" time="0.000">
			<skipped message="    realtime_channel_spec_integration_test.go:1877: Channel SUSPENDED not implemented yet"></skipped>
		</testcase>
		<testcase classname="ably" name="TestRealtimeChannel_RTL5_Detach/RTL5k:_When_receive_ATTACH_in_detaching_state,_send_new_DETACH_message" time="0.020"></testcase>
		<testcase classname="ably" name="TestRealtimeChannel_RTL6c1_PublishNow" time="0.360"></testcase>
		<testcase classname="ably" name="TestRealtimeChannel_RTL6c1_PublishNow/when_INITIALIZED" time="0.080"></testcase>
		<testcase classname="ably" name="TestRealtimeChannel_RTL6c1_PublishNow/when_ATTACHING" time="0.060"></testcase>
		<testcase classname="ably" name="TestRealtimeChannel_RTL6c1_PublishNow/when_ATTACHED" time="0.070"></testcase>
		<testcase classname="ably" name="TestRealtimeChannel_RTL6c1_PublishNow/when_DETACHING" time="0.070"></testcase>
		<testcase classname="ably" name="TestRealtimeChannel_RTL6c1_PublishNow/when_DETACHED" time="0.080"></testcase>
		<testcase classname="ably" name="TestRealtimeChannel_RTL6c2_PublishEnqueue" time="90.710"></testcase>
		<testcase classname="ably" name="TestRealtimeChannel_RTL6c2_PublishEnqueue/when_connection_is_INITIALIZED,_channel_is_INITIALIZED" time="0.050"></testcase>
		<testcase classname="ably" name="TestRealtimeChannel_RTL6c2_PublishEnqueue/when_connection_is_CONNECTING,_channel_is_INITIALIZED" time="0.030"></testcase>
		<testcase classname="ably" name="TestRealtimeChannel_RTL6c2_PublishEnqueue/when_connection_is_CONNECTING,_channel_is_ATTACHING" time="0.050"></testcase>
		<testcase classname="ably" name="TestRealtimeChannel_RTL6c2_PublishEnqueue/when_connection_is_DISCONNECTED,_channel_is_INITIALIZED" time="0.030"></testcase>
		<testcase classname="ably" name="TestRealtimeChannel_RTL6c2_PublishEnqueue/when_connection_is_DISCONNECTED,_channel_is_ATTACHING" time="0.040"></testcase>
		<testcase classname="ably" name="TestRealtimeChannel_RTL6c2_PublishEnqueue/when_connection_is_DISCONNECTED,_channel_is_ATTACHED" time="0.080"></testcase>
		<testcase classname="ably" name="TestRealtimeChannel_RTL6c2_PublishEnqueue/when_connection_is_DISCONNECTED,_channel_is_DETACHING" time="30.060"></testcase>
		<testcase classname="ably" name="TestRealtimeChannel_RTL6c2_PublishEnqueue/when_connection_is_DISCONNECTED,_channel_is_DETACHED" time="0.100"></testcase>
		<testcase classname="ably" name="TestRealtimeChannel_RTL6c2_PublishEnqueue/when_connection_is_CONNECTING,_channel_is_ATTACHED" time="30.070"></testcase>
		<testcase classname="ably" name="TestRealtimeChannel_RTL6c2_PublishEnqueue/when_connection_is_CONNECTING,_channel_is_DETACHING" time="30.070"></testcase>
		<testcase classname="ably" name="TestRealtimeChannel_RTL6c2_PublishEnqueue/when_connection_is_CONNECTING,_channel_is_DETACHED" time="0.130"></testcase>
		<testcase classname="ably" name="TestRealtimeChannel_RTL6c4_PublishFail" time="0.410"></testcase>
		<testcase classname="ably" name="TestRealtimeChannel_RTL6c4_PublishFail/when_connection_is_SUSPENDED,_channel_is_INITIALIZED" time="0.410"></testcase>
		<testcase classname="ably" name="TestRealtimeChannel_RTL6c5_NoImplicitAttach" time="0.060"></testcase>
		<testcase classname="ably" name="TestRealtimeChannel_RTL2f_RTL12_HandleResume" time="0.090"></testcase>
		<testcase classname="ably" name="TestRealtimeChannel_RTL2f_RTL12_HandleResume/RTL2f:_when_flag_has_presence_is_provided,_set_channelChangeState_resume_to_false" time="0.020"></testcase>
		<testcase classname="ably" name="TestRealtimeChannel_RTL2f_RTL12_HandleResume/RTL2f:_when_flag_has_backlog_is_provided,_set_channelChangeState_resume_to_false" time="0.020"></testcase>
		<testcase classname="ably" name="TestRealtimeChannel_RTL2f_RTL12_HandleResume/RTL2f:_when_flag_resumed_is_provided,_set_channelChangeState_resume_to_true" time="0.020"></testcase>
		<testcase classname="ably" name="TestRealtimeChannel_RTL2f_RTL12_HandleResume/RTL12:_when_RE-ATTACH_with_error,_set_ChannelEventUpdated" time="0.020"></testcase>
		<testcase classname="ably" name="TestRealtimeChannel_RTL13_HandleDetached" time="0.080"></testcase>
		<testcase classname="ably" name="TestRealtimeChannel_RTL13_HandleDetached/RTL13a:_when_ATTACHED,_successful_reattach" time="0.020"></testcase>
		<testcase classname="ably" name="TestRealtimeChannel_RTL13_HandleDetached/RTL13b:_when_ATTACHING" time="0.020"></testcase>
		<testcase classname="ably" name="TestRealtimeChannel_RTL13_HandleDetached/RTL13c:_stop_on_non-CONNECTED" time="0.030"></testcase>
		<testcase classname="ably" name="TestRealtimeChannel_RTL17_IgnoreMessagesWhenNotAttached" time="0.020"></testcase>
		<testcase classname="ably" name="TestRealtimeChannel_RTL17_IgnoreMessagesWhenNotAttached/Shouldn&#39;t_receive_message_when_not_attached" time="0.020"></testcase>
		<testcase classname="ably" name="Test_UpdateEmptyMessageFields_TM2a_TM2c_TM2f" time="0.000"></testcase>
		<testcase classname="ably" name="TestRealtimeChannel_RTL14_HandleChannelError" time="0.030"></testcase>
		<testcase classname="ably" name="TestRealtimeChannel_RTL14_HandleChannelError/RTL14:_when_Error,_should_transition_to_failed_state" time="0.030"></testcase>
		<testcase classname="ably" name="TestRealtime_RealtimeHost" time="0.000"></testcase>
		<testcase classname="ably" name="TestRealtime_RealtimeHost/REC1b_with_endpoint_option" time="0.000"></testcase>
		<testcase classname="ably" name="TestRealtime_RealtimeHost/REC1d2_with_legacy_realtimeHost_option" time="0.000"></testcase>
		<testcase classname="ably" name="TestRealtime_RSC7_AblyAgent" time="0.010"></testcase>
		<testcase classname="ably" name="TestRealtime_RSC7_AblyAgent/using_endpoint_option" time="0.000"></testcase>
		<testcase classname="ably" name="TestRealtime_RSC7_AblyAgent/using_endpoint_option/RSC7d3_:_Should_set_ablyAgent_header_with_correct_identifiers" time="0.000"></testcase>
		<testcase classname="ably" name="TestRealtime_RSC7_AblyAgent/using_endpoint_option/RSC7d6_:_Should_set_ablyAgent_header_with_custom_agents" time="0.000"></testcase>
		<testcase classname="ably" name="TestRealtime_RSC7_AblyAgent/using_endpoint_option/RSC7d6_:_Should_set_ablyAgent_header_with_custom_agents_missing_version" time="0.000"></testcase>
		<testcase classname="ably" name="TestRealtime_RSC7_AblyAgent/using_legacy_options" time="0.000"></testcase>
		<testcase classname="ably" name="TestRealtime_RSC7_AblyAgent/using_legacy_options/RSC7d3_:_Should_set_ablyAgent_header_with_correct_identifiers" time="0.000"></testcase>
		<testcase classname="ably" name="TestRealtime_RSC7_AblyAgent/using_legacy_options/RSC7d6_:_Should_set_ablyAgent_header_with_custom_agents" time="0.000"></testcase>
		<testcase classname="ably" name="TestRealtime_RSC7_AblyAgent/using_legacy_options/RSC7d6_:_Should_set_ablyAgent_header_with_custom_agents_missing_version" time="0.000"></testcase>
		<testcase classname="ably" name="TestRealtime_RTN17_HostFallback" time="0.000">
			<failure message="Failed" type=""></failure>
		</testcase>
		<testcase classname="ably" name="TestRealtime_RTN17_Integration_HostFallback_Internal_Server_Error" time="0.560"></testcase>
		<testcase classname="ably" name="TestRealtime_RTN17_Integration_HostFallback_Timeout" time="2.140"></testcase>
		<testcase classname="ably" name="TestRealtime_multiple" time="1.580"></testcase>
		<testcase classname="ably" name="TestRealtime_DontCrashOnCloseWhenEchoOff" time="0.000"></testcase>
		<testcase classname="ably" name="TestRealtimeConn_AutoConnect_And_Close" time="0.030"></testcase>
		<testcase classname="ably" name="TestRealtimeConn_No_AutoConnect" time="0.020"></testcase>
		<testcase classname="ably" name="TestRealtimeConn_AlreadyConnected" time="0.120"></testcase>
		<testcase classname="ably" name="TestRealtimeConn_AuthError" time="0.180"></testcase>
		<testcase classname="ably" name="TestRealtimeConn_ReceiveTimeout" time="0.020"></testcase>
		<testcase classname="ably" name="TestRealtimeConn_BreakConnLoopOnInactiveState" time="0.030"></testcase>
		<testcase classname="ably" name="TestRealtimeConn_BreakConnLoopOnInactiveState/error" time="0.020"></testcase>
		<testcase classname="ably" name="TestRealtimeConn_BreakConnLoopOnInactiveState/closed" time="0.020"></testcase>
		<testcase classname="ably" name="TestRealtimeConn_SendErrorReconnects" time="0.060"></testcase>
		<testcase classname="ably" name="TestRealtimeConn_ReconnectFromSuspendedState" time="60.190">
			<failure message="Failed" type="">    realtime_conn_integration_test.go:321: </failure>
		</testcase>
		<testcase classname="ably" name="TestRealtimeConn_PreviousConnectionsAreClosed" time="0.180">
			<failure message="Failed" type="">    realtime_conn_integration_test.go:365: &#xA;    realtime_conn_integration_test.go:367: sending receive error to simulate disconnect&#xA;    realtime_conn_integration_test.go:372: waiting for first connection to be closed&#xA;    realtime_conn_integration_test.go:378: </failure>
		</testcase>
		<testcase classname="ably" name="Test_RTN2_WebsocketQueryParams" time="0.000"></testcase>
		<testcase classname="ably" name="Test_RTN2_WebsocketQueryParams/RTN2a:_format_should_be_msgPack_or_json" time="0.000"></testcase>
		<testcase classname="ably" name="Test_RTN2_WebsocketQueryParams/RTN2b:_echo_should_be_true_by_default" time="0.000"></testcase>
		<testcase classname="ably" name="Test_RTN2_WebsocketQueryParams/RTN2d:_clientId_contains_provided_clientId" time="0.000"></testcase>
		<testcase classname="ably" name="Test_RTN2_WebsocketQueryParams/RTN2e:_depending_on_the_auth_scheme,_accessToken_contains_token_string_or_key_contains_api_key" time="0.000"></testcase>
		<testcase classname="ably" name="Test_RTN2_WebsocketQueryParams/RTN2f:_api_version_v_should_be_the_API_version" time="0.000"></testcase>
		<testcase classname="ably" name="Test_RTN3_ConnectionAutoConnect" time="0.140">
			<failure message="Failed" type="">    realtime_conn_spec_integration_test.go:123: </failure>
		</testcase>
		<testcase classname="ably" name="Test_RTN4a_ConnectionEventForStateChange" time="0.000">
			<failure message="Failed" type=""></failure>
		</testcase>
		<testcase classname="ably" name="Test_RTN4a_ConnectionEventForStateChange/on_CONNECTING" time="0.000">
			<failure message="Failed" type="">ably_test.go:56: safeclose 0: failed to close ablytest.realtimeIOCloser: [ErrorInfo :account blocked (message limits exceeded) code=40112 account blocked (message limits exceeded) statusCode=401] See https://help.ably.io/error/40112</failure>
		</testcase>
		<testcase classname="ably" name="Test_RTN4a_ConnectionEventForStateChange/on_CONNECTED" time="0.000">
			<failure message="Failed" type="">realtime_conn_spec_integration_test.go:151: &#xA;Error Trace:&#x9;realtime_conn_spec_integration_test.go:308&#xA;            &#x9;&#x9;&#x9;&#x9;realtime_conn_spec_integration_test.go:151&#xA;Error:      &#x9;Not equal: &#xA;            &#x9;expected: ably.ConnectionState{name:&#34;CONNECTED&#34;}&#xA;            &#x9;actual  : ably.ConnectionState{name:&#34;FAILED&#34;}&#xA;            &#x9;&#xA;            &#x9;Diff:&#xA;            &#x9;--- Expected&#xA;            &#x9;+++ Actual&#xA;            &#x9;@@ -1,3 +1,3 @@&#xA;            &#x9; (ably.ConnectionState) {&#xA;            &#x9;- name: (string) (len=9) &#34;CONNECTED&#34;&#xA;            &#x9;+ name: (string) (len=6) &#34;FAILED&#34;&#xA;            &#x9; }&#xA;Test:       &#x9;Test_RTN4a_ConnectionEventForStateChange/on_CONNECTED&#xA;Messages:   &#x9;unexpected FAILED event: [ErrorInfo :account blocked (message limits exceeded) code=40112 account blocked (message limits exceeded) statusCode=401] See https://help.ably.io/error/40112</failure>
		</testcase>
		<testcase classname="ably" name="Test_RTN4a_ConnectionEventForStateChange/on_DISCONNECTED" time="0.000">
			<failure message="Failed" type="">realtime_conn_spec_integration_test.go:164: &#xA;Error Trace:&#x9;realtime_conn_spec_integration_test.go:308&#xA;            &#x9;&#x9;&#x9;&#x9;realtime_conn_spec_integration_test.go:164&#xA;Error:      &#x9;Not equal: &#xA;            &#x9;expected: ably.ConnectionState{name:&#34;CONNECTED&#34;}&#xA;            &#x9;actual  : ably.ConnectionState{name:&#34;FAILED&#34;}&#xA;            &#x9;&#xA;            &#x9;Diff:&#xA;            &#x9;--- Expected&#xA;            &#x9;+++ Actual&#xA;            &#x9;@@ -1,3 +1,3 @@&#xA;            &#x9; (ably.ConnectionState) {&#xA;            &#x9;- name: (string) (len=9) &#34;CONNECTED&#34;&#xA;            &#x9;+ name: (string) (len=6) &#34;FAILED&#34;&#xA;            &#x9; }&#xA;Test:       &#x9;Test_RTN4a_ConnectionEventForStateChange/on_DISCONNECTED&#xA;Messages:   &#x9;unexpected FAILED event: [ErrorInfo :account blocked (message limits exceeded) code=40112 account blocked (message limits exceeded) statusCode=401] See https://help.ably.io/error/40112&#xA;running tests:&#xA;&#x9;Test_RTN4a_ConnectionEventForStateChange (1h57m15s)&#xA;&#x9;Test_RTN4a_ConnectionEventForStateChange/on_DISCONNECTED (1h57m15s)&#xA;/opt/hostedtoolcache/go/1.25.11/x64/src/testing/testing.go:2682 +0x605&#xA;/opt/hostedtoolcache/go/1.25.11/x64/src/time/sleep.go:215 +0x45&#xA;/opt/hostedtoolcache/go/1.25.11/x64/src/testing/testing.go:2005 +0x9fe&#xA;/opt/hostedtoolcache/go/1.25.11/x64/src/testing/testing.go:2477 +0x85&#xA;/opt/hostedtoolcache/go/1.25.11/x64/src/testing/testing.go:1934 +0x21d&#xA;/opt/hostedtoolcache/go/1.25.11/x64/src/testing/testing.go:2475 +0x96d&#xA;/opt/hostedtoolcache/go/1.25.11/x64/src/testing/testing.go:2337 +0xed5&#xA;/home/runner/work/ably-go/ably-go/ably/main_integration_test.go:19 +0x2f&#xA;_testmain.go:343 +0x172&#xA;/opt/hostedtoolcache/go/1.25.11/x64/src/testing/testing.go:1708 +0x50c&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_client_integration_test.go:245 +0x2f&#xA;/opt/hostedtoolcache/go/1.25.11/x64/src/testing/testing.go:1934 +0x21d&#xA;/opt/hostedtoolcache/go/1.25.11/x64/src/testing/testing.go:1997 +0x9d3&#xA;/opt/hostedtoolcache/go/1.25.11/x64/src/math/rand/rng.go:226 +0x171&#xA;/opt/hostedtoolcache/go/1.25.11/x64/src/math/rand/rand.go:549 +0x65&#xA;/opt/hostedtoolcache/go/1.25.11/x64/src/math/rand/rand.go:538 +0x45&#xA;/opt/hostedtoolcache/go/1.25.11/x64/src/math/rand/rand.go:87 +0x5b&#xA;/opt/hostedtoolcache/go/1.25.11/x64/src/math/rand/rand.go:411 +0xaf&#xA;/home/runner/work/ably-go/ably-go/ably/internal/ablyutil/strings.go:58 +0x11d&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:394 +0x550&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:299 +0xf3&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:226 +0x228&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:799 +0x263b&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:434 +0xf11&#xA;/opt/hostedtoolcache/go/1.25.11/x64/src/runtime/netpoll.go:351 +0x85&#xA;/opt/hostedtoolcache/go/1.25.11/x64/src/internal/poll/fd_poll_runtime.go:84 +0xb1&#xA;/opt/hostedtoolcache/go/1.25.11/x64/src/internal/poll/fd_poll_runtime.go:89&#xA;/opt/hostedtoolcache/go/1.25.11/x64/src/internal/poll/fd_unix.go:165 +0x453&#xA;/opt/hostedtoolcache/go/1.25.11/x64/src/net/fd_posix.go:68 +0x4b&#xA;/opt/hostedtoolcache/go/1.25.11/x64/src/net/net.go:196 +0xad&#xA;/opt/hostedtoolcache/go/1.25.11/x64/src/net/http/server.go:812 +0x288&#xA;/opt/hostedtoolcache/go/1.25.11/x64/src/bufio/bufio.go:113 +0x2a4&#xA;/opt/hostedtoolcache/go/1.25.11/x64/src/bufio/bufio.go:152 +0xc5&#xA;/opt/hostedtoolcache/go/1.25.11/x64/src/net/http/server.go:2145 +0xffb&#xA;/opt/hostedtoolcache/go/1.25.11/x64/src/net/http/server.go:3493 +0x88a&#xA;/home/runner/work/ably-go/ably-go/ablytest/resultgroup.go:23 +0x6d&#xA;/home/runner/work/ably-go/ably-go/ablytest/resultgroup.go:22 +0x137&#xA;/home/runner/work/ably-go/ably-go/ably/state.go:322 +0x1e5&#xA;/home/runner/work/ably-go/ably-go/ably/state.go:301 +0x3b&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_channel.go:466 +0x8f&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_channel.go:465 +0x3dd&#xA;/opt/hostedtoolcache/go/1.25.11/x64/src/runtime/netpoll.go:351 +0x85&#xA;/opt/hostedtoolcache/go/1.25.11/x64/src/internal/poll/fd_poll_runtime.go:84 +0xb1&#xA;/opt/hostedtoolcache/go/1.25.11/x64/src/internal/poll/fd_poll_runtime.go:89&#xA;/opt/hostedtoolcache/go/1.25.11/x64/src/internal/poll/fd_unix.go:165 +0x453&#xA;/opt/hostedtoolcache/go/1.25.11/x64/src/net/fd_posix.go:68 +0x4b&#xA;/opt/hostedtoolcache/go/1.25.11/x64/src/net/net.go:196 +0xad&#xA;/opt/hostedtoolcache/go/1.25.11/x64/src/net/http/transport.go:2125 +0xf5&#xA;/opt/hostedtoolcache/go/1.25.11/x64/src/bufio/bufio.go:113 +0x2a4&#xA;/opt/hostedtoolcache/go/1.25.11/x64/src/bufio/bufio.go:152 +0xc5&#xA;/opt/hostedtoolcache/go/1.25.11/x64/src/net/http/transport.go:2278 +0x32a&#xA;/opt/hostedtoolcache/go/1.25.11/x64/src/net/http/transport.go:1947 +0x2d52&#xA;/opt/hostedtoolcache/go/1.25.11/x64/src/net/http/transport.go:2600 +0x1b6&#xA;/opt/hostedtoolcache/go/1.25.11/x64/src/net/http/transport.go:1948 +0x2ddd&#xA;/home/runner/work/ably-go/ably-go/ably/ably_test.go:168 +0x1b5&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:1068 +0xa3&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:778 +0x21b&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:434 +0xf11&#xA;/home/runner/work/ably-go/ably-go/ably/transitioner_integration_test.go:48 +0x65&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:137 +0x4e5&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:413 +0x83d&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:299 +0xf3&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:226 +0x228&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:799 +0x263b&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:434 +0xf11&#xA;/home/runner/work/ably-go/ably-go/ablytest/resultgroup.go:119 +0x99&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:576 +0x163&#xA;/home/runner/work/ably-go/ably-go/ably/event_emitter.go:84 +0xbf&#xA;/home/runner/work/ably-go/ably-go/ably/event_emitter.go:65 +0xd0&#xA;/home/runner/work/ably-go/ably-go/ably/event_emitter.go:58 +0x265&#xA;/home/runner/work/ably-go/ably-go/ably/ably_test.go:168 +0x1b5&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:1068 +0xa3&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:778 +0x21b&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:434 +0xf11&#xA;/home/runner/work/ably-go/ably-go/ably/ably_test.go:168 +0x1b5&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:1068 +0xa3&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:778 +0x21b&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:434 +0xf11&#xA;/home/runner/work/ably-go/ably-go/ably/internal/ablyutil/time.go:64 +0x87&#xA;/home/runner/work/ably-go/ably-go/ably/internal/ablyutil/time.go:63 +0x25a&#xA;/opt/hostedtoolcache/go/1.25.11/x64/src/runtime/netpoll.go:351 +0x85&#xA;/opt/hostedtoolcache/go/1.25.11/x64/src/internal/poll/fd_poll_runtime.go:84 +0xb1&#xA;/opt/hostedtoolcache/go/1.25.11/x64/src/internal/poll/fd_poll_runtime.go:89&#xA;/opt/hostedtoolcache/go/1.25.11/x64/src/internal/poll/fd_unix.go:165 +0x453&#xA;/opt/hostedtoolcache/go/1.25.11/x64/src/net/fd_posix.go:68 +0x4b&#xA;/opt/hostedtoolcache/go/1.25.11/x64/src/net/net.go:196 +0xad&#xA;/opt/hostedtoolcache/go/1.25.11/x64/src/net/http/transport.go:2125 +0xf5&#xA;/opt/hostedtoolcache/go/1.25.11/x64/src/bufio/bufio.go:113 +0x2a4&#xA;/opt/hostedtoolcache/go/1.25.11/x64/src/bufio/bufio.go:152 +0xc5&#xA;/opt/hostedtoolcache/go/1.25.11/x64/src/net/http/transport.go:2278 +0x32a&#xA;/opt/hostedtoolcache/go/1.25.11/x64/src/net/http/transport.go:1947 +0x2d52&#xA;/home/runner/work/ably-go/ably-go/ablytest/resultgroup.go:119 +0x99&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:576 +0x163&#xA;/home/runner/work/ably-go/ably-go/ably/event_emitter.go:84 +0xbf&#xA;/home/runner/work/ably-go/ably-go/ably/event_emitter.go:65 +0xd0&#xA;/home/runner/work/ably-go/ably-go/ably/event_emitter.go:58 +0x265&#xA;/opt/hostedtoolcache/go/1.25.11/x64/src/net/http/transport.go:2600 +0x1b6&#xA;/opt/hostedtoolcache/go/1.25.11/x64/src/net/http/transport.go:1948 +0x2ddd&#xA;/opt/hostedtoolcache/go/1.25.11/x64/src/runtime/netpoll.go:351 +0x85&#xA;/opt/hostedtoolcache/go/1.25.11/x64/src/internal/poll/fd_poll_runtime.go:84 +0xb1&#xA;/opt/hostedtoolcache/go/1.25.11/x64/src/internal/poll/fd_poll_runtime.go:89&#xA;/opt/hostedtoolcache/go/1.25.11/x64/src/internal/poll/fd_unix.go:165 +0x453&#xA;/opt/hostedtoolcache/go/1.25.11/x64/src/net/fd_posix.go:68 +0x4b&#xA;/opt/hostedtoolcache/go/1.25.11/x64/src/net/net.go:196 +0xad&#xA;/opt/hostedtoolcache/go/1.25.11/x64/src/net/http/server.go:812 +0x288&#xA;/opt/hostedtoolcache/go/1.25.11/x64/src/bufio/bufio.go:113 +0x2a4&#xA;/opt/hostedtoolcache/go/1.25.11/x64/src/bufio/bufio.go:152 +0xc5&#xA;/opt/hostedtoolcache/go/1.25.11/x64/src/net/http/server.go:2145 +0xffb&#xA;/opt/hostedtoolcache/go/1.25.11/x64/src/net/http/server.go:3493 +0x88a&#xA;/home/runner/work/ably-go/ably-go/ably/ably_test.go:168 +0x1b5&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:1068 +0xa3&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:778 +0x21b&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:434 +0xf11&#xA;/home/runner/work/ably-go/ably-go/ablytest/resultgroup.go:119 +0x99&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:576 +0x163&#xA;/home/runner/work/ably-go/ably-go/ably/event_emitter.go:84 +0xbf&#xA;/home/runner/work/ably-go/ably-go/ably/event_emitter.go:65 +0xd0&#xA;/home/runner/work/ably-go/ably-go/ably/event_emitter.go:58 +0x265&#xA;/home/runner/work/ably-go/ably-go/ably/ably_test.go:168 +0x1b5&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:1068 +0xa3&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:778 +0x21b&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:434 +0xf11&#xA;/home/runner/work/ably-go/ably-go/ably/transitioner_integration_test.go:48 +0x65&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:137 +0x4e5&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:413 +0x83d&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:299 +0xf3&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:226 +0x228&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:914 +0x1ee5&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:434 +0xf11&#xA;/home/runner/work/ably-go/ably-go/ablytest/resultgroup.go:119 +0x99&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:576 +0x163&#xA;/home/runner/work/ably-go/ably-go/ably/event_emitter.go:84 +0xbf&#xA;/home/runner/work/ably-go/ably-go/ably/event_emitter.go:65 +0xd0&#xA;/home/runner/work/ably-go/ably-go/ably/event_emitter.go:58 +0x265&#xA;/home/runner/work/ably-go/ably-go/ablytest/ablytest.go:232 +0x38c&#xA;/home/runner/work/ably-go/ably-go/ablytest/ablytest.go:219 +0x22d&#xA;/home/runner/work/ably-go/ably-go/ably/ably_test.go:168 +0x1b5&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:1068 +0xa3&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:778 +0x21b&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:434 +0xf11&#xA;/home/runner/work/ably-go/ably-go/ably/transitioner_integration_test.go:48 +0x65&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:137 +0x4e5&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:413 +0x83d&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:299 +0xf3&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:226 +0x228&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:799 +0x263b&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:434 +0xf11&#xA;/home/runner/go/pkg/mod/github.com/coder/websocket@v1.8.12/conn.go:174 +0x2ac&#xA;/home/runner/go/pkg/mod/github.com/coder/websocket@v1.8.12/conn.go:136 +0xbfa&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_channel.go:1247 +0x20c&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_channel.go:1238 +0x68&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_channel.go:1236 +0x1fa&#xA;/home/runner/work/ably-go/ably-go/ablytest/resultgroup.go:119 +0x99&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:576 +0x163&#xA;/home/runner/work/ably-go/ably-go/ably/event_emitter.go:84 +0xbf&#xA;/home/runner/work/ably-go/ably-go/ably/event_emitter.go:65 +0xd0&#xA;/home/runner/work/ably-go/ably-go/ably/event_emitter.go:58 +0x265&#xA;/home/runner/work/ably-go/ably-go/ably/ably_test.go:168 +0x1b5&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:1068 +0xa3&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:778 +0x21b&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:434 +0xf11&#xA;/home/runner/work/ably-go/ably-go/ablytest/resultgroup.go:119 +0x99&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:576 +0x163&#xA;/home/runner/work/ably-go/ably-go/ably/event_emitter.go:84 +0xbf&#xA;/home/runner/work/ably-go/ably-go/ably/event_emitter.go:65 +0xd0&#xA;/home/runner/work/ably-go/ably-go/ably/event_emitter.go:58 +0x265&#xA;/home/runner/work/ably-go/ably-go/ablytest/ablytest.go:232 +0x38c&#xA;/home/runner/work/ably-go/ably-go/ablytest/ablytest.go:219 +0x22d&#xA;/home/runner/work/ably-go/ably-go/ably/ably_test.go:168 +0x1b5&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:1068 +0xa3&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:778 +0x21b&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:434 +0xf11&#xA;/home/runner/work/ably-go/ably-go/ably/internal/ablyutil/time.go:64 +0x87&#xA;/home/runner/work/ably-go/ably-go/ably/internal/ablyutil/time.go:63 +0x25a&#xA;/home/runner/work/ably-go/ably-go/ably/internal/ablyutil/time.go:64 +0x87&#xA;/home/runner/work/ably-go/ably-go/ably/internal/ablyutil/time.go:63 +0x25a&#xA;/home/runner/work/ably-go/ably-go/ably/ably_test.go:168 +0x1b5&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:1068 +0xa3&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:778 +0x21b&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:434 +0xf11&#xA;/home/runner/work/ably-go/ably-go/ably/ably_test.go:168 +0x1b5&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:1068 +0xa3&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:778 +0x21b&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:434 +0xf11&#xA;/home/runner/work/ably-go/ably-go/ablytest/ablytest.go:232 +0x38c&#xA;/home/runner/work/ably-go/ably-go/ablytest/ablytest.go:219 +0x22d&#xA;/home/runner/work/ably-go/ably-go/ably/internal/ablyutil/time.go:64 +0x87&#xA;/home/runner/work/ably-go/ably-go/ably/internal/ablyutil/time.go:63 +0x25a&#xA;/home/runner/work/ably-go/ably-go/ably/ably_test.go:168 +0x1b5&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:1068 +0xa3&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:778 +0x21b&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:434 +0xf11&#xA;/home/runner/work/ably-go/ably-go/ably/ably_test.go:168 +0x1b5&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:1068 +0xa3&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:778 +0x21b&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:434 +0xf11&#xA;/home/runner/work/ably-go/ably-go/ably/state.go:322 +0x1e5&#xA;/home/runner/work/ably-go/ably-go/ably/state.go:301 +0x3b&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_channel.go:1115 +0x66&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_channel.go:1111 +0x18ab&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_channel.go:473 +0x479&#xA;/home/runner/work/ably-go/ably-go/ably/transitioner_integration_test.go:453 +0x4f&#xA;/home/runner/work/ably-go/ably-go/ably/transitioner_integration_test.go:532 +0x34&#xA;/home/runner/work/ably-go/ably-go/ably/transitioner_integration_test.go:531 +0xdd&#xA;/home/runner/work/ably-go/ably-go/ably/transitioner_integration_test.go:48 +0x65&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:137 +0x4e5&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:413 +0x83d&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:299 +0xf3&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:226 +0x228&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:799 +0x263b&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:434 +0xf11&#xA;/home/runner/work/ably-go/ably-go/ably/ably_test.go:168 +0x1b5&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:1068 +0xa3&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:778 +0x21b&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:434 +0xf11&#xA;/home/runner/work/ably-go/ably-go/ablytest/resultgroup.go:23 +0x6d&#xA;/home/runner/work/ably-go/ably-go/ablytest/resultgroup.go:22 +0x137&#xA;/home/runner/work/ably-go/ably-go/ably/ably_test.go:168 +0x1b5&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:1068 +0xa3&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:778 +0x21b&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:434 +0xf11&#xA;/home/runner/work/ably-go/ably-go/ably/transitioner_integration_test.go:48 +0x65&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:137 +0x4e5&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:413 +0x83d&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:299 +0xf3&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:226 +0x228&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:799 +0x263b&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:434 +0xf11&#xA;/home/runner/work/ably-go/ably-go/ably/ably_test.go:168 +0x1b5&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:1068 +0xa3&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:778 +0x21b&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:434 +0xf11&#xA;/home/runner/work/ably-go/ably-go/ablytest/ablytest.go:232 +0x38c&#xA;/home/runner/work/ably-go/ably-go/ablytest/ablytest.go:219 +0x22d&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_channel.go:473 +0x479&#xA;/home/runner/work/ably-go/ably-go/ably/transitioner_integration_test.go:453 +0x4f&#xA;/home/runner/work/ably-go/ably-go/ably/transitioner_integration_test.go:532 +0x34&#xA;/home/runner/work/ably-go/ably-go/ably/transitioner_integration_test.go:531 +0xdd&#xA;/home/runner/work/ably-go/ably-go/ably/ably_test.go:168 +0x1b5&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:1068 +0xa3&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:778 +0x21b&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:434 +0xf11&#xA;/opt/hostedtoolcache/go/1.25.11/x64/src/testing/testing.go:2005 +0x9fe&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn_spec_integration_test.go:154 +0x25f&#xA;/opt/hostedtoolcache/go/1.25.11/x64/src/testing/testing.go:1934 +0x21d&#xA;/opt/hostedtoolcache/go/1.25.11/x64/src/testing/testing.go:1997 +0x9d3&#xA;/home/runner/work/ably-go/ably-go/ably/transitioner_integration_test.go:48 +0x65&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:137 +0x4e5&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:413 +0x83d&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:299 +0xf3&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:226 +0x228&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:799 +0x263b&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:434 +0xf11&#xA;/home/runner/work/ably-go/ably-go/ably/transitioner_integration_test.go:48 +0x65&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:137 +0x4e5&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:413 +0x83d&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:299 +0xf3&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:226 +0x228&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:799 +0x263b&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:434 +0xf11&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_channel.go:1247 +0x20c&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_channel.go:1238 +0x68&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_channel.go:1236 +0x1fa&#xA;/home/runner/work/ably-go/ably-go/ably/transitioner_integration_test.go:48 +0x65&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:137 +0x4e5&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:413 +0x83d&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:299 +0xf3&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:226 +0x228&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:914 +0x1ee5&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:434 +0xf11&#xA;/home/runner/work/ably-go/ably-go/ably/internal/ablyutil/time.go:64 +0x87&#xA;/home/runner/work/ably-go/ably-go/ably/internal/ablyutil/time.go:63 +0x25a&#xA;/home/runner/work/ably-go/ably-go/ably/internal/ablyutil/time.go:64 +0x87&#xA;/home/runner/work/ably-go/ably-go/ably/internal/ablyutil/time.go:63 +0x25a&#xA;/home/runner/work/ably-go/ably-go/ably/state.go:322 +0x1e5&#xA;/home/runner/work/ably-go/ably-go/ably/state.go:301 +0x3b&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_channel.go:466 +0x8f&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_channel.go:465 +0x3dd&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_channel.go:1247 +0x20c&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_channel.go:1238 +0x68&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_channel.go:1236 +0x1fa&#xA;/home/runner/work/ably-go/ably-go/ablytest/ablytest.go:232 +0x38c&#xA;/home/runner/work/ably-go/ably-go/ablytest/ablytest.go:219 +0x22d&#xA;/home/runner/work/ably-go/ably-go/ably/internal/ablyutil/time.go:64 +0x87&#xA;/home/runner/work/ably-go/ably-go/ably/internal/ablyutil/time.go:63 +0x25a&#xA;/home/runner/work/ably-go/ably-go/ably/ably_test.go:168 +0x1b5&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:1068 +0xa3&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:778 +0x21b&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:434 +0xf11&#xA;/home/runner/work/ably-go/ably-go/ably/ably_test.go:168 +0x1b5&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:1068 +0xa3&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:778 +0x21b&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:434 +0xf11&#xA;/home/runner/go/pkg/mod/github.com/coder/websocket@v1.8.12/conn.go:174 +0x2ac&#xA;/home/runner/go/pkg/mod/github.com/coder/websocket@v1.8.12/conn.go:136 +0xbfa&#xA;/home/runner/work/ably-go/ably-go/ably/ably_test.go:168 +0x1b5&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:1068 +0xa3&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:778 +0x21b&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:434 +0xf11&#xA;/home/runner/work/ably-go/ably-go/ablytest/resultgroup.go:119 +0x99&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:576 +0x163&#xA;/home/runner/work/ably-go/ably-go/ably/event_emitter.go:84 +0xbf&#xA;/home/runner/work/ably-go/ably-go/ably/event_emitter.go:65 +0xd0&#xA;/home/runner/work/ably-go/ably-go/ably/event_emitter.go:58 +0x265&#xA;/home/runner/work/ably-go/ably-go/ably/ably_test.go:168 +0x1b5&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:1068 +0xa3&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:778 +0x21b&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:434 +0xf11&#xA;/home/runner/work/ably-go/ably-go/ably/transitioner_integration_test.go:48 +0x65&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:137 +0x4e5&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:413 +0x83d&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:299 +0xf3&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:226 +0x228&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:914 +0x1ee5&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:434 +0xf11&#xA;/home/runner/go/pkg/mod/github.com/coder/websocket@v1.8.12/conn.go:174 +0x2ac&#xA;/home/runner/go/pkg/mod/github.com/coder/websocket@v1.8.12/conn.go:136 +0xbfa&#xA;/home/runner/work/ably-go/ably-go/ably/ably_test.go:168 +0x1b5&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:1068 +0xa3&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:778 +0x21b&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:434 +0xf11&#xA;/home/runner/work/ably-go/ably-go/ablytest/resultgroup.go:119 +0x99&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:576 +0x163&#xA;/home/runner/work/ably-go/ably-go/ably/event_emitter.go:84 +0xbf&#xA;/home/runner/work/ably-go/ably-go/ably/event_emitter.go:65 +0xd0&#xA;/home/runner/work/ably-go/ably-go/ably/event_emitter.go:58 +0x265&#xA;/home/runner/work/ably-go/ably-go/ably/ably_test.go:168 +0x1b5&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:1068 +0xa3&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:778 +0x21b&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:434 +0xf11&#xA;/home/runner/work/ably-go/ably-go/ably/ably_test.go:168 +0x1b5&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:1068 +0xa3&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:778 +0x21b&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:434 +0xf11&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn_integration_test.go:347 +0x5c&#xA;/home/runner/work/ably-go/ably-go/ably/ably_test.go:108&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:1089 +0x84&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:948 +0x5cc&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:841 +0x242f&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:434 +0xf11&#xA;/home/runner/work/ably-go/ably-go/ably/ably_test.go:168 +0x1b5&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:1068 +0xa3&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:778 +0x21b&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:434 +0xf11&#xA;/home/runner/work/ably-go/ably-go/ably/ably_test.go:168 +0x1b5&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:1068 +0xa3&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:778 +0x21b&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:434 +0xf11&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn_integration_test.go:225 +0x45&#xA;/home/runner/work/ably-go/ably-go/ably/ably_test.go:108&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:1089 +0x84&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:925 +0x1525&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:434 +0xf11&#xA;/home/runner/go/pkg/mod/github.com/coder/websocket@v1.8.12/conn.go:174 +0x2ac&#xA;/home/runner/go/pkg/mod/github.com/coder/websocket@v1.8.12/conn.go:136 +0xbfa&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn_integration_test.go:347 +0x5c&#xA;/home/runner/work/ably-go/ably-go/ably/ably_test.go:108&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:1089 +0x84&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:741 +0x13a&#xA;/home/runner/work/ably-go/ably-go/ably/ably_test.go:168 +0x1b5&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:1068 +0xa3&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:778 +0x21b&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:434 +0xf11&#xA;/home/runner/work/ably-go/ably-go/ably/ably_test.go:168 +0x1b5&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:1068 +0xa3&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:778 +0x21b&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:434 +0xf11&#xA;/home/runner/work/ably-go/ably-go/ably/ably_test.go:168 +0x1b5&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:1068 +0xa3&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:778 +0x21b&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:434 +0xf11&#xA;/home/runner/work/ably-go/ably-go/ably/ably_test.go:168 +0x1b5&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:1068 +0xa3&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:778 +0x21b&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn.go:434 +0xf11&#xA;/home/runner/work/ably-go/ably-go/ably/ably_test.go:405 +0x65&#xA;/home/runner/work/ably-go/ably-go/ably/realtime_conn_spec_integration_test.go:173 +0x577&#xA;/opt/hostedtoolcache/go/1.25.11/x64/src/testing/testing.go:1934 +0x21d&#xA;/opt/hostedtoolcache/go/1.25.11/x64/src/testing/testing.go:1997 +0x9d3</failure>
		</testcase>
	</testsuite>
	<testsuite tests="8" failures="0" time="1.011" name="github.com/ably/ably-go/ably/internal/ablyutil">
		<properties>
			<property name="go.version" value="go1.25.11"></property>
		</properties>
		<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>
</testsuites>
