-
Notifications
You must be signed in to change notification settings - Fork 1.3k
fixes #830, #880: bring back iOS tests; split OS X & iOS tests #1168
Conversation
8612cfc
to
1c201cd
Compare
Thinking about punting on this for a while. I am getting various tests failing on the same build — e.g. simple gesture tests that pass on iOS 8.1 but fail on iOS 7, varying between builds. Always works locally. I think it's a Travis problem. I don't know if it's KIF or command-line simulation or what. |
Holy crap, Re-squashing and force-pushing here. |
I'm aiming to support automated testing on the following:
That gives us a fair coverage of iPhone/iPad, iOS 7/8, and retina/non-retina. This is what both Travis and Manual testing ( |
iOS tests all seem to be passing reliably now; we've also got the latest |
|
Oh, whoops. Yeah, we do actually already do it here in
But I'll patch up the docs. |
I got this working locally after swapping to iOS 8.2 in Despite having 7.1, 8.1, and 8.2 installed and usable as simulators in Xcode 6.2, jason@keaton ~/mapbox-gl-native $ xcodebuild -showsdks
OS X SDKs:
OS X 10.9 -sdk macosx10.9
OS X 10.10 -sdk macosx10.10
iOS SDKs:
iOS 8.2 -sdk iphoneos8.2
iOS Simulator SDKs:
Simulator - iOS 8.2 -sdk iphonesimulator8.2 |
Yep, these are the SDKs, not necessarily the runtime simulations. They are separate. A given version of Xcode (6.2 in the case) is going to build against the latest SDK at time of its release. You'll see only 8.3 for 6.3b, or 8.1 for 6.1.1. I too am having problems with simulator versions, but mostly on Travis. They say they have 7.0, 7.1, and 8.1 currently. My problems are mostly with tests failing for unknown reasons despite never failing locally, or simulators timing out. Peeled off some useful work into #1219, which will merge soon, then I'll rebase this and keep picking at it. |
Just split off the packaging phase of this as part of #1219, so this needs some quick rebasing and can be picked up again. I spent some time today trying to get screenshot uploads to S3 working without luck in the hopes of seeing what state things were in when tests mysteriously fail. I may consider just leaving this as |
In some other tests, we've started to have good results with Bitrise for CI. I'm thinking the next steps here are to get these tests merged in, but run manually in Xcode / |
For those following along at home, with the move to Xcode 6.3 I had to also do:
Otherwise I'd get variations on
|
@incanus Derailing your thread here a bit, but when and how would you like tests contributed? I've got a mock There is a potential issue with the Travis simulators not liking the location authorization override, but there are several ways to attack that if my preferred way doesn't cut it. |
I've now got tests working locally across a matrix for both iPhone & iPad as well as iOS 7.1 and iOS 8.x. https://travis-ci.org/mapbox/mapbox-gl-native/jobs/59800251 indicates a failure with the compass going away when the map has north reset, which we've seen before (is #1064 related?). Working on that bug now. MapViewTests
✓ testBottomLayoutGuide (1.643 seconds)
✓ testCenterSet (6.148 seconds)
✗ testCompassTap, ((tester.compass.alpha) equal to (0)) failed: ("1.000000") is not equal to ("0") - compass should not be visible when map is unrotated
✓ testDelegateRegionDidChange (3.366 seconds)
✗ testDirectionReset, ((tester.compass.alpha) equal to (0)) failed: ("1.000000") is not equal to ("0") - compass should not be visible when map is unrotated
✓ testDirectionSet (1.412 seconds)
✓ testPan (2.004 seconds)
✓ testPanDisabled (0.431 seconds)
✓ testRotate (4.461 seconds)
✓ testRotateDisabled (0.563 seconds)
✓ testTopLayoutGuide (1.562 seconds)
✓ testZoom (3.108 seconds)
✓ testZoomDisabled (0.543 seconds)
✓ testZoomSet (0.002 seconds) |
Finally, success!! I'm inclined to stick to Travis right now since load is down and the rest of our build matrix is there. If in the future we decide to look elsewhere, we can consider maybe putting the KIF tests on Bitrise of Greenhouse CI, both of which we've had success with elsewhere. Going to squash this now and prepare for merge. |
To clarify one point about this whole setup:
|
Am I catching things out of order now (likely) as I thought we were on to Bitrise now? Either way we should settle on one soon (today if possible) so that we can gain team confidence in the setup over a period of time. |
Sorry for the confusion @bleege. Downstream, user-facing apps are on Bitrise, but the GL framework itself is on Travis with the rest of GL. Reasoning above in #1168 (comment). The separation is:
|
Bring it back!
make itest
at the command line to runxcodebuild test
in consolepackage_os.sh
to run inside test harness applibMapboxGL.a
in a ready-to-go app. This app has a KIF-based test bundle which you can run withCommand-U
in Xcode.gl-cocoa
-based project for the latest setup & API.