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

BDD specs #16

Merged
merged 10 commits into from
Aug 11, 2015
Merged

BDD specs #16

merged 10 commits into from
Aug 11, 2015

Conversation

fealebenpae
Copy link
Contributor

This is a large pull request, but it sets up the foundation I need. There are two main things it does: some small improvements in the way the library is consumed (adds an umbrella header and a modulemap which all frameworks should have) and the initial specs for the RestClient initialization and logging, along with the attendant test infrastructure.

I've chosen BDD so I can more closely align the tests to those of the Ruby library. Going forward, I have to migrate the existing tests from the XCTest framework to the Quick framework, as well as annotate each test with the code of the part of the spec it verifies.

Apply Xcode 7's recommended settings
Add an umbrella header and modulemap for Swift compatibility
Restore ARCHS and FRAMEWORK_SEARCH_PATHS settings to default
Reduce ably_common to a single copy command
Add specs for RSC2, RSC3, RSC4

Add a loggerClass property to ARTClientOptions that allows the default logger in ARTRest to be overridden.
These macros enable use of Objective-C syntax introduced in Xcode 7 such as generics and nullability annotations so that the code can be compiled on Xcode 6.

Annotate ARTLog.h for nullability.
Travis doesn't support Xcode 7 and Swift 2 yet.
Use Xcode 6.4
Set the test scheme to the new ablySpec scheme
Always use the lates Simulator SDK when testing
@mattheworiordan
Copy link
Member

Looking very good @fealebenpae, great progress.

mattheworiordan added a commit that referenced this pull request Aug 11, 2015
@mattheworiordan mattheworiordan merged commit 9cc97a0 into ably:master Aug 11, 2015
ricardopereira added a commit that referenced this pull request Aug 22, 2019
 - This failed in RTP9a because it sometimes ends but the ACK/NACK of the last sent presence message has not arrived yet, it means the callback is pended. The callback is called when the connection closes (test ends), a "ARTErrorInfo with code 0, message: connection broken before receiving publishing acknowledgment." happens and it will crash because the callback is nil.

EXC_BAD_ACCESS (code=1, address=0x10) in ARTRealtimeChannel.m:335

Thread 3 Queue : io.ably.tests (serial)
#0	0x000000012186c6b4 in __47-[ARTRealtimeChannel publishPresence:callback:]_block_invoke.164 at /<redacted>/ably-cocoa/Source/ARTRealtimeChannel.m:335
#1	0x000000012186ecdd in __43-[ARTRealtimeChannel sendMessage:callback:]_block_invoke at /<redacted>/ably-cocoa/Source/ARTRealtimeChannel.m:450
#2	0x00000001218be38e in __22-[ARTEventEmitter on:]_block_invoke at /<redacted>/ably-cocoa/Source/ARTEventEmitter.m:209
#3	0x00000001083ff632 in -[__NSObserver _doit:] ()
#4	0x00000001094827bc in __CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ ()
#5	0x0000000109481c3f in _CFXRegistrationPost ()
#6	0x0000000109481983 in ___CFXNotificationPost_block_invoke ()
#7	0x00000001095657c2 in -[_CFXNotificationRegistrar find:object:observer:enumerator:] ()
#8	0x00000001094812d1 in _CFXNotificationPost ()
#9	0x00000001083ffddb in -[NSNotificationCenter postNotificationName:object:userInfo:] ()
#10	0x00000001218bf843 in -[ARTEventEmitter emit:with:] at /<redacted>/ably-cocoa/Source/ARTEventEmitter.m:275
#11	0x0000000121915222 in -[ARTRealtime transition:withErrorInfo:] at /<redacted>/ably-cocoa/Source/ARTRealtime.m:429
#12	0x0000000121914c0a in -[ARTRealtime transition:] at /<redacted>/ably-cocoa/Source/ARTRealtime.m:412
#13	0x000000012191b755 in -[ARTRealtime onClosed] at /<redacted>/ably-cocoa/Source/ARTRealtime.m:768
#14	0x0000000121928933 in -[ARTRealtime realtimeTransport:didReceiveMessage:] at /<redacted>/ably-cocoa/Source/ARTRealtime.m:1392
#15	0x00000001218c4bef in -[ARTWebSocketTransport receive:] at /<redacted>/ably-cocoa/Source/ARTWebSocketTransport.m:109
#16	0x00000001218c4cbe in -[ARTWebSocketTransport receiveWithData:] at /<redacted>/ably-cocoa/Source/ARTWebSocketTransport.m:114
#17	0x00000001218c7c44 in -[ARTWebSocketTransport webSocketMessageData:] at /<redacted>/ably-cocoa/Source/ARTWebSocketTransport.m:367
#18	0x00000001218c77a0 in -[ARTWebSocketTransport webSocket:didReceiveMessage:] at /<redacted>/ably-cocoa/Source/ARTWebSocketTransport.m:349
#19	0x0000000121bf06c9 in __43-[SRWebSocket _handleFrameWithData:opCode:]_block_invoke.239 ()
#20	0x000000010b3e2ccf in _dispatch_call_block_and_release ()
#21	0x000000010b3e3d02 in _dispatch_client_callout ()
#22	0x000000010b3ea720 in _dispatch_lane_serial_drain ()
#23	0x000000010b3eb261 in _dispatch_lane_invoke ()
#24	0x000000010b3f3fcb in _dispatch_workloop_worker_thread ()
#25	0x000000010bb12611 in _pthread_wqthread ()
#26	0x000000010bb123fd in start_wqthread ()
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.

2 participants