Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

iOS tests will not run on simulator when using Jenkins through JNLP

I have been trying to get xcodebuild tests to work on a remote machine using Jenkins. I ran into the error of not being able to launch a GUI through SSH and solved it by launching a slave through JNLP as suggested here: Timeout when running xcodebuild tests under Xcode 6 via SSH. Now I'm getting a new error:

Error Domain=IDEUnitTestsOperationsObserverErrorDomain Code=3 "Canceling tests due to timeout in Waiting for test process to check in..."

I also get these errors whether I successfully build and run the tests on the terminal or through Jenkins:

iPhoneSimulator: SimVerifier returned: Error Domain=NSPOSIXErrorDomain Code=53 "Simulator verification failed." {NSLocalizedFailureReason=A connection to the simulator verification service could not be established., NSLocalizedRecoverySuggestion=Ensure that Xcode.app is installed on a volume with ownership enabled., NSLocalizedDescription=Simulator verification failed.}

iPhoneSimulator: Unable to connect to "com.apple.instruments.deviceservice.lockdown" (Error Domain=com.apple.CoreSimulator.SimError Code=146 "Unable to lookup in current state: Shutdown"

I've made sure ownership is enabled where XCode is installed, I've reset the content and settings on the simulator, and I've moved my plist file into /Library/LaunchAgents. I've tried Googling these errors and could not find anything that seems to relate to my issue. Does anyone have any other suggestions?

Other information:

XCode Version 6.2 (6C131e)

Log file:

2015-03-24 12:14:10.719 Beginning test session with Xcode 6C131e
2015-03-24 12:14:10.720 /Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild test -project proj.xcodeproj -scheme development -destination platform=iOS Simulator,name=iPad Air
2015-03-24 12:14:10.720 Testing on device: <DVTiPhoneSimulator: 0x7f8235cb3570> {SimDevice: SimDevice : iPad Air (625C9344-19B9-4F6C-B70B-8BDD3B753E17) : state={ Booted } deviceType={ SimDeviceType : com.apple.CoreSimulator.SimDeviceType.iPad-Air } runtime={ SimRuntime : 8.2 (12D508) - com.apple.CoreSimulator.SimRuntime.iOS-8-2 }}
2015-03-24 12:14:10.720 Writing testing status log to /var/folders/mx/9d2jm4sj6t54sld_9cj1bgz40000gn/T/com.apple.dt.XCTest-status/Session-2015-03-24_12:14:10-QR746X.log.
2015-03-24 12:14:10.720 Initializing test infrastructure.
2015-03-24 12:14:10.749 Creating the connection.
2015-03-24 12:14:10.749 Listening for proxy connection request from the test bundle (all platforms)
2015-03-24 12:14:10.749 Resuming the connection.
2015-03-24 12:14:10.749 Test connection requires daemon assistance.
2015-03-24 12:14:10.933 Checking test manager availability..., will wait up to 120s
2015-03-24 12:14:10.936 testmanagerd handled session request.
2015-03-24 12:14:10.936 Waiting for test process to launch.
2015-03-24 12:14:15.951 Launch session started, setting a disallow-finish-token on the run operation.
2015-03-24 12:14:15.952 Waiting for test process to check in..., will wait up to 120s
2015-03-24 12:14:15.979 Adding console adaptor for test process.
2015-03-24 12:16:15.956 Unable to get debug console for logging target process thread state.
2015-03-24 12:16:15.956 Test operation failure: Canceling tests due to timeout in Waiting for test process to check in...
2015-03-24 12:16:15.956 _finishWithError:Error Domain=IDEUnitTestsOperationsObserverErrorDomain Code=3 "Canceling tests due to timeout in Waiting for test process to check in..." UserInfo=0x7f8231c1dff0 {NSLocalizedDescription=Canceling tests due to timeout in Waiting for test process to check in...} didCancel: 1
like image 850
PastryPup Avatar asked Mar 24 '15 20:03

PastryPup


1 Answers

You can resolve the "Simulator Verification Failed" error (Code=53) with the steps below. (For me, this problem was caused by conflict of command-line development tools and also due to Mac OS folder permission issues with the tools).

I was able to resolve it following these:

  1. Quit any running instances of Xcode, Instruments and iOS simulators
  2. Removing the developer folder: /Library/Developer
  3. Remove all your Xcode installations: /Applications/Xcode.app,...
  4. Reboot your Mac
  5. Download Xcode.dmg from Apple Developer Portal (NOT from the App Store)
  6. Reinstall Xcode
  7. Launch Xcode

Optionally, though not the best thing to do, if you wanna install multiple versions of Xcode, make sure you activate the right Xcode version from Xcode Preferences/Locations/Command-Line Tools, before building your projects.

Hope this helps.

like image 108
Yonathan W'Gebriel Avatar answered Oct 20 '22 01:10

Yonathan W'Gebriel