Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CI: update CocoaPod to v1.0.1 #467

Merged
merged 1 commit into from
Aug 31, 2016
Merged

CI: update CocoaPod to v1.0.1 #467

merged 1 commit into from
Aug 31, 2016

Conversation

ricardopereira
Copy link
Contributor

No description provided.

@mattheworiordan
Copy link
Member

LGTM

@ricardopereira
Copy link
Contributor Author

Just for the record. This build failed because of:

[09:09:12]: ▸ Testing failed:
[09:09:12]: ▸ Test target AblyTests encountered an error (Early unexpected exit, operation never finished bootstrapping - no restart will be attempted)
[09:09:12]: ▸ Failing tests:
[09:09:12]: ▸ -[RealtimeClientPresence Presence__subscribe__with_no_arguments_should_subscribe_a_listener_to_all_presence_messages()]
[09:09:12]: ▸ -[RealtimeClientPresence Presence__leave__should_leave_the_current_client_with_no_data()]
[09:09:12]: ▸ -[RealtimeClientPresence Presence__enter__should_result_in_an_error_if_the_client_does_not_have_required_presence_permission()]
[09:09:12]: ▸ -[RealtimeClientPresence Presence__update__should_result_in_an_error_if_the_client_does_not_have_required_presence_permission()]
[09:09:12]: ▸ -[RealtimeClientPresence Presence__leave__should_result_in_an_error_if_the_client_does_not_have_required_presence_permission()]
[09:09:12]: ▸ -[RealtimeClientPresence Presence__enter__should_emit_the_data_attribute_in_the_LEAVE_event_when_data_is_provided_when_entering_but_no_data_is_provided_when_leaving()]
[09:09:12]: ▸ -[RealtimeClientPresence Presence__history__should_return_a_PaginatedResult_page()]
[09:09:12]: ▸ -[RealtimeClientPresence Presence__history__should_return_a_PaginatedResult_page()]
[09:09:12]: ▸ -[RestClientPresence Presence__presence_messages_retrieved_are_decoded_in_the_same_way_that_messages_are_decoded()]
[09:09:12]: ▸ ** TEST FAILED **

Nothing related with this PR. Can be merged.

@mattheworiordan
Copy link
Member

Worrying that it failed though, but I agree, can be merged. Will wait for @tcard to confirm

@tcard
Copy link
Contributor

tcard commented Aug 24, 2016

The errors are either the know issue with presence leave data, or something like this: expected to contain <Channel denied access based on given capability>, got <Invalid clientId for credentials> which should be investigated but it's arguably not crucial as it's failing as expected, just not for the expected reason.

Then it seems that we have some crashes in Presence__history__should_return_a_PaginatedResult_page and Presence__presence_messages_retrieved_are_decoded_in_the_same_way_that_messages_are_decoded. Not test assertion failures, but crashes, e. g. nil pointer exceptions or things like that. The tests for the most part don't stop when a precondition fails, so they then hit paths that crash, like this:

waitUntil(done) {
    channel.attach { error
        if error != nil {
            fail("error not nil")
            done(); return
        }
        done()
    }
}

// if error wasn't nil, we really should stop the test execution here

channel.doSomethingAssumingItsAttached()

And the iOS test runner doesn't even let us see the "error not nil" message if the test crashes, so it's hard to diagnose from Travis, and it can be hard to reproduce then on Xcode with better diagnostics because the precondition failing most of the times is due to a transient error.

So I would just make sure that the crashing tests pass individually, which I'd bet they do. Arguably it's also not critical right now to make the tests more resilient to crashes.

@tcard tcard mentioned this pull request Aug 24, 2016
@mattheworiordan
Copy link
Member

So I would just make sure that the crashing tests pass individually, which I'd bet they do. Arguably it's also not critical right now to make the tests more resilient to crashes.

Well @tcard I agree we don't need to make them more resilient to crashes, but I do think we need a stable test suite so that the work being done by Prophonix is on a solid base. Therefore if I see a PR which fails I will know that is most likely due to a real failure.

@ricardopereira I am happy to merge this, but please raise any issues necessary to describe the CI problems so that we can get these resolved.

PS. Presence issues should be fixed on Sandbox now, but I am testing using the Ruby lib to be sure.

@ricardopereira
Copy link
Contributor Author

A stable test suite is critical at this point. For example with #444: it has a core change which affects the complete client. When I run the test suite and I see a couple of errors where it's difficult to understand if it's an Ably service error or a code mistake or even a race condition then I'm not comfortable to say it's ready to be merged.

I will open an issue with all the frustrations I'm facing and what I do to override them. Could be important to discuss and decide what should be done.

@mattheworiordan
Copy link
Member

I will open an issue with all the frustrations I'm facing and what I do to override them. Could be important to discuss and decide what should be done.

Thanks

@ricardopereira
Copy link
Contributor Author

Running failed tests individually:

[09:09:12]: ▸ Failing tests:
✅ [09:09:12]: ▸ -[RealtimeClientPresence Presence__subscribe__with_no_arguments_should_subscribe_a_listener_to_all_presence_messages()]
✅ [09:09:12]: ▸ -[RealtimeClientPresence Presence__leave__should_leave_the_current_client_with_no_data()]
❌ [09:09:12]: ▸ -[RealtimeClientPresence Presence__enter__should_result_in_an_error_if_the_client_does_not_have_required_presence_permission()]
Failed with: expected to contain <Channel denied access based on given capability>, got <Invalid clientId for credentials>
❌ [09:09:12]: ▸ -[RealtimeClientPresence Presence__update__should_result_in_an_error_if_the_client_does_not_have_required_presence_permission()]
Failed with: expected to contain <Channel denied access based on given capability>, got <Invalid clientId for credentials>
❌ [09:09:12]: ▸ -[RealtimeClientPresence Presence__leave__should_result_in_an_error_if_the_client_does_not_have_required_presence_permission()]
Failed with: expected to contain <Channel denied access based on given capability>, got <Invalid clientId for credentials>
✅ [09:09:12]: ▸ -[RealtimeClientPresence Presence__enter__should_emit_the_data_attribute_in_the_LEAVE_event_when_data_is_provided_when_entering_but_no_data_is_provided_when_leaving()]
❌ [09:09:12]: ▸ -[RealtimeClientPresence Presence__history__should_return_a_PaginatedResult_page()]
Failed with: expected to all pass a condition, but failed first at element ...
❌ [09:09:12]: ▸ -[RestClientPresence Presence__presence_messages_retrieved_are_decoded_in_the_same_way_that_messages_are_decoded()]
Failed with: expected to equal <{test = 1;}>, got <nil>

@ricardopereira ricardopereira mentioned this pull request Aug 25, 2016
@tcard
Copy link
Contributor

tcard commented Aug 26, 2016

All of these are about a known issue with presence LEAVE in the backend.

@tcard
Copy link
Contributor

tcard commented Aug 26, 2016

Sorry, except for the "Invalid clientId for credentials" ones. That might have to do with 0ed5bb9.

@tcard
Copy link
Contributor

tcard commented Aug 31, 2016

@ricardopereira Anything blocking this?

@ricardopereira
Copy link
Contributor Author

@tcard No. Can be merged.

@ricardopereira ricardopereira merged commit a5d5f49 into master Aug 31, 2016
@ricardopereira ricardopereira deleted the update-travis branch August 31, 2016 09:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

3 participants