<testsuites tests="524" failures="219">
    <testsuite name="AblyTests" tests="524" failures="219" skipped="0" time="392.1868464946747">
        <properties>
          <property name="Configuration" value="Test Scheme Action"/>
        </properties>
        <testcase classname="ARTDefaultTests" name="testVersions()" time="0.0027480125427246094">
        </testcase>
        <testcase classname="AttachRetryStateTests" name="test_addRetryAttempt()" time="0.0008970499038696289">
        </testcase>
        <testcase classname="AttachRetryStateTests" name="test_transitionToAttachingOrSuspendedStateDoesNotResetRetrySequence()" time="0.0006270408630371094">
        </testcase>
        <testcase classname="AttachRetryStateTests" name="test_transitionToNonAttachingOrSuspendedStateResetsRetrySequence()" time="0.0011969804763793945">
        </testcase>
        <testcase classname="AuthTests" name="test__001__should_not_force_token_auth_when_clientId_is_set()" time="3.885465979576111">
        </testcase>
        <testcase classname="AuthTests" name="test__002__should_accept_authURL_response_with_timestamp_argument_as_string()" time="0.47535407543182373">
            <failure message="XCTAssertNil failed: &quot;Error -1002 - unsupported URL (reason: NSURLErrorDomain)&quot; (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/AuthTests.swift#EndingLineNumber=4531&amp;StartingLineNumber=4531)">
            </failure>
        </testcase>
        <testcase classname="AuthTests" name="test__004__Basic__should_send_the_API_key_in_the_Authorization_header()" time="0.10002899169921875">
        </testcase>
        <testcase classname="AuthTests" name="test__005__Basic__should_be_default_when_an_API_key_is_set()" time="0.0021550655364990234">
        </testcase>
        <testcase classname="AuthTests" name="test__006__Token__TTL_should_default_to_be_omitted()" time="0.0004820823669433594">
        </testcase>
        <testcase classname="AuthTests" name="test__007__Token__should_URL_query_be_correctly_encoded()" time="0.004119992256164551">
            <failure message="failed - expected to param &lt;capability=%7B%22*%22:%5B%22*%22%5D%7D&gt; exists, got &lt;capability=%7B%22*%22:%5B%22*%22%5D%7D&amp;timestamp=1475965860000&amp;format=msgpack&gt;
 (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/AuthTests.swift#EndingLineNumber=1061&amp;StartingLineNumber=1061)">
            </failure>
        </testcase>
        <testcase classname="AuthTests" name="test__008__Token__should_omit_capability_field_if_it_is_not_specified()" time="0.09077095985412598">
        </testcase>
        <testcase classname="AuthTests" name="test__009__Token__should_add_capability_field_if_the_user_specifies_it()" time="0.12605595588684082">
        </testcase>
        <testcase classname="AuthTests" name="test__010__Token__token_auth__should_work_over_HTTP()" time="0.15373706817626953">
        </testcase>
        <testcase classname="AuthTests" name="test__011__Token__token_auth__should_work_over_HTTPS()" time="0.18209302425384521">
        </testcase>
        <testcase classname="AuthTests" name="test__012__Token__token_auth__for_REST_requests__should_send_the_token_in_the_Authorization_header()" time="0.1887270212173462">
        </testcase>
        <testcase classname="AuthTests" name="test__013__Token__token_auth__for_Realtime_connections__should_send_the_token_in_the_querystring_as_a_param_named_accessToken()" time="0.08716905117034912">
            <failure message="failed - expected to param &lt;accessToken=_tmp_4mkdyQ.Dcp3z913TNGO-LdH9s9lPe97czwLQ40dE33O7Hk7jPNj1RXI_79T3yySCNsNL-c0T3DiZFD7dbENgiRXKqZUAlU96a9gCxjXksHqu8q7CwB_wP5IdUBF5Dron_jbsgcCQ&gt; exists, got &lt;format=msgpack&amp;echo=true&amp;agent=ably-cocoa/1.2.44%20macOS/15.6.0&amp;v=2&amp;accessToken=_tmp_4mkdyQ.Dcp3z913TNGO-LdH9s9lPe97czwLQ40dE33O7Hk7jPNj1RXI_79T3yySCNsNL-c0T3DiZFD7dbENgiRXKqZUAlU96a9gCxjXksHqu8q7CwB_wP5IdUBF5Dron_jbsgcCQ&gt;
 (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/AuthTests.swift#EndingLineNumber=206&amp;StartingLineNumber=206)">
            </failure>
        </testcase>
        <testcase classname="AuthTests" name="test__014__Token__authentication_method__should_be_default_auth_method_when_options__useTokenAuth_is_set()" time="0.0008929967880249023">
        </testcase>
        <testcase classname="AuthTests" name="test__015__Token__authentication_method__should_be_default_auth_method_when_options__authUrl_is_set()" time="0.0007139444351196289">
        </testcase>
        <testcase classname="AuthTests" name="test__016__Token__authentication_method__should_be_default_auth_method_when_options__authCallback_is_set()" time="0.0010570287704467773">
        </testcase>
        <testcase classname="AuthTests" name="test__017__Token__authentication_method__should_be_default_auth_method_when_options__tokenDetails_is_set()" time="0.0005509853363037109">
        </testcase>
        <testcase classname="AuthTests" name="test__018__Token__authentication_method__should_be_default_auth_method_when_options__token_is_set()" time="0.0012019872665405273">
        </testcase>
        <testcase classname="AuthTests" name="test__019__Token__authentication_method__should_be_default_auth_method_when_options__key_is_set()" time="0.0005319118499755859">
        </testcase>
        <testcase classname="AuthTests" name="test__020__Token__authentication_method__should_indicate_an_error_and_not_retry_the_request_when_the_server_responds_with_a_token_error_and_there_is_no_way_to_renew_the_token()" time="0.09352493286132812">
        </testcase>
        <testcase classname="AuthTests" name="test__021__Token__authentication_method__should_transition_the_connection_to_the_FAILED_state_when_the_server_responds_with_a_token_error_and_there_is_no_way_to_renew_the_token()" time="2.414407968521118">
        </testcase>
        <testcase classname="AuthTests" name="test__022__Token__authentication_method__on_token_error__reissues_token_and_retries_REST_requests()" time="0.23135197162628174">
        </testcase>
        <testcase classname="AuthTests" name="test__023__Token__authentication_method__in_REST__if_the_token_creation_failed_or_the_subsequent_request_with_the_new_token_failed_due_to_a_token_error__then_the_request_should_result_in_an_error()" time="0.0017850399017333984">
        </testcase>
        <testcase classname="AuthTests" name="test__024__Token__authentication_method__in_Realtime__if_the_token_creation_failed_then_the_connection_should_move_to_the_DISCONNECTED_state_and_reports_the_error()" time="0.0019960403442382812">
        </testcase>
        <testcase classname="AuthTests" name="test__025__Token__authentication_method__in_Realtime__if_the_connection_fails_due_to_a_terminal_token_error__then_the_connection_should_move_to_the_FAILED_state_and_reports_the_error()" time="0.2949349880218506">
        </testcase>
        <testcase classname="AuthTests" name="test__026__Token__authentication_method__if_a_request_by_a_realtime_client_to_an_authUrl_results_in_an_HTTP_403_the_client_library_should_transition_to_the_FAILED_state()" time="20.119758009910583">
            <failure message="failed - Waited more than 20.0 seconds
 (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/AuthTests.swift#EndingLineNumber=532&amp;StartingLineNumber=532)">
            </failure>
        </testcase>
        <testcase classname="AuthTests" name="test__027__Token__authentication_method__if_an_authCallback_results_in_an_HTTP_403_the_client_library_should_transition_to_the_FAILED_state()" time="0.003103017807006836">
        </testcase>
        <testcase classname="AuthTests" name="test__028__Token__authentication_method__local_token_validity_check__should_be_done_if_queryTime_is_true_and_local_time_is_in_sync_with_server()" time="5.642844915390015">
        </testcase>
        <testcase classname="AuthTests" name="test__029__Token__authentication_method__local_token_validity_check__should_NOT_be_done_if_queryTime_is_false_and_local_time_is_NOT_in_sync_with_server()" time="5.231124043464661">
        </testcase>
        <testcase classname="AuthTests" name="test__032__Token__options__if_an_attempt_by_the_realtime_client_library_to_authenticate_is_made_using_the_authUrl_or_authCallback__the_request_to_authUrl_fails__if_the_connection_is_CONNECTING__then_the_connection_attempt_should_be_treated_as_unsuccessful()" time="0.0048980712890625">
            <failure message="XCTUnwrap failed: expected non-nil value of type &quot;ARTErrorInfo&quot; - ErrorInfo is empty (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/AuthTests.swift#EndingLineNumber=601&amp;StartingLineNumber=601)">
            </failure>
        </testcase>
        <testcase classname="AuthTests" name="test__033__Token__options__if_an_attempt_by_the_realtime_client_library_to_authenticate_is_made_using_the_authUrl_or_authCallback__the_request_to_authUrl_fails__if_the_connection_is_CONNECTED__then_the_connection_should_remain_CONNECTED()" time="20.089010000228882">
            <failure message="failed - Waited more than 20.0 seconds
 (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/AuthTests.swift#EndingLineNumber=620&amp;StartingLineNumber=620)">
            </failure>
        </testcase>
        <testcase classname="AuthTests" name="test__034__Token__options__if_an_attempt_by_the_realtime_client_library_to_authenticate_is_made_using_the_authUrl_or_authCallback__the_request_to_authCallback_fails__if_the_connection_is_CONNECTING__then_the_connection_attempt_should_be_treated_as_unsuccessful()" time="0.015285015106201172">
        </testcase>
        <testcase classname="AuthTests" name="test__035__Token__options__if_an_attempt_by_the_realtime_client_library_to_authenticate_is_made_using_the_authUrl_or_authCallback__the_request_to_authCallback_fails__if_the_connection_is_CONNECTED__then_the_connection_should_remain_CONNECTED()" time="0.34477508068084717">
        </testcase>
        <testcase classname="AuthTests" name="test__036__Token__options__if_an_attempt_by_the_realtime_client_library_to_authenticate_is_made_using_the_authUrl_or_authCallback__the_provided_token_is_in_an_invalid_format__if_the_connection_is_CONNECTING__then_the_connection_attempt_should_be_treated_as_unsuccessful()" time="0.005148053169250488">
            <failure message="XCTUnwrap failed: expected non-nil value of type &quot;ARTErrorInfo&quot; - ErrorInfo is empty (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/AuthTests.swift#EndingLineNumber=739&amp;StartingLineNumber=739)">
            </failure>
        </testcase>
        <testcase classname="AuthTests" name="test__037__Token__options__if_an_attempt_by_the_realtime_client_library_to_authenticate_is_made_using_the_authUrl_or_authCallback__the_provided_token_is_in_an_invalid_format__if_the_connection_is_CONNECTED__then_the_connection_should_remain_CONNECTED()" time="20.08966302871704">
            <failure message="failed - Waited more than 20.0 seconds
 (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/AuthTests.swift#EndingLineNumber=761&amp;StartingLineNumber=761)">
            </failure>
        </testcase>
        <testcase classname="AuthTests" name="test__038__Token__options__if_an_attempt_by_the_realtime_client_library_to_authenticate_is_made_using_the_authUrl_or_authCallback__the_attempt_times_out_after_realtimeRequestTimeout__if_the_connection_is_CONNECTING__then_the_connection_attempt_should_be_treated_as_unsuccessful()" time="0.5224609375">
        </testcase>
        <testcase classname="AuthTests" name="test__039__Token__options__if_an_attempt_by_the_realtime_client_library_to_authenticate_is_made_using_the_authUrl_or_authCallback__the_attempt_times_out_after_realtimeRequestTimeout__if_the_connection_is_CONNECTED__then_the_connection_should_remain_CONNECTED()" time="1.7590949535369873">
        </testcase>
        <testcase classname="AuthTests" name="test__040__Token__token_auth_and_clientId__should_permit_to_be_unauthenticated()" time="0.15488600730895996">
        </testcase>
        <testcase classname="AuthTests" name="test__041__Token__token_auth_and_clientId__should_check_clientId_consistency__on_rest()" time="0.0742039680480957">
        </testcase>
        <testcase classname="AuthTests" name="test__042__Token__token_auth_and_clientId__should_check_clientId_consistency__on_realtime()" time="0.0">
            <failure message="Crash: xctest (14358) ARTChannel.options.getter. libdispatch.dylib: BUG IN CLIENT OF LIBDISPATCH: dispatch_sync called on queue already owned by current thread, Abort Cause 27021769562915074">
            </failure>
        </testcase>
        <testcase classname="AuthTests" name="test__044__Token__token_auth_and_clientId__Incompatible_client__with_Realtime__it_should_change_the_connection_state_to_FAILED_and_emit_an_error()" time="4.450697064399719">
        </testcase>
        <testcase classname="AuthTests" name="test__045__Token__token_auth_and_clientId__Incompatible_client__with_Rest__it_should_result_in_an_appropriate_error_response()" time="0.08111202716827393">
        </testcase>
        <testcase classname="AuthTests" name="test__046__Token__clientId_and_authenticated_clients__should_not_pass_clientId_with_published_message()" time="0.10732495784759521">
        </testcase>
        <testcase classname="AuthTests" name="test__047__Token__clientId_and_authenticated_clients__should_obtain_a_token_if_clientId_is_assigned()" time="0.0836249589920044">
        </testcase>
        <testcase classname="AuthTests" name="test__048__Token__clientId_and_authenticated_clients__should_convenience_clientId_return_a_string()" time="0.0007519721984863281">
        </testcase>
        <testcase classname="AuthTests" name="test__049__Token__clientId_and_authenticated_clients__ClientOptions_clientId_takes_precendence_when_a_clientId_value_is_provided_in_both_ClientOptions_clientId_and_ClientOptions_defaultTokenParams()" time="0.25317203998565674">
        </testcase>
        <testcase classname="AuthTests" name="test__051__Token__clientId_and_authenticated_clients__Auth_clientId_attribute_is_null__identity_should_be_anonymous_for_all_operations()" time="0.19249093532562256">
        </testcase>
        <testcase classname="AuthTests" name="test__052__Token__clientId_and_authenticated_clients__Auth_clientId_attribute_is_null__identity_may_change_and_become_identified()" time="0.26392805576324463">
        </testcase>
        <testcase classname="AuthTests" name="test__053__Token__clientId_and_authenticated_clients__auth_clientId_not_null__when_clientId_attribute_is_assigned_on_client_options()" time="0.0007721185684204102">
        </testcase>
        <testcase classname="AuthTests" name="test__054__Token__clientId_and_authenticated_clients__auth_clientId_not_null__when_tokenRequest_or_tokenDetails_has_clientId_not_null_or_wildcard_string()" time="0.08988690376281738">
        </testcase>
        <testcase classname="AuthTests" name="test__055__Token__clientId_and_authenticated_clients__auth_clientId_not_null__should_CONNECTED_ProtocolMessages_contain_a_clientId()" time="0.27428698539733887">
        </testcase>
        <testcase classname="AuthTests" name="test__056__Token__clientId_and_authenticated_clients__auth_clientId_not_null__client_does_not_have_an_identity_when_a_wildcard_string_____is_present()" time="0.25289595127105713">
        </testcase>
        <testcase classname="AuthTests" name="test__058__requestToken__ensure_the_message_published_does_not_have_a_clientId()" time="0.2548409700393677">
        </testcase>
        <testcase classname="AuthTests" name="test__059__requestToken__ensure_that_the_message_is_rejected()" time="0.141402006149292">
        </testcase>
        <testcase classname="AuthTests" name="test__060__requestToken__ensure_the_message_published_with_a_wildcard_____does_not_have_a_clientId()" time="0.2473980188369751">
        </testcase>
        <testcase classname="AuthTests" name="test__061__requestToken__ensure_the_message_published_with_a_wildcard_____has_the_provided_clientId()" time="0.2388080358505249">
        </testcase>
        <testcase classname="AuthTests" name="test__062__requestToken__arguments__should_not_merge_with_the_configured_params_and_options_but_instead_replace_all_corresponding_values__even_when__null_()" time="0.15195894241333008">
        </testcase>
        <testcase classname="AuthTests" name="test__063__requestToken__arguments__should_use_configured_defaults_if_the_object_arguments_are_omitted()" time="0.22176897525787354">
        </testcase>
        <testcase classname="AuthTests" name="test__064__requestToken__authUrl__query_will_provide_a_token_string()" time="0.6169819831848145">
            <failure message="XCTAssertEqual failed: (&quot;nil&quot;) is not equal to (&quot;Optional(&quot;echo.ably.io&quot;)&quot;) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/AuthTests.swift#EndingLineNumber=1503&amp;StartingLineNumber=1503)">
            </failure>
        </testcase>
        <testcase classname="AuthTests" name="test__065__requestToken__authUrl__query_will_provide_a_TokenDetails()" time="0.08017289638519287">
            <failure message="XCTUnwrap failed: throwing &quot;NSInvalidArgumentException: *** +[NSJSONSerialization dataWithJSONObject:options:error:]: Invalid top-level type in JSON write&quot; - Invalid TokenDetails (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/AuthTests.swift#EndingLineNumber=1515&amp;StartingLineNumber=1515)">
            </failure>
        </testcase>
        <testcase classname="AuthTests" name="test__066__requestToken__authUrl__query_will_provide_a_TokenRequest()" time="0.0017709732055664062">
            <failure message="XCTUnwrap failed: throwing &quot;NSInvalidArgumentException: *** +[NSJSONSerialization dataWithJSONObject:options:error:]: Invalid top-level type in JSON write&quot; - Invalid TokenRequest (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/AuthTests.swift#EndingLineNumber=1571&amp;StartingLineNumber=1571)">
            </failure>
        </testcase>
        <testcase classname="AuthTests" name="test__067__requestToken__authUrl__TokenParams_should_take_precedence_over_any_configured_authParams_when_a_name_conflict_occurs()" time="0.0">
            <failure message="Crash: xctest (17541) closure #1 in closure #2 in AuthTests.test__067__requestToken__authUrl__TokenParams_should_take_precedence_over_any_configured_authParams_when_a_name_conflict_occurs()">
            </failure>
        </testcase>
        <testcase classname="AuthTests" name="test__068__requestToken__authUrl__should_override_previously_configured_parameters()" time="0.0073920488357543945">
        </testcase>
        <testcase classname="AuthTests" name="test__069__requestToken__authUrl__parameters__should_be_added_to_the_URL_when_auth_method_is_GET()" time="0.003426074981689453">
        </testcase>
        <testcase classname="AuthTests" name="test__070__requestToken__authUrl__parameters__should_added_on_the_body_request_when_auth_method_is_POST()" time="0.0011479854583740234">
        </testcase>
        <testcase classname="AuthTests" name="test__071__requestToken__should_support_all_TokenParams__using_defaults()" time="3.7904380559921265">
        </testcase>
        <testcase classname="AuthTests" name="test__072__requestToken__should_support_all_TokenParams__overriding_defaults()" time="0.08878004550933838">
        </testcase>
        <testcase classname="AuthTests" name="test__073__requestToken__When_authCallback_option_is_set__it_will_invoke_the_callback__with_a_token_string()" time="0.0018500089645385742">
        </testcase>
        <testcase classname="AuthTests" name="test__074__requestToken__When_authCallback_option_is_set__it_will_invoke_the_callback__with_a_TokenDetails()" time="0.001757979393005371">
        </testcase>
        <testcase classname="AuthTests" name="test__075__requestToken__When_authCallback_option_is_set__it_will_invoke_the_callback__with_a_TokenRequest()" time="0.6808629035949707">
            <failure message="XCTAssertTrue failed (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/AuthTests.swift#EndingLineNumber=1863&amp;StartingLineNumber=1863)">
            </failure>
        </testcase>
        <testcase classname="AuthTests" name="test__077__createTokenRequest__should_override_defaults_if_AuthOptions_provided()" time="0.10536110401153564">
        </testcase>
        <testcase classname="AuthTests" name="test__078__createTokenRequest__should_use_defaults_if_no_AuthOptions_is_provided()" time="0.08434903621673584">
        </testcase>
        <testcase classname="AuthTests" name="test__079__createTokenRequest__should_replace_defaults_if__nil__option_s_field_passed()" time="0.005476951599121094">
        </testcase>
        <testcase classname="AuthTests" name="test__081__createTokenRequest__should_create_and_sign_a_TokenRequest()" time="0.004994034767150879">
        </testcase>
        <testcase classname="AuthTests" name="test__082__createTokenRequest__should_support_AuthOptions()" time="0.002933979034423828">
        </testcase>
        <testcase classname="AuthTests" name="test__083__createTokenRequest__should_generate_a_unique_16_plus_character_nonce_if_none_is_provided()" time="0.0034869909286499023">
        </testcase>
        <testcase classname="AuthTests" name="test__084__createTokenRequest__should_provide_capability_has_json_text()" time="0.006538987159729004">
        </testcase>
        <testcase classname="AuthTests" name="test__085__createTokenRequest__should_generate_a_valid_HMAC()" time="0.0011309385299682617">
        </testcase>
        <testcase classname="AuthTests" name="test__086__createTokenRequest__should_respect_all_requirements()" time="0.12473905086517334">
        </testcase>
        <testcase classname="AuthTests" name="test__087__createTokenRequest__should_generate_a_timestamp__from_current_time_if_not_provided()" time="0.0013480186462402344">
        </testcase>
        <testcase classname="AuthTests" name="test__089__createTokenRequest__TTL__should_be_optional()" time="0.0026890039443969727">
        </testcase>
        <testcase classname="AuthTests" name="test__090__createTokenRequest__TTL__should_be_specified_in_milliseconds()" time="0.0">
            <failure message="Crash: xctest (18186) closure #1 in closure #1 in AuthTests.test__090__createTokenRequest__TTL__should_be_specified_in_milliseconds()">
            </failure>
        </testcase>
        <testcase classname="AuthTests" name="test__091__createTokenRequest__TTL__should_be_valid_to_request_a_token_for_24_hours()" time="4.022812008857727">
        </testcase>
        <testcase classname="AuthTests" name="test__092__authorize__should_always_create_a_token()" time="0.35095906257629395">
        </testcase>
        <testcase classname="AuthTests" name="test__093__authorize__should_create_a_new_token_if_one_already_exist_and_ensure_Token_Auth_is_used_for_all_future_requests()" time="0.22736907005310059">
        </testcase>
        <testcase classname="AuthTests" name="test__094__authorize__should_create_a_token_immediately_and_ensures_Token_Auth_is_used_for_all_future_requests()" time="0.1478210687637329">
        </testcase>
        <testcase classname="AuthTests" name="test__095__authorize__should_supports_all_TokenParams_and_AuthOptions()" time="0.0025060176849365234">
        </testcase>
        <testcase classname="AuthTests" name="test__097__authorize__should_return_TokenDetails_with_valid_token_metadata()" time="0.10515999794006348">
        </testcase>
        <testcase classname="AuthTests" name="test__098__authorize__should_use_the_configured_Auth_clientId__if_not_null__by_default()" time="0.16284000873565674">
        </testcase>
        <testcase classname="AuthTests" name="test__099__authorize__on_subsequent_authorisations__should_store_the_AuthOptions_with_authUrl()" time="0.6889079809188843">
            <failure message="XCTAssertNil failed: &quot;Error Domain=NSURLErrorDomain Code=-1002 &quot;unsupported URL&quot; UserInfo={_NSURLErrorRelatedURLSessionTaskErrorKey=(
    &quot;LocalDataTask &lt;9E161A2E-E9E0-44D8-8A17-77F4E92A9DC2&gt;.&lt;1&gt;&quot;
), _NSURLErrorFailingURLSessionTaskErrorKey=LocalDataTask &lt;9E161A2E-E9E0-44D8-8A17-77F4E92A9DC2&gt;.&lt;1&gt;, NSLocalizedDescription=unsupported URL, NSUnderlyingError=0x6000014a8090 {Error Domain=kCFErrorDomainCFNetwork Code=-1002 &quot;(null)&quot;}}&quot; (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/AuthTests.swift#EndingLineNumber=2742&amp;StartingLineNumber=2742)">
            </failure>
        </testcase>
        <testcase classname="AuthTests" name="test__100__authorize__on_subsequent_authorisations__should_store_the_AuthOptions_with_authCallback()" time="0.0026799440383911133">
        </testcase>
        <testcase classname="AuthTests" name="test__102__authorize__on_subsequent_authorisations__should_store_the_TokenParams()" time="2.1358089447021484">
        </testcase>
        <testcase classname="AuthTests" name="test__103__authorize__on_subsequent_authorisations__should_use_configured_defaults_if_the_object_arguments_are_omitted()" time="0.19307804107666016">
        </testcase>
        <testcase classname="AuthTests" name="test__104__authorize__should_adhere_to_all_requirements_relating_to__TokenParams()" time="0.08406305313110352">
        </testcase>
        <testcase classname="AuthTests" name="test__105__authorize__should_adhere_to_all_requirements_relating_to__authCallback()" time="0.08082699775695801">
        </testcase>
        <testcase classname="AuthTests" name="test__106__authorize__should_adhere_to_all_requirements_relating_to__authUrl()" time="0.0069190263748168945">
            <failure message="failed - Error is nil
 (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/AuthTests.swift#EndingLineNumber=3013&amp;StartingLineNumber=3013)">
            </failure>
        </testcase>
        <testcase classname="AuthTests" name="test__107__authorize__should_adhere_to_all_requirements_relating_to__authUrl_with_json()" time="0.08972501754760742">
            <failure message="XCTUnwrap failed: throwing &quot;NSInvalidArgumentException: *** +[NSJSONSerialization dataWithJSONObject:options:error:]: Invalid top-level type in JSON write&quot; - Couldn&apos;t encode token details (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/AuthTests.swift#EndingLineNumber=3026&amp;StartingLineNumber=3026)">
            </failure>
        </testcase>
        <testcase classname="AuthTests" name="test__108__authorize__should_adhere_to_all_requirements_relating_to__authUrl_returning_TokenRequest_decodes_TTL_as_expected()" time="0.0019140243530273438">
            <failure message="XCTUnwrap failed: throwing &quot;NSInvalidArgumentException: *** +[NSJSONSerialization dataWithJSONObject:options:error:]: Invalid top-level type in JSON write&quot; - Encode failure (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/AuthTests.swift#EndingLineNumber=3080&amp;StartingLineNumber=3080)">
            </failure>
        </testcase>
        <testcase classname="AuthTests" name="test__109__authorize__should_adhere_to_all_requirements_relating_to__authUrl_with_plain_text()" time="0.08463704586029053">
            <failure message="XCTAssertNil failed: &quot;Error Domain=NSURLErrorDomain Code=-1002 &quot;unsupported URL&quot; UserInfo={_NSURLErrorFailingURLSessionTaskErrorKey=LocalDataTask &lt;4327DA52-38F5-40E0-8224-1D793B4DD325&gt;.&lt;1&gt;, NSLocalizedDescription=unsupported URL, _NSURLErrorRelatedURLSessionTaskErrorKey=(
    &quot;LocalDataTask &lt;4327DA52-38F5-40E0-8224-1D793B4DD325&gt;.&lt;1&gt;&quot;
), NSUnderlyingError=0x6000014ba5b0 {Error Domain=kCFErrorDomainCFNetwork Code=-1002 &quot;(null)&quot;}}&quot; (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/AuthTests.swift#EndingLineNumber=3127&amp;StartingLineNumber=3127)">
            </failure>
        </testcase>
        <testcase classname="AuthTests" name="test__110__authorize__when_TokenParams_and_AuthOptions_are_provided__should_supersede_configured_AuthOptions__using_key__even_if_arguments_objects_are_empty()" time="1.2557419538497925">
        </testcase>
        <testcase classname="AuthTests" name="test__111__authorize__when_TokenParams_and_AuthOptions_are_provided__should_supersede_configured_AuthOptions__using_authUrl__even_if_arguments_objects_are_empty()" time="0.10238099098205566">
            <failure message="XCTUnwrap failed: throwing &quot;NSInvalidArgumentException: *** +[NSJSONSerialization dataWithJSONObject:options:error:]: Invalid top-level type in JSON write&quot; - Encode failure (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/AuthTests.swift#EndingLineNumber=3192&amp;StartingLineNumber=3192)">
            </failure>
        </testcase>
        <testcase classname="AuthTests" name="test__112__authorize__when_TokenParams_and_AuthOptions_are_provided__should_supersede_configured_AuthOptions__using_authCallback__even_if_arguments_objects_are_empty()" time="0.004528999328613281">
        </testcase>
        <testcase classname="AuthTests" name="test__114__authorize__when_TokenParams_and_AuthOptions_are_provided__example__if_a_client_is_initialised_with_TokenParams_ttl_configured_with_a_custom_value__and_a_TokenParams_object_is_passed_in_as_an_argument_to__authorize_with_a_null_value_for_ttl__then_the_ttl_used_for_every_subsequent_authorization_will_be_null()" time="0.13450205326080322">
        </testcase>
        <testcase classname="AuthTests" name="test__118__authorize__server_time_offset__should_use_the_local_clock_offset_to_calculate_the_server_time()" time="0.003236055374145508">
        </testcase>
        <testcase classname="AuthTests" name="test__121__authorize__two_consecutive_authorizations__using_REST__should_call_each_authorize_callback()" time="0.0975649356842041">
        </testcase>
        <testcase classname="AuthTests" name="test__122__authorize__two_consecutive_authorizations__using_Realtime_and_connection_is_CONNECTING__should_call_each_Realtime_authorize_callback()" time="0.58399498462677">
            <failure message="failed - expected to param &lt;accessToken=_tmp_nJDaoA.DDq4ZwQKDvonMIFQ1z9ZQNuujygNOHnnjpktS3nZDG94ByxGfk9qZzRaObcIixqC9b-o07uRDSsJuzaxuWKY8L9p57_yGmNl2mPCdrKkWke5hi-1KVpGmS0sjdaLFWyJn&gt; exists, got &lt;format=msgpack&amp;v=2&amp;accessToken=_tmp_nJDaoA.DDq4ZwQKDvonMIFQ1z9ZQNuujygNOHnnjpktS3nZDG94ByxGfk9qZzRaObcIixqC9b-o07uRDSsJuzaxuWKY8L9p57_yGmNl2mPCdrKkWke5hi-1KVpGmS0sjdaLFWyJn&amp;agent=ably-cocoa/1.2.44%20macOS/15.6.0&amp;echo=true&gt;
 (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/AuthTests.swift#EndingLineNumber=3791&amp;StartingLineNumber=3791)">
            </failure>
        </testcase>
        <testcase classname="AuthTests" name="test__123__authorize__two_consecutive_authorizations__using_Realtime_and_connection_is_CONNECTED__should_call_each_Realtime_authorize_callback()" time="0.3959839344024658">
        </testcase>
        <testcase classname="AuthTests" name="test__124__TokenParams__timestamp__if_explicitly_set__should_be_returned_by_the_getter()" time="0.0034630298614501953">
        </testcase>
        <testcase classname="AuthTests" name="test__125__TokenParams__timestamp__if_explicitly_set__the_value_should_stick()" time="0.30067503452301025">
        </testcase>
        <testcase classname="AuthTests" name="test__126__TokenParams__timestamp__object_has_no_timestamp_value_unless_explicitly_set()" time="0.0005120038986206055">
        </testcase>
        <testcase classname="AuthTests" name="test__127__Reauth__should_use_authorize__force__true___to_reauth_with_a_token_with_a_different_set_of_capabilities()" time="0.0">
            <failure message="Crash: xctest (19376) ARTChannel.options.getter. libdispatch.dylib: BUG IN CLIENT OF LIBDISPATCH: dispatch_sync called on queue already owned by current thread, Abort Cause 27021769562915074">
            </failure>
        </testcase>
        <testcase classname="AuthTests" name="test__128__Reauth__for_a_token_change_that_fails_due_to_an_incompatible_token__which_should_result_in_the_connection_entering_the_FAILED_state()" time="4.225567936897278">
        </testcase>
        <testcase classname="AuthTests" name="test__129__TokenParams__timestamp_should_not_be_a_member_of_any_default_token_params()" time="0.0">
            <failure message="failed - expected to be greater than &lt;0&gt;, got &lt;0&gt;
 (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/AuthTests.swift#EndingLineNumber=3977&amp;StartingLineNumber=3977)">
            </failure>
        </testcase>
        <testcase classname="AuthTests" name="test__130__TokenRequest__fromJson__rejects_invalid_JSON()" time="0.003000020980834961">
        </testcase>
        <testcase classname="AuthTests" name="test__131__TokenRequest__fromJson__rejects_non_object_JSON()" time="0.0005799531936645508">
        </testcase>
        <testcase classname="AuthTests" name="test__132__TokenRequest__fromJson__with_TTL__accepts_a_string__which_should_be_interpreted_as_JSON()" time="0.0005189180374145508">
        </testcase>
        <testcase classname="AuthTests" name="test__133__TokenRequest__fromJson__with_TTL__accepts_a_NSDictionary()" time="0.0">
            <failure message="Crash: xctest (21176) test__accepts_a_NSDictionary #1 () in AuthTests.reusableTestsTestTokenRequestFromJson(_:testCase:beforeEach:afterEach:check:). libsystem-c.dylib: abort() called">
            </failure>
        </testcase>
        <testcase classname="AuthTests" name="test__134__TokenRequest__fromJson__without_TTL__accepts_a_string__which_should_be_interpreted_as_JSON()" time="0.014412999153137207">
        </testcase>
        <testcase classname="AuthTests" name="test__135__TokenRequest__fromJson__without_TTL__accepts_a_NSDictionary()" time="0.0">
            <failure message="Crash: xctest (21617) test__accepts_a_NSDictionary #1 () in AuthTests.reusableTestsTestTokenRequestFromJson(_:testCase:beforeEach:afterEach:check:). libsystem-c.dylib: abort() called">
            </failure>
        </testcase>
        <testcase classname="AuthTests" name="test__136__TokenDetails__fromJson__accepts_a_string__which_should_be_interpreted_as_JSON()" time="0.0016590356826782227">
        </testcase>
        <testcase classname="AuthTests" name="test__137__TokenDetails__fromJson__accepts_a_NSDictionary()" time="0.0">
            <failure message="Crash: xctest (22663) AuthTests.test__137__TokenDetails__fromJson__accepts_a_NSDictionary(). libsystem-c.dylib: abort() called">
            </failure>
        </testcase>
        <testcase classname="AuthTests" name="test__138__TokenDetails__fromJson__rejects_invalid_JSON()" time="0.0012369155883789062">
        </testcase>
        <testcase classname="AuthTests" name="test__139__TokenDetails__fromJson__rejects_non_object_JSON()" time="0.0005069971084594727">
        </testcase>
        <testcase classname="AuthTests" name="test__140__JWT_and_realtime__client_initialized_with_a_JWT_token_in_ClientOptions__with_valid_credentials__pulls_stats_successfully()" time="4.980046987533569">
        </testcase>
        <testcase classname="AuthTests" name="test__141__JWT_and_realtime__client_initialized_with_a_JWT_token_in_ClientOptions__with_invalid_credentials__fails_to_connect_with_reason__invalid_signature_()" time="0.9377219676971436">
        </testcase>
        <testcase classname="AuthTests" name="test__142__JWT_and_realtime__when_using_authUrl__with_valid_credentials__fetches_a_channels_and_posts_a_message()" time="20.48193597793579">
            <failure message="failed - Waited more than 20.0 seconds
 (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/AuthTests.swift#EndingLineNumber=4152&amp;StartingLineNumber=4152)">
            </failure>
        </testcase>
        <testcase classname="AuthTests" name="test__143__JWT_and_realtime__when_using_authUrl__with_wrong_credentials__fails_to_connect_with_reason__invalid_signature_()" time="0.07907593250274658">
            <failure message="XCTAssertEqual failed: (&quot;80019&quot;) is not equal to (&quot;40144&quot;) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/AuthTests.swift#EndingLineNumber=4181&amp;StartingLineNumber=4181)">
            </failure>
        </testcase>
        <testcase classname="AuthTests" name="test__144__JWT_and_realtime__when_using_authUrl__when_token_expires__receives_a_40142_error_from_the_server()" time="20.004883885383606">
            <failure message="failed - Waited more than 20.0 seconds
 (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/AuthTests.swift#EndingLineNumber=4203&amp;StartingLineNumber=4203)">
            </failure>
        </testcase>
        <testcase classname="AuthTests" name="test__145__JWT_and_realtime__when_using_authUrl__when_the_server_sends_and_AUTH_protocol_message__client_reauths_correctly_without_going_through_a_disconnection()" time="20.006603002548218">
            <failure message="failed - Waited more than 20.0 seconds
 (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/AuthTests.swift#EndingLineNumber=4237&amp;StartingLineNumber=4237)">
            </failure>
        </testcase>
        <testcase classname="AuthTests" name="test__146__JWT_and_realtime__when_using_authCallback__with_valid_credentials__pulls_stats_successfully()" time="0.6462119817733765">
        </testcase>
        <testcase classname="AuthTests" name="test__147__JWT_and_realtime__when_using_authCallback__with_invalid_credentials__fails_to_connect()" time="1.4611740112304688">
        </testcase>
        <testcase classname="AuthTests" name="test__148__JWT_and_realtime__when_token_expires_and_has_a_means_to_renew__reconnects_using_authCallback_and_obtains_a_new_token()" time="3.5497560501098633">
        </testcase>
        <testcase classname="AuthTests" name="test__149__JWT_and_realtime__when_the_token_request_includes_a_clientId__the_clientId_is_the_same_specified_in_the_JWT_token_request()" time="0.8174819946289062">
        </testcase>
        <testcase classname="AuthTests" name="test__150__JWT_and_realtime__when_the_token_request_includes_subscribe_only_capabilities__fails_to_publish_to_a_channel_with_subscribe_only_capability()" time="0.8962420225143433">
        </testcase>
        <testcase classname="AuthTests" name="test__151__currentTokenDetails__should_hold_a__TokenDetails__instance_in_which_only_the__token__attribute_is_populated_with_that_token_string()" time="0.10152089595794678">
        </testcase>
        <testcase classname="AuthTests" name="test__152__currentTokenDetails__should_be_set_with_the_current_token__if_applicable__on_instantiation_and_each_time_it_is_replaced()" time="0.09341204166412354">
        </testcase>
        <testcase classname="AuthTests" name="test__153__currentTokenDetails__should_be_empty_if_there_is_no_current_token()" time="0.00144195556640625">
        </testcase>
        <testcase classname="AuthTests" name="test__154__JWT_and_rest__when_the_JWT_token_embeds_an_Ably_token__pulls_stats_successfully()" time="0.6730020046234131">
        </testcase>
        <testcase classname="AuthTests" name="test__155__JWT_and_rest__when_the_JWT_token_embeds_an_Ably_token_and_it_is_requested_as_encrypted__pulls_stats_successfully()" time="0.5925949811935425">
        </testcase>
        <testcase classname="AuthTests" name="test__156__JWT_and_rest__when_the_JWT_token_is_returned_with_application_jwt_content_type__the_client_successfully_connects_and_pulls_stats()" time="0.10860300064086914">
            <failure message="XCTAssertNil failed: &quot;Error 40400 - Could not find path: /createJWT&quot; (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/AuthTests.swift#EndingLineNumber=4452&amp;StartingLineNumber=4452)">
            </failure>
        </testcase>
        <testcase classname="AuthTests" name="test__157__JWT_and_rest__when_the_JWT_token_is_returned_with_application_jwt_content_type__the_client_can_request_a_new_token_to_initilize_another_client_that_connects_and_pulls_stats()" time="0.0">
            <failure message="Crash: xctest (23170) closure #1 in closure #1 in AuthTests.test__157__JWT_and_rest__when_the_JWT_token_is_returned_with_application_jwt_content_type__the_client_can_request_a_new_token_to_initilize_another_client_that_connects_and_pulls_stats()">
            </failure>
        </testcase>
        <testcase classname="BackoffRetryDelayCalculatorTests" name="test_delay()" time="0.0012570619583129883">
        </testcase>
        <testcase classname="ChannelOptionsTests" name="test_copyChannelOptions()" time="0.0">
            <failure message="Crash: xctest (26079) static ARTCrypto.getDefaultParams(_:)">
            </failure>
        </testcase>
        <testcase classname="ChannelOptionsTests" name="test_copyingFrozenChannelOptions_createsUnfrozenCopy()" time="0.0008800029754638672">
        </testcase>
        <testcase classname="ChannelOptionsTests" name="test_copyingFrozenRealtimeChannelOptions_createsUnfrozenCopy()" time="0.0006110668182373047">
        </testcase>
        <testcase classname="ChannelOptionsTests" name="test_copyRealtimeChannelOptions()" time="0.0">
            <failure message="Crash: xctest (26459) static ARTCrypto.getDefaultParams(_:)">
            </failure>
        </testcase>
        <testcase classname="ClientInformationTests" name="testAgentIdentifierWithAdditionalAgents_withNilAdditionalAgents()" time="0.0019829273223876953">
        </testcase>
        <testcase classname="ClientInformationTests" name="testAgentIdentifierWithAdditionalAgents_withNonNilAdditionalAgents()" time="0.0025599002838134766">
        </testcase>
        <testcase classname="ClientInformationTests" name="testAgents()" time="0.001248002052307129">
        </testcase>
        <testcase classname="ConnectRetryStateTests" name="test_addRetryAttempt()" time="0.0010260343551635742">
        </testcase>
        <testcase classname="ConnectRetryStateTests" name="test_transitionToConnectingOrDisconnectedStateDoesNotResetRetrySequence()" time="0.0007259845733642578">
        </testcase>
        <testcase classname="ConnectRetryStateTests" name="test_transitionToNonConnectingOrDisconnectedStateResetsRetrySequence()" time="0.0004659891128540039">
        </testcase>
        <testcase classname="ContinuousClockTests" name="test_advancedBy()" time="0.5232440233230591">
        </testcase>
        <testcase classname="ContinuousClockTests" name="test_isAfter()" time="0.4048539400100708">
        </testcase>
        <testcase classname="CryptoTests" name="test__002__Crypto__getDefaultParams__calculates_a_keyLength_from_the_key__its_size_in_bits_()" time="0.0">
            <failure message="Crash: xctest (27578) static ARTCrypto.getDefaultParams(_:)">
            </failure>
        </testcase>
        <testcase classname="CryptoTests" name="test__004__Crypto__getDefaultParams__key_parameter__can_be_a_binary()" time="0.0">
            <failure message="Crash: xctest (28090) static ARTCrypto.getDefaultParams(_:)">
            </failure>
        </testcase>
        <testcase classname="CryptoTests" name="test__005__Crypto__getDefaultParams__key_parameter__can_be_a_base64_encoded_string_with_standard_encoding()" time="0.0008339881896972656">
        </testcase>
        <testcase classname="CryptoTests" name="test__006__Crypto__getDefaultParams__key_parameter__can_be_a_base64_encoded_string_with_URL_encoding()" time="0.0005118846893310547">
        </testcase>
        <testcase classname="CryptoTests" name="test__007__Crypto__generateRandomKey__takes_a_single_length_argument_and_returns_a_binary()" time="0.0004709959030151367">
        </testcase>
        <testcase classname="CryptoTests" name="test__008__Crypto__generateRandomKey__takes_no_arguments_and_returns_the_default_algorithm_s_default_length()" time="0.0005509853363037109">
        </testcase>
        <testcase classname="CryptoTests" name="test__009__Crypto__generateHashSHA256__takes_data_and_returns_a_SHA256_digest()" time="0.0005570650100708008">
        </testcase>
        <testcase classname="CryptoTests" name="test__010__Crypto__encrypt__should_generate_a_new_IV_every_time_it_s_called__and_should_be_the_first_block_encrypted()" time="0.0005830526351928711">
        </testcase>
        <testcase classname="CryptoTests" name="test__011__Crypto__with_fixtures_from_crypto_data_128_json__should_encrypt_messages_as_expected_in_the_fixtures()" time="0.5882339477539062">
            <failure message="XCTAssertEqual failed: (&quot;&lt;ARTMessage: 0x0000000144613eb0&gt; {
 id: nil,
 clientId: nil,
 connectionId: nil,
 timestamp: nil,
 encoding: Optional(&quot;utf-8/cipher+aes-128-cbc/base64&quot;),
 data: Optional(&quot;HO4cYSP8LybPYBPZPHQOtmHItcxYdSvcNUC6kXVpMn0VFL+9z2/5tJ6WFbR0SBT1xhFRuJ+MeBGTU3yOY9P5ow==&quot;)
 extras: nil,
 name: example
 action: Create
 serial: nil
 updateSerial: nil
 version: nil
 createdAt: nil
 updatedAt: nil
 refType: nil
 refSerial: nil
 operation: nil
 summary: nil
}&quot;) is not equal to (&quot;&lt;ARTMessage: 0x00000001446146c0&gt; {
 id: nil,
 clientId: nil,
 connectionId: nil,
 timestamp: nil,
 encoding: Optional(&quot;utf-8/cipher+aes-128-cbc/base64&quot;),
 data: Optional(&quot;HO4cYSP8LybPYBPZPHQOtmHItcxYdSvcNUC6kXVpMn0VFL+9z2/5tJ6WFbR0SBT1xhFRuJ+MeBGTU3yOY9P5ow==&quot;)
 extras: nil,
 name: example
 action: Create
 serial: nil
 updateSerial: nil
 version: nil
 createdAt: nil
 updatedAt: nil
 refType: nil
 refSerial: nil
 operation: nil
 summary: nil
}&quot;) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/CryptoTests.swift#EndingLineNumber=162&amp;StartingLineNumber=162)">
            </failure>
        </testcase>
        <testcase classname="CryptoTests" name="test__012__Crypto__with_fixtures_from_crypto_data_128_json__should_decrypt_messages_as_expected_in_the_fixtures()" time="0.0073299407958984375">
            <failure message="XCTAssertEqual failed: (&quot;&lt;ARTMessage: 0x0000000154609d50&gt; {
 id: nil,
 clientId: nil,
 connectionId: nil,
 timestamp: nil,
 encoding: nil,
 data: Optional(Optional(&quot;The quick brown fox jumped over the lazy dog&quot;))
 extras: nil,
 name: example
 action: Create
 serial: nil
 updateSerial: nil
 version: nil
 createdAt: nil
 updatedAt: nil
 refType: nil
 refSerial: nil
 operation: nil
 summary: nil
}&quot;) is not equal to (&quot;&lt;ARTMessage: 0x0000000154609bf0&gt; {
 id: nil,
 clientId: nil,
 connectionId: nil,
 timestamp: nil,
 encoding: nil,
 data: Optional(&quot;The quick brown fox jumped over the lazy dog&quot;)
 extras: nil,
 name: example
 action: Create
 serial: nil
 updateSerial: nil
 version: nil
 createdAt: nil
 updatedAt: nil
 refType: nil
 refSerial: nil
 operation: nil
 summary: nil
}&quot;) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/CryptoTests.swift#EndingLineNumber=179&amp;StartingLineNumber=179)">
            </failure>
        </testcase>
        <testcase classname="CryptoTests" name="test__013__Crypto__with_fixtures_from_crypto_data_256_json__should_encrypt_messages_as_expected_in_the_fixtures()" time="0.13153409957885742">
            <failure message="XCTAssertEqual failed: (&quot;&lt;ARTMessage: 0x0000000144611120&gt; {
 id: nil,
 clientId: nil,
 connectionId: nil,
 timestamp: nil,
 encoding: Optional(&quot;utf-8/cipher+aes-256-cbc/base64&quot;),
 data: Optional(&quot;NMDl1Acnel8HVdu1cEWdr9CGPYFoBoLgJCzoybbQbnyfwx3UQ8CGuKyP/g56Za/JB3xW6XGkNzrHYvZwad4fvA==&quot;)
 extras: nil,
 name: example
 action: Create
 serial: nil
 updateSerial: nil
 version: nil
 createdAt: nil
 updatedAt: nil
 refType: nil
 refSerial: nil
 operation: nil
 summary: nil
}&quot;) is not equal to (&quot;&lt;ARTMessage: 0x0000000144610b70&gt; {
 id: nil,
 clientId: nil,
 connectionId: nil,
 timestamp: nil,
 encoding: Optional(&quot;utf-8/cipher+aes-256-cbc/base64&quot;),
 data: Optional(&quot;NMDl1Acnel8HVdu1cEWdr9CGPYFoBoLgJCzoybbQbnyfwx3UQ8CGuKyP/g56Za/JB3xW6XGkNzrHYvZwad4fvA==&quot;)
 extras: nil,
 name: example
 action: Create
 serial: nil
 updateSerial: nil
 version: nil
 createdAt: nil
 updatedAt: nil
 refType: nil
 refSerial: nil
 operation: nil
 summary: nil
}&quot;) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/CryptoTests.swift#EndingLineNumber=162&amp;StartingLineNumber=162)">
            </failure>
        </testcase>
        <testcase classname="CryptoTests" name="test__014__Crypto__with_fixtures_from_crypto_data_256_json__should_decrypt_messages_as_expected_in_the_fixtures()" time="0.23958897590637207">
            <failure message="XCTAssertEqual failed: (&quot;&lt;ARTMessage: 0x000000015460b830&gt; {
 id: nil,
 clientId: nil,
 connectionId: nil,
 timestamp: nil,
 encoding: nil,
 data: Optional(Optional(&quot;The quick brown fox jumped over the lazy dog&quot;))
 extras: nil,
 name: example
 action: Create
 serial: nil
 updateSerial: nil
 version: nil
 createdAt: nil
 updatedAt: nil
 refType: nil
 refSerial: nil
 operation: nil
 summary: nil
}&quot;) is not equal to (&quot;&lt;ARTMessage: 0x000000015460bfa0&gt; {
 id: nil,
 clientId: nil,
 connectionId: nil,
 timestamp: nil,
 encoding: nil,
 data: Optional(&quot;The quick brown fox jumped over the lazy dog&quot;)
 extras: nil,
 name: example
 action: Create
 serial: nil
 updateSerial: nil
 version: nil
 createdAt: nil
 updatedAt: nil
 refType: nil
 refSerial: nil
 operation: nil
 summary: nil
}&quot;) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/CryptoTests.swift#EndingLineNumber=179&amp;StartingLineNumber=179)">
            </failure>
        </testcase>
        <testcase classname="CryptoTests" name="test__015__Crypto__with_fixtures_from_crypto_data_128_json__manual_decrypt_messages_as_expected_in_the_fixtures()" time="0.0755760669708252">
            <failure message="XCTAssertEqual failed: (&quot;&lt;ARTMessage: 0x00000001447e19a0&gt; {
 id: nil,
 clientId: nil,
 connectionId: nil,
 timestamp: nil,
 encoding: nil,
 data: Optional(Optional(&quot;The quick brown fox jumped over the lazy dog&quot;))
 extras: nil,
 name: example
 action: Create
 serial: nil
 updateSerial: nil
 version: nil
 createdAt: nil
 updatedAt: nil
 refType: nil
 refSerial: nil
 operation: nil
 summary: nil
}&quot;) is not equal to (&quot;&lt;ARTMessage: 0x00000001447efbf0&gt; {
 id: nil,
 clientId: nil,
 connectionId: nil,
 timestamp: nil,
 encoding: nil,
 data: Optional(&quot;The quick brown fox jumped over the lazy dog&quot;)
 extras: nil,
 name: example
 action: Create
 serial: nil
 updateSerial: nil
 version: nil
 createdAt: nil
 updatedAt: nil
 refType: nil
 refSerial: nil
 operation: nil
 summary: nil
}&quot;) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/CryptoTests.swift#EndingLineNumber=216&amp;StartingLineNumber=216)">
            </failure>
        </testcase>
        <testcase classname="CryptoTests" name="test__016__Crypto__with_fixtures_from_crypto_data_256_json__manual_decrypt_messages_as_expected_in_the_fixtures()" time="0.25841498374938965">
            <failure message="XCTAssertEqual failed: (&quot;&lt;ARTMessage: 0x000000015460d6b0&gt; {
 id: nil,
 clientId: nil,
 connectionId: nil,
 timestamp: nil,
 encoding: nil,
 data: Optional(Optional(&quot;The quick brown fox jumped over the lazy dog&quot;))
 extras: nil,
 name: example
 action: Create
 serial: nil
 updateSerial: nil
 version: nil
 createdAt: nil
 updatedAt: nil
 refType: nil
 refSerial: nil
 operation: nil
 summary: nil
}&quot;) is not equal to (&quot;&lt;ARTMessage: 0x00000001546102f0&gt; {
 id: nil,
 clientId: nil,
 connectionId: nil,
 timestamp: nil,
 encoding: nil,
 data: Optional(&quot;The quick brown fox jumped over the lazy dog&quot;)
 extras: nil,
 name: example
 action: Create
 serial: nil
 updateSerial: nil
 version: nil
 createdAt: nil
 updatedAt: nil
 refType: nil
 refSerial: nil
 operation: nil
 summary: nil
}&quot;) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/CryptoTests.swift#EndingLineNumber=216&amp;StartingLineNumber=216)">
            </failure>
        </testcase>
        <testcase classname="DefaultErrorCheckerTests" name="test_isTokenError_statusCode401AndCodeBetween40140And40150()" time="0.0014590024948120117">
        </testcase>
        <testcase classname="DefaultErrorCheckerTests" name="test_isTokenError_statusCode401ButCodeGreaterThanOrEqualTo40150()" time="0.0016750097274780273">
        </testcase>
        <testcase classname="DefaultErrorCheckerTests" name="test_isTokenError_statusCode401ButCodeLessThan40140()" time="0.0011799335479736328">
        </testcase>
        <testcase classname="DefaultErrorCheckerTests" name="test_isTokenError_statusCodeNot401()" time="0.000980973243713379">
        </testcase>
        <testcase classname="DefaultInternalLogCoreTests" name="test_initWithClientOptions_whenClientOptionsLogLevelIsNone()" time="0.0022699832916259766">
        </testcase>
        <testcase classname="DefaultInternalLogCoreTests" name="test_initWithClientOptions_whenClientOptionsLogLevelIsNotNone()" time="0.0015169382095336914">
        </testcase>
        <testcase classname="DefaultInternalLogCoreTests" name="test_logLevel()" time="0.0009129047393798828">
        </testcase>
        <testcase classname="DefaultInternalLogCoreTests" name="test_logMessage()" time="0.0019739866256713867">
        </testcase>
        <testcase classname="DefaultInternalLogCoreTests" name="test_setLogLevel()" time="0.0012379884719848633">
        </testcase>
        <testcase classname="DefaultJitterCoefficientGeneratorTests" name="test_generatesAVarietyOfValues()" time="0.0006279945373535156">
        </testcase>
        <testcase classname="DefaultJitterCoefficientGeneratorTests" name="test_generatesValuesInExpectedRange()" time="0.0004930496215820312">
        </testcase>
        <testcase classname="DeltaCodecTests" name="test__001__withBinaryProtocol_DeltaCodec__decoding__should_decode_vcdiff_encoded_messages()" time="0.0">
            <failure message="Crash: xctest (29224) ARTChannel.options.getter. libdispatch.dylib: BUG IN CLIENT OF LIBDISPATCH: dispatch_sync called on queue already owned by current thread, Abort Cause 27021769562915074">
            </failure>
        </testcase>
        <testcase classname="DeltaCodecTests" name="test__001__withoutBinaryProtocol_DeltaCodec__decoding__should_decode_vcdiff_encoded_messages()" time="0.0">
            <failure message="Crash: xctest (29744) ARTChannel.options.getter. libdispatch.dylib: BUG IN CLIENT OF LIBDISPATCH: dispatch_sync called on queue already owned by current thread, Abort Cause 27021769562915074">
            </failure>
        </testcase>
        <testcase classname="DeltaCodecTests" name="test__002__DeltaCodec__decoding__should_fail_and_recover_when_the_vcdiff_messages_are_out_of_order()" time="0.0">
            <failure message="Crash: xctest (30926) ARTChannel.options.getter. libdispatch.dylib: BUG IN CLIENT OF LIBDISPATCH: dispatch_sync called on queue already owned by current thread, Abort Cause 27021769562915074">
            </failure>
        </testcase>
        <testcase classname="DeltaCodecTests" name="test__003__DeltaCodec__decoding__should_recover_when_the_vcdiff_message_decoding_fails()" time="0.0">
            <failure message="Crash: xctest (31404) ARTChannel.options.getter. libdispatch.dylib: BUG IN CLIENT OF LIBDISPATCH: dispatch_sync called on queue already owned by current thread, Abort Cause 27021769562915074">
            </failure>
        </testcase>
        <testcase classname="GCDTests" name="testScheduledBlockHandleDerefsBlockAfterInvoke()" time="0.001065969467163086">
        </testcase>
        <testcase classname="LogAdapterTests" name="test_logLevel()" time="0.000532984733581543">
        </testcase>
        <testcase classname="LogAdapterTests" name="test_logMessage()" time="0.001782059669494629">
        </testcase>
        <testcase classname="LogAdapterTests" name="test_setLogLevel()" time="0.0005590915679931641">
        </testcase>
        <testcase classname="ObjectLifetimesTests" name="test__001__ObjectLifetimes__user_code_releases_public_object__the_object_s_internal_child_s_back_reference_is_released_too()" time="0.015879034996032715">
        </testcase>
        <testcase classname="ObjectLifetimesTests" name="test__002__ObjectLifetimes__user_code_holds_only_reference_to_public_object_s_public_child__still_can_access_parent_s_internal_object()" time="0.0025559663772583008">
        </testcase>
        <testcase classname="ObjectLifetimesTests" name="test__003__ObjectLifetimes__user_code_holds_only_reference_to_public_object_s_public_child__when_it_s_released__schedules_async_release_of_parent_s_internal_object_in_internal_queue()" time="0.0017780065536499023">
        </testcase>
        <testcase classname="ObjectLifetimesTests" name="test__004__ObjectLifetimes__when_user_leaves_Realtime_open__still_works()" time="0.0">
            <failure message="Crash: xctest (32591) ARTChannel.options.getter. libdispatch.dylib: BUG IN CLIENT OF LIBDISPATCH: dispatch_sync called on queue already owned by current thread, Abort Cause 27021769562915074">
            </failure>
        </testcase>
        <testcase classname="ObjectLifetimesTests" name="test__005__ObjectLifetimes__when_Realtime_is_closed_and_user_loses_its_reference__channels_don_t_leak()" time="0.0">
            <failure message="Crash: xctest (33096) ARTChannel.options.getter. libdispatch.dylib: BUG IN CLIENT OF LIBDISPATCH: dispatch_sync called on queue already owned by current thread, Abort Cause 27021769562915074">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientChannelsTests" name="test__001__Channels__should_exist_methods_to_check_if_a_channel_exists_or_iterate_through_the_existing_channels()" time="4.54747200012207">
        </testcase>
        <testcase classname="RealtimeClientChannelsTests" name="test__002__Channels__get__should_create_a_new_Channel_if_none_exists_or_return_the_existing_one()" time="0.0024209022521972656">
        </testcase>
        <testcase classname="RealtimeClientChannelsTests" name="test__003__Channels__get__should_be_possible_to_specify_a_ChannelOptions()" time="0.0">
            <failure message="Crash: xctest (34291) ARTChannel.options.getter. libdispatch.dylib: BUG IN CLIENT OF LIBDISPATCH: dispatch_sync called on queue already owned by current thread, Abort Cause 27021769562915074">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientChannelsTests" name="test__004__Channels__get__accessing_an_existing_Channel_with_options_should_update_the_options_and_then_return_the_object()" time="0.0">
            <failure message="Crash: xctest (34885) ARTChannel.options.getter. libdispatch.dylib: BUG IN CLIENT OF LIBDISPATCH: dispatch_sync called on queue already owned by current thread, Abort Cause 27021769562915074">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientChannelsTests" name="test__005__Channels__release__should_release_a_channel()" time="0.0">
            <failure message="Crash: xctest (35956) ARTChannel.options.getter. libdispatch.dylib: BUG IN CLIENT OF LIBDISPATCH: dispatch_sync called on queue already owned by current thread, Abort Cause 27021769562915074">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__002__Presence__should_receive_all_250_members()" time="0.0">
            <failure message="Crash: xctest (36940) ARTChannel.options.getter. libdispatch.dylib: BUG IN CLIENT OF LIBDISPATCH: dispatch_sync called on queue already owned by current thread, Abort Cause 27021735203176704">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__003__Presence__should_be_used_a_PresenceMap_to_maintain_a_list_of_members()" time="0.0">
            <failure message="Crash: xctest (37682) ARTChannel.options.getter. libdispatch.dylib: BUG IN CLIENT OF LIBDISPATCH: dispatch_sync called on queue already owned by current thread, Abort Cause 27021769562915074">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__004__Presence__callback_can_be_provided_that_will_be_called_upon_success()" time="0.0">
            <failure message="Crash: xctest (38809) unwrapValueWithAmbiguousObjectiveCNullability&lt;A&gt;(_:)">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__005__Presence__callback_can_be_provided_that_will_be_called_upon_failure()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__006__Presence__should_also_ensure_that_using_updateClient_has_no_side_effects_on_a_client_that_has_entered_normally_using_Presence_enter()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__007__Presence__should_indicate_an_error_if_the_client_is_identified_and_has_a_valid_clientId_and_the_clientId_argument_does_not_match_the_client_s_clientId()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__008__Presence__Presence_syncComplete_returns_true_if_the_initial_SYNC_operation_has_completed()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__010__Presence__ProtocolMessage_bit_flag__when_members_are_present()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__011__Presence__realtime_system-reserves_the_right_to_initiate_a_sync_of_the_presence_members_at_any_point_once_a_channel_is_attached__should_do_a_new_sync_whenever_a_SYNC_ProtocolMessage_is_received_with_a_channel_attribute_and_a_new_sync_sequence_identifier_in_the_channelSerial_attribute()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__012__Presence__realtime_system-reserves_the_right_to_initiate_a_sync_of_the_presence_members_at_any_point_once_a_channel_is_attached__when_a_SYNC_is_sent_with_no_channelSerial_attribute_then_the_sync_data_is_entirely_contained_within_that_ProtocolMessage()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__013__Presence__PresenceMap_has_existing_members_when_a_SYNC_is_started__should_ensure_that_members_no_longer_present_on_the_channel_are_removed_from_the_local_PresenceMap_once_the_sync_is_complete()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__014__Presence__PresenceMap_has_existing_members_when_a_SYNC_is_started__should_emit_a_LEAVE_event_for_each_existing_member_if_the_PresenceMap_has_existing_members_when_an_ATTACHED_message_is_received_without_a_HAS_PRESENCE_flag()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__015__Presence__subscribe__with_no_arguments_should_subscribe_a_listener_to_all_presence_messages()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__016__Presence__unsubscribe__with_no_arguments_unsubscribes_the_listener_if_previously_subscribed_with_an_action_specific_subscription()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__017__Presence__Channel_state_change_side_effects__if_a_channel_enters_the_ATTACHED_state_then_all_queued_presence_messages_will_be_sent_immediately_and_a_presence_SYNC_may_be_initiated()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__018__Presence__Channel_state_change_side_effects__if_the_channel_enters_the_FAILED_state__all_queued_presence_messages_should_fail_immediately()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__019__Presence__Channel_state_change_side_effects__if_the_channel_enters_the_FAILED_state__should_clear_the_PresenceMap_including_local_members_and_does_not_emit_any_presence_events()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__020__Presence__Channel_state_change_side_effects__if_the_channel_enters_the_DETACHED_state__all_queued_presence_messages_should_fail_immediately()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__021__Presence__Channel_state_change_side_effects__if_the_channel_enters_the_DETACHED_state__should_clear_the_PresenceMap_including_local_members_and_does_not_emit_any_presence_events()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__022__Presence__Channel_state_change_side_effects__channel_enters_the_SUSPENDED_state__all_queued_presence_messages_should_fail_immediately()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__023__Presence__Channel_state_change_side_effects__channel_enters_the_SUSPENDED_state__members_map_is_preserved_and_only_members_that_changed_between_ATTACHED_states_should_result_in_presence_events()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__024__Presence__enter__should_enter_the_current_client__optionally_with_the_data_provided()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__025__Presence__unsubscribe__with_a_single_action_argument_unsubscribes_the_provided_listener_to_all_presence_messages_for_that_action()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__026__Presence__subscribe__should_implicitly_attach_the_channel_if_options_attachOnSubscribe_is_true()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__026b__Presence__subscribe__should_not_implicitly_attach_the_channel_if_options_attachOnSubscribe_is_false()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__027__Presence__subscribe__should_result_in_an_error_if_the_channel_is_in_the_FAILED_state_and_options_attachOnSubscribe_is_true()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__027b__Presence__subscribe__should_not_result_in_an_error_if_the_channel_is_in_the_FAILED_state_and_options_attachOnSubscribe_is_false()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__028__Presence__subscribe__should_result_in_an_error_if_the_channel_moves_to_the_FAILED_state()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__029__Presence__subscribe__with_a_single_action_argument()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__030__Presence__enter__optionally_a_callback_can_be_provided_that_is_called_for_success()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__031__Presence__enter__optionally_a_callback_can_be_provided_that_is_called_for_failure()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__032__Presence__enter__entering_without_an_explicit_PresenceMessage_clientId_should_implicitly_use_the_clientId_of_the_current_connection()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__033__Presence__enter__should_result_in_an_error_immediately_if_the_connection_state_is_connected_and_the_client_is_anonymous()" time="4.8391629457473755">
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__033__Presence__enter__should_result_in_an_error_immediately_if_the_connection_state_is_connected_and_the_client_is_wildcard()" time="0.20016098022460938">
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__034__Presence__enter__should_result_in_an_error_immediately_if_the_channel_is_DETACHED()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__035__Presence__enter__should_result_in_an_error_immediately_if_the_channel_is_FAILED()" time="4.322543978691101">
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__036__Presence__enter__should_result_in_an_error_if_Ably_service_determines_that_the_client_is_unidentified()" time="0.0">
            <failure message="Crash: xctest (80129) unwrapValueWithAmbiguousObjectiveCNullability&lt;A&gt;(_:)">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__037__Presence__update__should_update_the_data_for_the_present_member_with_a_value()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__038__Presence__update__should_update_the_data_for_the_present_member_with_null()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__039__Presence__update__should_enter_current_client_into_the_channel_if_the_client_was_not_already_entered()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__040__Presence__update__optionally_a_callback_can_be_provided_that_is_called_for_success()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__041__Presence__update__optionally_a_callback_can_be_provided_that_is_called_for_failure()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__042__Presence__update__update_without_an_explicit_PresenceMessage_clientId_should_implicitly_use_the_clientId_of_the_current_connection()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__043__Presence__leave__should_leave_the_current_client_from_the_channel_and_the_data_will_be_updated_with_the_value_provided()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__044__Presence__leave__should_leave_the_current_client_with_no_data()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__047__Presence__PresenceMap__if_action_of_UPDATE_arrives__it_should_be_added_to_the_presence_map_with_the_action_set_to_PRESENT()" time="0.0">
            <failure message="Crash: xctest (91700) ARTChannel.options.getter. libdispatch.dylib: BUG IN CLIENT OF LIBDISPATCH: dispatch_sync called on queue already owned by current thread, Abort Cause 27021769562915074">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__049__Presence__PresenceMap__if_a_SYNC_is_not_in_progress__then_when_a_presence_message_with_an_action_of_LEAVE_arrives__that_memberKey_should_be_deleted_from_the_presence_map__if_present()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__051__Presence__PresenceMap__any_incoming_presence_message_that_passes_the_newness_check_should_be_emitted_on_the_Presence_object__with_an_event_name_set_to_its_original_action()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__052__Presence__PresenceMap__compare_for_newness__split_the_id_of_both_presence_messages()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__053__Presence__PresenceMap__compare_for_newness__presence_message_has_a_connectionId_which_is_not_an_initial_substring_of_its_id__compares_them_by_timestamp_numerically()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__056__Presence__enter__should_result_in_an_error_if_the_client_does_not_have_required_presence_permission()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__057__Presence__update__should_result_in_an_error_immediately_if_the_client_is_anonymous()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__058__Presence__update__should_result_in_an_error_immediately_if_the_channel_is_DETACHED()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__059__Presence__update__should_result_in_an_error_immediately_if_the_channel_is_FAILED()" time="4.227247953414917">
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__060__Presence__update__should_result_in_an_error_if_the_client_does_not_have_required_presence_permission()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__061__Presence__update__should_result_in_an_error_if_Ably_service_determines_that_the_client_is_unidentified()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__062__Presence__leave__optionally_a_callback_can_be_provided_that_is_called_for_success()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__063__Presence__leave__optionally_a_callback_can_be_provided_that_is_called_for_failure()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__064__Presence__leave__should_raise_an_error_if_client_is_not_present()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__065__Presence__leave__entering_without_an_explicit_PresenceMessage_clientId_should_implicitly_use_the_clientId_of_the_current_connection()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__066__Presence__leave__if_the_client_is_not_currently_ENTERED__Ably_will_respond_with_an_ACK_and_the_request_will_succeed()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__067__Presence__enter__implicitly_attaches_the_Channel()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__068__Presence__enter__should_result_in_an_error_if_the_channel_is_in_the_FAILED_state()" time="3.9479219913482666">
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__069__Presence__enter__should_result_in_an_error_if_the_channel_is_in_the_DETACHED_state()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__070__Presence__leave__should_result_in_an_error_immediately_if_the_client_is_anonymous()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__071__Presence__leave__should_result_in_an_error_immediately_if_the_channel_is_DETACHED()" time="0.0">
            <failure message="Crash: xctest (16476) unwrapValueWithAmbiguousObjectiveCNullability&lt;A&gt;(_:)">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__072__Presence__leave__should_result_in_an_error_immediately_if_the_channel_is_FAILED()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__073__Presence__leave__should_result_in_an_error_if_the_client_does_not_have_required_presence_permission()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__074__Presence__leave__should_result_in_an_error_if_Ably_service_determines_that_the_client_is_unidentified()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__078__Presence__enter__optional_data_can_be_included_when_entering_a_channel()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__079__Presence__enter__should_emit_the_data_attribute_in_the_LEAVE_event_when_data_is_provided_when_entering_but_no_data_is_provided_when_leaving()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__080__Presence__private_and_internal_PresenceMap_containing_only_members_that_match_the_current_connectionId__any_ENTER__PRESENT__UPDATE_or_LEAVE_event_that_matches_the_current_connectionId_should_be_applied_to_this_object()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__081__Presence__private_and_internal_PresenceMap_containing_only_members_that_match_the_current_connectionId__all_members_belonging_to_the_current_connection_are_published_as_a_PresenceMessage_on_the_Channel_by_the_server_irrespective_of_whether_the_client_has_permission_to_subscribe_or_the_Channel_is_configured_to_publish_presence_events()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__084__Presence__enterClient__should_implicitly_attach_the_Channel()" time="0.0">
            <failure message="Crash: xctest (26849) unwrapValueWithAmbiguousObjectiveCNullability&lt;A&gt;(_:)">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__085__Presence__enterClient__should_result_in_an_error_if_the_channel_is_in_the_FAILED_state()" time="3.8858879804611206">
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__086__Presence__enterClient__should_result_in_an_error_if_the_channel_moves_to_the_FAILED_state()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__087__Presence__updateClient__should_implicitly_attach_the_Channel()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__088__Presence__updateClient__should_result_in_an_error_if_the_channel_is_in_the_FAILED_state()" time="4.473907113075256">
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__089__Presence__updateClient__should_result_in_an_error_if_the_channel_moves_to_the_FAILED_state()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__090__Presence__leaveClient__should_implicitly_attach_the_Channel()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__091__Presence__leaveClient__should_result_in_an_error_if_the_channel_is_in_the_FAILED_state()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__092__Presence__leaveClient__should_result_in_an_error_if_the_channel_moves_to_the_FAILED_state()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__093__Presence__Connection_state_conditions__all_presence_messages_are_published_immediately_if_the_connection_is_CONNECTED()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__094__Presence__Connection_state_conditions__all_presence_messages_will_be_queued_and_delivered_as_soon_as_the_connection_state_returns_to_CONNECTED()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__095__Presence__Connection_state_conditions__all_presence_messages_will_be_lost_if_queueMessages_has_been_explicitly_set_to_false()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__096__Presence__Connection_state_conditions__should_result_in_an_error_if_the_connection_state_is_INITIALIZED_and_queueMessages_has_been_explicitly_set_to_false()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__097__Presence__Connection_state_conditions__should_result_in_an_error_if_the_connection_state_is__suspended()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__098__Presence__Connection_state_conditions__should_result_in_an_error_if_the_connection_state_is__closed()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__099__Presence__Connection_state_conditions__should_result_in_an_error_if_the_connection_state_is__failed()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__100__Presence__get__should_return_a_list_of_current_members_on_the_channel()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__101__Presence__get__should_implicitly_attach_the_channel()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__102__Presence__get__should_result_in_an_error_if_the_channel_is_in_the_FAILED_state()" time="4.3785719871521">
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__103__Presence__get__should_result_in_an_error_if_the_channel_moves_to_the_FAILED_state()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__104__Presence__get__should_result_in_an_error_if_the_channel_is_in_the_DETACHED_state()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__105__Presence__get__should_result_in_an_error_if_the_channel_moves_to_the_DETACHED_state()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__106__Presence__get__query__waitForSync_should_be_true_by_default()" time="0.0008009672164916992">
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__107__Presence__get__If_the_Channel_is_in_the_SUSPENDED_state_then__by_default__results_in_an_error()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__108__Presence__get__If_the_Channel_is_in_the_SUSPENDED_state_then__if_waitForSync_is_true__results_in_an_error()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__109__Presence__get__If_the_Channel_is_in_the_SUSPENDED_state_then__if_waitForSync_is_false__returns_the_members_in_the_current_PresenceMap()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__110__Presence__get__Query__set_of_params___waitForSync_is_true__should_wait_until_SYNC_is_complete_before_returning_a_list_of_members()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__111__Presence__get__Query__set_of_params___waitForSync_is_false__should_return_immediately_the_known_set_of_presence_members()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__112__Presence__get__Query__set_of_params___should_return_members_filtered_by_clientId()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__113__Presence__get__Query__set_of_params___should_return_members_filtered_by_connectionId()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__115__Presence__history__should_return_a_PaginatedResult_page()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__117__Presence__enterClient__should_be_present_all_the_registered_members_on_a_presence_channel()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__118__Presence__presence_message_attributes__if_the_presence_message_does_not_contain_an_id__it_should_be_set_to_protocolMsgId_index()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientPresenceTests" name="test__200__Presence__PresenceMap_should_perform_re_entry_whenever_a_channel_moves_into_the_attached_state_and_presence_message_consists_of_enter_action_with_client_id_and_data()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientTests" name="test__001__RealtimeClient__All_WebSocket_connections_should_include_the_current_API_version()" time="5.245213031768799">
            <failure message="failed - expected to param &lt;v=2&gt; exists, got &lt;key=_tmp_Znx1ig.MJsfXw:200jUOdMW75koi_eUefBceNPVY2LM399pp2GZDSv5EI&amp;agent=ably-cocoa/1.2.44%20macOS/15.6.0&amp;v=2&amp;format=msgpack&amp;echo=true&gt;
 (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/RealtimeClientTests.swift#EndingLineNumber=52&amp;StartingLineNumber=52)">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientTests" name="test__002__RealtimeClient__should_have_access_to_the_underlying_Connection_object()" time="0.002218008041381836">
        </testcase>
        <testcase classname="RealtimeClientTests" name="test__003__RealtimeClient__should_provide_access_to_the_underlying_Channels_object()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientTests" name="test__004__RealtimeClient__should_use_the_configured_timeouts_specified()" time="10.865665078163147">
        </testcase>
        <testcase classname="RealtimeClientTests" name="test__005__RealtimeClient__background_behaviour()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientTests" name="test__006__RealtimeClient__should_accept_acks_with_different_order()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientTests" name="test__007__RealtimeClient__transport_should_guarantee_the_incoming_message_order()" time="25.026414036750793">
            <failure message="failed - Waited more than 20.0 seconds
 (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/RealtimeClientTests.swift#EndingLineNumber=1379&amp;StartingLineNumber=1379)">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientTests" name="test__008__RealtimeClient__subscriber_should_receive_messages_in_the_same_order_in_which_they_have_been_sent()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientTests" name="test__009__RealtimeClient__should_dispatch_in_user_queue_when_removing_an_observer()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientTests" name="test__010__RealtimeClient__should_never_register_any_connection_listeners_for_internal_use_with_the_public_EventEmitter()" time="4.618366003036499">
        </testcase>
        <testcase classname="RealtimeClientTests" name="test__011__RealtimeClient__should_never_register_any_message_and_channel_listeners_for_internal_use_with_the_public_EventEmitter()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientTests" name="test__012__RealtimeClient__moves_to_DISCONNECTED_on_an_unexpected_normal_WebSocket_close()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientTests" name="test__013__RealtimeClient__options__should_support_the_same_options_as_the_Rest_client()" time="4.744316935539246">
        </testcase>
        <testcase classname="RealtimeClientTests" name="test__014__RealtimeClient__options__should_echoMessages_option_be_true_by_default()" time="0.0008440017700195312">
        </testcase>
        <testcase classname="RealtimeClientTests" name="test__015__RealtimeClient__options__should_autoConnect_option_be_true_by_default()" time="0.0004620552062988281">
        </testcase>
        <testcase classname="RealtimeClientTests" name="test__016__RealtimeClient__options__should_attempt_to_recover_the_connection_state_if_recover_string_is_assigned()" time="0.3614509105682373">
        </testcase>
        <testcase classname="RealtimeClientTests" name="test__017__RealtimeClient__options__should_modify_the_realtime_endpoint_host_if_realtimeHost_is_assigned()" time="0.06929802894592285">
        </testcase>
        <testcase classname="RealtimeClientTests" name="test__018__RealtimeClient__options__should_modify_both_the_REST_and_realtime_endpoint_if_environment_string_is_assigned()" time="0.0005549192428588867">
        </testcase>
        <testcase classname="RealtimeClientTests" name="test__019__RealtimeClient__options__url_should_contains_transport_params()" time="0.002332925796508789">
        </testcase>
        <testcase classname="RealtimeClientTests" name="test__020__RealtimeClient__Auth_object__should_provide_access_to_the_Auth_object()" time="0.0012890100479125977">
        </testcase>
        <testcase classname="RealtimeClientTests" name="test__021__RealtimeClient__Auth_object__clientId_may_be_populated_when_the_connection_is_established()" time="0.18830299377441406">
        </testcase>
        <testcase classname="RealtimeClientTests" name="test__022__RealtimeClient__stats__should_present_an_async_interface()" time="0.09196805953979492">
        </testcase>
        <testcase classname="RealtimeClientTests" name="test__023__RealtimeClient__stats__should_accept_all_the_same_params_as_RestClient()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientTests" name="test__024__RealtimeClient__time__should_present_an_async_interface()" time="4.44363808631897">
        </testcase>
        <testcase classname="RealtimeClientTests" name="test__025__RealtimeClient__Auth_authorize_should_upgrade_the_connection_with_current_token__in_the_CONNECTED_state_and_auth_authorize_is_called__the_client_must_obtain_a_new_token__send_an_AUTH_ProtocolMessage_with_an_auth_attribute()" time="0.4811840057373047">
        </testcase>
        <testcase classname="RealtimeClientTests" name="test__026__RealtimeClient__Auth_authorize_should_upgrade_the_connection_with_current_token__when_the_authentication_token_change_is_successful__then_the_client_should_receive_a_new_CONNECTED_ProtocolMessage()" time="0.43474602699279785">
        </testcase>
        <testcase classname="RealtimeClientTests" name="test__027__RealtimeClient__Auth_authorize_should_upgrade_the_connection_with_current_token__performs_an_upgrade_of_capabilities_without_any_loss_of_continuity_or_connectivity_during_the_upgrade_process()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientTests" name="test__028__RealtimeClient__Auth_authorize_should_upgrade_the_connection_with_current_token__when_capabilities_are_downgraded__client_should_receive_an_ERROR_ProtocolMessage_with_a_channel_property()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientTests" name="test__029__RealtimeClient__Auth_authorize_should_upgrade_the_connection_with_current_token__when_the_authentication_token_change_fails__client_should_receive_an_ERROR_ProtocolMessage_triggering_the_connection_to_transition_to_the_FAILED_state()" time="4.596411943435669">
        </testcase>
        <testcase classname="RealtimeClientTests" name="test__030__RealtimeClient__Auth_authorize_should_upgrade_the_connection_with_current_token__authorize_call_should_complete_with_an_error_if_the_request_fails()" time="0.28943002223968506">
        </testcase>
        <testcase classname="RealtimeClientTests" name="test__031__RealtimeClient__Auth_authorize_should_upgrade_the_connection_with_current_token__authorize_call_should_be_indicated_as_completed_with_the_new_token_or_error_only_once_realtime_has_responded_to_the_AUTH_with_either_a_CONNECTED_or_ERROR_respectively()" time="0.5049829483032227">
        </testcase>
        <testcase classname="RealtimeClientTests" name="test__033__RealtimeClient__Auth_authorize_should_upgrade_the_connection_with_current_token__authorize_call_should_complete_with_the_new_token_once_the_connection_has_moved_to_the_CONNECTED_state()" time="0.36900508403778076">
        </testcase>
        <testcase classname="RealtimeClientTests" name="test__037__RealtimeClient__Auth_authorize_should_upgrade_the_connection_with_current_token__when_the_connection_is_in_the_SUSPENDED_state_when_auth_authorize_is_called__after_obtaining_a_token_the_library_should_move_to_the_CONNECTING_state_and_initiate_a_connection_attempt_using_the_new_token()" time="0.562762975692749">
        </testcase>
        <testcase classname="RealtimeClientTests" name="test__038__RealtimeClient__Auth_authorize_should_upgrade_the_connection_with_current_token__when_the_connection_is_in_the_CLOSED_state_when_auth_authorize_is_called__after_obtaining_a_token_the_library_should_move_to_the_CONNECTING_state_and_initiate_a_connection_attempt_using_the_new_token()" time="0.5895429849624634">
        </testcase>
        <testcase classname="RealtimeClientTests" name="test__039__RealtimeClient__Auth_authorize_should_upgrade_the_connection_with_current_token__when_the_connection_is_in_the_DISCONNECTED_state_when_auth_authorize_is_called__after_obtaining_a_token_the_library_should_move_to_the_CONNECTING_state_and_initiate_a_connection_attempt_using_the_new_token()" time="0.5865529775619507">
        </testcase>
        <testcase classname="RealtimeClientTests" name="test__040__RealtimeClient__Auth_authorize_should_upgrade_the_connection_with_current_token__when_the_connection_is_in_the_FAILED_state_when_auth_authorize_is_called__after_obtaining_a_token_the_library_should_move_to_the_CONNECTING_state_and_initiate_a_connection_attempt_using_the_new_token()" time="0.5534960031509399">
        </testcase>
        <testcase classname="RealtimeClientTests" name="test__041__If_the_total_size_of_message_s__exceeds_the_maxMessageSize__the_client_library_should_reject_the_publish_and_indicate_an_error()" time="0.23570311069488525">
        </testcase>
        <testcase classname="RealtimeClientTests" name="test__042__If_the_total_size_of_message_s__exceeds_the_maxMessageSize__the_client_library_should_reject_also_presence_messages__enter_()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientTests" name="test__043__If_the_total_size_of_message_s__exceeds_the_maxMessageSize__the_client_library_should_reject_also_presence_messages__leave_()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientTests" name="test__044__If_the_total_size_of_message_s__exceeds_the_maxMessageSize__the_client_library_should_reject_also_presence_messages__update_()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientTests" name="test__045__If_the_total_size_of_message_s__exceeds_the_maxMessageSize__the_client_library_should_reject_also_presence_messages__updateClient_()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RealtimeClientTests" name="test__046__If_the_total_size_of_message_s__exceeds_the_maxMessageSize__the_client_library_should_reject_also_presence_messages__leaveClient_()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RestClientChannelsTests" name="test__001__RestClient__channels__should_return_collection_of_channels()" time="0.013867974281311035">
        </testcase>
        <testcase classname="RestClientChannelsTests" name="test__002__RestClient__channels__should_be_enumerable()" time="0.0026159286499023438">
        </testcase>
        <testcase classname="RestClientChannelsTests" name="test__003__RestClient__channels__get__should_return_a_channel()" time="0.4641820192337036">
            <failure message="failed - expected to be a channel with name &quot;239F4BC4-223A-4032-8A9F-A392560BE9D5-87884-0000002CDA94462A&quot;, got &lt;&lt;AblySwift.ARTRestChannelInternal: 0x6000005e31e0&gt;&gt;
&quot;239F4BC4-223A-4032-8A9F-A392560BE9D5-87884-0000002CDA94462A&quot; instead
 (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/RestClientChannelsTests.swift#EndingLineNumber=59&amp;StartingLineNumber=59)">
            </failure>
        </testcase>
        <testcase classname="RestClientChannelsTests" name="test__004__RestClient__channels__get__should_return_a_channel_with_the_provided_options()" time="0.0022649765014648438">
            <failure message="failed - expected to be a channel with name &quot;0FD90A80-740A-4C90-BA29-E7978A630C40-87884-0000002CDB3E56C6&quot;, got &lt;&lt;AblySwift.ARTRestChannelInternal: 0x6000005f39c0&gt;&gt;
&quot;0FD90A80-740A-4C90-BA29-E7978A630C40-87884-0000002CDB3E56C6&quot; instead
 (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/RestClientChannelsTests.swift#EndingLineNumber=70&amp;StartingLineNumber=70)">
            </failure>
        </testcase>
        <testcase classname="RestClientChannelsTests" name="test__005__RestClient__channels__get__should_not_replace_the_options_on_an_existing_channel_when_none_are_provided()" time="0.0016269683837890625">
            <failure message="XCTAssertTrue failed (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/RestClientChannelsTests.swift#EndingLineNumber=82&amp;StartingLineNumber=82)">
            </failure>
        </testcase>
        <testcase classname="RestClientChannelsTests" name="test__006__RestClient__channels__get__should_replace_the_options_on_an_existing_channel_when_new_ones_are_provided()" time="0.0008929967880249023">
        </testcase>
        <testcase classname="RestClientChannelsTests" name="test__007__RestClient__channels__channelExists__should_check_if_a_channel_exists()" time="0.000576019287109375">
        </testcase>
        <testcase classname="RestClientChannelsTests" name="test__008__RestClient__channels__releaseChannel__should_release_a_channel()" time="0.002331972122192383">
            <failure message="failed - expected to be a channel with name &quot;716DFBE7-A729-443C-866D-EC5AF43A4DB5-87884-0000002CDB40BC22&quot;, got &lt;&lt;AblySwift.ARTRestChannelInternal: 0x6000005eef40&gt;&gt;
&quot;716DFBE7-A729-443C-866D-EC5AF43A4DB5-87884-0000002CDB40BC22&quot; instead
 (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/RestClientChannelsTests.swift#EndingLineNumber=116&amp;StartingLineNumber=116)">
            </failure>
        </testcase>
        <testcase classname="RestClientPresenceTests" name="test__002__Presence__get__should_return_a_PaginatedResult_page_containing_the_first_page_of_members()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RestClientPresenceTests" name="test__003__Presence__get__limit_should_support_up_to_1000_items()" time="3.8020130395889282">
        </testcase>
        <testcase classname="RestClientPresenceTests" name="test__004__Presence__get__clientId_should_filter_members_by_the_provided_clientId()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RestClientPresenceTests" name="test__005__Presence__get__connectionId_should_filter_members_by_the_provided_connectionId()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RestClientPresenceTests" name="test__006__Presence__history__should_return_a_PaginatedResult_page_containing_the_first_page_of_members()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RestClientPresenceTests" name="test__007__Presence__history__query_argument__direction_should_change_the_order_of_the_members()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RestClientPresenceTests" name="test__008__Presence__history__connectionId_should_filter_members_by_the_provided_connectionId()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RestClientPresenceTests" name="test__009__Presence__history__query_argument__limit_supports_up_to_1000_members()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RestClientPresenceTests" name="test__010__Presence__history__query_argument__start_and_end_should_filter_members_between_those_two_times()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RestClientPresenceTests" name="test__011__Presence__history__query_argument__start_must_be_equal_to_or_less_than_end_and_is_unaffected_by_the_request_direction()" time="4.379858016967773">
        </testcase>
        <testcase classname="RestClientStatsTests" name="test__001__RestClient__stats__result__should_match_minute_level_inbound_and_outbound_fixture_data__forwards_()" time="5.082044959068298">
        </testcase>
        <testcase classname="RestClientStatsTests" name="test__002__RestClient__stats__result__should_match_hour_level_inbound_and_outbound_fixture_data__forwards_()" time="5.374016046524048">
            <failure message="XCTAssertEqual failed: (&quot;3&quot;) is not equal to (&quot;1&quot;) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/RestClientStatsTests.swift#EndingLineNumber=142&amp;StartingLineNumber=142)">
            </failure>
        </testcase>
        <testcase classname="RestClientStatsTests" name="test__003__RestClient__stats__result__should_match_day_level_inbound_and_outbound_fixture_data__forwards_()" time="5.012406945228577">
            <failure message="XCTAssertEqual failed: (&quot;3&quot;) is not equal to (&quot;1&quot;) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/RestClientStatsTests.swift#EndingLineNumber=161&amp;StartingLineNumber=161)">
            </failure>
        </testcase>
        <testcase classname="RestClientStatsTests" name="test__004__RestClient__stats__result__should_match_month_level_inbound_and_outbound_fixture_data__forwards_()" time="4.629912972450256">
            <failure message="XCTAssertEqual failed: (&quot;3&quot;) is not equal to (&quot;1&quot;) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/RestClientStatsTests.swift#EndingLineNumber=180&amp;StartingLineNumber=180)">
            </failure>
        </testcase>
        <testcase classname="RestClientStatsTests" name="test__005__RestClient__stats__result__should_contain_only_one_item_when_limit_is_1__backwards()" time="4.51912796497345">
            <failure message="XCTAssertEqual failed: (&quot;3&quot;) is not equal to (&quot;1&quot;) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/RestClientStatsTests.swift#EndingLineNumber=198&amp;StartingLineNumber=198)">
            </failure>
        </testcase>
        <testcase classname="RestClientStatsTests" name="test__006__RestClient__stats__result__should_contain_only_one_item_when_limit_is_1__forwards()" time="4.820934057235718">
            <failure message="XCTAssertEqual failed: (&quot;3&quot;) is not equal to (&quot;1&quot;) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/RestClientStatsTests.swift#EndingLineNumber=217&amp;StartingLineNumber=217)">
            </failure>
        </testcase>
        <testcase classname="RestClientStatsTests" name="test__007__RestClient__stats__result__should_be_paginated_according_to_the_limit__backwards()" time="5.078083038330078">
            <failure message="XCTAssertEqual failed: (&quot;3&quot;) is not equal to (&quot;1&quot;) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/RestClientStatsTests.swift#EndingLineNumber=232&amp;StartingLineNumber=232)">
            </failure>
        </testcase>
        <testcase classname="RestClientStatsTests" name="test__008__RestClient__stats__result__should_be_paginated_according_to_the_limit__fowards_()" time="5.155004024505615">
            <failure message="XCTAssertEqual failed: (&quot;3&quot;) is not equal to (&quot;1&quot;) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/RestClientStatsTests.swift#EndingLineNumber=282&amp;StartingLineNumber=282)">
            </failure>
        </testcase>
        <testcase classname="RestClientStatsTests" name="test__009__RestClient__stats__query__start__should_return_an_error_when_later_than_end()" time="0.0008399486541748047">
        </testcase>
        <testcase classname="RestClientStatsTests" name="test__010__RestClient__stats__query__direction__should_be_backwards_by_default()" time="0.00047600269317626953">
        </testcase>
        <testcase classname="RestClientStatsTests" name="test__011__RestClient__stats__query__limit__should_have_a_default_value_of_100()" time="0.001757979393005371">
        </testcase>
        <testcase classname="RestClientStatsTests" name="test__012__RestClient__stats__query__limit__should_return_an_error_when_greater_than_1000()" time="0.0035380125045776367">
        </testcase>
        <testcase classname="RestClientStatsTests" name="test__013__RestClient__stats__query__unit__should_default_to_minute()" time="0.0018169879913330078">
        </testcase>
        <testcase classname="RestClientTests" name="test__001__RestClient__All_REST_requests_should_include_the_current_API_version()" time="0.1154630184173584">
        </testcase>
        <testcase classname="RestClientTests" name="test__002__RestClient__should_provide_access_to_the_AuthOptions_object_passed_in_ClientOptions()" time="0.0">
            <failure message="Test crashed with signal segv.">
            </failure>
        </testcase>
        <testcase classname="RestClientTests" name="test__003__RestClient__REST_endpoint_host_should_be_configurable_in_the_Client_constructor_with_the_option_restHost()" time="0.0481259822845459">
        </testcase>
        <testcase classname="RestClientTests" name="test__004__RestClient__should_send_requests_over_http_and_https()" time="4.711176037788391">
        </testcase>
        <testcase classname="RestClientTests" name="test__005__RestClient__should_use_Auth_to_manage_authentication()" time="0.09222304821014404">
        </testcase>
        <testcase classname="RestClientTests" name="test__006__RestClient__should_request_another_token_after_current_one_is_no_longer_valid()" time="1.5555020570755005">
        </testcase>
        <testcase classname="RestClientTests" name="test__007__RestClient__should_result_in_an_error_when_user_does_not_have_sufficient_permissions()" time="0.17685306072235107">
        </testcase>
        <testcase classname="RestClientTests" name="test__008__RestClient__should_use_MsgPack_binary_protocol()" time="0.38921403884887695">
        </testcase>
        <testcase classname="RestClientTests" name="test__009__RestClient__should_use_JSON_text_protocol()" time="0.0">
            <failure message="Test crashed with signal trap.">
            </failure>
        </testcase>
        <testcase classname="RestClientTests" name="test__010__RestClient__X_Ably_Version_must_be_included_in_all_REST_requests()" time="4.386155962944031">
        </testcase>
        <testcase classname="RestClientTests" name="test__011__RestClient__The_Agent_library_identifier_is_composed_of_a_series_of_key__value__entries_joined_by_spaces()" time="0.12947404384613037">
        </testcase>
        <testcase classname="RestClientTests" name="test__012__RestClient__should_indicate_an_error_if_there_is_no_way_to_renew_the_token()" time="2.4411829710006714">
        </testcase>
        <testcase classname="RestClientTests" name="test__013__RestClient__background_behaviour()" time="0.6657670736312866">
        </testcase>
        <testcase classname="RestClientTests" name="test__014__RestClient__client_should_handle_error_messages_in_plaintext_and_HTML_format()" time="20.58970606327057">
            <failure message="failed - Waited more than 20.0 seconds
 (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/RestClientTests.swift#EndingLineNumber=1799&amp;StartingLineNumber=1799)">
            </failure>
        </testcase>
        <testcase classname="RestClientTests" name="test__015__RestClient__initializer__should_accept_an_API_key()" time="0.0035790205001831055">
        </testcase>
        <testcase classname="RestClientTests" name="test__017__RestClient__initializer__should_result_in_error_status_when_provided_a_bad_key()" time="0.15398705005645752">
        </testcase>
        <testcase classname="RestClientTests" name="test__018__RestClient__initializer__should_accept_a_token()" time="0.08948695659637451">
        </testcase>
        <testcase classname="RestClientTests" name="test__019__RestClient__initializer__should_accept_an_options_object()" time="0.0020599365234375">
        </testcase>
        <testcase classname="RestClientTests" name="test__020__RestClient__initializer__should_accept_an_options_object_with_token_authentication()" time="0.18769097328186035">
        </testcase>
        <testcase classname="RestClientTests" name="test__021__RestClient__initializer__should_result_in_error_status_when_provided_a_bad_token()" time="0.14444291591644287">
        </testcase>
        <testcase classname="RestClientTests" name="test__022__RestClient__logging__should_output_to_the_system-log_and_the_log_level_should_be_Warn()" time="0.0016700029373168945">
        </testcase>
        <testcase classname="RestClientTests" name="test__023__RestClient__logging__should_have_a_mutable_log_level()" time="0.0008440017700195312">
        </testcase>
        <testcase classname="RestClientTests" name="test__024__RestClient__logging__should_accept_a_custom_logger()" time="0.0006679296493530273">
        </testcase>
        <testcase classname="RestClientTests" name="test__025__RestClient__endpoint__should_accept_a_custom_host_and_send_requests_to_the_specified_host()" time="0.012988924980163574">
        </testcase>
        <testcase classname="RestClientTests" name="test__026__RestClient__endpoint__should_ignore_an_environment_when_restHost_is_customized()" time="0.0038499832153320312">
        </testcase>
        <testcase classname="RestClientTests" name="test__027__RestClient__endpoint__should_accept_an_environment_when_restHost_is_left_unchanged()" time="0.014922022819519043">
        </testcase>
        <testcase classname="RestClientTests" name="test__028__RestClient__endpoint__should_default_to_https___rest_ably_io()" time="0.013928055763244629">
        </testcase>
        <testcase classname="RestClientTests" name="test__029__RestClient__endpoint__should_connect_over_plain_http____when_tls_is_off()" time="0.08871400356292725">
        </testcase>
        <testcase classname="RestClientTests" name="test__030__RestClient__endpoint__should_not_prepend_the_environment_if_environment_is_configured_as__production_()" time="0.0023860931396484375">
        </testcase>
        <testcase classname="RestClientTests" name="test__031__RestClient__should_use_the_the_connection_and_request_timeouts_specified__timeout_for_any_single_HTTP_request_and_response()" time="1.0508960485458374">
        </testcase>
        <testcase classname="RestClientTests" name="test__032__RestClient__should_use_the_the_connection_and_request_timeouts_specified__max_number_of_fallback_hosts()" time="0.004910945892333984">
        </testcase>
        <testcase classname="RestClientTests" name="test__033__RestClient__should_use_the_the_connection_and_request_timeouts_specified__max_elapsed_time_in_which_fallback_host_retries_for_HTTP_requests_will_be_attempted()" time="0.6178250312805176">
        </testcase>
        <testcase classname="RestClientTests" name="test__034__RestClient__time__should_return_server_time()" time="0.09520304203033447">
        </testcase>
        <testcase classname="RestClientTests" name="test__035__RestClient__Authentication__should_support_basic_authentication_when_an_API_key_is_provided_with_the_key_option()" time="0.09535205364227295">
        </testcase>
        <testcase classname="RestClientTests" name="test__036__RestClient__Authentication__should_error_when_expired_token_and_no_means_to_renew()" time="5.524059891700745">
        </testcase>
        <testcase classname="RestClientTests" name="test__037__RestClient__Authentication__should_renew_the_token_when_it_has_expired()" time="5.653298020362854">
        </testcase>
        <testcase classname="RestClientTests" name="test__038__RestClient__Authentication__basic_authentication_flag__should_be_true_when_initialized_with_a_key()" time="0.003175020217895508">
        </testcase>
        <testcase classname="RestClientTests" name="test__039__RestClient__Authentication__basic_authentication_flag__should_be_false_when_options__useTokenAuth_is_set()" time="0.0020450353622436523">
        </testcase>
        <testcase classname="RestClientTests" name="test__040__RestClient__Authentication__basic_authentication_flag__should_be_false_when_options__authUrl_is_set()" time="0.003023982048034668">
        </testcase>
        <testcase classname="RestClientTests" name="test__041__RestClient__Authentication__basic_authentication_flag__should_be_false_when_options__authCallback_is_set()" time="0.0009300708770751953">
        </testcase>
        <testcase classname="RestClientTests" name="test__042__RestClient__Authentication__basic_authentication_flag__should_be_false_when_options__tokenDetails_is_set()" time="0.0012270212173461914">
        </testcase>
        <testcase classname="RestClientTests" name="test__043__RestClient__Authentication__basic_authentication_flag__should_be_false_when_options__token_is_set()" time="0.001799941062927246">
        </testcase>
        <testcase classname="RestClientTests" name="test__044__RestClient__Authentication__basic_authentication_flag__should_be_false_when_options__key_is_set()" time="0.0005528926849365234">
        </testcase>
        <testcase classname="RestClientTests" name="test__045__RestClient__Host_Fallback__failing_HTTP_requests_with_custom_endpoint_should_result_in_an_error_immediately()" time="0.00433802604675293">
        </testcase>
        <testcase classname="RestClientTests" name="test__046__RestClient__Host_Fallback__applies_when_ClientOptions_fallbackHostsUseDefault_is_true()" time="0.0032269954681396484">
        </testcase>
        <testcase classname="RestClientTests" name="test__047__RestClient__Host_Fallback__won_t_apply_fallback_hosts_if_ClientOptions_fallbackHosts_array_is_empty()" time="0.004073977470397949">
        </testcase>
        <testcase classname="RestClientTests" name="test__048__RestClient__Host_Fallback__won_t_apply_custom_fallback_hosts_if_ClientOptions_fallbackHosts_and_ClientOptions_environment_are_not_set__use_defaults_instead()" time="0.007520079612731934">
        </testcase>
        <testcase classname="RestClientTests" name="test__049__RestClient__Host_Fallback__every_new_HTTP_request_is_first_attempted_to_the_default_primary_host_rest_ably_io()" time="1.236657977104187">
            <failure message="XCTAssertTrue failed (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/RestClientTests.swift#EndingLineNumber=1313&amp;StartingLineNumber=1313)">
            </failure>
        </testcase>
        <testcase classname="RestClientTests" name="test__050__RestClient__Host_Fallback__should_not_use_an_alternative_host_when_the_client_receives_an_bad_request()" time="0.003156900405883789">
        </testcase>
        <testcase classname="RestClientTests" name="test__051__RestClient__Host_Fallback__fallbackHostsUseDefault_option__allows_the_default_fallback_hosts_to_be_used_when__environment__is_not_production()" time="0.005414009094238281">
        </testcase>
        <testcase classname="RestClientTests" name="test__052__RestClient__Host_Fallback__fallbackHostsUseDefault_option__allows_the_default_fallback_hosts_to_be_used_when_a_custom_Realtime_or_REST_host_endpoint_is_being_used()" time="0.0008569955825805664">
        </testcase>
        <testcase classname="RestClientTests" name="test__053__RestClient__Host_Fallback__fallbackHostsUseDefault_option__should_be_inactive_by_default()" time="0.0004329681396484375">
        </testcase>
        <testcase classname="RestClientTests" name="test__055__RestClient__Host_Fallback__Fallback_behavior__should_be_applied_when_restHost__port_and_tlsPort_has_not_been_set_to_an_explicit_value()" time="0.002628922462463379">
        </testcase>
        <testcase classname="RestClientTests" name="test__056__RestClient__Host_Fallback__Fallback_behavior__should_NOT_be_applied_when_ClientOptions_restHost_has_been_set()" time="0.0017859935760498047">
        </testcase>
        <testcase classname="RestClientTests" name="test__057__RestClient__Host_Fallback__Fallback_behavior__should_NOT_be_applied_when_ClientOptions_port_has_been_set()" time="0.0018639564514160156">
        </testcase>
        <testcase classname="RestClientTests" name="test__058__RestClient__Host_Fallback__Fallback_behavior__should_NOT_be_applied_when_ClientOptions_tlsPort_has_been_set()" time="0.0043680667877197266">
        </testcase>
        <testcase classname="RestClientTests" name="test__059__RestClient__Host_Fallback__Fallback_behavior__should_be_applied_when_ClientOptions_fallbackHosts_is_provided()" time="0.004037976264953613">
        </testcase>
        <testcase classname="RestClientTests" name="test__060__RestClient__Host_Fallback__Fallback_behavior__should_be_applied_when_ClientOptions_fallbackHosts_is_not_provided_and_deprecated_fallbackHostsUseDefault_is_on()" time="0.00466001033782959">
        </testcase>
        <testcase classname="RestClientTests" name="test__061__RestClient__Host_Fallback__fallback_hosts_list_and_priorities__should_use_ClientOptions_fallbackHosts_when_list_is_provided()" time="0.003977060317993164">
        </testcase>
        <testcase classname="RestClientTests" name="test__062__RestClient__Host_Fallback__fallback_hosts_list_and_priorities__should_use_environment_fallback_hosts_when_ClientOptions_environment_is_set_to_a_value_other_than__production__and_ClientOptions_fallbackHosts_is_not_set()" time="0.004938006401062012">
        </testcase>
        <testcase classname="RestClientTests" name="test__063__RestClient__Host_Fallback__fallback_hosts_list_and_priorities__should_NOT_use_environment_fallback_hosts_when_ClientOptions_environment_is_set_to__production_()" time="0.0032470226287841797">
        </testcase>
        <testcase classname="RestClientTests" name="test__064__RestClient__Host_Fallback__fallback_hosts_list_and_priorities__should_use_default_fallback_hosts_when_both_ClientOptions_fallbackHosts_and_ClientOptions_environment_are_not_set()" time="0.005890011787414551">
        </testcase>
        <testcase classname="RestClientTests" name="test__065__RestClient__Host_Fallback__retry_hosts_in_random_order__default_fallback_hosts_should_match__a_e__ably_realtime_com()" time="0.0032570362091064453">
        </testcase>
        <testcase classname="RestClientTests" name="test__066__RestClient__Host_Fallback__retry_hosts_in_random_order__environment_fallback_hosts_have_the_format__environment___a_e__fallback_ably_realtime_com()" time="0.0009930133819580078">
        </testcase>
        <testcase classname="RestClientTests" name="test__067__RestClient__Host_Fallback__retry_hosts_in_random_order__until_httpMaxRetryCount_has_been_reached()" time="0.006450057029724121">
        </testcase>
        <testcase classname="RestClientTests" name="test__068__RestClient__Host_Fallback__retry_hosts_in_random_order__use_custom_fallback_hosts_if_set()" time="0.002256035804748535">
        </testcase>
        <testcase classname="RestClientTests" name="test__069__RestClient__Host_Fallback__retry_hosts_in_random_order__until_all_fallback_hosts_have_been_tried()" time="0.005655050277709961">
        </testcase>
        <testcase classname="RestClientTests" name="test__070__RestClient__Host_Fallback__retry_hosts_in_random_order__until_httpMaxRetryCount_has_been_reached__if_custom_fallback_hosts_are_provided_in_ClientOptions_fallbackHosts__then_they_will_be_used_instead()" time="0.0035740137100219727">
        </testcase>
        <testcase classname="RestClientTests" name="test__071__RestClient__Host_Fallback__retry_hosts_in_random_order__until_all_fallback_hosts_have_been_tried__if_custom_fallback_hosts_are_provided_in_ClientOptions_fallbackHosts__then_they_will_be_used_instead()" time="0.0020940303802490234">
        </testcase>
        <testcase classname="RestClientTests" name="test__072__RestClient__Host_Fallback__retry_hosts_in_random_order__all_fallback_requests_headers_should_contain__Host__header_with_fallback_host_address()" time="0.002980947494506836">
            <failure message="XCTAssertEqual failed: (&quot;5&quot;) is not equal to (&quot;0&quot;) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/RestClientTests.swift#EndingLineNumber=1528&amp;StartingLineNumber=1528)">
            </failure>
        </testcase>
        <testcase classname="RestClientTests" name="test__073__RestClient__Host_Fallback__retry_hosts_in_random_order__if_an_empty_array_of_fallback_hosts_is_provided__then_fallback_host_functionality_is_disabled()" time="0.0018519163131713867">
        </testcase>
        <testcase classname="RestClientTests" name="test__074__RestClient__Host_Fallback__should_use_an_alternative_host_when___hostUnreachable()" time="0.0021839141845703125">
        </testcase>
        <testcase classname="RestClientTests" name="test__075__RestClient__Host_Fallback__should_use_an_alternative_host_when___requestTimeout_timeout__0_1_()" time="0.1249319314956665">
        </testcase>
        <testcase classname="RestClientTests" name="test__076__RestClient__Host_Fallback__should_use_an_alternative_host_when___hostInternalError_code__501_()" time="0.0015319585800170898">
        </testcase>
        <testcase classname="RestClientTests" name="test__077__RestClient__Host_Fallback__should_store_successful_fallback_host_as_default_host___hostUnreachable()" time="0.0023169517517089844">
        </testcase>
        <testcase classname="RestClientTests" name="test__078__RestClient__Host_Fallback__should_store_successful_fallback_host_as_default_host___requestTimeout_timeout__0_1_()" time="0.20244598388671875">
        </testcase>
        <testcase classname="RestClientTests" name="test__079__RestClient__Host_Fallback__should_store_successful_fallback_host_as_default_host___hostInternalError_code__501_()" time="0.004424095153808594">
        </testcase>
        <testcase classname="RestClientTests" name="test__080__RestClient__Host_Fallback__should_store_successful_fallback_host_as_default_host__should_restore_default_primary_host_after_fallbackRetryTimeout_expired___hostUnreachable()" time="1.140815019607544">
            <failure message="XCTAssertEqual failed: (&quot;Optional(&quot;d.ably-realtime.com&quot;)&quot;) is not equal to (&quot;Optional(&quot;rest.ably.io&quot;)&quot;) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/RestClientTests.swift#EndingLineNumber=113&amp;StartingLineNumber=113)">
            </failure>
        </testcase>
        <testcase classname="RestClientTests" name="test__081__RestClient__Host_Fallback__should_store_successful_fallback_host_as_default_host__should_restore_default_primary_host_after_fallbackRetryTimeout_expired___requestTimeout_timeout__0_1_()" time="1.4423329830169678">
            <failure message="XCTAssertEqual failed: (&quot;Optional(&quot;d.ably-realtime.com&quot;)&quot;) is not equal to (&quot;Optional(&quot;rest.ably.io&quot;)&quot;) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/RestClientTests.swift#EndingLineNumber=113&amp;StartingLineNumber=113)">
            </failure>
        </testcase>
        <testcase classname="RestClientTests" name="test__082__RestClient__Host_Fallback__should_store_successful_fallback_host_as_default_host__should_restore_default_primary_host_after_fallbackRetryTimeout_expired___hostInternalError_code__501_()" time="1.1262320280075073">
            <failure message="XCTAssertEqual failed: (&quot;Optional(&quot;d.ably-realtime.com&quot;)&quot;) is not equal to (&quot;Optional(&quot;rest.ably.io&quot;)&quot;) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/RestClientTests.swift#EndingLineNumber=113&amp;StartingLineNumber=113)">
            </failure>
        </testcase>
        <testcase classname="RestClientTests" name="test__083__RestClient__Host_Fallback__should_store_successful_fallback_host_as_default_host__should_use_another_fallback_host_if_previous_fallback_request_failed_and_store_it_as_default_if_current_fallback_request_succseeded___hostUnreachable()" time="0.013167023658752441">
        </testcase>
        <testcase classname="RestClientTests" name="test__084__RestClient__Host_Fallback__should_store_successful_fallback_host_as_default_host__should_use_another_fallback_host_if_previous_fallback_request_failed_and_store_it_as_default_if_current_fallback_request_succseeded___requestTimeout_timeout__0_1_()" time="0.28905200958251953">
        </testcase>
        <testcase classname="RestClientTests" name="test__085__RestClient__Host_Fallback__should_store_successful_fallback_host_as_default_host__should_use_another_fallback_host_if_previous_fallback_request_failed_and_store_it_as_default_if_current_fallback_request_succseeded___hostInternalError_code__501_()" time="0.008381962776184082">
        </testcase>
        <testcase classname="RestClientTests" name="test__086__RestClient__request__method_signature_and_arguments__should_add_query_parameters()" time="0.005499005317687988">
            <failure message="XCTAssertEqual failed: (&quot;https://rest.ably.io:443/feature&quot;) is not equal to (&quot;https://rest.ably.io:443/feature?foo=1&quot;) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/RestClientTests.swift#EndingLineNumber=1844&amp;StartingLineNumber=1844)">
            </failure>
        </testcase>
        <testcase classname="RestClientTests" name="test__087__RestClient__request__method_signature_and_arguments__should_add_a_HTTP_body()" time="0.005169034004211426">
        </testcase>
        <testcase classname="RestClientTests" name="test__088__RestClient__request__method_signature_and_arguments__should_add_a_HTTP_header()" time="0.003054022789001465">
        </testcase>
        <testcase classname="RestClientTests" name="test__089__RestClient__request__method_signature_and_arguments__should_error_if_method_is_invalid()" time="0.003798961639404297">
            <failure message="XCTAssertEqual failed: (&quot;40005&quot;) is not equal to (&quot;1&quot;) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/RestClientTests.swift#EndingLineNumber=1910&amp;StartingLineNumber=1910)">
            </failure>
        </testcase>
        <testcase classname="RestClientTests" name="test__090__RestClient__request__method_signature_and_arguments__should_error_if_path_is_invalid()" time="0.0025249719619750977">
            <failure message="XCTAssertEqual failed: (&quot;40007&quot;) is not equal to (&quot;3&quot;) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/RestClientTests.swift#EndingLineNumber=1934&amp;StartingLineNumber=1934)">
            </failure>
        </testcase>
        <testcase classname="RestClientTests" name="test__091__RestClient__request__method_signature_and_arguments__should_error_if_body_is_not_a_Dictionary_or_an_Array()" time="0.0028400421142578125">
            <failure message="XCTAssertEqual failed: (&quot;40006&quot;) is not equal to (&quot;2&quot;) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/RestClientTests.swift#EndingLineNumber=1949&amp;StartingLineNumber=1949)">
            </failure>
        </testcase>
        <testcase classname="RestClientTests" name="test__092__RestClient__request__method_signature_and_arguments__should_do_a_request_and_receive_a_valid_response()" time="0.17549800872802734">
        </testcase>
        <testcase classname="RestClientTests" name="test__093__RestClient__request__method_signature_and_arguments__should_handle_response_failures()" time="0.16650402545928955">
        </testcase>
        <testcase classname="RestClientTests" name="test__094__RestClient__if_in_the_course_of_a_REST_request_an_attempt_to_authenticate_using_authUrl_fails_due_to_a_timeout__the_request_should_result_in_an_error_with_code_40170__statusCode_401__and_a_suitable_error_message()" time="0.10249805450439453">
            <failure message="XCTAssertEqual failed: (&quot;0&quot;) is not equal to (&quot;401&quot;) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/RestClientTests.swift#EndingLineNumber=2069&amp;StartingLineNumber=2069)">
            </failure>
        </testcase>
        <testcase classname="RestClientTests" name="test__095__RestClient__request_IDs__should_add__request_id__query_parameter()" time="0.004575967788696289">
        </testcase>
        <testcase classname="RestClientTests" name="test__097__RestClient__request_IDs__ErrorInfo_should_have__requestId__property()" time="0.0033479928970336914">
        </testcase>
        <testcase classname="RestPaginatedTests" name="test__001__RestPaginated__should_extract_links_from_the_response()" time="0.001267075538635254">
        </testcase>
        <testcase classname="RestPaginatedTests" name="test__002__RestPaginated__should_create_next_first_last_request_from_extracted_link_path()" time="0.0010160207748413086">
        </testcase>
        <testcase classname="RetrySequenceTests" name="test_addRetryAttempt()" time="0.0008599758148193359">
        </testcase>
        <testcase classname="StatsTests" name="test__001__Stats__all__should_return_a_MessagesTypes_object()" time="0.021754026412963867">
            <failure message="[&lt;AblySwift.ARTStats 0x600003a17280&gt; valueForUndefinedKey:]: this class is not key value coding-compliant for the key all. (NSUnknownKeyException) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/StatsTests.swift#EndingLineNumber=86&amp;StartingLineNumber=86)">
            </failure>
        </testcase>
        <testcase classname="StatsTests" name="test__002__Stats__all__should_return_value_for_message_counts()" time="0.009832978248596191">
            <failure message="[&lt;AblySwift.ARTStats 0x600003a4cd80&gt; valueForUndefinedKey:]: this class is not key value coding-compliant for the key all. (NSUnknownKeyException) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/StatsTests.swift#EndingLineNumber=86&amp;StartingLineNumber=86)">
            </failure>
        </testcase>
        <testcase classname="StatsTests" name="test__003__Stats__all__should_return_value_for_all_data_transferred()" time="0.011412978172302246">
            <failure message="[&lt;AblySwift.ARTStats 0x600003a7d380&gt; valueForUndefinedKey:]: this class is not key value coding-compliant for the key all. (NSUnknownKeyException) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/StatsTests.swift#EndingLineNumber=86&amp;StartingLineNumber=86)">
            </failure>
        </testcase>
        <testcase classname="StatsTests" name="test__004__Stats__all__should_return_zero_for_empty_values()" time="0.010830998420715332">
            <failure message="[&lt;AblySwift.ARTStats 0x600003a58600&gt; valueForUndefinedKey:]: this class is not key value coding-compliant for the key all. (NSUnknownKeyException) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/StatsTests.swift#EndingLineNumber=86&amp;StartingLineNumber=86)">
            </failure>
        </testcase>
        <testcase classname="StatsTests" name="test__005__Stats__persisted__should_return_a_MessagesTypes_object()" time="0.009657979011535645">
            <failure message="[&lt;AblySwift.ARTStats 0x600003a59000&gt; valueForUndefinedKey:]: this class is not key value coding-compliant for the key persisted. (NSUnknownKeyException) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/StatsTests.swift#EndingLineNumber=86&amp;StartingLineNumber=86)">
            </failure>
        </testcase>
        <testcase classname="StatsTests" name="test__006__Stats__persisted__should_return_value_for_message_counts()" time="0.006933927536010742">
            <failure message="[&lt;AblySwift.ARTStats 0x600003a64880&gt; valueForUndefinedKey:]: this class is not key value coding-compliant for the key persisted. (NSUnknownKeyException) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/StatsTests.swift#EndingLineNumber=86&amp;StartingLineNumber=86)">
            </failure>
        </testcase>
        <testcase classname="StatsTests" name="test__007__Stats__persisted__should_return_value_for_all_data_transferred()" time="0.009230971336364746">
            <failure message="[&lt;AblySwift.ARTStats 0x600003a64080&gt; valueForUndefinedKey:]: this class is not key value coding-compliant for the key persisted. (NSUnknownKeyException) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/StatsTests.swift#EndingLineNumber=86&amp;StartingLineNumber=86)">
            </failure>
        </testcase>
        <testcase classname="StatsTests" name="test__008__Stats__persisted__should_return_zero_for_empty_values()" time="0.008206963539123535">
            <failure message="[&lt;AblySwift.ARTStats 0x600003a64980&gt; valueForUndefinedKey:]: this class is not key value coding-compliant for the key persisted. (NSUnknownKeyException) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/StatsTests.swift#EndingLineNumber=86&amp;StartingLineNumber=86)">
            </failure>
        </testcase>
        <testcase classname="StatsTests" name="test__009__Stats__inbound__should_return_a_MessageTraffic_object()" time="0.008617043495178223">
            <failure message="[&lt;AblySwift.ARTStats 0x600003a5d600&gt; valueForUndefinedKey:]: this class is not key value coding-compliant for the key inbound. (NSUnknownKeyException) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/StatsTests.swift#EndingLineNumber=191&amp;StartingLineNumber=191)">
            </failure>
        </testcase>
        <testcase classname="StatsTests" name="test__010__Stats__inbound__should_return_value_for_realtime_message_counts()" time="0.023370027542114258">
            <failure message="[&lt;AblySwift.ARTStats 0x600003a6e380&gt; valueForUndefinedKey:]: this class is not key value coding-compliant for the key inbound. (NSUnknownKeyException) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/StatsTests.swift#EndingLineNumber=191&amp;StartingLineNumber=191)">
            </failure>
        </testcase>
        <testcase classname="StatsTests" name="test__011__Stats__inbound__should_return_value_for_all_presence_data()" time="0.026172995567321777">
            <failure message="[&lt;AblySwift.ARTStats 0x600003a64d00&gt; valueForUndefinedKey:]: this class is not key value coding-compliant for the key inbound. (NSUnknownKeyException) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/StatsTests.swift#EndingLineNumber=191&amp;StartingLineNumber=191)">
            </failure>
        </testcase>
        <testcase classname="StatsTests" name="test__012__Stats__outbound__should_return_a_MessageTraffic_object()" time="0.017367005348205566">
            <failure message="[&lt;AblySwift.ARTStats 0x600003a77100&gt; valueForUndefinedKey:]: this class is not key value coding-compliant for the key outbound. (NSUnknownKeyException) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/StatsTests.swift#EndingLineNumber=191&amp;StartingLineNumber=191)">
            </failure>
        </testcase>
        <testcase classname="StatsTests" name="test__013__Stats__outbound__should_return_value_for_realtime_message_counts()" time="0.01901400089263916">
            <failure message="[&lt;AblySwift.ARTStats 0x600003a7a900&gt; valueForUndefinedKey:]: this class is not key value coding-compliant for the key outbound. (NSUnknownKeyException) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/StatsTests.swift#EndingLineNumber=191&amp;StartingLineNumber=191)">
            </failure>
        </testcase>
        <testcase classname="StatsTests" name="test__014__Stats__outbound__should_return_value_for_all_presence_data()" time="0.01933002471923828">
            <failure message="[&lt;AblySwift.ARTStats 0x600003a60600&gt; valueForUndefinedKey:]: this class is not key value coding-compliant for the key outbound. (NSUnknownKeyException) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/StatsTests.swift#EndingLineNumber=191&amp;StartingLineNumber=191)">
            </failure>
        </testcase>
        <testcase classname="StatsTests" name="test__015__Stats__connections__should_return_a_ConnectionTypes_object()" time="0.0027750730514526367">
        </testcase>
        <testcase classname="StatsTests" name="test__016__Stats__connections__should_return_value_for_tls_opened_counts()" time="0.0021120309829711914">
        </testcase>
        <testcase classname="StatsTests" name="test__017__Stats__connections__should_return_value_for_all_peak_connections()" time="0.0016760826110839844">
        </testcase>
        <testcase classname="StatsTests" name="test__018__Stats__connections__should_return_zero_for_empty_values()" time="0.00047397613525390625">
        </testcase>
        <testcase classname="StatsTests" name="test__019__Stats__channels__should_return_a_ResourceCount_object()" time="0.003831028938293457">
        </testcase>
        <testcase classname="StatsTests" name="test__020__Stats__channels__should_return_value_for_opened_counts()" time="0.001447916030883789">
        </testcase>
        <testcase classname="StatsTests" name="test__021__Stats__channels__should_return_value_for_peak_channels()" time="0.0026090145111083984">
        </testcase>
        <testcase classname="StatsTests" name="test__022__Stats__channels__should_return_zero_for_empty_values()" time="0.002541065216064453">
        </testcase>
        <testcase classname="StatsTests" name="test__023__Stats__apiRequests__should_return_a_RequestCount_object()" time="0.025915980339050293">
            <failure message="[&lt;AblySwift.ARTStats 0x600003a7e800&gt; valueForUndefinedKey:]: this class is not key value coding-compliant for the key apiRequests. (NSUnknownKeyException) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/StatsTests.swift#EndingLineNumber=312&amp;StartingLineNumber=312)">
            </failure>
        </testcase>
        <testcase classname="StatsTests" name="test__024__Stats__apiRequests__should_return_value_for_succeeded()" time="0.012516975402832031">
            <failure message="[&lt;AblySwift.ARTStats 0x600003a76180&gt; valueForUndefinedKey:]: this class is not key value coding-compliant for the key apiRequests. (NSUnknownKeyException) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/StatsTests.swift#EndingLineNumber=312&amp;StartingLineNumber=312)">
            </failure>
        </testcase>
        <testcase classname="StatsTests" name="test__025__Stats__apiRequests__should_return_value_for_failed()" time="0.02194797992706299">
            <failure message="[&lt;AblySwift.ARTStats 0x600003a62100&gt; valueForUndefinedKey:]: this class is not key value coding-compliant for the key apiRequests. (NSUnknownKeyException) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/StatsTests.swift#EndingLineNumber=312&amp;StartingLineNumber=312)">
            </failure>
        </testcase>
        <testcase classname="StatsTests" name="test__026__Stats__tokenRequests__should_return_a_RequestCount_object()" time="0.012241005897521973">
            <failure message="[&lt;AblySwift.ARTStats 0x600003a76200&gt; valueForUndefinedKey:]: this class is not key value coding-compliant for the key tokenRequests. (NSUnknownKeyException) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/StatsTests.swift#EndingLineNumber=312&amp;StartingLineNumber=312)">
            </failure>
        </testcase>
        <testcase classname="StatsTests" name="test__027__Stats__tokenRequests__should_return_value_for_succeeded()" time="0.015317916870117188">
            <failure message="[&lt;AblySwift.ARTStats 0x600003a78680&gt; valueForUndefinedKey:]: this class is not key value coding-compliant for the key tokenRequests. (NSUnknownKeyException) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/StatsTests.swift#EndingLineNumber=312&amp;StartingLineNumber=312)">
            </failure>
        </testcase>
        <testcase classname="StatsTests" name="test__028__Stats__tokenRequests__should_return_value_for_failed()" time="0.014087915420532227">
            <failure message="[&lt;AblySwift.ARTStats 0x600003a61600&gt; valueForUndefinedKey:]: this class is not key value coding-compliant for the key tokenRequests. (NSUnknownKeyException) (/Users/runner/work/ably-cocoa/ably-cocoa/Test/AblyTests/Tests/StatsTests.swift#EndingLineNumber=312&amp;StartingLineNumber=312)">
            </failure>
        </testcase>
        <testcase classname="StatsTests" name="test__029__Stats__interval__should_return_a_Date_object_representing_the_start_of_the_interval()" time="0.0037909746170043945">
        </testcase>
        <testcase classname="StatsTests" name="test__030__Stats__push__should_return_a_ARTStatsPushCount_object()" time="0.0018270015716552734">
        </testcase>
        <testcase classname="StatsTests" name="test__031__Stats__push__should_return_value_for_messages_count()" time="0.0004649162292480469">
        </testcase>
        <testcase classname="StatsTests" name="test__032__Stats__push__should_return_value_for_invalid_notifications()" time="0.002496004104614258">
        </testcase>
        <testcase classname="StatsTests" name="test__033__Stats__push__should_return_value_for_attempted_notifications()" time="0.0005549192428588867">
        </testcase>
        <testcase classname="StatsTests" name="test__034__Stats__push__should_return_value_for_successful_notifications()" time="0.0011060237884521484">
        </testcase>
        <testcase classname="StatsTests" name="test__035__Stats__push__should_return_value_for_failed_notifications()" time="0.0004150867462158203">
        </testcase>
        <testcase classname="StatsTests" name="test__036__Stats__push__should_return_value_for_directPublishes()" time="0.0006150007247924805">
        </testcase>
        <testcase classname="StatsTests" name="test__037__Stats__inProgress__should_return_a_Date_object_representing_the_last_sub_interval_included_in_this_statistic()" time="0.0010149478912353516">
        </testcase>
        <testcase classname="StatsTests" name="test__038__Stats__count__should_return_value_for_number_of_lower_level_stats()" time="0.0008999109268188477">
        </testcase>
        <testcase classname="StringifiableTests" name="test__001__Stringifiable__type_conversion__as_string()" time="0.0005310773849487305">
        </testcase>
        <testcase classname="StringifiableTests" name="test__002__Stringifiable__type_conversion__as_bool__true_()" time="0.0011129379272460938">
        </testcase>
        <testcase classname="StringifiableTests" name="test__003__Stringifiable__type_conversion__as_bool__false_()" time="0.0015039443969726562">
        </testcase>
        <testcase classname="StringifiableTests" name="test__004__Stringifiable__type_conversion__as_integer_that_is_not_treated_as_bool__false_()" time="0.00045096874237060547">
        </testcase>
        <testcase classname="StringifiableTests" name="test__005__Stringifiable__type_conversion__as_integer_that_is_not_treated_as_bool__true_()" time="0.00042700767517089844">
        </testcase>
        <testcase classname="StringifiableTests" name="test__006__Stringifiable__type_conversion__as_number__Int_()" time="0.0004990100860595703">
        </testcase>
        <testcase classname="StringifiableTests" name="test__007__Stringifiable__type_conversion__as_number__Float_1_decimal_digit_()" time="0.0013890266418457031">
        </testcase>
        <testcase classname="StringifiableTests" name="test__008__Stringifiable__type_conversion__as_number__Float_2_decimal_digits_()" time="0.0010559558868408203">
        </testcase>
        <testcase classname="StringifiableTests" name="test__009__Stringifiable__type_conversion__as_number__Float_4_decimal_digits_()" time="0.0013020038604736328">
        </testcase>
    </testsuite>
</testsuites>